经典计算机视觉论文笔记——《Network in Network》

       这篇论文引用量并不算高,但是提出了一个很有意思观点,就是将全连接层与卷积层统一起来。后续的很多经典网络结构,包括googlenet,FCN,应该都受其启发。作者是颜水成团队,caffe的model zoo也有见到nin的身影,还是很有影响力的。

技术概括

  • 改进了传统CNN的结构。将每个卷积层用一个小型的权值共享的多层全连接神经网络(即多层感知机,mlp)代替,据说比单纯的卷积操作具有更好的非线性表达能力,可以逼近任意函数。
  • 取消传统CNN的全连接层,倒数第二层就是feature maps,每个feature map对应一类,最后一对一直接连到softmax层输出各类概率。

一些值得反思的细节

  • 文中的nin具体结构是3个mlp层,每个mlp层包含一个3层的全连接网络。最后是一个softmax层。无pooling层。
  • 根据作者论述,mlp层其实是一个多层卷积层,除了第一个卷积外,剩下的都是1*1卷积。这里有一个概念,包括很多大牛的论文中的说法都不严格,使1*1卷积的概念极易让人困惑。卷积的输入对象是一个三维立方体,其中两维构成图像平面,另一维是通道,所以1*1卷积准确的说法是1*1*n卷积,n是通道数。只在通道方向上做卷积,卷积核的个数假设是m,就等于一个从n个神经元到m个神经元的全连接。
  • 最后分类时取消全连接层,就是把一个黑盒子去掉,每一层都有实际的意义。看最后的实验可以发现,倒数第二层的feature maps其实就是每一类的响应热图,而且由于从头到尾都是局部卷积操作,这个热图能比较准确反应目标的位置,具有目标检测的额外功效。可类比FCN,每一局部块最后都映射到类标,所以自然最后形成热图。nin虽是局部映射,但最后是全局做pooling,再映射到类标,形成热图的方法没有FCN那么直接。
  • 除了最后一个mlp层,其它层都用到了dropout防止过拟合。
  • 对原始图像进行了global contrast normalization和ZCA whitening预处理。虽然不知道具体起了多大作用。

借鉴之处

  • 结构变得复杂的同时,与原始的CNN的基本模块足够相容,在caffe这类层模块化的框架下很容易实现。
  • 局部化操作、全卷积、结构加深。去除全连接的黑盒子。减少参数。

你可能感兴趣的:(论文笔记)