출처 : CS231n Winter 2016: Lecture 7: Convolutional Neural Networks, 발표자료, 강의노트(원문), 강의노트(번역)
- 입력 : 이미지 32x32x3
- 필터 : 5x5x3 (6개 필터)
- 연산 : Convolve = slide over the image spatially, computing dot products
Convolve연산 방법 : 필터 5x5x3(w)$$\cdot$$ 이미지의 5x5x3영역(x) + b
Convolve연산 목표 : 1개의 값 출력 =
원(뉴론)을 Reception Filed라고 부르기도 함 “5x5 filter” -> “5x5 receptive field for each neuron
이미지의 모든 영역에 Convolve작업을 하여 28x28x1의 Activation Map생성
6개의 필터(5x5x3)을 모두 Convolve연산 수행하여 6개의 Activation Map(28x28x1) 도출
- 출력 : New Conv image (28x28x6)
ConvNet is a sequence of Convolutional Layers, interspersed with activation functions
Step 1으로 돌아감
- 입력 : New Conv image 28x28x6
- 필터 : 5x5x6 (10개 필터)
- (6:입력레이어의 D가 6이므로)
- 연산 : Convolve = slide over the image spatially,
- 출력 : New Conv image 24x24x10 (10은 필터수)
Notice that : 동일한 필터크기(5x5)를 적용해도 결과물 크기가 32 - 28 - 24로 급격히 줄어듬shrink (깊은 레이어 생성 불가)
$$\Rightarrow$$ Stride/pad개념으로 해결 가능
필터가 이미지를 이동시 간격
테두리에 0으로 된 값 입력
입력 : 32x32x3 필터 : 10개의 5x5필터, Stide 1, pad 2
결과 :
- (입력이미지 크기 + 양면(2) x pad-필터 크기)/Strid + 1
- (32 + 2 x 2 - 5)/1 + = 32
$$\Rightarrow$$ 32x32x필터갯수
All of them share parameters = 동일한 필터(값)을 사용하므로
-
$$w^Tx +b$$ 에서$$w^T$$ 값은 동일
일반적으로 여러개의 필터(eg.5개)를 사용함 즉, 이미지의 한 영역에 대하여 5개의 값(뉴론)을 가지고 있음
shrink안되는 레이어를 다운 샘플링 하여 관리효율 증대
- makes the representations smaller and more manageable
- operates over each activation map independently(Depth변화 없음)