07.1 전체 구조
우선 CNN의 네트워크 구조를 살펴보며 전체 틀을 이해해보기로 하죠. CNN도 지금까지 본 신경망과 같이 레고 블록처럼 계층을 조합하여 만들 수 있습니다. 다만, 합성곱 계층${}^{\text{convolutional layer}}$과 풀링 계층${}^{\text{pooling layer}}$이 새롭게 등장합니다. 합성곱 계층과 풀링 계층의 상세 내용은 잠시 후 설명하기로 하고, 이번 절에서는 이들 계층을 어떻게 조합하여 CNN을 만드는지를 먼저 보겠습니다.
지니가 일차원 완전연결 흐름의 골목길(Affine-ReLU)과 3차원 형상을 유지하며 흐르는 합성곱-풀링(Conv-ReLU-Pool) 고속도로를 대조해 설명하고 있어요.
지니의 계층 배치 가이드
- 지니: “도로시, 완전연결 계층(Fully Connected)에서는 데이터를 일렬로 쫙 펴서 계산하지만, 합성곱 계층(Conv)은 입력 데이터의 입체적인 3차원 형상 정보(가로, 세로, 채널)를 훼손하지 않고 그대로 뒷단으로 흘려준단다. 그래서 중간 계층에 Conv-ReLU-Pool 조합을 사용하는 것이지.”
- 도로시: “아! 그래서 이미지 분석의 앞단에는 입체 형상을 보존하는 Conv 계층들이 배치되고, 최종 판단을 내리는 뒷단 출력층 주변에는 전통적인 Affine-Softmax 조합이 쓰이는 거네!”
지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었습니다. 이를 완전연결${}^{\text{fully-connected, 전결합}}$이라고 하며, 완전히 연결된 계층을 Affine 계층이라는 이름으로 구현했습니다. 이 Affine 계층을 사용하면, 가령 층이 5개인 완전연결 신경망은 [그림 7-1]과 같이 구현할 수 있습니다.
그림 7-1 완전연결 계층(Affine 계층)으로 이뤄진 네트워크의 예
[그림 7-1]과 같이 완전연결 신경망은 Affine 계층 뒤에 활성화 함수를 갖는 ReLU 계층(혹은 Sigmoid 계층)이 이어집니다. 이 그림에서는 Affine-ReLU 조합이 4개가 쌓였고, 마지막 5번째 층은 Affine 계층에 이어 소프트맥스 계층에서 최종 결과(확률)를 출력합니다.
도로시가 이쁜 3차원 큐브 모형을 납작한 일차원 선으로 찌그러뜨려 강제로 압축하는 바람에, 구조 정보가 파괴되어 울상을 짓고 있어요.
도로시의 형상 붕괴 슬픔
- 도로시: “지니! 가로·세로 28픽셀의 MNIST 이미지 큐브를 완전연결(Affine) 계층에 집어넣으려고 784개의 긴 일차원 배열로 평탄화(Flatten)했더니, 픽셀 사이의 공간적인 거리나 입체 정보가 다 깨져버렸어!”
- 지니: “맞아. 완전연결 신경망은 입체 형상을 무시하고 모든 입력을 동등한 뉴런으로 다루기 때문에 공간적 패턴을 읽기 어렵단다. 이를 극복하는 부품이 바로 합성곱 계층이지!”
그럼 CNN의 구조는 어떻게 다를까요? [그림 7-2]가 CNN의 예랍니다.
그림 7-2 CNN으로 이뤄진 네트워크의 예 : 합성곱 계층과 풀링 계층이 새로 추가(회색)
[그림 7-2]와 같이 CNN에서는 새로운 ‘합성곱 계층${}^{\text{Conv}}$’과 ‘풀링 계층${}^{\text{Pooling}}$’이 추가됩니다. CNN의 계층은 ‘Conv-ReLU-(Pooling)’ 흐름으로 연결됩니다(풀링 계층은 생략하기도 합니다). 지금까지의 ‘Affine-ReLU’ 연결이 ‘Conv-ReLU-(Pooling)’으로 바뀌었다고 생각할 수 있겠죠.
[그림 7-2]의 CNN에서 주목할 또 다른 점은 출력에 가까운 층에서는 지금까지의 ‘Affine-ReLU’ 구성을 사용할 수 있다는 것입니다. 또, 마지막 출력 계층에서는 ‘Affine-Softmax’ 조합을 그대로 사용합니다. 이상은 일반적인 CNN에서 흔히 볼 수 있는 구성입니다.
지니가 신비로운 합성곱 연산 렌즈를 이미지 위에 비추자, 2차원 공간 형상이 일그러지지 않고 그대로 특징 맵으로 사영되어 나타나는 모습을 도로시가 흥미진진하게 보고 있어요.
도로시의 형상 유지 합성곱 발견
- 도로시: “와! 합성곱 계층은 입력 데이터를 찌그러뜨리지 않고 3차원 직육면체(가로x세로x채널)의 형상을 유지한 채 다음 층으로 특징 맵을 넘겨줘! 마치 슬라이드 렌즈로 특징을 필터링해 내는 느낌이야!”
- 지니: “정확해! 그렇게 형상이 유지된 데이터를 특징 맵(Feature Map)이라고 불러. 입체 정보가 그대로 흐르기 때문에 깊은 층에서도 이미지의 국소적인 공간 패턴을 완벽히 이해할 수 있는 거란다.”
- 토토: “왈왈! (렌즈 옆에서) 입체 보존 성공이다 멍!”