[딥러닝] Inception Net v4

김대웅·2025년 1월 1일

Deep Learning

목록 보기
12/16
post-thumbnail

목표

딥러닝계의 Legend 논문(이론) 중 Inception Net v4에 대해 알아보자!

이 내용은 혁펜하임님의 'Legend 13' 강의를 기반으로 작성함.
이 내용은 전 작성 내용과 이어집니다.

Inception Net v4

Inception Net v4의 경우 아래 논문에서 v4와 Inception-ResNet v1, v2 세 개로 소개되었다.
머 특별한 기능이 들어간 것은 아니지만 더 layer가 깊어졌고, 버릴 것들은 버렸으며, ResNet의 skip-connection 아이디어를 활용했다는 특징을 가지고 있다.

(논문 : https://arxiv.org/pdf/1602.07261)

위 그림을 보면 전체적인 구조는 비슷한데 조금씩 다른 부분들이 있다. 차례대로 알아보면 다음과 같다.

Stem

위의 그림들은 Inception Net v3에서 있던 Inception figure들을 만나기 전에 있던 conv들을 더 나아진 방향으로 전개한 것이다.
Inception v4와 Inception-ResNet v2에서 쓰이는 왼쪽 그림의 경우 중간에 병렬 구조를 통해 연결한다는 특징이 있고, 7 X 1과 1 X 7를 써서 특징을 뽑아낸다.

Inception A

Inception A 부분부터 Inception v4 (가장 왼쪽 그림)는 전과 동일한 구조로 나타나는데, 오른쪽 그림들은 ResNet의 skip-connection을 활용하는 것을 볼 수 있다.
다른 특징을 보자면 Residual 연결 부분에서 1 X 1 conv로 연결한다는 점이 있다. 이건 ResNet에서 본 점선 conncetion을 항상 한다는 의미이고 사이즈에 관계없이 진행된다.

Inception B

Inception C

Reduction A

Reduction에선 사이즈가 절반으로 줄어드는 부분이다. 셋 다 동일하게 사용한 부분이다.

Reduction B

v3와 비교해서 달라진 부분들

사실 위 세 모델은 사실 구조적으로는 전과 비슷한 구조를 가지고 있어서 딱히 설명할 부분이 없다..
하지만 전과 달라진 부분을 뽑자면 다음과 같다.

  • Scaling Factor
    ResNet에서는 쓰지 않은 방법인데, Residual를 연결할 때, F(x)F(x)의 크기를 보정해주기 위해 x+αF(x)x + \alpha F(x)를 해준다. 여기서 α\alpha가 Scaling Factor이고 0.1~0.3의 값을 가진다. 이를 통해 조금 더 결과가 좋아지는 모습을 보인다.
  • 전부터 항상 쓰던 aux-classifier가 아예 논문에서 안 보이는 모습을 볼 수 있다. (Ctrl + F로 찾아봐도 논문에서 코빼기도 안 보임;;)
  • 성능 비교
    앙상블과 데이터를 144장으로 잘라서 통과시키는 방법으로 성능은 좀 더 나아지는 모습을 보였다.

위 논문의 아쉬운 점

  • ResNet의 skip-connection을 사용하였지만, 완전 100%로 사용하는 것은 아니라서 그런가 skip-connection의 효과가 미비했다...
    그리고 실선 연결만을 하는 요즘 모델에 비해 점선 연결만 한 것도 애매한 부분..
  • concat으로 모든 것을 병렬로 연결하기에 병목 현상이 너무 크게 일어나서 정보의 손실이 일어난다..
  • Scaling Factor의 경우 여기선 더 나아진 효과를 보였지만, 나중엔 바로 안 쓰는 방식이 된다..

그래도 위 논문이 레전드인 이유

  1. ResNet의 skip-connection을 착안하여 2016년에 다시 1등에 달성하였다!
    (사실 skip-connection이 레전드라 그런 것은 아닐까....크흠)
  2. 인셉션 구조를 지키면서 Scaling Factor를 추가, aux-classifier를 빼는 등 효과를 최대한으로 끌어내었다!!
profile
글쓰기에 미쳐보자

0개의 댓글