CNN 전개도

CNN 전개도

convolution layer

  1. 입력 이미지: 입력 이미지는 H×W×C 크기의 3차원 배열로 나타낼 수 다. 여기서 H는 높이(height), W는 너비(width), C는 채널 수(channels)예를 들어, RGB 이미지는 C=3C = 3C=3인 3채널 이미지를 의미
  2. 필터(커널): Convolution 연산에서 사용하는 필터는 보통 K×K×C 크기를 가지며, 여기서 K는 필터의 너비와 높이입니다. 필터의 깊이(depth)는 입력 이미지의 채널 수 C와 같아야 함.
  3. 필터 적용 방식:
  4. Feature Map:

요약하면, 각 필터는 입력 이미지의 모든 채널을 사용하여 하나의 feature map을 생성하며, 필터의 개수만큼 feature map이 생성됨. 따라서 필터의 개수가 곧 최종적으로 생성되는 feature map의 개수.

feature map 예시

feature map 예시

각 채널(R, G, B)에서 필터를 적용해 얻은 결과를 더하여 최종적으로 하나의 스칼라 값이 되고 이 값이 feature map의 한 픽셀 값이 된다. 위의 그림처럼 2x2x3의 1개의 필터를 거쳐 2x2x1의 feature map이 생성된다.

Pooling layer

feature map의 차원의 복잡성을 줄이면서 유의미한 정보는 유지하기 위해 pooling layer가 필요하다. pooling 영역을 사용자가 지정할 수 있으며, 보통 2x2 크기로 지정한다. 보통 max pooling 방법을 사용. 이러한 pooling을 통해 가장 자리의 정보들이 사라질 수 있으므로 이를 보완하기 위해 보통 가장자리에 zero padding 영역을 설정

max pooling 예시

max pooling 예시

이러한 convolution을 통한 Filtering 과 max pooling을 반복하여, 중요한 특징들을 정제한 후 마지막에 FC(Fully Connected) layer를 통해 Classification을 한다.

Fully Connected Layer

해당 layer에서는 Classification을 수행하는데 2가지의 layer 가 있다.

FC Layer

FC Layer