[논문리뷰] Deep Residual Learning for Image Recognition (2015)

2025. 12. 21. 23:30·논문 리뷰
반응형

https://arxiv.org/pdf/1512.03385

 

 

2015년에 수백만장의 이미지를 분류하는 대회인 ILSVRC [ImageNet Large Scale Visual Recognition Challenge]

에서 가장 좋은 성능을 좋은 ResNet을 구현하여 우승하였고 이 ResNet의 아이디어에서 층을 더 깊게 쌓는 딥러닝 모델이 등장하게 되었다. ResNet의 아이디어란 이전의 입력값을 그대로 결과값에 추가하는 Residual Connection[잔차 연결]을 이용하며 해당 개념은 아래에서 설명한다.  

 

2015년 이전까지의 딥러닝 모델의 흐름

우승 모델의 분류 에러율 출처: https://cs231n.stanford.edu/slides/2025/lecture_6.pdf

2010년과 2011년의 사람이 직접 필터를 설계한 머신러닝 기반의 모델 이후로 2012년에 처음으로 CNN 기반의 딥러닝 모델인 AlexNet이 등장하여 우승을 거두었다. AlexNet 이후로 2014년까지는 더 적절한 하이퍼파라미터를 통해서 성능을 향상시키거나 또는 하나의 큰 필터에서 여러 개의 작은 필터를 활용하여 효율적이면서도 이미지의 특징을 더 잘 포착하는 발전을 거두었다.

 

2011년의 오류율인 25.8%와 비교하면 2014년에 6.7%까지 성능을 향상하였으나 사람의 오류율은 5.1%임을 고려할 때 이때까지는 AI가 인간의 분류 능력보다 떨어진다고 볼 수 있다. 여기서 주목해볼만한 점은 2014년까지는 파라미터가 있는 22층의 모델을 하였다면 단 1년이 지난 2015년에 152층으로 폭발적인 깊이 확장을 이루어냈다. 하지만 그 전에는 몰라서 층을 많이 쌓지 않았을까? 그렇지 않다.

 

기존 딥러닝 모델의 문제점 

본 논문의 figure1

ResNet 이전까지의 딥러닝 모델의 문제점은 이 한 장의 사진을 통해서 알 수 있다. 20층의 모델보다 더 깊은 56층의 모델이 오류율이 더 높게 나온 것을 확인할 수 있다. 즉, 더 복잡한 모델이 더 성능이 안좋은 모습이 학습 데이터셋 뿐만 아니라 테스트 데이터셋에서도 확인되는 모습이다.

 

우리가 test에서 더 복잡한 모델이 성능이 떨어지는 현상을 overfitting[과적합]이라고 한다. 하지만 오버피팅의 정의는 학습에서는 좋은 성능을 보이지만 검증과 테스트에서 낮은 성능이 나올 때를 의미한다. 따라서 위 사진의 학습과 테스트 모두 안좋은 성능을 내는 것을 오버피팅이라고 할 수 없고 오히려 underfitting[과소적합]에 속한다. 컴퓨팅 비용과 시간을 더 들여서 학습시킨 모델이 오히려 학습이 덜 되었다고 결과가 나오는 상식과는 다른 현상이 발생한 것이다. 

 

이러한 복잡한 딥러닝 모델의 문제점은 강력한 표현 능력[representation power]만큼 훨씬 더 많은 파라미터가 있기 때문에 이 모든 파라미터의 최적화[optimization]를 하기 더 어렵다는 점이다.  

 

ResNet의 핵심 아이디어

본 논문의 figure2

ResNet의 아이디어는 간단하다. 위와 같이 입력값인 x를 결과에 추가하는 방법을 이용하여 결과값은 기존 순전파의 F(x)와 x의 합으로 표현할 수 있다. 이렇게 입력을 지름길처럼 연결하는 방식을 shortcut connection이라고 하며 이러한 아키텍처를 Deep Residual learning으로 부른다.

 

   F(x)+x

이 간단한 수식이 어떻게 층을 회기적으로 늘리면서 성능을 향상시킬 수 있게 하였을까? 우선 극단적인 예시로 F(x)=0이라면 결과값은 이전 층에서의 값을 변화없이 다음 층으로 전달하는 것과 같다. 이렇게 동일하게 전달하는 것을 Identity mapping이라 하며 이는 만약 더 깊은 모델애서 성능이 떨어지는 상황에서 추가한 층을 무시하여 적어도 얇은 모델과 같은 성능을 낼 수 있다. 즉 모델이 반드시 모델의 층을 모두 사용해야한다는 의무에서 벗어나 중요하지 않은 층은 사용하지 않아도 된다는 것을 의미한다.  

 

또한 역전파를 전달하는 상황에서 x를 통해서 기울기인 gradient가 직접 빠르게 전달이 되면서 이는 학습을 더 빠르고 쉽게 만들어줄 수 있다. 물론 해당 논문에서는 복잡한 구조에서 기울기가 소실되는 gradient vanishing 문제는 아니라고  주장하지만 기울기를 직접 주입하는 것이 기울기를 조절할 수 있다는 측면에서 장점이 존재한다. 

 

실제로 학습하고자 하는 최적의 매핑을 H(x)라 하는데 복잡한 모델에서는 직접 학습하기에 어렵기 때문에 잔여의 차이인 잔차를 통해 출력인 F(x)를 나타내면 F(x):= H(x))-x의 형태로 이 식을 정리하면 H(x) = F(x)+x의 형태가 나온다. 추가로 논문에서는 그냥 x를 더하는 것 뿐만아니라 학습가능한 기울기를 추가한 w*x라 바꾸는 경우도 실험을 하였으며 이후 실험 결과에 추가로 나온다. 

 

 

ResNet 모델 아키텍쳐 

본 논문의 figure3 좌: plain 우: ResNet

위 사진처럼 왼쪽에 있는 기본[plain] 모델과 바깥쪽 화살표가 연결되어 residual connection을 하는 오른쪽 모델의 차이를 확인할 수 있다. 이때 dimension이 커지는 경우 [64->128 점선화살표] 두 가지의 경우를 고려할 수 있다 :

    A. x를 동일하게 사용한 identity mapping [dimension을 맞추기 위해 0을 채운 zero padding 이용]

   B. W*x를 사용 [dimension을 맞추기위해서 1x1 합성곱 필터 이용]

 

실험 진행 및 결과

ImageNet의 128만장의 사진과 1000개의 정답 클래스를 바탕으로 분류하여 성능을 측정을 진행하였다. 최상의 결과를 위해서 다양한 이미지 사이즈 [224, 256, 384 등]으로 여러 스케일에서 점수를 평균내었다. 추가로 ResNet는 바로 위의 [A] 옵션을 사용하여 진행하였다. 

 

본 논문의 Table2, validation에서의 error

위 표는 세 가지로 해석할 수 있다:

  1. 기존 plain 모델에서는 더 복잡한 34층에서 성능이 안좋아졌다.
  2. 그러나 ResNet에서는 34층에서 18층보다 성능 향상을 이루어냈다.  
  3. 하지만 18층에서의 plain과 ResNet은 큰 차이가 없는 것으로 보아 복잡한 모델에서 효과가 크게 나타남을 알 수 있다.

따라서 ResNet이 복잡한 모델을 구현하기 위해서 좋은 방법임을 알게 되었으며 이제 논문에서는 기존의 다른 모델과 ResNet의 여러 버전들을 비교한다. 

 

본 논문의 Table3, 10-crop한 validation에서의 error

2014년의 대회 우승한 모델인 GoogLeNet의 top-5 오류율인 9.15보다 ResNet의 모델 버전이 더 낮게 나오는 성능 향상을 이루어 냈다. 또한 single 모델과 앙상블한 모델에서도 ResNet이 큰 성능 향상을 보여주었다.

 

위 사진에서 A B는 위에서 설명한 두 가지의 경우이며 A는 x만을 사용한 identity mapping이며 B의 경우에는 dimension이 커지는 경우에만 w*x를 사용하였다. C는 w*x를 모든 shortcut connection에서 사용히였을 때를 뜻하며 C를 사용하였을 때의 결과는 약간의 성능 향상이 있었지만 효율의 측면과 성능하락을 해결하는 것과 상관이 없기 때문에 C를 다시 사용하지는 않는다.  

 

가장 좋은 성능을 보이는 ResNet은 152층으로 이루어진 ResNet-152인데 B를 사용하여 구현하였는데 B에서 dimension을 맞추기 위해서는 1x1 합성곱 필터[1x1 conv]를 사용한다. 이렇게 1x1 conv를 사용하는 구조를 bottleneck 디자인이라고 한다.  

 

1x1 합성곱층 & 장점

기존에 우리가 7x7 또는 3x3 등의 합성곱 필터[convolutional filtter]를 사용하는 이유는 이미지의 특징을 압축하여 전달하는데 있다. 하지만 1x1 필터의 경우 압축을 하지 못하고 모든 입력과 결과가 연결되어 있는 fully connected 구조이다. 즉 가로와 세로의 크기를 줄이지는 못한다. 그러나 필터의 수를 늘리거나 줄이면서 깊이를 조절할 수 있다. 

출처 : stanford CS231n

 

그래서 이 논문에서는 1x1 conv를 사용하여 깊이를 줄인 상태에서 3x3을 더 적은 수의 계산으로 진행한 다음에 다시 1x1 conv를 사용하여 이전 입력 차원과 차원을 맞추었다. 

본 논문의 figure5

위 사진은 기존의 34층의 ResNet에서 사용한 A와 ResNet-50/101/152에서 사용한 B의 형태를 보여준다. 오른쪽의 경우 dimension이 256으로 많지만 1x1 conv를 이용하여 왼쪽과 시간 복잡도를 유사한 수준으로 맞출 수 있다. 

결론 

  • 기존 딥러닝 모델의 문제 
    • 층이 깊어질수록 오히려 성능이 안좋아짐
    • 최소한 얇은층=깊은층
    • 이에 등장한 것이 Residual Mapping
    • identity mapping은 f(x)=0이면 입력과 출력이 같음
  • bottleneck architectures : 1x1 conv 가 좋은 이유
    • dimension을 축소하여 계산을 줄일 수 있음
  • 결국 이러한 ResNet의 아이디어는 층을 늘리면서 성능을 향상시킬 수 있게 됨
반응형
저작자표시 비영리 동일조건 (새창열림)

'논문 리뷰' 카테고리의 다른 글

[논문 리뷰] Learning Phrase Representation using RNN Encoder-Decoder for Statistical Machine Translation (2014)  (0) 2026.03.08
[논문 리뷰]Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling (2014)  (0) 2026.01.17
[논문리뷰] Recurrent neural network based language model (2010)  (0) 2025.12.31
[논문 리뷰] Improving neural networks by preventing co-adaptation of feature detectors (2012)  (0) 2025.12.14
[논문 리뷰] ImageNet Classification with Deep Convolutional Neural Networks (2012)  (0) 2025.09.12
'논문 리뷰' 카테고리의 다른 글
  • [논문 리뷰]Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling (2014)
  • [논문리뷰] Recurrent neural network based language model (2010)
  • [논문 리뷰] Improving neural networks by preventing co-adaptation of feature detectors (2012)
  • [논문 리뷰] ImageNet Classification with Deep Convolutional Neural Networks (2012)
코드짜는 오리
코드짜는 오리
AI에 대한 글을 올립니다.
  • 코드짜는 오리
    코드짜는 오리
    코드짜는 오리
  • 전체
    오늘
    어제
    • 전체 글 (41)
      • AI숏츠 (17)
      • 논문 리뷰 (10)
      • [2025] CS231n (10)
      • 컴퓨터비전 (2)
      • LLM (1)
  • 링크

    • GitHub
  • 인기 글

  • 최근 글

  • 반응형
  • 태그

    GPT
    트랜스포머
    SGD
    pytorch
    Optimizer
    AlexNet
    딥러닝
    옵티마이저
    CS231n 강의노트
    AI숏츠
    ADAM
    컴퓨터비전
    cs231n
    lstm
    llm
    논문
    AI
    deeplearning
    ChatGPT
    쉽게배우는
    transformer
    인공지능
    computer vision
    경사하강법
    rnn
    attention
    ComputerVision
    CV
    논문리뷰
    머신러닝
  • hELLO· Designed By정상우.v4.10.5
코드짜는 오리
[논문리뷰] Deep Residual Learning for Image Recognition (2015)
상단으로

티스토리툴바