더북(TheBook)

3.1.1 층: 딥러닝의 구성 단위

 

신경망의 핵심적인 데이터 구조는 2장에서 소개한 입니다. 층은 하나 이상의 텐서를 입력으로 받아 하나 이상의 텐서를 출력하는 데이터 처리 모듈입니다. 어떤 종류의 층은 상태가 없지만 대부분의 경우 가중치라는 층의 상태를 가집니다.1 가중치는 확률적 경사 하강법에 의해 학습되는 하나 이상의 텐서이며 여기에 네트워크가 학습한 지식이 담겨 있습니다.

층마다 적절한 텐서 포맷과 데이터 처리 방식이 다릅니다. 예를 들어 (samples, features) 크기의 2D 텐서가 저장된 간단한 벡터 데이터는 완전 연결 층(fully connected layer)이나 밀집 층(dense layer)이라고도 불리는 밀집 연결 층(densely connected layer)에 의해 처리되는 경우가 많습니다(케라스에서는 Dense 클래스입니다). (samples, timesteps, features) 크기의 3D 텐서로 저장된 시퀀스 데이터는 보통 LSTM 같은 순환 층(recurrent layer)에 의해 처리됩니다. 4D 텐서로 저장되어 있는 이미지 데이터는 일반적으로 2D 합성곱 층(convolution layer)에 의해 처리됩니다(Conv2D 클래스).

1 역주 대표적으로 5장에서 소개될 플랫튼(Flatten), 풀링(Pooling), 드롭아웃(Dropout) 층에는 학습되는 가중치가 없습니다. 보통 신경망의 가중치를 상태라고 표현하지는 않습니다. 6장에서 소개될 순환 신경망의 셀(cell) 출력은 셀의 상태라고 표현합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.