아래와 같이 많은 CNN 기반 모델들이 layer가 깊어질 수록 channel size를 점점 늘려주는 형태를 갖는다.
물론 실험적으로 증명되었기 때문에 굳어진 하나의 패턴이겠지만 왜 이런 구조를 사용하게 되었을까?
그 이유와 관련해서는 크게 2가지 의견이 있다.
1. Convolution layer와 Pooling layer를 거치면서 줄어든 feature map의 만큼 정보의 양이 줄어드는데,
channel size를 늘려줌으로서 줄어든 정보의 양을 보상시켜준다는 것이다.
2. CNN에서 앞단의 레이어에서는 저차원적인 패턴(e.g. 엣지, 코너 등)을 학습하고, 뒷단의 레이어에서는 앞단의 패턴을 결합하여 통해 좀 더 고차원적인 패턴(e.g. 특정 물체의 부분, 신체 부위 등)을 학습하게 된다.
layer의 뒷단으로 갈 수록 이미지에서 특정 물체에 대한 특징적인 패턴을 학습하기 때문에 더 많은 양을 학습할 필요가 있다.
그렇기 때문에 뒷단으로 갈 수록 channel size를 늘려준다는 것이다.
참고
- In CNN, why do we increase the number of filters in deeper Convolution layers for complex images?
- increase in number of filters in convolutional neural nets
- In a convolutional neural network, is it necessary to increase the feature channels, as the network goes to deeper layers?
'Machine Learning > Deep Learning' 카테고리의 다른 글
Various Normalizations on CNN (0) | 2024.08.07 |
---|---|
CNN Filter Visualization (0) | 2024.06.16 |
Dropout vs Inverted Dropout (0) | 2024.05.21 |
Manifold와 뉴럴 네트워크 학습 (0) | 2024.05.20 |
Non zero-centered activation function과 학습 비효율 (1) | 2024.05.01 |
댓글