Caffe学习系列(3):im2col
来源:互联网 发布:中国茶叶出口数据2017 编辑:程序博客网 时间:2024/04/27 10:37
转自
http://www.cnblogs.com/denny402/p/5071126.html
http://www.cnblogs.com/louyihang-loves-baiyan/p/5154337.html
分析很清楚,转载备忘
im2col层
如果对matlab比较熟悉的话,就应该知道im2col是什么意思。它先将一个大矩阵,重叠地划分为多个子矩阵,对每个子矩阵序列化成向量,最后得到另外一个矩阵。
看一看图就知道了:在caffe中,卷积运算就是先对数据进行im2col操作,再进行内积运算(inner product)。这样做,比原始的卷积操作速度更快。
看看两种卷积操作的异同(输入特征由3个通道组成,每个通道跟不同的卷积核做卷积运算,最后再将得到3个通道的卷积结果相加,得到一份输出特征):
另外,im2col还能使得复杂的卷积梯度求导变得简单化。
(摘自:http://zhangliliang.com/2015/02/11/about-caffe-code-convolutional-layer/)
卷积层的梯度传导公式,参考了这两篇:
http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/
http://cogprints.org/5869/1/cnn_tutorial.pdf
卷积层的参数的梯度可以这样来求:
只需要额外增加一步
im2col
。这一步的意思是将首先将整张图片按照卷积的窗口大小切好(按照stride来切,可以有重叠),然后各自拉成一列。为对于这个小窗口内拉成一列的神经元来说来说,它们跟下一层神经元就是全连接了,所以这个小窗口里面的梯度计算就可以按照全连接来计算就可以了。 0 0
- Caffe学习系列(3):im2col
- 学习:im2col
- caffe源码解析-im2col
- caffe im2col 详解
- caffe im2col详解
- 【caffe源码阅读】1.im2col
- caffe源码深入学习6:超级详细的im2col绘图解析,分析caffe卷积操作的底层实现
- 梳理caffe代码im2col(十七)
- caffe代码阅读10:Caffe中卷积的实现细节(涉及到BaseConvolutionLayer、ConvolutionLayer、im2col等)-2016.4.3
- caffe学习系列
- Caffe学习系列****
- 【caffe】Caffe学习系列:solver及其配置
- caffe 学习系列之finetuning
- caffe 学习系列 视觉层
- caffe学习系列:命令行解析
- Caffe学习系列:caffemodel可视化
- caffe学习系列--层解读
- caffe学习系列:数据增强
- linux上修改时间
- iOS视图控制器编程指南 --- 视图控制器层次结构
- 1026. 程序运行时间(15)
- 英语的五种基本句型
- 正向代理与反向代理
- Caffe学习系列(3):im2col
- 《UNIX环境高级编程》(进程环境)
- vim常用命令示意图
- poj1001
- 2.ubuntu 配置目录
- error C4996: 'pcl::SAC_SAMPLE_SIZE': PCL1.8问题汇总
- Redis 与 Memcache比较
- Android切换横屏竖屏生命周期变化
- hdu_2608_0 or 1_数论