본문 바로가기
Paper

논문 리뷰 | [ResNet] Deep residual learning for image recognition (2015)

by 힢힢 2025. 1. 30.

마이크로소프트팀에서 개발한 Residual Network(줄여서 ResNet)이라는 네트워크에 대해 소개하는 논문이고, 인용 수가 24만회가 넘을 정도로 유명하다.

수업에서도 잔차 학습, skip connection 등에 대해 여러 번 언급되어 이 논문을 우선적으로 읽어보기로 결정하였다.

 

https://arxiv.org/abs/1512.03385

 

Deep Residual Learning for Image Recognition

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with

arxiv.org

 


 

[ Deep residual learning for image recognition (2015) ]

✦ Abstract

 

깊은 네트워크일수록 학습이 어렵지만, 상당히 깊은 네트워크의 학습을 쉽게 만드는 "residual learning framework"를 본 논문으로 소개한다. 함수 자체를 학습하는 대신 입력을 참조해 residual function을 학습하는 레이어로 재구성하는 방법을 사용하였다. 이러한 residual networks는 최적화하기 쉽고, 깊이를 늘렸을 때에도 정확도를 향상시킬 수 있다. 

 

ImageNet 데이터셋에 대해서 최대 152개의 레이어의 ResNet을 평가하였을 때, VGG 네트워크보다 깊이가 8배 깊었지만, 복잡도는 더 낮았다. 이러한 ResNet의 앙상블은 ImageNet 데이터셋에 대해 3.57%의 오차율을 보였으며, ILSVRC 2015 classification task에서 1등을 차지하였다. 또한, CIFAR-10 데이터셋에 대해 100개와 1000개 레이어의 대해 분석한 결과도 제시한다.

 

➡️ 깊은 네트워크일수록 표현이 깊어지니 중요하지만, 학습이 어려웠던 문제 존재. 하지만 잔차 학습으로 깊은 네트워크의 학습을 쉽게 만드는 프레임워크를 제시할 것임.

 

 


 

✦ Introduction

 

그림 1

 

Deep Convolutional Neural Networks는 이미지 분류 (image classification) 과제에서 획기적인 발전을 가져왔다. 네트워크의 깊이 (depth) 에 따라 특징이 풍부해지며, 최근 연구들 또한 대규모 데이터셋에서 매우 깊은 모델을 활용하고 있다. 그러나 이러한 깊은 모델은 학습 초기에 기울기 소실(vanishing gradients) 기울기 폭발(exploding gradients) 문제로 인해 네트워크 학습이 어려웠다. 이 문제는 normalized initialization intermediate normalization layers를 도입하면서 수십 개의 레이어를 가진 네트워크도 역전파 (backpropagation)와 확률적 경사 하강법 (SGD)으로 학습이 가능해졌다. 하지만, 네트워크의 깊이가 깊어질수록 정확도가 포화 상태에 이르렀다가 급격히 감소하는 성능 저하 (degradation) 현상이 나타난다. (그림 1) 이 현상은 오버피팅 때문이 아니며, 오류가 증가하는 문제도 확인할 수 있었다. 이론적으로, 깊은 모델에 identity mapping을 추가하고 얕은 모델의 가중치를 복사하면 얕은 모델과 동일하거나 더 나은 성능을 기대할 수 있지만, 기존의 최적화 방법으로는 이를 달성하기 어려웠다. 이에 본 논문에서는 깊은 네트워크의 성능 저하 문제를 해결하기 위해 Deep Residual Learning Framework를 제안한다.

 


 

✦ Deep Residual Learning 

  - Residual Learning

 

H(x)를 underlying mapping이라 할 때, x는 첫 레이어에 대한 입력이다. 기존의 방식은 입력 (x) 를 출력 (y) 로 바로 매핑하는 H(x)를 학습하는 것이었다. 하지만, 네트워크가 여러 비선형 레이어로 복잡한 함수를 근사할 수 있다면, F(x) = H(x) - x라는 잔차 함수 (residual functions)도 근사할 수 있다. 따라서, 원래의 함수 H(x)는 다음과 같이 표현된다. H(x) = F(x) + x

 

이 아이디어는 성능 저하 문제 (degration)로부터 도출된 것으로, 기존 방식에서는 깊은 모델이 여러 비선형 레이어를 통한 identity mapping을 근사하는 데 어려움을 겪는다고 추정된다. 그래서, 직접적으로 H(x)를 학습하는 것 대신 F(x) = H(x) - x라는 차이 (잔차)를 학습하도록 하고, 이를 통해 기존 매핑을 H(x) = F(x) + x 형태로 재구성해 최적화가 용이하게 만든다. 예를 들어, H(x) = x라면, F(x) 0에 가까워지도록 학습하면 된다.

 

 

  - Identity Mapping by Shortcuts

그림 2

 

 

Residual Block은 위와 같은 수식으로 나타낼 수 있다. X는 입력, y는 출력, F(x)는 잔차 함수이다. 입력 x를 F(x)에 통과시켜 잔차를 계산하고, 그 값에 x를 더해 최종 출력 y를 만든다. 이 과정에서 1개 이상의 레이어를 건너뛰기 때문에 “Shortcut Connection”이라고 한다. 이는 입력값을 그대로 출력값에 더해주는 방식 (그림 2)으로, x와 F(x)를 더해주는 연산만 수행하기 때문에 추가적인 계산 비용이 매우 적고, 새로운 파라미터가 필요하지 않다. 또한, 기울기 소실 문제를 완화하고 안정적인 학습이 가능하다.

 

 


 

✦ Experiments

  - Plain Networks

 

그림 3

 

Plain Network를 사용하여 18개의 Layer로 구성된 모델과 34개의 Layer로 구성된 모델을 비교한 결과, 34개의 Layer를 가진 모델은 18개의 Layer를 가진 모델보다 학습 에러와 검증 에러가 모두 높아지는 성능 저하 문제(Degradation Problem)를 보였다. 논문에서는 이러한 문제가 기울기 소실이 아닌 수렴 속도가 지수적으로 감소했기 때문이라고 추정하였다. , 깊은 네트워크의 최적화가 어려워 학습 성능이 좋지 못한 것이다.

다음으로 동일한 18-layer 34-layer 구조에 Shortcut Connections를 추가하여 Residual Network (ResNet)를 구성하고 실험을 진행하였다. ResNet에서는 차원이 다를 경우 Zero Padding을 활용하여 Shortcut Connections를 처리하였다. 결과적으로, 34-layer ResNet 18-layer ResNet보다 낮은 학습 에러와 검증 에러를 기록하며 Degradation Problem을 해결하였다. 특히, 34-layer ResNet 18-layer ResNet보다 Top-1 Error 2.8% 낮았으며, Plain Network 대비 Top-1 Error 3.5% 감소했다. 이러한 결과는 Residual Learning을 통해 학습 과정에서 발생하는 오류를 효과적으로 줄인 덕분으로 해석된다. 또한, ResNet Plain Network보다 초반 단계에서 빠르게 최고 성능에 도달하는 것을 확인할 수 있었다.