GoogLeNet에 대해서 공부하던 도중,
1 x 1 convolution을 왜 쓰는지에 대하여 이해가 되지 않았다.
구글링과 책에 나온 정보를 종합할 때, 다음과 같은 몇 가지 장점이 있다.
- 깊이 차원의 패턴 감지.[당연히 공간상의 패턴은 감지할 수 없다.]
- 차원[정확히 말하면 channel]의 수를 원하는 만큼 줄일 수가 있다.
- 비선형성 증가. [핸즈온 머신러닝에서는 이 특성을 '스테로이드 주사를 맞은 합성곱 층' 으로 비유하고 있다.]
일단, 비선형성 증가라는 특징은 각 Convolution Layer를 일반 신경망의 Dense layer라고 고려하면 매우 자명하다.
깊이 차원의 패턴 감지와 차원감소 특징의 경우 역시, 굉장히 자명하지만, 내가 convolution에 관해 잘못 이해를 하고 있었기 때문에 이해할 수 없었다.
Convolution layer 내의 하나의 층[즉, z 차원]은 하나의 필터에 연결되고, 그 안의 하나의 픽셀은 필터가 특정 x,y 좌표에 대한 필터링을 모든 z[channel]에 대하여 수행한 것을 종합한 값이다.
위 내용만 정확히 이해했다면, 위의 세 특징은 자명하다
'ML & AI' 카테고리의 다른 글
Stateful RNN의 input data 에 대한 이해 (0) | 2022.08.30 |
---|---|
잔차 학습<residual learning> in ResNet (2) | 2022.08.26 |
텐서플로에서 데이터 적재와 전처리하기 (0) | 2022.08.24 |
InvalidArgumentError : Graph execution error (0) | 2022.08.15 |
NMF (비음수 행렬분해) (0) | 2022.07.13 |