수학/딥러닝 이론

[딥러닝] 합성곱 신경망(CNN) - 완전연결 계층(Affine 계층)의 문제점과 CNN의 특징

AI 꿈나무 2020. 10. 4. 20:25
반응형

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다.

 


 

 

[딥러닝] 합성곱 신경망(CNN) - CNN의 전체 구조

사이토고키의 <밑바닥부터 시작하는 딥러닝>을 공부하고 정리해보았습니다.  합성곱 신경망 - Convolutional neural network, CNN  CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 사용되는데, 특히 이��

deep-learning-study.tistory.com

 이전 포스팅에서는 CNN의 전체 구조에 대해서 공부해봤습니다.

 

 이번에는 완전연결 계층(Affine 계층)의 문제점에 대해 알아보겠습니다.

 

합성곱 계층 - Convolutional Layer

 CNN에서는 패딩(paddong), 스트라이드(stide) 등 CNN 고유의 용어가 등장합니다.

 또, 각 계층 사이에는 3차원 데이터같이 입체적인 데이터가 흐른다는 점에서 완전연결 신경망과 다릅니다.

 그래서 CNN을 처음 배울 때는 어렵게 느낄 수 있습니다.

 

완전연결 계층의 문제점

 지금까지 본 완견연결 신경망에서는 완전연결 계층(Affine 계층)을 사용했습니다.

 완전연결 계층에서는 인접하는 계층의 뉴런이 모두 연결되고 출력의 수는 임의로 정할 수 있습니다.

 

 완전연결 계층의 문제점을 알아보겠습니다.

 바로 '데이터의 형상이 무시'된다는 사실입니다.

 입력 데이터가 이미지인 경우를 예로 들면, 이미지는 통상 세로, 가로, 채널(색상)로 구성된 3차원 데이터 입니다.

 그러나 완전연결 계층에 입력할 때는 3차원 데이터를 평평한 1차원 데이터로 평탄화해줘야 합니다.

 

 MNIST 데이터셋을 사용한 사례에서는 형상이 (1, 28, 28)인 이미지(1채널, 세로 28픽셀, 가로 28픽셀)를 1줄로 세운 784개의 데이터를 첫 Affine 계층에 입력했습니다.

 

 이미지는 3차원 형상이며, 형상에는 소중한 공간적 정보가 담겨 있습니다.

 예를 들어 공간적으로 가까운 픽셀은 값이 비슷하거나, RGB의 각 채널은 서로 밀접하게 관련되어 있거나, 거리가 먼 픽셀끼리는 별 연관이 없는 등, 3차원 속에서 의미를 갖는 본질적인 패턴이 숨어 있을 것입니다.

 

 그러나 완전연결 계층은 형상을 무시하고 모든 입력 데이터를 동등한 뉴런(같은 차원의 뉴런)으로 취급하여 형상에 담긴 정보를 살릴 수 없습니다.

 

 한편, 합성곱 계층은 형상을 유지합니다.

 이미지도 3차원 데이터로 입력받으며, 마찬가지로 다음 계층에도 3차원 데이터로 전달합니다.

 그래서 CNN에서는 이미지처럼 형상을 가진 데이터를 제대로 이해할 (가능성이 있는) 것입니다.

 

 CNN에서는 합성곱 계층의 입출력 데이터를 특징 맵(feature map)이라고도 합니다.

 합성곱 계층의 입력 데이터를 입력 특징 맵(input feature map), 출력 데이터를 출력 특징 맵(output feature map)이라고 하는 식입니다. 이 책에서는 '입출력 데이터'와 '특징 맵'을 같은 의미로 사용합니다.

 

반응형