ResNet

2025. 11. 11. 23:23·ML&DL/논문리뷰

Abstract

깊은 신경망의 훈련을 용이하게 하기 위해 잔차 학습(residual learning) 프레임워크가 제안되었다. 이 프레임워크는 레이어가 참조되지 않은 함수를 학습하는 대신 레이어 입력을 기준으로 잔차 함수를 학습하도록 재구성하였다. 휴리스틱 증거에 따르면 이러한 잔차 네트워크는 최적화가 더 용이했으며, 깊이를 상당히 증가시켜도 정확도를 높일 수 있었다.

 

ImageNet 데이터셋에서 최대 152개 레이어 깊이의 residual net을 평가하였는데, 이는 VGGNets보다 8배 더 깊으면서도 복잡도는 더 낮았다. 이러한 residual net의 앙상블은 ImageNet 테스트 세트에서 3.57%의 오류율을 달성하며, ILSVRC 2015 분류 작업에서 1위를 차지하였다. 또한 CIFAR-10 데이터셋에서도 100개 및 1000개 레이어로 분석되었으며, 깊은 잔차 표현 덕분에 COCO 객체 감지 데이터셋에서 28%의 상대적 개선을 이루어 ILSVRC 및 COCO 2015 대회의 여러 부문(ImageNet 감지, ImageNet 지역화, COCO 감지, COCO 분할)에서 1위를 차지하였다.

 

1. Introduction

 

최근 연구들은 네트워크 깊이가 이미지 분류에서 매우 중요하며, ImageNet에서 좋은 결과를 보인 모델들이 모두 매우 깊은 모델이었다고 보고하였다. 그러나 CIFAR-10에서 20개 및 56개 층의 일반 네트워크에 대한 훈련 및 테스트 오류를 비교하였을 때, 더 깊은 네트워크가 오히려 더 높은 훈련 오류를 보였다. 깊은 네트워크가 수렴하기 시작할 때 정확도가 포화된 후 급격히 저하되는 성능 저하 문제가 발생하였으며, 이는 과적합 때문이 아니라 기울기 소실 및 발산 문제 때문이었다. 이에 본 논문은 residual learning 프레임워크를 도입하여 성능 저하 문제를 해결하였다.


기본 매핑을 H(x)로 표현할 때, 잔차 매핑을 F(x) := H(x)−x 형태로 학습하고, 원본 매핑을 F(x)+x 형태로 재구성하였다. F(x)+x 형태는 shortcut connection을 가진 신경망으로 구현될 수 있었으며, shortcut connection은 단순히 항등 매핑을 수행한 후, 그 출력이 쌓인 레이어 출력에 더해졌다. 이는 추가 매개변수를 필요로 하지 않아 계산 복잡도를 증가시키지 않았으며, residual net은 깊이가 증가할수록 최적화가 용이하였고 정확도가 향상되었다.

 

2. Related Work

VLAD 및 Fisher Vector는 로컬 특징을 클러스터 중심과의 잔차로 표현함으로써 이미지 검색과 분류 성능을 향상시켰다. 비슷하게, PDE 해석의  Multigrid 방법은 문제를 여러 스케일로 나누어 coarse-fine 간 잔차를 보정하는 구조를 통해 계산을 단순화하며, 이는 일종의 preconditioning으로 작용해 수렴을 가속한다. 이러한 접근들은 복잡한 함수를 직접 근사하는 것보다 기존 해와의 차이를 학습하는 것이 더 효율적임을 시사한다.

 

오래전부터 연구되어 온 skip connection은 MLP 등에서 선형 레이어를 추가하는 방식으로 연구되어 왔으며, 최근 highway networks는 gating function을 포함한 매개변수화된 shortcut connection을 제안하였지만 이는 identity shortcut을 사용하는 ResNet과 달리 깊이에 따른 성능 향상을 보이지 못했다.


3. Deep Residual Learning

3.1. Residual Learning

x는 해당 블록의 첫 번째 층으로 입력되는 벡터이고, H(x)는 목표 함수이다. 만약 여러 개의 비선형 층들이 복잡한 함수를 점근적으로 근사할 수 있다고 가정한다면, 이 층들은 residual function인 H(x)-x (입력과 출력 차원이 동일하다고 가정) 또한 근사할 수 있다고 가정할 수 있다. 이 경우 원래의 함수는 H(x)=F(x)+x 로 재정의 된다. 두 표현 모두 동일한 함수 집합을 근사할 수 있지만, 학습의 난이도는 다르다.

 

깊은 네트워크에서 성능이 오히려 악화되는 degradation 문제는 비선형 층을 여러개 쌓으면 identity mapping을 근사하기 어렵기 때문에 나타난다. 그리해 항등 함수를 직접 학습하는 것이 아니라 변화량(차이)을 학습하도록 재구성한다면 항등 함수가 최적(H(x)=x, 입력을 그대로 통과시키기만 해도 성능이 유지되어야 한다에서 가정)일 때, 네트워크는 단순히 가중치를 0으로 수렴(F(x)=0)시켜 이를 구할 수 있다. 비록 실제로 항등 함수가 완전한 최적해는 아닐 수 있으나, 이러한 재정의는 문제의 preconditioning 역할을 하여 학습을 단순화한다. 즉 최적 함수가 0에 가까운 함수보다는 항등 함수에 가까운 경우 모델은 새로운 함수를 처음부터 학습하는 대신 항등 함수로부터의 작은 변화만 학습하면 된다. 뒤이어 나오는 실험 결과에서도 학습된 잔차 함수 F(x)의 출력은 일반적으로 작은 응답값을 보이며, 이는 항등 함수가 학습의 precondition으로 작용함을 시사한다.

 

3.2. Identity Mapping by Shortcuts

ResNet은 residual learning을 몇 개의 층 단위로 반복 적용한다. 각 빌딩 블록은 다음과 같이 정의된다.

 

y = F(x,{Wi}) + x

x: 블록의 입력
y: 출력
F(x,{Wi}): 학습해야 할 잔차 함수(residual mapping)

 

예를 들어, 두 층으로 구성된 블록의 경우 F(x)=W2σ(W1x)이며, σ는 ReLU 활성화 함수이다. F(x)+x 연산은 shortcut connection을 통한 요소별 덧셈(element-wise addition)으로 수행되며, 덧셈 이후에는 추가적인 비선형 함수가 적용된다. 해당 shortcut 연결은 추가 파라미터나 연산 복잡도를 증가시키지 않아 동일한 깊이와 폭, 파라미터 수를 가진 Plain Network와의 비교가 가능하다.

 

입력 x와 F(x)의 차원이 다를 경우에는 shortcut 경로에 선형 변환 Ws​를 적용하여

 

y = F(x,{Wi}) + Wsx

 

형태로 차원을 맞춘다. 그러나 실험에 따라 단순한 identity mapping으로도 열화 문제를 충분히 해결할 수 있어, Ws는 차원 정합이 필요한 경우에만 사용된다. 잔차 함수 F의 구조는 유연하며 일반적으로 2~3개의 층으로 구성하지만 너무 얕을 경우(1층)는 단순 선형 변환과 유사해 이점을 보이지 않는다. 이 구조는 완전연결층뿐 아니라 합성곱층에도 동일하게 적용되며, 덧셈은 특징맵 간 채널별로 수행된다.

 

3.3. Network Architectures

본 논문은 다양한 Plain Network와 Residual Network를 실험했으며, ImageNet 데이터셋에서 사용된 두 가지 모델을 아래와 같이 설명한다.

 

- Plain Network

기본 네트워크 구조는 주로 VGG nets의 영향을 받았다. 대부분 3×3 합성곱 필터를 사용하며, 다음 두 가지 간단한 설계 규칙을 따른다.

  1. 출력 feature map의 크기가 동일한 경우, 같은 수의 필터를 사용한다.
  2. feature map의 크기가 절반으로 줄어들면, 필터 수를 두 배로 늘려 각 층의 연산 복잡도를 일정하게 유지한다.

다운샘플링은 stride가 2인 합성곱층을 통해 직접 수행되며, 네트워크의 마지막에는 Global Average Pooling 층과 1000개의 출력을 갖는 완전연결층과 Softmax가 배치된다. 해당 구조의 전체 가중치 층 수는 34개이다. 

눈에 띄는 점은 해당 모델이 VGG-19보다 적은 필터 수와 낮은 연산 복잡도를 가진다는 것이다.

 

- Residual Network

위의 plain network를 기반으로 shortcut connection을 삽입하여 Residual Network를 구성한다. 입력과 출력의 차원이 동일할 경우,
식 (1)의 identity shortcut을 그대로 사용할 수 있어, Fig. 3에서 실선으로 표시된다. 반면 출력 차원이 증가하는 경우에는 두 가지 방법을 고려한다.

  • (A) 여전히 항등 매핑(identity mapping)을 사용하되, 차원이 증가하는 부분에는 0을 패딩(padding) 하여 크기를 맞춘다. 이는 추가 파라미터를 도입하지 않는다.
  • (B) 식 (2)에서 제시된 projection shortcut을 사용하여 1×1 합성곱(convolution)으로 차원을 맞춘다.

두 방법 모두, 서로 다른 크기의 feature map 사이에서 shortcut이 연결될 때는 stride=2로 수행된다.

 

3.4. Implementation

ImageNet 데이터 셋을 사용할 때는 AlexNet과 VGGNet의 표준 설정을 따랐다. 스케일 증강 및 224×224 크롭을 무작위로 샘플링 하였으며, 색상 왜곡과 각 합성곱 직후와 활성화 이전에 배치 정규화(BN)를 적용하였다. 가중치 초기화는 He initialization의 방법을 따랐으며, 256의 미니 배치 크기를 사용하여 SGD로 학습을 진행했다. 초기 학습률은 0.1이며, 오류가 더 이상 감소되지 않을 때마다 1/10으로 감소시켰다. 총 학습 횟수는 60만이며, 가중치 감쇠는 0.0001, Momentum은 0.9, BN의 정규화로 충분하다고 판단해 Dropout은 사용하지 않았다.

 

비교 실험용 표준 평가 시에는 AlexNet에서 제안된 10-crop test를 적용하였으며, 최종 성능 평가에서는 FC층을 convolution 형태로 변환하여 크기가 다른 여러 버전의 이미지를 입력하고 결과를 평균하는 fully convolutional evaluation 방식을 채택하였다.

4. Experiments

4.1. ImageNet Classification

 

ImageNet 2012 분류 데이터셋에서 메서드를 평가하였으며, 128만 개의 훈련 이미지와 5만 개의 검증 이미지를 사용하였다.

18개 층과 34개 층의 Plain Netwrok를 평가한 결과, 더 깊은 34개 층의 네트워크가 18개 층보다 더 높은 검증 오류를 보였다. 34개 층의 Plain Netwrok는 훈련 과정 내내 더 높은 훈련 오류를 나타냈으며 이는 degradation 문제 때문이었다.

 

반면, Residual Networks 는 깊이 증가에 따른 최적화의 어려움을 극복하고 정확도 향상을 보여주었다. 34개 층의 ResNet은 18개 층 ResNet보다 2.8% 더 우수한 성능을 보였으며 훈련 오류가 낮고 검증 데이터에 대한 일반화 성능이 뛰어났다. 18개 층의 일반 네트워크와 잔차 네트워크는 유사한 정확도를 보였지만 18개 층 ResNet이 더 빠르게 수렴하였다.

 

매개변수가 없는 identity shortcuts 이 훈련에 도움을 주었으며 projection shortcuts 을 사용한 옵션 B가 옵션 A보다 약간 더 나은 결과를 보였다. projection shortcuts 은 성능 저하 문제를 해결하는 데 필수적이지 않았으며, identity shortcuts 은 bottleneck architectures 의 복잡도를 증가시키지 않는 데 중요한 역할을 하였다.

왼쪽이 building block, 오른쪽이 bottleneck building block


기존에는 더 깊은 네트워크 구현에 층을 단순히 이어 붙이는 빌딩 블록 구조를 사용했으나 ResNet은 [1×1 conv  -> 3×3 conv -> 1×1 conv] 구조로 이루어진 병목 설계를 사용해 각 residual function F 에 3개의 계층을 사용하였다. 매개변수가 없는 identity shortcut은 병목 아키텍처에서 더 효율적인 모델을 구현하는데에 중요한 역할을 했다.

 

50개, 101개, 152개 층의 ResNet은 깊이가 크게 증가했음에도 VGG 네트워크보다 낮은 복잡도를 유지하면서 정확도가 크게 향상되었다. 152개 층의 ResNet은 단일 모델로 4.49%의 top-5 검증 오류를 기록하며, 이전의 앙상블 결과를 능가하였다. 또한 다른 깊이의 6개 모델을 결합한 앙상블은 테스트 세트에서 3.57%의 top-5 오류를 달성하여 ILSVRC 2015에서 1위를 차지하였다.

4.2. CIFAR-10 and Analysis

CIFAR-10 데이터셋에 대한 추가 연구는 매우 깊은 네트워크에 초점을 맞추었기에 간단한 아키텍처를 사용하였다. 잔차 모델은 일반 모델과 동일한 깊이, 너비, 매개변수 수를 가지며 identity shortcut을 사용하였다. 깊은 일반 네트워크는 깊이가 증가함에 따라 더 높은 훈련 오류를 보이며 성능 저하 문제를 겪었으나, ResNet은 이러한 최적화 난이도를 극복하고 깊이가 증가할수록 정확도 향상을 보였다.

 

110개 층의 ResNet은 다른 깊고 얇은 네트워크보다 매개변수 수가 더 적었으나 최첨단 성능을 달성하였다. 또한 잔차 네트워크는 일반 네트워크보다 전반적으로 더 작은 응답을 보였으며 이는 잔차 함수가 identity mapping 근처에서 작동한다는 것을 시사하였다.

 

ResNet은 층을 더 깊이 쌓을수록 각 층이 내보내는 응답의 크기가 더 작아졌다는 것을 발견하였다. 이는 깊은 네트워크일수록 개별 레이어는 입력을 그대로 통과시키는 경향이 있다는 것이었고, 전체적으로는 누적된 작은 변화들이 합쳐져 복잡한 표현을 형성한다는 것을 보였다. 1202개 층 네트워크는 학습 자체는 잘 진행되어 최적화 문제는 없었지만 과적합으로 인해 110개 층 네트워크보다 테스트 오류가 더 높았다.

 

4.3. Object Detection on PASCAL and MS COCO

Faster R-CNN을 감지 방법으로 사용하여 PASCAL VOC 및 COCO 데이터셋에서 객체 감지 기준 결과를 제시하였다. VGG-16을 ResNet-101로 교체한 결과, COCO 데이터셋에서 mAP가 6.0% 향상되었으며 이는 학습된 표현의 품질 덕분이었다. Deep Residual Nets 을 기반으로 ILSVRC & COCO 2015 대회에서 ImageNet 감지, ImageNet 지역화, COCO 감지, COCO 분할 부문 모두에서 1위를 차지하였다.


 

A. Object Detection Baselines

ResNet은 원래 이미지 분류를 위해 개발되었지만, VGG-16을 백본으로 사용한 Faster R-CNN이 있었기에, 객체 탐지에 ResNet-50과 ResNet-101을 사용하였다. ResNet은 VGG-16과 달리 hidden FC layer가 없으므로 합성곱 feature map 자체를 이용하는 구조(conv feature map) 를 도입하였다. 탐지용 데이터셋은 ImageNet보다 훨씬 작으므로 BN 통계를 새로 계산한다면 더 불안정해질 수 있다. 따라서 ImageNet 훈련 세트에서 사전 훈련 후 배치 정규화(BN) 통계를 계산하였고 Object detection fine-tuning 중에는 고정시켰다.

이에 PASCAL VOC 2007 및 2012 테스트 세트에서 ResNet-101은 VGG-16에 비해 mAP를 3% 이상 향상시켰다. COCO 데이터셋에서 ResNet-101은 VGG-16에 비해 mAP@[.5, .95]를 6% 증가시켰으며, 이는 깊은 네트워크가 인식과 위치 모두를 개선할 수 있음을 보여주었다.

B. Object Detection Improvements

- COCO

Box Refinement은 대략적인 박스를 예측한 다음 박스의 위치를 조금씩 refine하는 과정으로, 이를 추가하니 mAP를 약 2점 향상시켰다. Global Context은 기존 ROI 단위로만 특징을 추출한 것과 달리 전체 이미지의 글로벌 feature를 함께 사용해 물체 주변의 맥락 정보까지 반영하도록 하여, mAP@.5를 약 1점 향상시켰다. Single-scale 훈련/테스트 대신 여러 크기로 이미지를 입력해 각 크기에서 탐지한 결과를 평균하는 Multi-scale testing를 수행하여 mAP를 2점 이상 향상시켰다. 검증 결과 55.7% mAP@.5와 34.9% mAP@[.5, .95]를 달성하였다. ResNet-50, 101, 152 등 3개 모델의 앙상블은 테스트 개발 세트에서 mAP 59.0%와 37.4%를 달성하여 COCO 2015 감지 작업에서 1위를 차지하였다.

 

- PASCAL VOC

COCO에서 학습된 모델을 PASCAL VOC로 fine-tuning하는 Transfer Learning으로 Box Refinement, Context, Multi-scale test를 적용하여 85.6% mAP를 달성하였다. 또한 PASCAL VOC 2012에서 83.8% mAP를 달성하여 이전 최첨단 결과보다 10점 높은 성능을 보였다.

 

- ImageNet Detection (ILSVRC DET) 

이는 1,000개 카테고리 중 일부(200개 클래스)에 대한 객체 탐지를 평가하는 벤치마크로, ResNet-101을 사용한 단일 모델은 58.8% mAP를, 3개 모델 앙상블은 62.1% mAP를 달성하여 ILSVRC 2015에서 1위를 차지하였다.

C. ImageNet Localization

ImageNet Classification (CLS)이 이미지에 포함된 객체의 클래스 식별에 초점을 맞춘다면, ImageNet Localization (LOC)은 클래스뿐 아니라 객체의 위치(bounding box) 까지 예측해야 하는 과제이다. 이를 위해 클래스별 회귀(Class-specific Regression, PCR) 전략을 적용하였으며, 각 클래스마다 별도의 회귀기를 사용해 bounding box를 예측하도록 설계하였다. ResNet 팀은 LOC 문제를 해결하기 위해 RPN(Region Proposal Network, Faster R-CNN의 핵심 구조) 을 응용하였다. 먼저 전체 이미지를 feature map으로 변환하고 RPN이 후보 영역(region proposals) 을 제시하면, 각 후보 영역에 대해 클래스 분류(classification) 와 경계 상자 회귀(bounding box regression) 를 동시에 수행한다. 이를 위해 마지막 단계에서 클래스별 1×1 합성곱(convolution) 계층을 사용하여 두 작업을 통합적으로 처리하였다. 학습 과정에서는 224×224 크롭을 무작위로 샘플링하는 데이터 증강을 적용하고, 미니배치 크기 256으로 미세 조정(fine-tuning)을 수행하였다. 그 결과 ResNet-101을 기반으로 한 RPN 모델은 중심 크롭 오류(center-crop error) 를 13.3%까지 크게 감소시켜 객체의 위치를 한층 더 정확하게 예측할 수 있음을 입증하였다.

 

'ML&DL > 논문리뷰' 카테고리의 다른 글

GAN: Generative Adversarial Nets  (0) 2025.11.17
EfficientNet  (0) 2025.11.13
BLIP  (0) 2025.11.03
CLIP  (0) 2025.11.03
YOLO  (0) 2025.10.27
'ML&DL/논문리뷰' 카테고리의 다른 글
  • GAN: Generative Adversarial Nets
  • EfficientNet
  • BLIP
  • CLIP
minyoy
minyoy
  • minyoy
    MINYOY
    minyoy
  • 전체
    오늘
    어제
    • 분류 전체보기 (17)
      • ML&DL (16)
        • 논문리뷰 (16)
      • 알고리즘 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
minyoy
ResNet
상단으로

티스토리툴바