CNN 종류
모델표
AlexNet(2012)
컴퓨터 비전 분야의 ‘올림픽’이라 할 수 있는 ILSVRC(ImageNet Large-Scale Visual Recognition Challenge)의 2012년 대회에서 제프리 힌튼 교수팀의 AlexNet이 Top 5 test error 기준 15.4%를 기록해 2위(26.2%)를 큰 폭으로 따돌리고 1위를 차지했다.여기서 top 5 test error란 모델이 예측한 최상위 5개 클래스 가운데 정답이 없는 경우의 오류율을 나타낸다. 당시 ILSVRC 데이터셋(Image은 1000개 범주 예측 문제였다. 어쨌든 AlexNet 덕분에 딥러닝, 특히 CNN이 세간의 주목을 받게 되었다.
AlexNet은 의미있는 성능을 낸 첫 번째 합성곱 신경망이고, Dropout과 Image augmentation 기법을 효과적으로 적용하여 딥러닝에 많은 기여를 했기 때문이다.
VGGNet(2014)
VGGNet은 큰 특징은 없는데 엄청 Deep한 모델(파라미터의 개수가 많고 모델의 깊이가 깊다)로 잘 알려져 있다.
또한 요즘에도 딥러닝 엔지니어들이 처음 모델을 설계할 때 전이 학습 등을 통해서 가장 먼저 테스트하는 모델이기도 하다.
간단한 방법론으로 좋은 성적을 내서 유명해졌다.
GoogLeNet(=Inception V3) (2015)
합성곱 신경망의 아버지 르쿤 교수가 구글에서 개발한 합성곱 신경망 구조.
AlexNet 이후 층을 더 깊게 쌓아 성능을 높이려는 시도들이 계속되었는데, 바로 VGGNet(2014), GoogLeNet(2015) 이 대표적인 사례이다.
GoogLeNet은 VGGNet보다 구조가 복잡해 널리 쓰이진 않았지만 구조 면에서 주목을 받았다.GoogLeNet 연구진들은 한 가지의 필터를 적용한 합성곱 계층을 단순히 깊게 쌓는 방법도 있지만, 하나의 계층에서도 다양한 종류의 필터, 풀링을 도입함으로써 개별 계층를 두텁게 확장시킬 수 있다는 창조적인 아이디어로 후배 연구자들에게 많은 영감을 주었다.
이들이 제안한 구조가 바로 Inception module (인셉션 모듈)이다.인셉션 모듈에서 주의깊게 보아야할 점은 차원(채널) 축소를 위한 1x1 합성곱 계층 아이디어이다.
또한 여러 계층을 사용하여 분할하고 합치는 아이디어는, 갈림길이 생김으로써 조금 더 다양한 특성을 모델이 찾을 수 있게하고, 인공지능이 사람이 보는 것과 비슷한 구조로 볼 수 있게 한다.
이러한 구조로 인해 VGGNet 보다 신경망이 깊어졌음에도, 사용된 파라미터는 절반 이하로 줄어들었다.
ResNet(2015)
AlexNet이 처음 제안된 이후로 합성곱 신경망의 계층은 점점 더 깊어졌다.
AlexNet이 불과 5개 계층에 불과한 반면 VGGNet은 19개 계층, GoogleNet은 22개 계층에 달한다.
하지만 층이 깊어질 수록 역전파의 기울기가 점점 사라져서 학습이 잘 되지 않는 문제(Gradient vanishing)가 발생했다. ResNet 저자들이 제시한 아래 학습그래프를 보면 이같은 문제가 뚜렷이 나타난다.따라서 ResNet 연구진은 Residual block을 제안하는데,
그래디언트가 잘 흐를 수 있도록 일종의 지름길(Shortcut=Skip connection)을 만들어주는 방법이다.
위의 그림에서 알 수 있듯 를 다시 쓰면 로 표현할 수 있고, Residual block은 입력과 출력 간의 차이를 학습하도록 설계되어 있다.ResNet의 Residual block은 합성곱 신경망 역사에서 큰 영향을 끼쳤고 아직도 가장 많이 사용되는 구조 중에 하나이다.
많은 사람들이 Residual block을 사용하면 대부분의 경우 모델의 성능이 좋아진다라고 얘기하고 있다.