완전 연결 네트워크의 문제점으로부터 시작
https://medium.com/@pechyonkin/key-deep-learning-architectures-lenet-5-6fc3c59e6f4
An example of convolution operation
https://www.researchgate.net/figure/An-example-of-convolution-operation-in-2D-2_fig3_324165524
일반적으로 합성곱 연산을 한 후의 데이터 사이즈는 (n - f + 1) x (n - f + 1)
패딩과 스트라이드
https://kingnamji.tistory.com/24
https://m.blog.naver.com/jevida/221841296542
https://cs231n.github.io/convolutional-networks/
https://velog.io/@woojinn8/CNN-Network-1.-LeNet
https://buomsoo-kim.github.io/keras/2018/05/02/Easy-deep-learning-with-Keras-8.md/
https://wooono.tistory.com/233
<img src="https://neurohive.io/wpcontent/uploads/2018/11/vgg16.png%22%3E >
VGG-16 아키텍쳐
[이미지 출처] https://neurohive.io/en/popular-networks/vgg16/
상위 5개 예측 안에 정확한 클래스가 포함되면 제대로 예측한 것으로 간주
일반적인 top-k metric의 특정 케이스
=====================================================================
VGGNet을 제치고 같은 해 분류 과제에서 1등을 차지
인셉션 블록이라는 개념을 도입하여 인셉션 네트워크라고도 불림
Inception Module은 layer에 1x1 Convolution layer를 추가해 bottleneck layer를 구현함으로써, channel 수를 감소시키며, 연산량을 줄이는 구조입니다. 이것이 inception module의 기본 아이디어이며, Inception Network는 이러한 Inception Module의 집합입니다.
VGGNet을 제치고 같은 해 분류 과제에서 1등을 차지
인셉션 블록이라는 개념을 도입하여, 인셉션 네트워크(Inception Network)라고도 불림
<img src="https://miro.medium.com/max/2800/0*rbWRzjKvoGt9W3Mf.png%22%3E
CNN 계산 용량을 최적화하는 것을 고려
전형적인 합성곱, 풀링 계층으로 시작하고, 이 정보는 9개의 인셉션 모듈 스택을 통과
해당 모듈을 하위 네트워크라고도 함
각 모듈에서 입력 특징 맵은 서로 다른 계층으로 구성된 4개의 병렬 하위 블록에 전달되고, 이를 서로 다시 연결
모든 합성곱과 풀링 계층의 padding옵션은 "SAME"이며 stride=1,
활성화 함수는 ReLU 사용
기여
규모가 큰 블록과 병목을 보편화
병목 계층으로 1x1 합성곱 계층 사용
완전 연결 계층 대신 풀링 계층 사용
중간 소실로 경사 소실 문제 해결
<img src="https://norman3.github.io/papers/images/google_inception/f01.png%22%3E
[이미지 출처] https://norman3.github.io/papers/docs/google_inception.html%3C/sub%3E