심층 신경망은 low/mid/high-level feature를 classifier와 함께 multi-layer 방식으로 통합한다. 그리고 feature의 level은 쌓는 층의 수, 즉 깊이에 따라 더 높아질 수 있다. 최근의 연구는 신경망의 깊이가 중대한 역할을 하며, ImageNet 데이터셋에 대해 뛰어난 성능을 보이는 모델들은 모두 16에서 30개의 층으로 구성된 심층 신경망 구조를 사용한다. 하지만 신경망의 깊이를 늘림으로써 발생하는 학습 과정의 문제가 존재한다.
본 논문에서는 degradation 문제를 해결하기 위해 deep residual learning이라는 개념을 도입한다.
입력을 x라고 했을 때, fit하고자 하는 underlying mapping을 H(x)라 하면, 해당 논문에서는 nonlinear mapping F(x)=H(x)-x를 제시한다. 이 때 원 함수는 F(x)+x가 된다. 즉, 쌓인 층들이 기본 mapping으로 fit되는 것이 아닌, 잔차 mapping에 fit되게끔 하는 것이다. 이는 unreferenced mapping보다 residual mapping을 최적화하는 것이 더 쉽다는 가정을 기반으로 한다.
Residual learning은 몇 개의 층마다 적용되며, 해당 논문에서는 building block을 다음과 같이 정의한다. x와 y는 각각 층의 입력, 출력 벡터이며 F는 학습해야하는 residual mapping을 나타낸다.
위와 같은 residual learning은 shortcut connection과 element-wise addition을 통해 구현된다. 이 때 위 식에서 사용된 shortcut connection은 추가적인 파라미터나 계산 복잡도를 요구하지 않는다는 이점이 있다.
Plain baseline은 VGG net을 기반으로 하며 두가지 특징을 갖는다.
Plain network을 기반으로 shortcut connection을 추가한다. 입력과 출력의 차원이 동일한 경우 identity shortcut을 직접적으로 사용할 수 있다. 차원이 증가하는 경우 zero-padding 후 identity mapping을 하거나 projection shortcut을 사용한다.
ImageNet 데이터셋을 학습하기 위한 심층 신경망에서는 training time을 고려하여 building block을 bottleneck design으로 수정하였다. 각 residual function F에 대해 2개 대신 3개의 층을 사용하였으며, 각 층은 1x1, 3x3, 1x1 convolution 층이다. 이 때 1x1 층은 차원의 축소와 증가를 통해 3x3 층이 더 작은 입출력 차원을 갖게끔 한다. 이를 통해 파라미터의 수를 감소시키고, 결과적으로 연산량을 감소시킨다.
결과적으로 ResNet-34는 ResNet-18에 비해 더 적은 training error과 generalization 성능을 보였다. 이는 degradation 문제가 해결되었으며, 깊이가 증가를 통해 정확도 향상을 얻을 수 있다는 것을 나타낸다. 또한 ResNet-34는 plain-34보다 error가 3.5% 감소하였으며, 이는 residual learning이 심청망에 효율적으로 적용될 수 있음을 보인다.
[3주차 / 황민아 / 논문리뷰] Fast R-CNN (0) | 2023.02.01 |
---|---|
[2주차 / 천원준 / 논문리뷰] Going deeper with convolution (0) | 2023.02.01 |
[2주차 / 윤지현 / 논문리뷰] Deep Residual Learning for Image Recognition (0) | 2023.01.31 |
[3주차 / 진유석 / 논문리뷰] Fast R-CNN (0) | 2023.01.31 |
[3주차 / 문성빈 / 논문리뷰] Rich feature hierarchies for accurate object detection and semantic segmentation (0) | 2023.01.31 |
댓글 영역