A Smart Rabbit
이현승의 개인 홈페이지[자기소개]

이미지 인식을 위한 ResNet 방식 (Deep Residual Learning for Image Recognition)

작성 2025.12.27분류 레퍼런스주제 D. 기술과 도구

원문
사이트
arxiv.org
저장한 날
2025.12.27

유형: 논문 · 저자: Kaiming He, Xiangyu Zhang, Shaoqing Ren · 출처: Microsoft Research · 별점: ⭐️⭐️⭐️⭐️

핵심 결론

  • 딥러닝 모델이 깊어질수록 학습이 어려워지는 구조적 문제를 residual connection로 해결
  • 기존 딥러닝 문제
    • 딥러닝은 여러 단계를 거쳐 점점 복잡한 판단을 만든다 → 단계가 많아질수록 더 똑똑해질 것이라는 기대가 있었다
    • 실제로는 단계를 많이 쌓으면 성능이 더 좋아지지 않고 오히려 학습이 잘 안 되거나 결과가 나빠졌다
    • 기존 모델은 매 단계마다 이전 결과를 덮어쓰는 방식 ⇒ 이미 계산한 좋은 결과를 계속 망가뜨리는 구조
  • 이후 거의 모든 딥 모델의 기본 문법이 됨

왜 모델이 깊어질수록 문제가 생길까

  • 관찰된 결과

    • 네트워크를 깊게 하면 표현력은 늘어나야 함 → 그런데 실제로는 20층보다 56층 네트워크의 훈련 오차가 더 큼
    • 이는 데이터 부족이나 overfitting 문제가 아님 → 최적화가 실패한 것
  • plain CNN 구조 : 합성곱 → ReLU → BatchNorm” 단계를 계속 쌓은 구조

    • 문제 1 정보 훼손
      • 앞에서 만든 결과를 뒤에서 계속 다시 바꾼다 → 조금씩 틀어지는 게 누적된다
    • 문제 2 안 바꿔도 되는 단계가 없다
      • 사실 어떤 단계는 “이 상태면 충분하다”일 수 있다 → 하지만 기존 구조에서는 무조건 뭔가를 바꿔야 한다
    • 문제 3 gradient가 약해진다
      • 학습 신호가 맨 앞까지 가는 동안 점점 희미해진다 → 층을 더 쌓았는데 훈련 데이터조차 잘 못 맞춘다

⇒ 즉 identity mapping을 학습하는 것 자체가 난이도가 높다

해결 아이디어 → Residual Learning

  • 기존 방식
    • 각 블록이 직접 H(x)를 학습
    • 블록 수가 늘어날수록 각 블록은 이미 여러 번 가공된 결과를 입력으로 받음 → 그 상태에서 또 “완성된 결과”를 만들어야 하므로 작은 오차가 계속 누적
    • H(x)를 정확히 맞추는 부담이 커짐
  • ResNet 방식
    • 블록은 변화량 F(x)만 학습
      • ResNet은 블록에게 “전체 답을 만들어라”라고 요구하는 대신 “지금 결과에서 무엇을 얼마나 바꿔야 하는지”만 학습하게 함 →“바꿀 부분”이 F(x)다
    • 출력은 y = x + F(x)
      • 의미는 “입력을 그대로 두고, 바꿀 것만 조금 수정”
  • 왜 이게 잘 작동하는가
    1. 최소 성능 보장
      • F(x)=0이면 출력은 그대로 x 출력(y)=x+0(F(x))출력(y) = x + 0 (F(x))
      • 깊은 모델이 최소한 얕은 모델과 동일한 성능을 낼 수 있음
    2. gradient 흐름 개선
      • skip connection을 통해 gradient가 직접 전달
        • 기존 구조에서는 이 신호가 여러 블록을 거치며 약해진다
          • 딥러닝은 출력을 만들 때 거친 모든 계산을 거꾸로 되짚으며 학습하기 때문에 층이 많아질수록 gradient는 그만큼 많은 계산을 하나씩 통과할 수밖에 없다
        • ResNet에서는 입력 x가 계산 블록을 거치지 않고도 바로 뒤로 연결된다
      • 깊이에 따른 학습 신호 소실 완화
    3. 학습 난이도 감소
      • 네트워크가 완전한 표현이 아니라 차이만 학습
      • 최적화 공간이 단순해짐

실험 결과

  • ImageNet
    • ResNet-50, 101, 152로 갈수록 성능이 꾸준히 개선
    • VGG보다 훨씬 깊지만 훈련 오차와 테스트 오차 모두 낮음
  • CIFAR-10
    • 100층 이상에서도 안정적 수렴
    • plain network는 깊어질수록 성능 붕괴

적용 가능 영역

  • 이미지 분류, 객체 탐지, 세그멘테이션
  • 비전 트랜스포머의 residual + normalization 구조
  • 시계열, 음성, 추천 모델의 deep stack 구조

현실적 한계

  • residual은 학습 안정성을 높일 뿐 표현력 자체를 늘리지는 않음
  • 계산량과 메모리 사용은 여전히 depth에 비례
  • 무작정 깊게 쌓는 것은 ROI가 낮아질 수 있음

A Smart Rabbit|GitHub|LinkedIn|RSS