6 분 소요

image

“Deep Residual Learning for Image Recognition” 논문을 공부하고 핵심 내용을 정리한 리뷰다.

  • 논문 링크: https://arxiv.org/abs/1512.03385
  • 핵심 문제 (Core Bottleneck): 신경망의 깊이가 깊어질수록 기울기 소실(vanishing gradients)과 함께, 과적합이 아님에도 훈련 에러가 오히려 증가하는 망 분해/성능 저하(degradation) 문제가 발생한다.
  • 핵심 해결책 (Key Insight): 레이어가 기본 매핑 $\mathcal{H}(x)$를 직접 학습하는 대신 잔차 매핑 $\mathcal{F}(x) := \mathcal{H}(x) - x$를 학습하도록 설계하고, 파라미터가 없는 identity 숏컷 연결(shortcut connection)로 $\mathcal{F}(x) + x$를 구성하여 100층 이상의 심층 네트워크도 안정적으로 최적화할 수 있도록 설계했다.1

1. Introduction

심층 합성곱 신경망에서 네트워크 깊이는 모델의 표현력과 시각 인식 성능을 좌우하는 핵심 축이다. 하지만 깊이를 단순히 늘리는 것만으로는 최적화 한계에 부딪힌다.

네트워크의 깊이가 깊어질수록 ImageNet 분류 성능이 비약적으로 발전해 온 만큼, 모델 깊이는 시각 인식 성능을 좌우하는 결정적 요인으로 자리 잡았다. 자연스럽게 다음과 같은 근본적인 의문이 제기된다.

Is learning better networks as easy as stacking more layers?

레이어를 단순히 깊게 쌓는 것만으로 더 뛰어난 네트워크를 얻을 수 있는가 하는 질문이다.

이 물음에 답하기 위해서는 먼저 전통적인 장애물인 기울기 소실(vanishing gradients) 문제를 해결해야 한다. 그러나 배치 정규화(Batch Normalization) 등으로 기울기 소실/폭주를 방지하여 깊은 망이 수렴(convergence)하기 시작하더라도, 또 다른 치명적인 성능 저하(degradation) 문제가 드러난다.

  • 정확도 포화 및 급격한 저하: 네트워크 깊이가 증가함에 따라 정확도가 포화(saturated)된 후 급격히 저하되는 현상이 발생한다.
  • 과적합이 아닌 최적화의 한계: 이러한 성능 저하는 과적합(overfitting) 때문이 아니며, 실제로 층을 더 쌓았을 때 훈련 에러(training error) 자체가 오히려 더 높아진다(Fig. 1).

깊이가 깊어질수록 훈련 에러가 증가한다는 사실은 깊은 모델이 얕은 모델보다 최적화 난이도가 상대적으로 높다는 점을 시사한다.

본 논문에서는 이러한 성능 저하 문제를 해결하기 위해 심층 잔차 학습 프레임워크(deep residual learning framework)를 도입한다. 각 쌓인 층들이 목적 매핑을 직접 학습하도록 강제하는 대신, 잔차(residual) 매핑을 학습하도록 목표를 재정의한다.

  • $x$: 레이어 블록의 입력(input)
  • $\mathcal{H}(x)$: 레이어들이 궁극적으로 근사해야 하는 기본 매핑(underlying mapping)
  • $\mathcal{F}(x) := \mathcal{H}(x) - x$: 쌓인 비선형 층들이 피팅하도록 학습시키는 잔차 매핑 (weight layer $\rightarrow$ ReLU $\rightarrow$ weight layer)
  • $\mathcal{F}(x) + x$: 원래 목표했던 매핑을 항등 연결과 더해 복원한 최종 형태 (weight layer $\rightarrow$ ReLU $\rightarrow$ weight layer $\rightarrow$ add $x$ $\rightarrow$ ReLU)

예측하려는 목적 함수가 입력과 유사하다면, 미지의 $\mathcal{H}(x)$ 전체를 바닥부터 피팅하기보다 입력과의 차이인 잔차 $x - \mathcal{H}(x)$(혹은 $\mathcal{H}(x) - x$)를 학습하는 편이 수치 최적화 수렴 관점에서 유리하다. 2

이 잔차 수식 $\mathcal{F}(x) + x$는 숏컷 연결(shortcut connection, skipping one)을 갖춘 피드포워드(feedforward) 신경망 구조를 통해 물리적으로 구현된다.

  • 피드포워드(feedforward): 입력 층(input layer)에 주입된 데이터가 1개 이상의 은닉 층(hidden layer)을 거쳐 출력 층(output layer)으로 순방향 전달되는 기본 구조다. 3
  • 파라미터 없는 항등 매핑: shortcut connection은 단순히 항등(identity) 매핑을 수행하며, 그 출력을 중간 합성곱 층들을 통과한 출력에 요소별로 더해준다(Fig. 2).
  • 추가 연산량 제로: 이 연결선은 추가 학습 파라미터나 계산 복잡도를 발생시키지 않는다.
  • 정보 보존 및 직접 전달: 특정 층들을 건너뛰어 신호를 상위 층에 직접 전달함으로써 역전파 시 기울기가 손실 없이 하위 층까지 안정적으로 흐르게 된다. 4

이와 같은 잔차 formulation은 깊은 망에서도 안정적인 기울기 전달과 최적화 수렴을 가능하게 한다.

본 연구가 실증적으로 증명하는 핵심 가치는 다음 두 가지로 요약된다.

  1. 최적화 용이성: 깊은 잔차 네트워크(deep residual net)는 망의 깊이가 100층 이상으로 늘어나도 최적화가 수월하며, 깊어질수록 훈련 에러가 높아지던 기존 plain net의 성능 저하 문제를 완화한다.
  2. 깊이에 따른 정확도 향상: 증가한 깊이(depth)로부터 실질적인 표현력 이득을 얻어 검증 정확도가 향상된다.

잔차 표현과 숏컷 구조는 전통적 비전 알고리즘과 신경망 역사에서 다양한 형태로 시도되어 온 개념이다.

Residual Representations

이미지 인식 분야의 고전적 특징 벡터 추출에서도 잔차를 이용한 인코딩이 뛰어난 성능을 입증한 바 있다.

  • VLAD: 사전(dictionary)의 시각 단어와 관련하여 잔차 벡터(residual vector)로 인코딩하는 대표적 표현 기법이다.
  • Fisher Vector: VLAD를 확률적(probabilistic) 프레임워크로 확장한 버전으로 잔차 정보를 효과적으로 활용한다.

Shortcut Connections

네트워크 내에서 레이어를 건너뛰는 연결 방식은 이전에도 연구되었으나, 제어 방식에서 결정적인 차이가 존재한다.

  • Highway Network와의 차이: 게이트 기반 숏컷(gated shortcut)을 사용하는 highway network는 게이트가 닫히면(approaching zero) 레이어가 비잔차(non-residual) 함수로 동작한다.
  • 상시 열려 있는 ResNet의 Identity Shortcut: ResNet의 identity shortcut은 매개변수가 없으며 결코 닫히지 않는다. 모든 신호와 기울기가 잔차 학습을 통과하며 상시 자유롭게 흐른다.

이처럼 항상 열려 있는 항등 연결이야말로 잔차 학습의 견고한 최적화를 보장하는 핵심 열쇠가 된다.

3. Deep Residual Learning

잔차 학습의 기본 철학과 수학적 formulation, 그리고 숏컷을 결합한 빌딩 블록의 구조적 세부사항을 살펴본다.

3.1 Residual Learning

다수의 비선형 층들이 점근적으로 복잡한 함수를 근사할 수 있다면, 잔차 함수 $\mathcal{H}(x) - x$ 역시 동일하게 근사할 수 있다는 가설에서 출발한다.

따라서 비선형 층들이 직접 $\mathcal{H}(x)$를 맞추기보다, 잔차 함수 $\mathcal{F}(x) := \mathcal{H}(x) - x$에 명시적으로 근접하도록 최적화 목표를 전환한다. 최종 출력 매핑은 항등 입력을 더한 $\mathcal{F}(x) + x$가 된다.

기존 신경망이 $\mathcal{H}(x) - x = 0$을 만들려 했다면, ResNet은 $\mathcal{H}(x) - x = \mathcal{F}(x)$로 두어 $\mathcal{F}(x)$를 최소화하는 방향으로 학습을 유도한다. 즉 $\mathcal{F}(x) = 0$이라는 목표값이 주어지므로 가중치를 0에 가깝게 수렴시키는 최적화가 수월해진다. 결국 최종 매핑은 $\mathcal{H}(x) = \mathcal{F}(x) + x$가 되며, 입력값 $x$를 손실 없이 출력에 합산하기 위해 숏컷 연결(skip connection)을 사용한다. 5

기존 구조와 잔차 구조의 비교

image

  • 기존 Plain CNN 구조: $x \rightarrow$ weight layer $\rightarrow$ ReLU $\rightarrow$ weight layer $\rightarrow$ ReLU $\rightarrow \mathcal{H}(x)$ 순으로 진행하며, 최적의 $\mathcal{H}(x)$를 얻기 위해 가중치를 전면 수정한다.
  • ResNet 잔차 구조: 가중치 층들이 $\mathcal{F}(x)$를 학습하도록 하여, 목적 출력과 입력의 차이인 $\mathcal{H}(x) - x$를 0에 가깝게 최소화하도록 유도한다.

만약 항등 매핑이 최적이라면 가중치들을 단순히 0에 가깝게 수렴시키면 되므로 학습 난이도가 낮아지며, 입력 $x$의 미세한 변화(잔차)를 민감하게 포착할 수 있다. 6

3.2 Identity Mapping by Shortcuts

잔차 학습 단위는 identity shortcut connection을 포함하는 기본 빌딩 블록(building block)으로 구성된다.

image 이미지 출처: 7

기본 빌딩 블록의 수식은 입력과 출력의 차원 일치 여부에 따라 정의된다.

  • 차원이 동일한 경우: \(y = \mathcal{F}(x, \{W_i\}) + x\) 여기서 $\mathcal{F}$와 $x$의 차원은 반드시 일치해야 하며, 숏컷 연결을 통한 요소별(element-wise) 덧셈이 수행된다. 활성화 함수 $\sigma$는 ReLU를 사용한다.
  • 차원이 변경되는 경우: \(y = \mathcal{F}(x, \{W_i\}) + W_s x\) 스트라이드 적용이나 채널 수 증가로 $\mathcal{F}$와 $x$의 차원이 다를 때는 선형 투영(linear projection) 행렬 $W_s$ (또는 $W_i$)를 곱해 차원을 일치시킨 후 더해준다.

    3.3 Network Architectures

VGGNet의 철학을 계승한 기본 plain 네트워크 위에 identity shortcut을 체계적으로 결합하여 ResNet 아키텍처를 완성한다.

resnet

네트워크는 주로 3x3 합성곱 필터를 사용하며, 동일한 출력 피처 맵 크기를 가질 때는 동일한 수의 필터를 유지하고 피처 맵 크기가 절반으로 줄어들 때 필터 수를 2배로 늘려 시간 복잡도를 일정하게 보존한다.

3.4 Implementation

안정적인 학습과 재현성을 보장하기 위해 규격화된 표준 하이퍼파라미터 및 학습 설정을 적용했다.

  • 데이터셋: ImageNet 2012 classification dataset
  • 입력 크기: 224 x 224 무작위 크롭 및 증강
  • 정규화: 각 합성곱(conv)과 활성화 함수 사이에 배치 정규화(Batch Normalization, BN) 적용
  • 최적화 기법: 미니 배치 크기 256의 SGD(Stochastic Gradient Descent)
  • 학습률 (Learning Rate): 0.1에서 시작하여 에러가 정체될 때마다 10으로 나눔
  • 반복 학습 횟수: 모델은 최대 $60 \times 10^4$ iterations까지 훈련
  • 가중치 감쇠 (Weight Decay): 0.0001
  • 모멘텀 (Momentum): 0.9
  • 드롭아웃 (Dropout): 미사용 (BN이 정규화 역할을 대신함)

    4. Experiments

ImageNet 벤치마크 실험을 통해 plain 네트워크와 ResNet의 깊이별 성능을 비교 검증한다.

image

실험 결과, plain net에서는 18층에서 34층으로 깊어질 때 ImageNet 검증 세트 기준(10-crop testing) top-1 에러율이 27.94%에서 28.54%로 오히려 0.60%p 상승하는 성능 저하가 뚜렷하게 관찰되었다(Table 2). 반면 ResNet-34는 25.03%를 기록하며 ResNet-18(27.88%) 대비 에러율을 2.85%p 낮췄고, plain-34 대비 3.51%p의 에러율 감소를 달성했다.8 1

Deeper Bottleneck Architectures

연산 비용과 훈련 시간을 현실적인 수준으로 통제하면서 50층 이상의 더 깊은 네트워크를 구축하기 위해, 기본 블록을 병목(bottleneck) 구조로 전환했다(Fig. 5).

  • 1x1 합성곱을 통한 차원 축소 및 복원: 1x1 conv로 채널 차원을 축소한 뒤 3x3 conv 연산을 수행하고, 다시 1x1 conv로 차원을 복원한다.
  • 연산 효율성 극대화: 연속된 두 개의 3x3 conv 층을 사용하는 기본 블록에 비해 파라미터 수와 계산량을 크게 절감할 수 있다.
  • 초심층 망 확장: 이 bottleneck 구조 덕분에 ResNet-50, ResNet-101, 나아가 152층(ResNet-152)에 이르는 초심층 네트워크를 성공적으로 구축할 수 있었다.
  • 연산량 대비 정확도 우위: Table 3에 따르면 ResNet-50(연산량 $3.8 \times 10^9$ FLOPs)은 10-crop 검증 top-1 에러 22.85%, ResNet-101($7.6 \times 10^9$ FLOPs)은 21.75%, ResNet-152($11.3 \times 10^9$ FLOPs)는 21.43%(top-5 5.71%)를 달성했다. 이는 기준 모델인 VGG-16($15.3 \times 10^9$ FLOPs, top-1 28.07%, top-5 9.33%)보다 연산 복잡도가 낮으면서도 오차율을 크게 낮춘 수치다. 나아가 ILSVRC 2015 챌린지 제출 앙상블 모델에서는 3.57%의 top-5 테스트 에러율을 기록하며 1위를 차지했다.1

직접 PyTorch 코드로 구현해보고 싶다면 ResNet_scratch_pytorch 포스트를 참조하면 된다.

CIFAR-10 분석 및 심층 확장 검증

논문은 5만 장의 훈련 세트와 1만 장의 테스트 세트로 구성된 CIFAR-10 데이터셋에서도 깊이에 따른 거동을 체계적으로 검증했다(Table 6).

  • 플레인 네트워크의 최적화 실패: 플레인 망은 20층에서 테스트 에러 10.51%를 기록한 뒤 56층에서 13.72%로 악화되었고, 110층 망은 훈련 에러가 떨어지지 않으며 테스트 에러가 60%를 초과해 최적화에 완전히 실패했다.
  • ResNet의 안정적 수렴: ResNet은 20층(8.75%), 32층(7.51%), 44층(7.17%), 56층(6.97%), 110층(6.43%, 5회 실행 중앙값 6.61%)으로 깊이가 깊어질수록 테스트 에러율이 일관되게 감소했다.

한계와 트레이드오프

  • 극단적 심층화(1000층 이상)에서의 과적합 위험: CIFAR-10 실험(1202층 망, 19.4M 파라미터)에서 확인되듯, 잔차 연결이 최적화 난이도를 낮춰 훈련 에러를 0.1% 미만으로 떨어뜨리더라도 데이터셋 규모 대비 모델 용량이 과도하면 테스트 에러가 7.93%로 증가하는 과적합이 발생한다.1
  • 채널 투영(Linear Projection)의 연산·메모리 오버헤드: 피처 맵 채널이 증가하는 경계에서 $W_s$ 투영 숏컷을 전면 도입(옵션 C)할 경우 파라미터와 FLOPs가 추가되지만, 논문 Table 3 기준으로 10-crop top-1 에러 개선 폭은 옵션 B(차원 변경 시에만 투영) 대비 0.2%p 수준에 그쳐 연산 비용 대비 이득이 제한적이다.1
  • 순차 실행 지연 및 역전파 메모리 점유: 숏컷 연결을 통한 요소별 덧셈 연산 자체는 가볍지만, 역전파 과정에서 잔차 신호를 보존하기 위해 중간 피처 맵의 텐서 메모리 캐싱 부담이 커진다.

5. 핵심 요약 및 시사점

ResNet은 심층 신경망 최적화의 한계를 수학적 잔차 formulation으로 해결한 대표 연구다.

  • 잔차 학습(Residual Learning) 도입: 레이어가 목표 매핑 전체를 근사하는 대신 차이값인 $\mathcal{F}(x) := \mathcal{H}(x) - x$를 학습하도록 하여 최적화 수렴성을 크게 개선했다.
  • 파라미터 없는 Identity Shortcut: 연산량 증가 없이 신호와 기울기를 망 전체로 직결 통과시켜 깊은 망의 기울기 소실 및 분해 문제를 해결했다.
  • 성능 저하(Degradation) 극복: 층을 쌓을수록 훈련 에러가 증가하던 문제를 해소하고, 152층까지 네트워크를 확장하여 ILSVRC 2015 1위 및 top-5 에러율 3.57%를 기록했다.
  • Bottleneck 구조를 통한 실용성 확보: 1x1 합성곱 기반의 병목 블록으로 연산 복잡도를 억제하며 초심층 모델의 효율적 학습을 가능케 했다.

현대 딥러닝 비전 아키텍처의 표준 토대가 된 설계다.

References

댓글남기기