[paper] Inception v4 (2016)

Jomii·2024년 3월 13일
0

Computer Vision

목록 보기
13/23
post-thumbnail

Inception 시리즈의 발전


Inception 아키텍처는 초기에 GoogLeNet으로 알려져 있었으며, 이후 Inception v2, Inception v3 등 다양한 버전이 발표되었습니다. Inception v4는 2016년에 소개되었으며, 그 이후로도 다양한 개선이 이루어진 것으로 알려져 있습니다.


기존 단점


Inception v3에서 발생했던 일부 단점 중 하나는 그 복잡한 구조였습니다. Inception v4에서는 파라미터 공유와 모듈 간의 효율적인 연결을 최적화하여 학습 속도를 향상시켰습니다. 또한, 배치 정규화와 드롭아웃 등의 효과적인 정규화 기법을 도입하여 과적합 문제에 대처했습니다.


Inception v4의 특징


  1. Residual Connection의 도입
    Inception v4에서는 Residual Connection이 처음으로 도입되었습니다. Residual Connection은 각 레이어의 입력에 해당 레이어의 출력을 더하는 구조로, 그레이디언트 소실 문제를 해결해 심층 신경망의 훈련을 안정화시키는 데 큰 역할을 합니다.

  2. 네트워크의 깊이와 너비
    Inception v4는 이전 버전에 비해 더 깊고 넓은 네트워크를 가지고 있습니다.(총 22개 레이어로 구성) 더 많은 레이어와 노드는 더 풍부한 특징 추출을 가능하게 하며, 이는 복잡한 데이터셋에서 높은 정확도를 달성하는 데 기여합니다.

  3. Inception 모듈의 다양성 => Scale-up 효과
    Inception v4는 서로 다른 크기의 필터를 사용하여 특징을 추출하는 여러 가지 크기의 Inception 모듈을 사용합니다. 이는 네트워크가 다양한 크기의 특징을 동시에 학습하고 결합하여 보다 풍부한 representation을 얻을 수 있도록 합니다.

  4. 효율적인 Inception module
    Inception v4에서는 기존의 Inception 모듈을 최적화하여 연산 효율성을 높였습니다. 적은 파라미터로 높은 효율을 달성하며, 이는 학습 및 추론 시간을 단축시키는 데 기여합니다.


구조


Inception 후속 버전에서 유의미한 성능 개선이 있었음에도 불구하고 Inception 모델은 복잡한 구조 때문에 잘 사용되지 않았습니다. 때문에 v4모델에서는 구조를 획일화하였습니다.

다음은 각 모듈에 대해 살펴보겠습니다.

Stem

Stem 모듈은 Inception v4의 초기 부분에서 사용되는 모듈로, 입력 이미지의 초기 특징을 추출하는 역할을 합니다. 이 모듈은 이미지에 대한 기본적인 특징을 학습하고 네트워크에 전달하기 위해 사용됩니다. Stem 모듈은 일반적으로 Convolutional 레이어와 Pooling 레이어의 조합으로 구성되어 있으며, 입력 이미지의 고수준 특징을 추상화하기 위해 필터와 스트라이드를 조정합니다.

Inception-A

주로 1x1, 3x3, 5x5 필터와 pooling 연산이 병렬로 적용되며, 이를 통해 다양한 크기의 receptive field를 가진 특징을 얻을 수 있습니다.

inception-B

Inception-B 모듈은 Inception-A 모듈과 유사하지만, 필터의 구성이 다르게 조정되어 있습니다. 주로 1x1, 7x7 필터와 다양한 크기의 pooling 연산이 사용되며, 이로 인해 더욱 다양하고 복잡한 특징을 추출할 수 있습니다.

inception-C

Inception-C 모듈은 높은 수준의 추상화된 특징을 얻기 위해 Inception-A와 Inception-B 모듈에서 나온 특징을 결합하는 역할을 합니다. 이 모듈은 이전 모듈에서 추출된 특징을 조합하여 더욱 풍부한 표현을 만들어내는 데 기여합니다.

reduction-A

Reduction-A 모듈은 네트워크의 공간 해상도를 줄이고 특징의 차원을 감소시키는 역할을 합니다. 이 모듈은 보다 큰 receptive field를 가진 특징을 추출하며, 네트워크의 파라미터를 줄이고 계산 효율성을 높이기 위해 사용됩니다.

reduction-B

Reduction-B 모듈은 Reduction-A와 마찬가지로 공간 해상도를 줄이고 특징의 차원을 감소시키는 역할을 합니다. Reduction-A 모듈에서 처리한 이미지의 크기를 줄이는 이 모듈은 3x3 크기의 컨볼루션 레이어와 Max pooling 레이어로 구성되어 있으며, Reduction-A 모듈보다 더 많은 레이어를 가지고 있습니다.

이러한 다양한 모듈의 조합을 최적화하여 고안된 네트워크라고 할 수 있습니다.



Reference
[paper] Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

https://hyunsooworld.tistory.com/entry/Inception-v1v2v3v4%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4-%EB%8B%A4%EB%A5%B8%EA%B0%80-CNN%EC%9D%98-%EC%97%AD%EC%82%AC

profile
📩 qtly_u@naver.com

0개의 댓글