영상 데이터를 기반으로 한 대회인 ILSVRC2012에서 우승한 CNN 구조이다. Alex Krzhevsky의 이름을 따서 AlexNet이라고 부른다. Convolution Layer 5개와 Fully Connected Layer 3개로 구성되어 있다.

ReLU Activation Function

tanh 활성화함수를 사용하였을 때보다 ReLU활성화 함수를 사용하였을 때 Error rate를 매우 빠르게 0.25에 도달시켰다.
max pooling
maxpooling을 사용해 이미지의 특징을 추출했다. 이때 stride값을 kernel size보다 작게하여 overrapping이 발생되도록 하였다. → non-overrapping 모델보다 정확도 상승
overrapping?
kernel을 겹치게하여 뉴런들이 중복되게 풀링을 진행하는 것을 말한다.
Mulitple GPUs
2개의 GPU를 사용해 병렬적으로 학습할 수 있도록 구조를 설계하였다.
[DL][CNN] AlexNet 개념 및 Pytorch 구현 (tistory.com)
딥러닝 CNN 모델 살펴보기(1) : AlexNet 논문 리뷰 : 네이버 블로그 (naver.com)
VGGNet은 네트워크의 깊이가 성능에 미치는 영향을 분석하기 위하여 설계된 CNN 모델이다. 기존 모델보다 깊은 계층을 가지기위해 합성곱의 Kernel을 3x3으로 통일 시켰다.
VGG16과 VGG19는 성능을 비교하기위해 계층을 16개 19개 다른 구조를 만들었다.

A에서 D → E 점차 계층의 깊이가 깊어질 수 록 Error rate이 점차 감소하여 성능이 좋아지는 것을 알게되었다.

VGG16의 계층 구조이다.
[CNN 알고리즘들] VGGNet의 구조 (VGG16) by bskyvision.com
[DL][CNN] VGGNet 개념 및 Pytorch 구현
CNN 모델들이 단순하게 Layer을 깊게 쌓을 수록 성능이 더 좋아질 것 이라고 예상했지만 20층 이상부터는 성능이 낮아지는 현상이 발생 “Degradation” (VGG는 19층까지만 쌓았다) 하지만 ResNet은 Residual Learning을 통해 152층까지 쌓아 모델을 만들었다.


ResNet은 기존 VGG의 구조와 깊이의 차이 말고 layer의 차이는 크게 없다. 하지만 보는 것과 같이 화살표들이 막 연결된 구조를 확인할 수 있다. 바로 skip connection을 표시한 것으로 계층을 깊게 쌓아도 더 좋은 성능을 낼 수 있게 해준것이다.

Skip-connection을 사용한 모델이 20층 이상의 모델에서 error가 떨어지는 것을 볼 수 있다.

Skip-connection은 layer의 입력을 layer의 출력에 바로 연결시키는 것을 말한다.
원래는 네트워크 뉴런은 를 찾기위하여 학습을 했다면
Skip-connection을 적용시켜 보면 로 바뀌게 된다.
자 이제 생각해보자 계층이 쌓일수록 가중치의 변화량을 적어질 것이다. ( 역전파가 원활하게 이루어지지 않을 것이니 ) H(x) 가 x 와 근사한다고 했을 때 F(x)는 0에 가까워지는 방향으로 학습을 하면 된다. 훨씬 학습하기 쉬워진다.
정리하자면 학습할 때 입력과 출력의 차이 잔차(Residual)만 학습하는 것이다.
[DL][CNN] ResNet 개념 및 Pytorch 구현
3) ResNet, ResNet의 확장(레이어 152개 이하) - 한땀한땀 딥러닝 컴퓨터 비전 백과사전8. CNN 구조 3 - VGGNet, ResNet : 네이버 블로그