본문 바로가기

Data/논문 & 모델 정리

[Model] ResNet

반응형

ResNet

  • 참고 페이지
  • 2015년 ILSVRC(Image Large Scale Visual Recognition Challenge)에서 우승을 차지한 모델
  • Microsoft에서 개발한 모델이며, 논문명은 “Deep Residual Learning for Image Recognition”
    •  
    • 하지만 그렇다고 무조건 Layer가 깊어질수록 성능은 좋은건아님. fully-connection으로 56층과 20층을 비교해보았더니 20층이 더 좋은 성능을 나타냈음
  • ResNet의 핵심은 “Residual Block”이라는것에 있음
    • 기존 방식과 다른점이 있다면, “입력값에 출력값을 더해주는 점”
  • 기존방식과 Residual Block방식에 대해서 좀더 자세하게 정리하자면
    • 기존방식
      • 기존방식 그래프에서 y(그림에서는 H(x))는 x를 통해 새롭게 학습된 정보. 즉, 기존에 학습한 정보를 보존하지 않고 변형시켜 새롭게 생성하는 정보
      • 이럴경우에 층이 깊어질수록 한번에 학습해야 할 정보들이 너무 많아져 학습이 어려워짐
    • Residual Block
      • Residual Block은 기존방식에서 나온 y=f(x)와 달리, y= f(x) + x이다. 여기에서의 y는 기존방식과는 다르게 x가 그대로 보존되므로 기존에 학습한 정보를 보존하고, 거기에 추가적으로 학습하는 정보를 의미하게 됨.
      • “즉, output에 이전 레이어에서 학습했던 정보를 연결함으로써 해당 층에서는 추가적으로 학습해야 할 정보만을 학습하게됨”
    • 좋은 예시
      • 기존방식은 Open book이 불가능한 시험
        • 시험의 범위가 많이질수록(층이 깊어질수록) 공부하기가 어려움
      • Residual Block은 Open book이 가능한 시험
        • 이미 배웠던 내용이 제공되기때문에, 추가적으로 학습해야 할 정보만을 공부할것이다
  • 왜 하필 Residual(잔차)라는 표현을 썻을까?
    • 일단 위에서 나온 그림(기존방식, Residual block)에서 볼수있듯이, Layer가 깊어질수록 x는 점점 출력값H(x)에 근접하게되고, F(x)는 점점 작아져서 최종적으로는 0에 근접하는 최소값으로 수렴하게됨
    • 우리는 이 F(x)에 대해서 최소값으로 만들어줘야하기 때문에 결국 H(x) - x = F(x)이므로, “H(x) - x” 의 값이 최소값으로 해줘야한다. 따라서 이와같은 이유로 잔차(Residual)가 중요하기때문에 ResNet이라는 이름이 붙게됨
  • ResNet의 구조?
    • 기본적으로는 VGG-19의 구조를 기반하여 제작
    • 34층의 ResNet은 청므을 제외하고는 균일하게 3 * 3 사이즈의 컨볼루션 필터를 사용함. 또한 특성맵의 사이즈가 반으로 줄어들 때, 특성맵의 뎁스를 2배로 높힘
반응형