ResNet

허진녕·2022년 10월 16일
0

논문리뷰

목록 보기
2/3
post-thumbnail

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

Network Architectures

  • Plain Network
    VGG net을 baseline으로 만들어졌으며, 3 X 3 convolutional layer가 적용된 구조이다. 그리고 feature map(conv layer를 거쳐서 나온 결과물)의 크기가 절반이 되면, layer에 대한 시간복잡도를 유지하기 위해 filter의 개수를 2배로 늘린다. 그리고 downsampling은 convolutional layer의 stride를 2로 설정함으로써 구현한다. network의 끝은 average pooling layer를 통과하여 softmax 함수가 적용된 fully-connected layer를 지나는 구조이다.

  • Residual Network
    plain network 구조에서 shortcut connection을 추가한 구조이다.
    input과 output이 동일한 크기이면 shortcut에서는 추가적인 작업이 필요없지만, input과 output이 다르면(점선 화살표) 크기를 맞추기 위해 filter의 stride를 2로 설정해준다.

위 그림은 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의 구조이다.

ImageNet Classifcation

  • Plain Networks
    ImageNet에서 plain network의 18-layer와 34-layer의 training error와 validation error를 비교해본 결과, 34-layer의 error가 높게 나오는 degradation 문제가 발생하였다. 그리고 이런 현상은 실험에서 관찰해본 결과 vanishing gradient로 인해 발생한 문제가 아니었다.

Bold curve is validation error, the other is training error

  • Residual Networks
    Shortcut connection을 사용한 residual networks에서는 network가 깊어질수록 training error와 validation error가 감소하였다.

  • 다른 모델과 비교했을 때도 network가 깊어질수록 정확도가 올라가는 것을 확인할 수 있다. 그리고 shortcut의 유형을 변경함으로써 network의 성능을 더 높이는 것이 가능함을 실험적으로 증명하였다.

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

profile
Hello!

0개의 댓글