caffe学习笔记33-关于1*1卷积核理解
2017-03-05 16:41
302 查看
发现很多网络使用1×1的卷积核,实际就是对输入的一个比例缩放,因为1×1卷积核只有一个参数,这个核在输入上滑动,就相当于给输入数据乘以一个系数。(对于单通道和单个卷积核而言这样理解是可以的)
对于多通道和多个卷积核的理解,1×1卷积核大概有两方面的作用:
1.实现跨通道的交互和信息整合(具有线性修正特性,实现多个feature map的线性组合,可以实现feature map在通道个数上的变化,想象成跨通道的pooling,(输入的多通道的feature map和一组卷积核做卷积求和得到一个输出的feature map)
2.进行卷积核通道数的降维和升维(同时还具有降维或者升维功能)
3.在pooling层后面加入的1×1的卷积也是降维,使得最终得到更为紧凑的结构,虽然有22层,但是参数数量却只是alexnet的1/12.
4.最近大热的MSRA的resnet也利用了1×1的卷积,并且是在3×3卷积层的前后都使用了,不仅进行了降维,还进行了升维,使得卷积层的输入和输出的通道数都减小,数量进一步减少。如果1×1卷积核接在普通的卷积层后面,配合激活函数,就可以实现network in network的结构了。
5.还有一个很重要的功能,就是可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。(平均池化是针对每个feature map的平均操作,没有通道间的交互,而1×1卷积是对通道的操作,在通道的维度上进行线性组合)
对于多通道和多个卷积核的理解,1×1卷积核大概有两方面的作用:
1.实现跨通道的交互和信息整合(具有线性修正特性,实现多个feature map的线性组合,可以实现feature map在通道个数上的变化,想象成跨通道的pooling,(输入的多通道的feature map和一组卷积核做卷积求和得到一个输出的feature map)
2.进行卷积核通道数的降维和升维(同时还具有降维或者升维功能)
3.在pooling层后面加入的1×1的卷积也是降维,使得最终得到更为紧凑的结构,虽然有22层,但是参数数量却只是alexnet的1/12.
4.最近大热的MSRA的resnet也利用了1×1的卷积,并且是在3×3卷积层的前后都使用了,不仅进行了降维,还进行了升维,使得卷积层的输入和输出的通道数都减小,数量进一步减少。如果1×1卷积核接在普通的卷积层后面,配合激活函数,就可以实现network in network的结构了。
5.还有一个很重要的功能,就是可以在保持feature map尺度不变的(即不损失分辨率)的前提下大幅增加非线性特性(利用后接的非线性激活函数),把网络做的很deep。(平均池化是针对每个feature map的平均操作,没有通道间的交互,而1×1卷积是对通道的操作,在通道的维度上进行线性组合)
相关文章推荐
- XML学习笔记(一):关于字符编码的理解
- 学习笔记:Caffe上LeNet模型理解
- caffe学习笔记29-关于目标检测
- caffe学习笔记32-关于修改源码
- IOS 学习笔记--关于对Block的理解
- DL学习笔记【6】caffe参数调节-卷积层(convolution)
- Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解
- caffe学习笔记30-关于梯度消失与溢出
- 深度学习Caffe实战笔记(11)一句话理解caffe的数据结构
- Java程序员的C#学习笔记(关于.NET的理解)
- 33.Oracle深度学习笔记——关于DRM
- Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解
- caffe学习笔记28-全卷积网络FCN笔记
- us/os ii 学习笔记 20100421 关于os的一点宏观理解
- 关于Egret的学习笔记与理解之一
- Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解
- javaweb学习笔记之关于分层结构的初步理解
- 编译原理学习笔记·关于四种文法的理解以及 如何根据语言描述给出正则式或相应文法
- caffe学习笔记31-理解全连接层
- Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解