CNN(Convolutional Neural Network)의 깊은 layer에서는 추상화된 정보만 추출한다. 그 이유는 CNN의 구조와 학습 방식이 low level에서 high level로 특징을 학습하도록 설계되었기 때문이다.
Hierarchical Structure of CNN

CNN은 여러 layer들로 설계되었으며, 각 layer에서 다른 level의 feature를 학습한다. 네트워크의 깊은 layer로 갈수록 이미지 전체를 설명하는 데 필요한 핵심 정보만을 선택적으로 남기고 불필요한 세부 정보를 제거한다.
- Layers
- Shallow layers
초기 layer들은 원본 이미지의 픽셀 정보를 직접 처리한다. 주로 edge, corner, texture 같은 low-level feature를 학습한다. 초기 conv filter는 원본 이미지의 수직선, 수평선, 대각선을 감지하기 때문에, 더 low-level의 feature를 담고 있다. - Intermediate layers
중간 layer에서는 초기 layer에서 추출된 feature map이 결합되어, 더 복잡한 패턴의 학습이 가능하다. 예를 들어, edge들이 결합되어, 조금 더 구체적인 형태와 패턴들이 나타난다. - Deep layers
중간 레이어에서 학습한 정보를 결합하여 더 추상적인 high-level의 feature를 학습한다. 객체의 일부분이나 전체적인 형태, 물체의 종류 등을 학습한다. 이 단계에서는 색상과 위치와 같은 정보보다 의미적인 정보가 더 중요하다.
- Shallow layers
- Layer가 깊어질수록 Feature map이 축소됨(Spatial Reduction)
- CNN의 layer가 깊어질수록 conv 연산이 거듭됨에 따라서 feature map의 해상도는 점점 작아지고, 이미지의 공간 정보가 소실된다.
- 예를 들어, 이미지의 resolution이 줄어들면서 특정 pixel들이 결합되고, 객체의 일부분에 해당하는 정보들이 하나의 모여서 축약된 형태로 나타난다.
따라서, CNN의 깊은 layer에서 추상화된 정보만을 추출하는 이유는 네트워크의 계층적 구조, feature map의 resolution 감소와 함께 학습이 이루어지기 때문이다. 이를 통해, 깊은 layer에서는 이미지의 세부적인 정보보다 전체적인 구조나 의미적인 정보를 학습하게 된다.
'Deep Learning > Thought on Deep Learning' 카테고리의 다른 글
| Backbone Network in Object Detector (0) | 2024.09.20 |
|---|