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

hyo._.op·2026년 7월 22일

논문리뷰

목록 보기
7/16

Overview

논문명: Deep Residual Learning for Image Recognition
학회(출판연도): CVPR (2016)
연구분야: 딥러닝 기반 컴퓨터 비전 백본 네트워크


Abstract(초록)

✓ 기존 신경망의 문제점

  • 신경망을 깊게 쌓으면 이론적으로 성능이 좋아야 하지만, 실제로는 성능 저하 발생
    • 단순히 층을 더 깊게 하면 학습이 잘 안되고, 오히려 오류율 증가

✓ ResNet의 등장

Residual Learning(잔차 학습) 프레임워크 제안

  • 레이어가 입력과 무관한 함수를 직접 학습하는 대신, 입력을 기준으로 한 잔차 함수를 학습하도록

    ① 네트워크 쉽게 최적화 + ② 정확도 향상

    [실험 결과] VGG네트워크보다 8배 깊은데 연산 복잡도는 더 낮음

    → ImageNet

    • VGG네트워크보다 8배 깊은데 연산 복잡도는 더 낮음
    • 오류율 3.57% (잔차 네트워크 앙상블) - ILSVRC 2015 분류 과제 1위

    → COCO 28% 성능 향상 (깊은 표현 가능)


1. Introduction(서론)

✓ CNN

→ 이미지 분류 분야에서 획기적인 성과

  • 깊은 네트워크

    • 저, 중, 고수준 특징 통합 후, 다층 방식으로 종단간(end-to-end) 학습
    • 층⬆️ → 표현할 수 있는 특징 수준⬆️

    [최근 연구] 16~30층에 이르는 “매우 깊은” 모델 활용

(P)

그렇다면, 단순히 층을 쌓는 것만으로 더 좋은 네트워크를 만들 수 있는가? - NO!

→ ① 기울기 소실/폭발 문제 ② 성능 저하 문제(Degradation Problem)

(P1) 기울기 소실/폭발 문제

(S) 정규화된 초기화 기법 + 정규화 레이어로 역전파 기반 SGD에서 안정적으로 수렴 가능

✓ SGD (확률적 경사하강법)

  • 손실함수를 최소화하는 방향으로 가중치를 업데이트하는 최적화 알고리즘
  • 경사하강법의 변형으로,
    전체 데이터가 아닌 “일부 데이터(미니배치 or 1개 샘플)”만 보고 업데이트 하는 방식
    → Stochastic(확률적)

BUT!

(P2) Degradation Problem(성능 저하 문제)

→ 깊이가 늘어날수록 정확도가 일정 수준에서 포화된 뒤, 성능이 빠르게 저하

(이론적 S) 추가된 층은 항등 매핑으로, 나머지는 이미 학습된 얕은 모델에서 복사

✓ 항등 매핑(identity mapping)

  • 입력 = 출력

    !image.png

    ResNet에서 Skip Connection을 통해 구현

    • 새로 추가된 층이 꼭 유용한 걸 못 배우더라도 F(x)=0만 학습하면 입력을 그대로 출력

✓ 추가된 층을 항등 매핑(identity mapping)으로 두는 것

  • 얕은 모델에서 이미 잘 학습된 가중치가 있다고 가정
  • 모델을 더 깊게 만들고 싶을 때, 새로운 층들을 항등 매핑으로 두면, 입력을 그대로 출력으로 흘려보내는 상태가 됨
  • 깊은 모델 = 얕은 모델 + 항등 매핑 층(아무 일도 안하는 층)

⇒ 하지만,
[실험 결과] 현재 최적화 기법은 이론적 해법만큼 좋지도 않고, 현실적인 시간 안에 찾는 건 불가능

즉, 깊은 네트워크가 얕은 네트워크만큼 성능을 내는 쉬운 방법은 존재하지만, 실제 알고리즘이 그걸 찾아주지 못해서 성능 저하가 발생함

✓ (S) Deep Residual Learning Framework

→ 여러 층이 직접 목표 함수를 학습하게 하는 것이 아닌 “잔차함수(residual mapping)”를 학습하도록

✓ 기존 방식(Plain Network) vs. ResNet 방식(Residual Network)

우리가 원하는 함수가 H(x)라고 했을 때,

  1. 기존 방식(Plain Network)
  • 여러 층을 합쳐서 곧장 H(x) 자체를 학습
    • 각 층이 독립적으로 목표 함수 학습하는 것이 아닌, 여러 층이 순차적으로 쌓여서 전체적으로 H(x)를 근사
  1. ResNet 방식
  • 여러 층이 합쳐져서 F(x) = H(x) - x (잔차: 입력 대비 변화량)만 학습

    • 최종 출력은 F(x)+x 로 표현

      → 즉, 기존의 입력을 조금 보정하는 역할

[가정] 잔차 함수를 최적화하는 것이 원래 함수를 직접 학습하는 것보다 더 쉽다

→ 극단적인 경우) 항등 매핑이 최적이라면,
비선형층 여러 개로 항등 매핑을 학습하는 것보다 잔차를 0으로 만드는 것이 훨씬 쉬움

✓ Shortcut connection

→ 하나 이상의 층을 건너뛰어 연결하는 방식

  • 추가적인 파라미터나 연산복잡도 늘리지 X
  • SGD와 역전파를 통한 end-to-end 학습 가능
  • 일반적인 딥러닝 라이브러리(caffe 등) 손쉽게 구현 가능

✓ SGD와 backprop으로 end-to-end 학습이 가능하다

1. 신경망 학습

일반적인 신경망 학습 과정Residual block에서 추가된 shortcut
✓ 입력 x → 여러 층(Conv,ReLU 등) → 출력 y
✓ 순전파: 데이터를 위로 흘려보내고
✓ 역전파: 손실의 미분값(gradient)을 아래로 보내
면서 가중치 업데이트
→ 이때, SGD(확률적경사하강법)같은 최적화 알고리즘이 gradient를 사용해 파라미터 갱신
⇒ 즉, 학습은 항상 “출력에서 입력까지 gradient가 잘 전파되는가?”에 달려 있음
✓ y = F(x) + x
✓ F(x)는 학습해야 하는 비선형 변환이고,
x는 단순히 바로 더해주는 identity connection
- 추가경로는 파라미터 X (그냥 입력을 더해줌)
- 연산은 단순히 덧셈이고, 미분도 매우 간단!

2. 역전파에서 어떻게 작동?

y=F(x) + x에 대해, 손실 L의 gradient를 계산한다고 해보자

3. end-to-end 학습 가능?

  • shortcut connection은 추가 파라미터도, 특수 알고리즘도 필요없음
  • 기존의 backprop과 SGD로 진행
  • Residual Network는 일반 신경망처럼 처음부터 끝까지 한 번에 학습 가능하다는 뜻

✓ 실험

  • ImageNet 데이터셋

    매우 깊은 잔차 네트워크: 최적화가 쉬움

    단순히 층을 쌓은 일반 네트워크: 깊이가 증가할수록 훈련 오류가 커짐

    ② 잔차 네트워크는 깊이가 크게 늘어나도 쉽게 정확도 높일 수 있음 + 기존의 네트워크보다 뛰어난 성능

    • 152층 잔차 네트워크: VGG보다 깊지만 계산 복잡도는 낮음
    • 앙상블 모델 결과 : 뭐 1등함
  • CIFAR-10 데이터셋

    • ImageNet과 비슷한 결과
    • 100층 이상의 네트워크 성공적으로 학습 + 1000층이 넘는 모델도 실험

✓ Residual Representations

  • VLAD, Fisher Vector

    • 기존 이미지 인식에서 원래 벡터 대신 잔차벡터(residual vector)를 활용해 특징을 인코딩

      → 원래 벡터를 직접 쓰는 것보다 잔차 벡터를 쓰는게 더 효과적

  • 저수준 비전/그래픽스

    • PDE - Multigrid, Hierarchical basis : 스케일 간 잔차 활용 → 훨씬 빠르게 수렴!

⇒ 잔차 기반 표현은 최적화를 단순화하고 수렴 속도를 높임!

즉, 잔차를 다루는 방식은 이전부터 효과적임이 입증되어 왔다

✓ Shortcut Connections

<초기 연구>

  • [MLP] “입력 → 출력” 직접 연결되는 선형 레이어 추가
  • 중간 레이어를 auxiliary classifier와 직접 연결하여 기울기 소실/폭발 문제 완화
  • 레이어 출력, 기울기, 오류를 정규화(centering)하기 위한 shortcut 기법 연구
  • GoogLeNet의 inception에서도 얕은 branch(지름길)와 깊은 branch를 함께 사용

  • 게이트(gating function)로 제어되는 shortcut 제안
    • 게이트 닫히면(출력이 0에 가까워질 때) → 일반 함수를 나타냄 (잔차X)
    • 극단적으로 깊은 네트워크 → 성능 향상을 보여주진 못함

<ResNet과 차별점>

① ResNet은 항등 shortcut 사용! → 항상 입력을 그대로 출력으로!, 파라미터 없음

② 언제나 잔차 함수 F(x)를 학습하고, 입력 정보가 항상 손실없이 전달됨

✓ Shortcut의 두 가지 방식

1. Highway Networks (ResNet 이전 연구)

  • shortcut에 gate(게이트)를 둠

    • 게이트 값 1 → 입력이 그대로 전달

    • 게이트 값 0 → 입력 차단(shortcut 닫힘)

      → 데이터마다 “shortcut를 통과할지 말지”를 선택하는 구조

2. ResNet (항등 Shortcut)

  • 게이트 없음 → 무조건 입력 그대로 전달

  • 파라미터 X, 학습할 것 X

    → 입력 x는 언제나 output으로 직접 더해짐

✓ 항상 열려 있다?

  • 입력 x가 shortcut을 통해 항상 출력 쪽으로 전달된다는 뜻

  • 네트워크가 “입력을 통과시킬지 말지” 선택하는 것이 아니라, 무조건 통과시킴

    • 그 위에 residual F(x)가 더해져 최종 출력이 됨

    ⇒ 최소한 항등 함수( F(x) =0 )는 언제나 보장됨 → 학습 실패(수렴 실패)를 피할 수 있음


3. Deep Residual Learning

3.1 Residual Learning (잔차학습)

✓ 용어 정리

  • H(x) : 몇 개의 누적된 레이어(꼭 전체 네트워크일 필요X)가 근사해야하는 목표 함수
  • x : 레이어들의 입력

✓ 잔차 학습

(P)

  • 목표 함수 H(x)를 여러 층이 직접 근사하려면 학습에 어려움 → Degradation problem

[가정]

  • 여러 개의 비선형 레이어가 복잡한 함수를 점근적으로 근사할 수 있다

    = 잔차함수( H(x)-x )를 근사할 수 있다

✓ 딥러닝의 기본 전제

  • 여러 비선형 레이어를 많이 쌓으면, 이론적으로 어떤 복잡한 함수 H(x)도 근사할 수 있다.

✓ ResNet의 관점

  • 복잡한 함수 H(x)를 직접 근사할 필요가 있을까?
  • H(x)를 근사할 수 있다면, 똑같이 H(x)-x(즉, 잔차함수 F(x))도 근사 가능
    • H(x)와 H(x)-x는 단순히 항등항을 뺀 것이므로, 난이도 면에서 차이X
    • 단, 입력과 출력 차원이 같아야 H(x)-x 정의 가능

✓ Plain Net

  • 층이 곧바로 H(x)를 배워야 함

✓ Residual Net

  • F(x) = H(x) - x 만 배우고, 최종 출력이 y = F(x) + x
    • 네트워크에 전체 함수를 배우라는 대신 항등에서 벗어난 나머지만 배우라고 하는 것

✓ 왜 이렇게 할까?

  • H(x)가 항등에 가까운 경우, F(x)는 아주 작은 값

    → 작은 보정만 배우면 되어 최적화가 훨씬 쉬움

  • Plain Net은 항등 매핑까지 포함해서 전부 학습해야해서 어려움

  • ResNet은 문제를 재정식화해서 풀기 쉽게 만들겠다는 것이 요지

✓ Degradation problem

  • 추가된 층들이 항등 매핑으로 구성될 수 있다면, 더 깊은 모델의 훈련 오류

  • 항등 매핑이 최적이라면 H(x) =x

    • F(x)=0이면됨
    • 최적화 알고리즘(ex. SGD)은 “여러 층의 weight를 0 근처로 보내기만 해도” 쉽게 항등 매핑 가능
  • 실제로 항등이 최적일 가능성은 낮겠지,,

    • 근데, 항등매핑을 “출발점”으로 두면 문제를 풀기에 쉬워진다

    • 우리가 찾고 싶은 H(x)가 0 mapping보다 항등에 더 가까운 함수라면 H(x)를 새로 배우는 것보다
      ”항등 + 작은 잔차”로 학습하는게 더 쉽다

    • 실제로 실험해보니, 학습된 F(x)값들의 크기는 작았고,
      대부분의 네트워크는 “항등에 가까운 함수 + 약간의 보정”꼴로 학습됨

      ⇒ 항등 매핑이 좋은 시작점(precondition)임이 실험적으로 확인

3.2 Identity Mapping by Shortcuts

✓ Residual Block

3.3 Network Architectures

✓ 설계규칙

① 출력 특성 맵 크기가 같으면, 해당 층 필터 개수도 동일하게 유지한다

② 특징맵 크기가 절반으로 줄어들면, 연산 복잡도를 층마다 일정하게 유지하기 위해 필터 개수를 2배 늘림

✓ Residual Network

(A) shortcut이 여전히 항등 매핑을 수행하되, 차원을 늘리기 위해 0값을 채워 넣음

(B) projection shorcut을 사용하여 차원을 맞춤( 1x1 합성곱으로 수행)

  • (A) (B) 모두 서로 다른 크기의 특성맵을 가로 지를 때 stride = 2

3.4 Implementation (구현)

✓ 데이터 전처리 & 증강

✓ 스케일 증강

  • 학습용 이미지의 크기를 무작위로 다른 크기로 리사이즈해서 네트워크에 넣는 방법

    → 원래 이미지는 한 가지 고정된 크기(224x224)로만 학습시키지 않고, 입력 이미지를 여러 크기(스케일)에서 보여주어 네트워크가 크기 변화에 강건하도록!

  • scale augmentation

    • 이미지의 짧은 변을 [256,480]범위 내에서 랜덤하게 선택
  • crop & flip

    • 224x224 크기의 영역을 원본 이미지좌우 반전된 이미지에 무작위로 잘라냄

      • 한 번은 짧은 변이 256으로 맞춰진 이미지에서 crop, 다른 한 번은 480으로 크게 맞춘 뒤 crop

        → 이미지의 불변성을 가지게 됨

        ex. 항상 같은 크기의 고양이 사진만 보여주면 “고양이는 딱 이 크기”라고 잘못 배움.

        크기를 줄였다 키웠다 하면서 보여주면 “고양이는 크기가 달라도 같은 고양이~”

  • 정규화 (→학습 안정화 목표)

    • 픽셀별 평균값 빼주기

      • 각 픽셀의 RGB값에서 전체 학습 데이터셋의 평균값을 빼주는 작업

        → 입력 데이터 분포가 0 근처로 맞춰져서 학습이 더 안정적이고 빠르게 진행

        ✓ 왜 입력 분포를 0 근처로 맞추면 학습이 안정적일까?

        • 뉴런의 활성화함수(특히 ReLU, sigmoid,,)는 입력분포가 너무 크거나 치우치면, gradient가 죽거나 폭발
        • 평균이 0에 가깝게 맞춰지면 양수/음수가 균형있게 섞여서 가중치 업데이트에 원활

      ⇒ 정규화(평균 0 분산 1)는 기울기 소실/폭발을 막고 최적화를 쉽게 함

  • color augmentation (색상 증강)

    • [21]에서 사용된 표준 방식 따름

✓ 네트워크 구성 & 초기화

  • 모든 합성곱 뒤, 활성화 함수 전에 Batch Normalization(BN) 적용
  • 가중치 초기화 [13]의 방식
  • 모든 plain/residual 네트워크는 처음부터 학습(pretrain 안씀)

✓ 학습 세팅

  • Optimizer : SGD (미니배치 =256)
  • learning rate : 0.1에서 시작, plateau(수렴상태)마다 10배씩 감소
  • Iteration(반복) : 최대 60만 회
  • Weight decay(가중치 감쇠) : 0.001, Momentum : 0.9
  • Dropout 사용 안함

✓ 테스트 세팅

  • 10-crop testing : 표준 평가 방법 사용
  • Fully convolutional 구조 사용
  • 여러 스케일(224,256,384,480,640)에서 결과를 평가

4. Experiments

4.1 ImageNet Classification

  • 1000개 클래스 포함된 ImageNet 2012 분류 데이터셋 제안 방법 평가
    • 128만개 학습 이미지로 훈련 + 5만개의 검증이미지로 평가

✓ Plain Networks → 18-layer & 34-layer 네트워크 평가

  • 34-layer plain net이 훈련/검증 오류 모두 높음 → Degradation problem

    • 18층 네트워크의 해 공간 ⊂ 34층 네트워크의 해 공간
  • BN 사용으로 forward/backward 신호 소실은 아님 → 기울기는 정상

    [원인 추측] 지수적으로 낮은 수준의 수렴 속도 → 최적화가 어려움

  • 34층도 일정 수준의 정확도는 달성(= 최적화 알고리즘이 어느정도는 작동함을 시사)

✓ Residual Networks → 18-layer & 34-layer 네트워크 평가

  • Plain Net + 3x3 필터쌍마다 shortcut 추가(항등 매핑 + zero padding; 차원증가)

① 깊이 증가 효과 (18층 vs. 34층)

  • Plain Net: 34층 → 18층보다 성능저하 (Degradation problem)

  • ResNet: 34층 → 18층보다 2.8% 성능 향상

    → 잔차 학습이 깊어질수록 성능을 높여주더라~

② 훈련 오류 & 일반화

  • 34층 ResNet은 훈련 오류⬇️

  • 검증 데이터에도 잘 일반화

    → Degradation problem 해결 + 깊이 증가로 정확도 이득

③ Plain Net vs ResNet(동일 깊이, 34층)

  • ResNet이 PlainNet보다 Top-1 오류율 3.5% 감소

    → 매우 깊은 네트워크에서도 residual learning의 효과 입증

④ 18층 모델 비교

  • 정확도는 Plain과 ResNet 거의 동일
  • 그런데 ResNet이 수렴속도가 훨씬 빠르더라~

✓ Identity vs. Projection Shortcuts

✓ A/B/C shortcut 비교

(A) : (차원 증가시) 0-padding 지름길 사용, (나머지) 항등 지름길 사용 / 모든 지름길 파라미터X

(B) : (차원 증가시) projection 지름길 사용, (나머지) 항등 지름길 사용

(C) : (모든 지름길) projection 지름길 사용

⇒ A<B<C 이긴 하나, 성능 차이 크지 X - projection이 필수적이진 않다~

✓ A<B: 0으로 채운 차원은 실제로 잔차학습이 일어나지 않기 때문

✓ B<C: 다수(13개)의 projection 지름길로 인해 추가 파라미터가 도입되었기 때문

✓ 왜 projection을 사용할까?

  • 입력과 출력 차원이 같은 경우 → Identity shortcut 이 효율적
  • 입력과 출력 차원이 다를 경우
    • Zero padding → 채널 부족분을 0으로 채움(파라미터X)
    • Projection shortcut → 1x1 Conv로 변환해서 정확히 맞춤(파라미터, 연산량 O)

  • Zero padding은 단순히 빈 채널을 0으로 두기 때문에, 그 채널에서는 학습이 전혀 안 일어남
  • Projection은 1x1 Conv를 통해 실제로 의미있는 학습된 변환을 넣어줌
    • 보통 차원이 바뀔 때 projection을 쓰는 게 더 안정적

⇒ Zero padding은 단순히 모양 맞추기인 반면, projection은 단순히 크기만 맞추는 것이 아닌 차원을 늘리거나 줄일때 중요한 특징을 보존/강조하는 방향으로 학습

✓ Deeper Bottleneck Architectures

→ 훈련시간의 부담을 줄이기 위하여 기본블록 → 병목 구조로 수정

✓ Identity shortcut vs. Projection shortcut

  • Identity shortcut: 입력 x를 그대로 더함 → 파라미터 X, 연산량 X

  • Projection shortcut: 입력을 1x1 conv 등으로 변환하여 더함 → 파라미터, 연산량 추가

    • 입력과 출력의 shape(특히 채널 수)가 다를 때, 그냥 더하면 안 맞음
    • 1x1 conv → 픽셀 위치(공간좌표)는 그대로, 채널 차원에서 선형결합하여 새로운 채널공간으로 매핑
      • 입력을 원하는 차원으로 바꾼 뒤 더함

✓ 복습

  • 1x1 conv: 채널 변환
  • 3x3 conv: 채널 변환 + 공간

→ projection shortcut은 공간은 건드리지 말고 채널만 맞추자!


원래 shortcut은 “연결선”처럼 아무것도 안하는 통로인데, projection을 쓰면 그 통로 안에 1x1 conv라는 작은 layer 추가

즉, shortcut 경로도 단순한 선이 아니라 연산을 수행하는 새로운 레이어가 되는 것!

✓ Projection shortcut이 비효율적인 이유

  • Identity shortcut은 입력을 통과시키면 끝이지만,
  • Projection shortcut은 1x1conv를 고차원 feature에 적용해야함
    • 블록의 입력/출력은 보통 채널수가 많은 고차원 feature map
    • shortcut 연결은 블록의 입력x와 출력y를 바로 더해야 함

  • 고차원 feature에 1x1 conv를 적용하면 연산량이

    이라서 파라미터와 연산비용이 큼
    → bottleneck 구조는 중간(3x3 conv)에서 채널을 줄여 효율적으로 계산하려고 만든건데,
    → projection은 블록 양 끝 고차원 부분에 직접 1x1 conv를 때려야 하니까 연산량⬆️

✓ 50-layer ResNet

  • 34층 네트워크의 2층 블록을 3층 블록으로 교체하여 50층 ResNet 구성

✓ 101-layer and 152-layer ResNets

  • 더 많은 3층 블록을 사용하여 101층과 152층 ResNet 구성
    • 깊이가 크게 증가했음에도 VGG-16/19보다 복잡도 낮음
    • 깊이 늘릴수록 성능 향상(degradation problem X)

✓ Comparisons with State-of-the-art-Methods (최신기법과 비교)

  • 152층 단일 모델 → 기존 앙상블보다 우수~
  • 깊이가 다른 6개의 모델 앙상블(152층 2개 포함) → 테스트 셋 Top-5 오류율 3.57%
    • ILSVRC 2015 1위~

4.2 CIFAR-10 and Analysis

✓ CIFAR-10 실험 결과

  • 목적: 최고 성능 기록 갱신 X, 극도로 깊은 네트워크 동작 특성 관찰
    • 의도적으로 단순한 아키텍처 사용
  • 구조
    • 입력: 32 x 32 이미지, 첫 층 3x3 conv
    • 그 다음에 3개의 stage (32→16→8)
      • Stage 1: 특성맵 크기 32x32, 2n개의 3x3 conv 층 - 필터 16개
      • Stage 2: 특성맵 크기 16x16, 2n개의 3x3 conv층 - 필터 32개
      • Stage 3: 특성맵 크기 8x8, 2n개의 3x3 conv층 - 필터 64

✓ 왜 2n개일까?

  • ResNet은 기본적으로 Residual Block 단위로 쌓임
    • 3x3 conv → 3x3 conv (2개) 로 구성
      → Residual Block

✓ 왜 3개의 stage?

  • CIFAR-10 입력은 32x32로 작음

    → 다운샘플링을 너무 많이 하면 feature map 1x1 수준까지 금방 줄어들어 학습이 힘들어짐

  • 전체 층 수: 6n+2(첫 conv 1개+각 stage 6n개 + 마지막 FC 1개)
  • 다운샘플링(8→4): stride=2 conv로 처리
  • 마지막: global average pooling → 10-way FC → Softmax
    (10-way FC: 출력노드가 10개인 FC, 10개의 클래스 분류 문제에 사)
  • Identity shortcut만 사용
    → plain과 resnet의 깊이/너비/파라미터 수 정확히 동일해서 “잔차 연결 유무”만의 효과를 공정하게 비교 가능
  • 학습
    • weight decay 0.001, 모멘텀 0.9, BN사용, dropout 없음
    • 미니배치 128, GPU
    • 학습률 0.1 시작 → 32k/48k반복에서 10배 감소 → 64k 반복에서 종료
  • 결과
    • plain net: 깊어질수록 훈련/테스트 에러⬆️ → 최적화 난이도 증가
    • ResNet: 깊어질수록 최적화 문제를 극복하고 정확도⬆️
    • 110층 ResNet(n=18): 잘 수렴, SOTA 수준 달성
    • 1202층 ResNet(n=200): 학습은 성공했으나 110층보단 별루
      • 과적합

⇒ Plain 네트워크는 깊어질수록 오히려 성능 저하, ResNet은 깊어질수록 정확도 향상

✓ Analysis of Layer Responses (레이어 반응 분석)

  • ResNet이 일반 네트워크보다 전반적으로 더 작은 반응값을 가짐
    • 잔차함수가 일반함수보다 보통 0에 가깝다는 가설 뒷받침
  • 깊어질수록 반응이 더 작아짐

✓ Exploring Over 1000 layers ( 1000층 이상 네트워크 탐구)

  • 1202층 네트워크 110층과 훈련 오류는 유사, 테스트 성능은 낮음
    • 과적합때문

4.3 Object Detection on PASCAL and MS COCO

  • R-CNN 사용
  • 깊은 잔차 네트워크를 기반으로 1위 차지 했다~

0개의 댓글