ResNet
Deep Residual Learning for Image Recognition
Residual Network라는 구조를 사용하여 성능을 크게 향상시킨 모델이다.
Introduction
network는 모델의 깊이가 깊어질수록 정확도의 증가폭이 감소(saturated)하는 degradation 문제에 노출된다. 이 논문에서는 이러한 degradation 문제를 residual learning으로 해결하고자 했으며, 그 구조는 아래와 같다.
위 구조는 2개의 weight layer를 거친 결과와 거치기 전의 값을 합해주는 구조이다. 그리고 2개의 레이어를 거치지 않고 나오는 X identity는 shortcut connection이라고 부른다.
논문에서는 shortcut connection이 없는 plain net과 shortcut connection이 있는 residual net의 학습 결과를 비교하였다.
plain net은 깊이가 깊어질수록 training error가 증가하였지만,
residual net은 깊이가 깊어질수록 training error가 감소하였다.
Deep Residual Learning
위 그림은 ResNet의 일부분인 34-layer의 구조이다.
Implementation
convolutional layer를 거친 결과에 batch normalization을 적용하였고, batch size는 256으로 하여 Stochastic Gradient Descent (SGD)을 이용하여 학습을 진행하였다.
learning rate는 0.1로 설정하였고, error가 변화하지 않으면 10으로 나워주었다.
학습은 최대 60 x 10^4 반복하였고, weight decay와 momentum은 각 각 0.0001, 0.9로 설정하였다.
Experiments
위의 표는 plain network와 residual network의 구조이다.
Bold curve is validation error, the other is training error
50-layer와 101-layer, 152-layer에는 아래와 같은 bottlenect 구조로 layer들이 연결되어 있고, shorcut은 parameter-free indentity shorcut을 이용하여 더 효율적으로 network가 작동하도록 하였다.
참조
https://arxiv.org/abs/1512.03385, Deep Residual Learning for Image Recognition