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卷积最为直观的作用就是降低通道维度,进而减少参数的个数。
- 坐标敏感的转换函数,也可以是认为是跨通道的信息交互和整合的手段
- 对通道数降维或者升维,减少参数
1x1卷积对感受野大小的改造
需要进一步阅读的论文:
- goolenet
- network in network
- 全连接变卷积
- Inception in CNN
- dropout
- geeps
- ps
- 掌门一对一
- batch的大小为什么会影响训练效果
- 多层感知机和全连接网络的异同点