한줄평
- 이 논문에서는 residual learning을 통해 optimize하기 쉽고, 신경망이 깊어져도 높은 정확도를 얻을 수 있는 방법을 제안하고 있다.
- 신경망이 깊어질수록 발생하는 degradation problem이 ResNet으로 인해 개선되는 점을 주로 확인한다는 것이 주요 요점이 아닌가 싶다.
- ImageNet dataset에서 VGGNets보다 8배 깊은152layers로 3.57%의 error를 얻었다. 이 결과는 ILSVRC 2015 classification에서 1등을 차지한 결과이다.
- Deep residual nets은 ImageNet detection, ImageNet loaclization, COCO detection, COCO segmentation에서 1등을 차지 하였다.
Introduction
- Deep convolutional neural networks에서 신경망의 깊이는 매우 중요한 부분이다. 신경망 깊이가 중요하다면 신경망이 깊어질수록 학습을 잘 할 수 있을까? 라는 의문이 생긴다. ”Is learning better networks as easy as stacking more layers?”
- 이 질문에 대한 장애물? 걸림돌은 vanishing/exploding problems 이다.
- 신경망이 깊어질수록 degradation problem 에 노출되기 시작했다. degradation problem 이란 신경망이 깊어져도 accuracy사 낮아지는 현상을 뜻한다.
- degradation problem 은 overfitting에 의해 발생하는 것이 아니며, layer를 더 쌓으면 오히려 training error를 발생시킨다.
- degradation은 모든 시스템이 최적화하기 쉽지 않다는 것을 뜻한기 때문에 얕은 구조와 더 깊은 아키텍처를 비교해보자.
- 다른 얕은 레이어로부터 복사된 identity mapping 레이어를 추가했지만 실험을 통해 좋은 좋은 결과는 아니란 것을 알 수 있었다.
- 따라서 이 논문에서는 degradation problem을 해결하기 위해 deep residual learning framework를 도입한다.
- underlying mapping 대신에 residual mapping을 사용한다.
- underlying mapping(H(x)) 보다 residual mapping(F(x))를 0으로 만드는 것이 더 쉽다!
F(x)=H(x)−x
- 아래 식은 Shortcut connections 에 의해 표현될 수 있다. Shotrcut connections 이란 한개 이상의 layer를 skip하는 것을 뜻한다. 이 논문에서의 경우 그림과 같이 shotcut connection은 identity mapping에만 사용된다.
- 논문에서는 degradation problem과 발전된 method를 두 가지를 통해 보여준다.
- deep residual nets은 최적화하기 쉽지만 단순하게 쌓아올린 네트워크인 plain nets은 층이 쌓일 수록 training error가 높아졌다.
- residual nets은 accuracy가 깊이가 쌓여도 이전 다른 네트워크보다 높았음을 확인했다.
- 이 외에도 CIFAR-10, ImageNet classification, COCO 2015 등에서 높은 성적을 받았다.
Residual Representations
- Residual Representation은 여러 곳에서 쓰이고 그 성능을 보였다. 이미지 인식에서도 Fisher Vector를 이용해 dictionary를 만들때 original vector를 사용하는것 보다 residual vector를 사용하는게 효율적임을 보였다.
Shortcut connections
- 많은 이론들이 shortcut connection을 이용했다. 초기에는 입력을 바로 출력으로 연결시키는 linear layer를 추가한 것부터, Googlenet에서는 중간층이 보조 분류기로 직접 연결되었다. 또 다른 연구에서는 layer response, gradients, propagated error를 centering하기위해 shortcut이 이용되기도 했다.
- 이 논문과 같은시기에 진행된 연구인 Highway networks에서도 이런 shortcut이 이용되었지만, 이 논문에서는 parameter-free인 identity shortcut을 사용한것과는 대조적으로 데이터에 의존적이고 parameter를 가지는 shortcut을 이용했다. 따라서 shortcut이 0에 가까워지면 non-residual function을 이용하는 것과 마찬가지이므로 Resnet과는 큰 차이가 있다.
Methodology
Residual Learning
- H(x)가 의도했던 optimal mapping이라고 했을 때 신경망이 하는 것은 여러개의 비선형 레이어를 이용해서 점진적으로 복잡한 함수를 학습하는 것이다. 그런데 Residual Learning을 하게 되면 H(x)가 아닌 F(x) 즉, H(x) - x를 학습하는 것이다. 수학적으로 보았을 때는 별차이가 없어보이지만 H(x)를 학습하는 것보다 F(x)를 학습하는 것이 훨씬 쉽다.
- 이러한 reformulation(H(x) → F(x)) 반직관적일 수는 잇지만 identity mapping이 추가된다면 최소한 깊은 모델이 얕은 모델보다 training error가 낮다는 것이 논문의 주장이다. 즉, 기본적인 identity mapping을 항상 수행할 수 있도록 하여 학습의 난이도를 낮추는 것이다.
- 그러나 실제 경우 최적의 솔루션이 identity mapping일 확률은 매우 낮다.
- 만약 optimal mapping이 zero mapping보다 identity mapping에 가깝다면 optimize하기 더 쉽다. 실험을 통해서도 identity mapping이 일반적으로 작은 response를 이끌어 내서 의미있는 기준을 제시했음을 확인했다.
Identity Mapping by Shortcuts
y=F(x,Wi)+x
- 논문에서는 하나의 block을 위 식으로 정의했다. 여기서 F는 학습해야하는 residual mapping을 의미하며 x는 identity mapping을 의미한다.
- Shortcut connection을 이용할 때는 추가적인 parameter가 사용되지 않는다는 장점이 있다. 또한 plain/residual networks를 비교하였을 때에도 우수한 결과를 보였다는 것을 알 수 있다.
y=F(x,Wi)+Wsx
- 만약 input과 output의 channel이 다를 때 Ws를 linear projection하여 dimension을 맞춰줄 수 있다.
- 논문에서 실험을 진행할 때 F는더 많은 레이어수도 가능하지만 2개 혹은 3개의 레이어를 갖고 잇다. 만약 F가 하나의 레이어만 갖는다면 다음 수식과 같이 하나의 linear layer가 되기 때문에 특별한 이점이 없게 된다. 따라서 F(x, {W_i})와 같이 여러개가 중첩될 때 유의미한 성능을 보였다.
y=W1x+x
Network Architectures
- plain nets 과 residual nets을 비교하기 위해 기본적인 CNN 네트워크인 VGGNets을 사용한다. 3x3 filters를 사용하며 다음 두가지 기준을 따른다.
-
동일한 output을 갖기 위해 레이어는 동일한 filter수를 갖는다.
-
feature map size가 반으로 줄어든다면 filter의 숫자는 두배로 늘려 레이어마다 time complexity를 보존한다.
실험에서는 stride는 2로 설정하여 downsampling 하였으며 네트워크의 말단은 global average pooling layer로 1000-way fully connected layer with softmax로 구성되었다. 다음 그림은 실험에 사용된 네트워크 모형이다.
Residual Network
- 앞서 설명한 것과 같이 residual network은 plain network에 shortcut connection을 추가한 모형이다. identity shortcuts은 input과 output이 같은 dimension일 때 사용될 수 있다. dimension이 증가한다면 두 가지 옵션을 고려한다.
-
shortcut은 identity mapping을 유지한다. with extra zero entries padded for increasing dimensions. 이 옵션은 추가적인 parameter를 요구하지 않기 때문에 장점이라 할 수 있다.
-
다음식과 같이 Ws를 projection한다.
y=F(x,Wi)+Wsx
Implementation
- Image resized 224x224
- Standard color augmentation is used
- Adopt batch normalization(BN)
- Initialize the weights as in and train all plain/residual nets from scratch
- Used SGD with a mini-batch size of 256
- Learning rate 0.1
- Used a weight decay of 0.0001 and a momentum of 0.9
- Not use dropout
Experiments
ImageNet Classification
Plain Networks
plain net으로 쌓은 18-layer와 34-layer를 비교했을 때 34-layer net이 validation error가 18-layer보다 높았다. 그 이유는 34layer의 degradation problem 때문이다. 논문에서는 optimization difficulty가 vanishing gradients때문이 아닌 BN(Batch Normalization)로 학습되어 non-zero variances를 갖기 때문이라고 한다.
Residual Networks
18-layer와 34-layer residual nets를 평가하였다. 아키텍처의 baseline은 plain networks와 같지만 위 모델 그림과 같이 shortcut connection이 각 3x3 filters에 연결되었다. 모든 shortcuts을 위해 identity mapping을 사용하였고, 차원 증가(increasing dimensions)를 위해 zero-padding이 사용되었다. 따라서 plain networks와 비교했을 때 추가되는 parameter는 없다.
- 18-layer ResNet보다 34-layer ResNet 성능이 좋다. 더 낮은 training error를 갖으며 layer의 깊이가 증가할 때도 degradation problem을 잘 조절하였다.
- plain networks와 비교했을 때도 ResNet이 training error를 3.5% 차이로 크게 줄인 것을 확인할 수 있다.
- 18-layer끼리 비교했을 때 accuracy는 거의 비슷했지만 18-layer ResNet이 수렴하는데 시간이 더 적게 소요되었다.
Identity vs Projection Shortcuts
논문에서는 parameter-free, identity shortcuts를 training에 사용하였다. 아래 표에서는 3가지 옵션을 비교하였다.
A. zero-padding shortcuts는 차원 증가에 사용 모든 shortcuts는 parameter free이다.
B. projection shortcuts는 차원 증가에 사용, 다른 shortcuts는 identity (?)
C. 모든 shortcuts들이 projection한 경우
- 위의 3가지 옵션은 모두 plain network보단 성능이 좋다.
- B는 A보다 미세하게 좋으며 이것은 A의 zero-padded dimensions 때문이다.
- C는 B보다 성능이 좋으며 이는 projection shortcut에 사용된 extra parameter 때문이다.
- A,B,C들의 차이는 projection shortcuts는 degradation problem에 주요한 요인이 아니란 것을 뜻한다. 때문에 이 논문에서는 option C는 더이상 고려하지 않는다.
- identity shortcut은 bottleneck architectures의 복잡성을 막는데 중요하다! (다음에 추가 설명)
Deeper Bottleneck Architectures
- training time을 고려하여 아키텍처의 구조를 Bottleneck design 을 사용하였다. Residual function F를 사용하는데 3 layers를 쌓을 때 1x1 + 3x3 + 1x1(convolutions) 구조로 쌓는다. 1x1 layers는 크기를 줄인 후 증가시키는 역할을 하며, 3x3 layer는 더 작은 입출력 차원이다.
- parameter-free identity shortcuts는 bottleneck architectures에서 중요하다. bottleneck design에서 매우 효율적인 모델로 만들어주기 때문이다. 사용하지 않는다면 시간 소요가 늘어나고 모델의 크기도 배로 커지게 되기 때문이다.
- 50/101/152 layer ResNet은 34-layer 보다 높은 정확도를 보여준다. (degradation problem을 해결한 모습을 보여주는 점이 아닌가 싶다. )
CIFAR-10 and Analysis
CIFAR-10 datasets에 적용해본 실험결과 1000개 이상의 레이어도 쌓아봤는데 1000개 이상의 레이어에서 성능이 낮아지는 것은 overfitting 현상이고 dropout, maxout 등의 regularization이 쓰이지 않았는데 추가 regularization을 통해 해결해야 한다.
Object Detection on PASCAL and MS COCO
ResNet은 다른 recognition tasks에서도 좋은 성능을 보였다. ImageNet detection, ImageNet localization, COCO detection, COCO segmentation에서 1등을 차지했다.
Conclusion/Opinions
- Residual Learning이라는 개념을 Shortcut connection과 함께 도입하여 기존 모델보다 발전한 성능을 보여줬다.
- ResNet은 Layer수가 많아질수록 발생했던 문제점인 degradation problem을 개선한 모델이다.
- ResNet은 Image classification뿐만 아니라 Object detection, segmentation 등에서도 사용된다.