본문 바로가기

ML & AI

1 x 1 convolution ?

GoogLeNet에 대해서 공부하던 도중,

 1 x 1 convolution을 왜 쓰는지에 대하여 이해가 되지 않았다.

 

구글링과 책에 나온 정보를 종합할 때, 다음과 같은 몇 가지 장점이 있다.

 

  • 깊이 차원의 패턴 감지.[당연히 공간상의 패턴은 감지할 수 없다.]
  • 차원[정확히 말하면 channel]의 수를 원하는 만큼 줄일 수가 있다.
  • 비선형성 증가. [핸즈온 머신러닝에서는 이 특성을 '스테로이드 주사를 맞은 합성곱 층' 으로 비유하고 있다.]

 

일단, 비선형성 증가라는 특징은 각 Convolution Layer를 일반 신경망의 Dense layer라고 고려하면 매우 자명하다.

 

깊이 차원의 패턴 감지와 차원감소 특징의 경우 역시,  굉장히 자명하지만,  내가 convolution에 관해 잘못 이해를 하고 있었기 때문에 이해할 수 없었다.

 

Convolution layer 내의 하나의 층[즉, z 차원]은 하나의 필터에 연결되고, 그 안의 하나의 픽셀은 필터가 특정 x,y 좌표에 대한 필터링을 모든 z[channel]에 대하여 수행한 것을 종합한 값이다. 

위 내용만 정확히 이해했다면, 위의 세 특징은 자명하다