11. Why Convolutions?

2023. 9. 15. 14:40Google ML Bootcamp/4. Convolutional Neural Networks

convolution operation을 사용하지 않을 경우. image.shape (32,32,3)일때 조차 1400만개 parameter를 가진다.

 

if convolution operation을 사용할 경우, filter에 속한 weight만 학습하면 되는데

- filter.shape(5,5)라고 했을 때 25 * number of filters가 한 layer의 parameter 개수가 된다. 입력 image 크기에 상관없이!

 

그렇다면 적은 수의 parameter로 학습시키는건데.. 어떻게 잘 작동할 수 있는걸까?

1. parameter sharing

- filter : detect feature. 즉 edge detection을 수행하는 filter의 경우, fully connected된 선형 구조 보다는 convolution 과정을 거치면서 weight를 공유해도 괜찮다. 이미지의 전체 위치에서 edge detection을 수행하는 과정은 동일한 작업이기 때문에.

 

2. sparsity of connections

- 지역적 특성을 고려할 수 있다고 생각하면 된다.

- 무슨말이냐면 output의 한 pixel에 영향을 미치는건 filter가 적용되는 input image의 한 부분이다. 그 외에 나머지 pixel들은 output의 한 pixel을 생성하는데 전혀 영향을 미치지 않는다.

'Google ML Bootcamp > 4. Convolutional Neural Networks' 카테고리의 다른 글

13. Classic Networks  (0) 2023.09.15
12. Why look at case studies?  (0) 2023.09.15
10. CNN Example  (0) 2023.09.15
9. Pooling Layers  (0) 2023.09.15
8. Simple Convolutional Network Example  (0) 2023.09.15