C4W2L06 Inception Network Motivation
- 합성곱 신경망을 설계할때 1 x 3, 3 x 3, 5 x 5 등 필터 크기를 지정해주어야 함.
=> 인셉션 신경망에서는 모든 필터 크기를 다 사용함. 복잡하지만 성능은 더 좋아짐.
인셉션 신경망의 개요
- 필터 크기 지정없이 다양한 합성곱, 풀링 층을 사용함.
- 28 x 28 x 192 -> 1 x 1 x 192 x 64 => 28 x 28 x 64
- 28 x 28 x 192 -> 3 x 3 x 192 x 128 => 28 x 28 x 128
- 28 x 28 x 192 -> 5 x 5 x 192 x 32 => 28 x 28 x 32
- 28 x 28 x 192 -> Max Pool 28 x 28 x 32 => 28 x 28 x 32
* 다른 합성곱 연산 결과와 맞추기 위해서 최대 풀링의 경우 same, s=1 지정 필요
=> 아래의 인셉션 모듈의 출력은 28 x 28 x 256
- 필터나 풀링을 지정하기 보다 모두 사용해서 합한것을 학습함.
- 인셉션 모듈의 문제로 계산 비용이 있음.
계산 비용 문제
- conv2d 5 x 5, same, 32 연산 시 출력은 28 x 28 x 32
- 28 x 28 x 32 (output) x 5 x 5 x 192 (각 출력을 계산하는데 필요한 연산수) = 120M
- 1 x 1 convolution으로 계산 비용을 크게 줄일 수 있음.
1 x 1 합성곱 연산 사용하기
- 28 x 28 x 192 입력에 1 x 1 x 192 x 16 연산 후, 5 x 5 x 16 x 32 합성곱 연산 수행
- 중간의 1 x 1 convolution으로 채널 수를 크게 줄임. 이를 bottleneck layer 병목층이라 부름.
- 28 x 28 x 16의 출력을 구하기 위한 계산량 : 28 x 28 x 1 x 1 x 16 x 192 = 2.4M
- 28 x 28 x 32 출력을 구하기 위한 계산량 : 28 x 28 x 32 x 5 x 5 x 16 = 10.0M
- 총 계산량 = 2.4M + 10.0M = 12.4M
* 1 x 1 합성곱 연산을 하지 않았을때 120M 연산량보다 1/10으로 줄어듦.
- 표현 크기를 줄이면 성능 저하가 일어날 수 있으나 보틀넥 레이어를 잘 구현하면 계산량을 잘 줄이면서 성능에 지장 주지않을수있음
'컴퓨터과학 > 딥러닝 AI Andrew Ng' 카테고리의 다른 글
C1W2L05, C1W2L06 Derivatives, More Derivative Examples (0) | 2021.04.21 |
---|---|
C1W2L04 Gradient Descent (0) | 2021.04.21 |
C4W2L05 Network In Network (0) | 2021.04.21 |
C2W1L01 Train/Dev/Test Sets (0) | 2021.04.20 |
C4W2L03, C4W2L04 Resnets, Why ResNets Work (0) | 2021.04.20 |