1x1卷积

1x1卷积的探索

Posted by Jinquan on February 15, 2017

1x1卷积,乍一看上去,似乎没有多少实际意义,但是在实际使用过程中,1x1卷积起到了很大的作用,在resnet、yolo等网络结构中,都出现了1x1卷积操作,本文通过一些资料和笔者平时的实验感受讲述1x1卷积的具体作用。

1x1卷积第一次被引入是在Network in Network的工作中,在该工作中,作者使用MLPConv来代替了传统卷积中的线性组合操作,使得整个网络在增加较少参数的条件上做到了实际意义上的更深。该工作中的MLP被解释为在传统的conv上继续做了cross channel parametric pooling,极大增加了网络的非线性程度。该论文的具体细节。欢迎移步NIN阅读笔记.

GoogLeNet再次提及了1x1卷积,在这篇论文中使用1x1卷积的主要目的是降低通道维度和减少模型参数,并使得网络可以更深。在随后的工作中,Resnet、YOLO等都使用了1x1卷积。

增加非线性特征

在不改变feature map大小的前提下大幅增加非线性特征(尽管1x1是严格线性的,但是一般在1x1卷积函数后,都会跟上ReLU激活函数,这样就可以不改变feature map的前提下,增加网络的非线性特征)

降低通道维度

目前,1x1卷积最为直观的作用就是降低通道维度,进而减少参数的个数

  1. 坐标敏感的转换函数,也可以是认为是跨通道的信息交互和整合的手段
  2. 对通道数降维或者升维,减少参数

1x1卷积对感受野大小的改造

需要进一步阅读的论文:

  1. goolenet
  2. network in network
  3. 全连接变卷积
  4. Inception in CNN
  5. dropout
  6. geeps
  7. ps
  8. 掌门一对一
  9. batch的大小为什么会影响训练效果
  10. 多层感知机和全连接网络的异同点

参考文献

  1. caffe社区
  2. blog_1