Network in Network

classification
convolutional
imagenet

#1

https://camo.githubusercontent.com/709b7f5eb5203b41f9456f887787b6ea790878b5/68747470733a2f2f636f6d6d756e6974792e61726d2e636f6d2f6366732d66696c652f5f5f6b65792f636f6d6d756e6974797365727665722d626c6f67732d636f6d706f6e656e74732d7765626c6f6766696c65732f30302d30302d30302d32302d36362f343738362e636f6e762e706e67

Convolutional Operation은 Filter를 인풋 이미지에 대해 스캔하듯 Linear Operation과 Non-Linear Operation을 취하는 방식입니다. Network in Network 논문에서는 이 Operation 자체를 Neural Network로 변경하는 시도를 했습니다.

MLP:Multi-layer Perceptron은 그 자체로 일종의 Function approximator이므로 Convolution 보다도 더 훌륭한 function을 찾기 위한 시도라고 볼 수도 있을 것 같습니다.

즉 기존의 Linear Convolution Layer를 MLPConv라는 새로운 오퍼레이션으로 대체한 것이고 위 그림에서 그 내용을 보여주고 있습니다.

따라서 전체적인 네트워크 구조는 위 그림과 같은 형태로 변경되고, 논문의 이름인 Network in Network 형태를 띕니다.

그리고 이 당시 대부분 CNN에서 마지막 부분을 차지하던 Fully Connected Layer를 Global Average Pooling 으로 대체합니다.

  • Convolution Layer의 Feature map과 Category 간의 관계를 더욱 자연스럽게 모델링한 셈
  • 특히 결과를 해석함에 있어서 특정 Feature Map의 역할을 더 분명하게 밝힐 수 있음
  • 튜닝해야할 파라미터 없음

위 그림에서 확인할 수 있듯이, softmax output에 영향을 준 feature map channel이 클래스에 따라 구분되는 것을 볼 수 있고요.

결론적으로 CIFAR-10 등의 데이터셋에서 더 나은 결과를 보여주는 것을 리포트합니다.

image