이 글은 필자가 "밑바닥부터 시작하는 딥러닝 1"을 보고 헷갈리는 부분이나 다시 보면 좋을만한 부분들을 위주로 정리한 글입니다.
헷갈렸던 부분
- CNN: (Conv - Relu) - Pooling 거침
- Pooling layer는 크기만 줄어들뿐
- 깊게 만들기 위해서는 Conv layer가 필수적이다.
- 1x1 Conv vs. 3x3 Conv
- (1x1 Conv): 주로 채널 개수를 줄이기 위해 사용
- (3x3 Conv, stride =1)
1. VGG
- 합성곱 계층과 풀링 계층으로 구성되는 기본적인 CNN
- Receptive field를 통한 (5x5) Conv보다 2개의 (3x3) Conv가 더 효율적임을 이야기
- (Max pooling) - N개의 3x3 Convolution 을 거친후 FC
- Max pooling으로 이미지 크기가 줄어든다.
- 3x3의 작은 필터를 사용한 합성곱 계층을 연속으로 거친다.
2. GoogLeNet
- 1x1 Conv layer로 채널 개수 제한
- Inception 모듈: 앞 계층의 다른 필터 결과들을 모두 합치는 구조
- (1x1 Conv 결과) + (3x3 Conv 결과) + (5x5 Conv 결과) + (3x3 Max pooling) 결과를 결합
3. ResNet
- Skip connection: 입력 데이터를 합성곱 계층을 건너뛰어 출력에 바로 더하는 구조
- x + F(x)