Abstract
- 신경망이 깊어지면 학습하기 더욱 어려워진다. 이 논문은 residual learning 프레임워크을 통해 학습을 쉽게 하는 방법을 제안한다.
- VGG 네트워크보다 8배 깊은 152 레이어 깊이의 residual network를 평가했으며, 더 낮은 복잡도를 가진다.
- ILSVRC 2015 분류 문제에서 1위를 달성했다.
1. Introduction
- 네트워크 깊이는 이미지 분류에서 중요하다.
- 주요한 문제였던 기울기 소실 / 폭발은 normlizaed initialization과 intermediate normalization layers에 의해 해결되었다.
- 하지만 성능 저하(degradation) 문제가 발생하는데, 이는 오버피팅에 의해 일어나는 것이 아니다 layer의 수가 증가하였기 때문인데, 적절한 깊이의 모델에 더 많은 레이어를 추가하면 더 높은 Training error가 발생한다. 아래 그림이 이를 보여준다.
- Solution : identity mapping을 추가하는 것. 이 방법은 깊은 모델의 training error가 얕은 모델의 error보다 작아야 함을 나타낸다. < 왜? - 이전 레이어의 결과값을 다시 이용하였기 때문에 깊어질수록 성능이 좋아짐
- 기존 방법은 입력 x를 받아 layer를 거쳐 H(x)를 출력하는 방식이다. 여기서, 문제를 H(x)가 아닌 H(x)-x를 얻는 것으로 문제를 수정한다. 즉, F(x) = H(x)-x를 최소화 시키는 문제로 바뀌게 된다. x의 값은 도중에 바뀌지 않는 입력 값이므로 F(x)가 0이 되는 것이 최적의 해라고 할 때, H(x)-x = 0, H(x) = x가 된다. 즉 H(x)를 x로 mapping 하는 것이 목표가 된다.
- F(x)+x는 "shortcut connections(skip connection)"에 의해 실현될 수 있다. shortcut connection는 하나 또는 더 많은 레이어들을 건너뛰는 것이다.
- Identity shortcut connections는 추가 파라미터가 들거나 계산복잡도가 증가하지 않는다.
- 실험 결과는 다음과 같다.
1. plain net(간단하게 레이어를 쌓은 것)은 깊이가 증가할수록 높아지는 training error를 가진다
2. residual net은 깊이가 증가할수록 쉽게 정확도를 얻을 수 있다.
2. Related Work
Residual Representations.
- 벡터 양자화에 있어서 residual vectors를 encoding하는 것이 original vectors를 encoding 하는 것 보다 효과적이다.
...
Shortcut Connections.
- ResNet의 Shortcut Connecion은 parameter가 전혀 추가되지 않고 0으로 수렴하지 않기 때문에 절대 닫힐 일이 없어 항상 모든 정보가 통과된다. 이에 따라 지속적으로 residual function을 학습하는 것이 가능하다.
3. Deep Residual Learning
3.1. Residual Learning
- H(x)를 underlying mapping으로 간주하여서 근사시킬 수 있다면 잔차 함수인 F(x) = H(x)-x또한 근사가 가능할 것이다.
이렇게 잔차 함수를 정의하면 원래 식은 H(x) = F(x) + x 로 표현할 수 있다.
- 이 논문에선 H(x)보다 간단한 식인 F(x)+x를 underlying mapping으로 재정의하여 학습을 용이하게 하였다.
- 이러한 함수의 재구성은 층이 깊은데도 Training Error가 더 높은 직관에 반하는 현상에 의해 동기부여 되었다.
- 만약 추가된 레이어에 identity mapping을 적용한다면, 깊은 모델은 적어도 얕은 모델보다는 성능이 나쁘진 않아야 한다는 것
- Residual learning 재정립을 통해 만약 identity mapping이 최적이라면 다중 비선형 레이어의 가중치를 0으로 접근시켜 identity mapping을 근사할 수 있다.
- 실제 경우에서는, identity mapping이 최적일 가능성은 드물지만, 재정립이 문제를 사전 조건화할 수 있는 도움을 줄 수 있다.
- 만약 최적 함수가 zero mapping보다 identity mapping에 가깝다면, identity mapping을 참조하여 작은 변화를 학습하는 것이 새로운 함수를 학습하는 것 보다 쉬울 것이다.
3.2. Identity Mapping by Shortcuts
- residual learning은 모든 few stacked layers 마다 적용된다.
- 수식은 다음과 같이 정의된다.
- 만약 input / output의 채널이 바뀌거나 한 상황에는 (F + x 연산을 위해 F와 x의 차원이 같아야 함)
다음과 같이 linear projection $ W_s $ 를 해준다.
- shortcut connections는 파라미터를 추가로 사용하거나 계산 복잡도가 늘지 않는다.
- F는 보통 2~3 layer를 사용하는데 1개만 사용하는 경우는 linear layer와 비슷하여 이점이 없다고 한다.
- Fully-connected layer로 수식을 써놨지만, convolutional layer로도 적용이 가능하다.
3.3 Network Architectures
Plain Network. (Fig. 3, middle)
- plain network의 baseline은 VGGNet에서 영감을 받았다.
- convolution layer는 대부분 3x3 필터를 사용하였고, 다음 2가지 규칙을 따른다.
- 같은 output feature map size를 가지면, 같은 수의 filter를 가진다.
- 만약 feature map size가 절반이 되면, 레이어 당 시간복잡도를 보존하기 위해 filter를 두배로 만든다.
- convolution layer의 stride를 2로 해서 다운 샘플링을 수행한다.
- 네트워크의 끝은 Global average pooling layer를 사용하였고 1000 output을 가진 FC layer를 softmax와 함께 사용하였다.
- 전체 가중치 레이어의 수는 34개이다.
- VGGNet보다 적은 필터 수와 적은 복잡도를 가진다.
Residual Network. (Fig. 3, right)
- plain network에 기반하여 shortcut connections를 집어넣는다.
- 실선의 경우 같은 차원일 때 shortcut connections를 사용한 것
- 점선의 경우 차원이 증가 되었을 때. 2가지 옵션이 있다.
- zero padding을 이용하여 차원을 증가시키는 것.
- Eqn.(2)의 Projection shortcut을 이용하여 차원을 맞춰주는 것(by 1x1 convolutions)
두가지 옵션 다 shortcut이 feature map을 2 size 씩 건너뛰기 때문에 stride를 2로 수행한다.
3.4 Implementation
모델 구현은 다음과 같이 진행한다.
- 짧은 쪽이 [256, 480]이 되도록 random하게 resize한다.
- 224 x 224로 랜덤하게 crop 한다.
- horizontal flip과 함께 pixel마다 평균 값을 빼준다.
- standard color augmentation을 사용한다.
- 각각의 convolution 후, activtation 전에 Batch Nomalization을 사용한다.
- He 초기화 방법으로 가중치를 초기화한다.
- 옵티마이저로 SGD를 사용하였다. (mini-batch size : 256)
- learning rate는 0.1로부터 시작하여 학습이 정체될 때 마다 10씩 나눠준다.
- $ 60 * 10^4 $ iterations
- Weight decay : 0.0001
- momentum : 0.9
- 드랍아웃 사용 X
테스트 시에는 10-cross validation 방법을 사용하며 짧은 쪽이 {224, 256, 384, 480, 640}중 하나가 되도록 resize 하고 평균 점수를 낸다.
4. Experiments
4.1. ImageNet Classification
Plain Network.
Residual Network.
Identity vs. Projection Shortcuts.
Deeper Bottleneck Architectures.
Comparisons with State-of-the-art Methods.
4.2 CIFAR-10 and Analysis
Analysis of Layer Responses.
Exploring Over 1000 layers.
4.3 Object Detection on PASCAL and MS COCO
궁금증
'논문 리뷰' 카테고리의 다른 글
[논문 리뷰] VGGNet(2015) (0) | 2023.03.02 |
---|