이번 23년 하계 학부연구생 활동을 하면서 가장 먼저 인공지능 전반에 있어 내가 흥미있어 하는 세부 분야를 찾아내는 것이 가장 중요하다고 생각했다. 그래서 딥러닝 기본에 관한 논문들을 찾아보고자 했다.

나는 기존에 컴퓨터 비전 분야에 흥미를 갖고 있었지만 관련지식이 전무하다시피해 CNN 관련한 잘 알려진 논문을 읽어보고 싶었다. 그 중에 ‘Going Deeper with Convolutions’라는 논문을 찾게 되었고, 이 논문을 읽게 되었다.

이 논문이 나왔을 당시에 CNN 성능을 높이기 위한 많은 연구들이 진행되었다고 한다. 이때 성능을 높이는 방법으로 주로 거론된 것은 신경망의 크기를 늘리는 방법이었다. 하지만, 두가지 문제점이 존재했는데, 첫 번째 문제점으로 크기가 커진다는 것은 파라미터 수의 증가를 의미하고, 이는 over fitting이 일어나기 쉬워진다는 문제가 존재한다는 것을 의미하며 두 번째 문제점으로 네트워크가 커질수록 컴퓨팅 자원의 사용량이 늘어난다는 문제점이 존재했다. 이를 해결하기 위해 이 논문의 저자들은 dense한 Fully-Connected 구조에서 Sparsely-Connected 구조로 변경하는 방법을 생각했다. 이로 인해 Inception 구조의 주요 아이디어가 나오게 되었다. 주요 아이디어는 CNN에서 각 요소를 최적의 local sparce structure로 근사화 후, 이를 dense component로 바꾸는 방법을 찾는 것이라고 한다. 이러한 Inception module을 사용하였을 때 과도한 연산량 문제 없이 각 단계에서 유닛 수를 상당히 증가시킬 수 있으며 Visual 정보가 다양한 scale로 처리되고, 다음 layer는 동시에 서로 다른 layer에서 특징을 추출할 수 있는 장점이 존재한다. 결과적으로 성능은 대폭 상승하지만 연산량은 약간만 증가하게 된다.

이 논문을 읽으면서 CNN에 대해 알아갈 수 있었고, 이후로 더 발전된 모델들도 찾아보고 싶다는 생각을 하였으며 추후에 코드로 구현하고 싶다.