
📝 이번 포스트는 Inception v4로 알려진 "Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning" 논문에 대해 알아보도록 하겠습니다.
이 논문은 Residual connection과 최신 Inception 아키텍처를 결합하는 방법을 탐구한 논문입니다.
Residualconnection은 "Deep Residual Learning for Image Recognition" 논문에서 소개된 기술이며, 매우 깊은 네트워크를 효과적으로 학습하기 위해 중요한 방법으로 소개됩니다.
Inception 네트워크도 깊은 신경망을 가지므로, filter concatenation 단계에서 Residual connection을 적용하면 연산 효율성을 높일 수 있을 것이라고 생각하였습니다.
따라서 저자는 Residual connection과 Inception 아키텍처를 결합한 새로운 모델을 연구하였습니다.
저자는 최신 버전인 Inception-v4에서 사용된 pure inception 블록을 설명합니다.

위 그림은 전반적인 Inceptionv4의 구조와 각 모듈의 세부구조입니다.
Inception-v4에서는 이전 버전에서 갖고 있던 불필요한 복잡함을 제거하였고, 각 grid 크기에 대해 inception 모듈을 일관되게 만들었습니다.
V가 있는 블록은 입력과 출력의 피쳐맵 크기를 동일하게 갖는다는 뜻이고,
V가 없는 블록은 입력과 출력의 피쳐맵 크기를 동일하게 갖는다는 뜻이며 이런 과정을 통해 일관성을 갖게 하였습니다.
저자는 Residual connection을 결합한 Inception 네트워크에 대해 연구하였습니다.
Residual connection을 구현한 Inception 네트워크는 기존 Inception 네트워크보다 간소화한 블록으로 구현하는 것을 가능하게 하였습니다.

위 그림은 Inception-ResNet-v1의 전반적인 구조와 각 모듈의 세부구조입니다.
Inception-ResNet-v1은 Inception-v3와 유사한 연산 비용을 갖도록 설계하였습니다.

위 그림은 Inception-ResNet-v2의 전반적인 구조와 각 모듈의 세부구조입니다.
Inception-ResNet-v2는 Inception-v4와 유사한 연산 비용을 갖도록 설계하였습니다.
결론적으로 Residual Inception 블록은 연산 효율성을 유지하면서도 더 깊고 복잡한 네트워크를 학습시킬 수 있도록 하였습니다.
Residual Inception 네트워크에서 발생하는 학습 불안정성과 이를 해결하기 위해 Residual Scaling 기법을 연구하였습니다.
저자는 실험을 진행하는 중에, 필터 수가 1000개를 넘어서는 순간 Residual 네트워크가 학습 초반부에 죽는 현상을 발견하였습니다.
이는 Average 풀링 전 마지막 레이어가 몇만 번의 반복 후에 0만 출력하는 상태로 바뀌는 문제로 학습률을 낮추거나 추가적인 배치 정규화를 적용해도 해결되지 않는 문제였습니다.
저자는 Residual connection을 이전 레이어의 활성화 값에 추가하기 전에 크기를 축소하는 방법이 학습 안정성을 크게 향상시킨다는 것을 발견했습니다.
일반적으로 0.1 ~ 0.3 사이의 스케일링 계수를 선택해 Residual connection 값을 축소하여 해결하였다고 합니다.
실험 섹션에서는 Inception 및 Inception-ResNet 아키텍처의 다양한 버전에 대한 성능 비교를 다룹니다.

저자는 Inception-v3 모델과 Inception-ResNet-v1모델을 비교실험을 진행했습니다.
실험에 사용한 데이터셋은 ImageNet 2012입니다.
Inception-ResNet-v1이 Inception-v3보다 더 빠른 속도로 에러율이 감소하였습니다.
이로 인해 알수 있는 점은 학습 안정성이 더 좋으며, 빠르게 학습할 수 있다는 점을 알 수 있습니다.

이 실험은 Inception-v4와 Inception-ResNet-v2간의 비교실험입니다.
두 모델은 연산 비용이 매우 비슷하여 비교실험을 진행했습니다.
연산 비용이 똑같을 경우 어떤 구조로 만들어진 아키텍쳐가 더 학습이 수월했는지 비교하는 실험입니다.
그림에서 알 수 있듯이 Residual connection을 이용한 Inception-ResNet-v2가 더 빠른 속도로 학습에 수렴하였습니다.
저자는 Residual connection을 도입함으로써 Inception 아키텍처의 학습 속도가 획기적으로 개선되었음을 실험적으로 입증했습니다.
깊고 복잡한 네트워크 구조에서 효율적인 학습을 가능하게 하였습니다.