drive.google.com/file/d/1W8Zb-0f9v0UfLHeGggI4Ct6WfUzmzC-Z/view?usp=sharing
간단하게 내용을 요약하면 다음과 같다.
AlexNet
: 뉴럴네트워크를 처음 쓰고 이미지 분류 대회에서 우승한 모델
⇒ ReLU 활성화 함수를 사용하여 딥러닝 발전의 시초가 됨
⇒ LRN을 이용하여 output 컨볼루션 feature map 중 일정 부분만 높게 activation 되도록 함
⇒ Data augmentation 사용 (데이터 flip;좌우반전, crop으로 training set을 증가시킴)
VGG
⇒ stride=1, 3X3 conv를 사용하여 성능 개선
GoogLeNet
: Inception module을 이용
: deep하지만 VGG보다 parameter를 절반 이하로 사용
*Inception module
장점: 계산 parameter 수를 줄임, 다양한 receptive field를 가지기 때문에 다양한 결과 (다양한 크기의 feature를 잡음)를 얻을 수 있다.
*parameter 수 계산 방법
3X3 filter size로 18개 채널을 가진 layer ⇒ 36개 채널을 가진 layer로 convolution연산을 하면 계산해야하는 parameter 수는 3X3X18X36개가 된다.
ResNet
: 여러 분야에서 1등을 한 네트워크로, 범용적이라는 장점을 가짐
*Deeper Network?
네트워크가 deep해지면 늘 좋은 결과를 얻는 것은 아니다.
1. vanishing gradients(기울기 손실) 때문에
⇒ batch normalization, ReLU 등으로 기울기 손실 문제의 중요도는 감소하고 있다.
2. overfitting (과적합) 문제 때문에
⇒ training error는 감소하나, test error가 증가하는 문제
3. degradation 문제 때문에
⇒ training error, test error 모두 감소하나, 성능이 떨어지는 문제
ResNet은 degration문제를 개선했다. 입력 x와 deserved output 사이의 차이, 즉 나머지만 학습하는 방식을 사용했다.
제약 조건은 입력과 출력의 차원이 같아야 하는 것이다.
*bottle architecture
: parameter를 줄이고, 입력과 출력의 차원을 맞춰주기 위해 입력 레이어 이후, 출력 레이어 이전에 1X1 conv를 넣어주는 구조
현재 100레이어까지는 degradation 현상이 일어나지 않지만, 1000레이어까지 쌓으면 여전히 degradation이 발생한다.
참고 자료:
https://www.edwith.org/deeplearningchoi/lecture/15296/