17.5.11 自己领悟

1.为什么局部连接?

局部感受野,局部连接可以学到边缘、端点等特征,然后经过CNN的逐层局部连接又可以讲这些组合得到主键抽象的高层特征

2.为什么权值共享?

为了学到图像的不同位置的相同类型的特征,比如学到斜线?直线?等,有效减少参数数目,比起全连接的网络模型也更加泛化?

2a,权值共享体现在哪里?

每个filter 要 全部走完整幅图像

2b,比方说有m层的输出为96个特征图,则需要96个filter,然而每个filter并不是单纯的为一张二维卷积滤波图,而是卷积核:即输入有几个通道,则这个卷积核就需要几张二维卷积滤波图,且这几张卷积滤波图的每张和每张的参数是不一样的:即输入特征图为32个,特征图大小为28×28,而输出特征图为96个,则共需要参数个数是28×28×31×96

2c,但是好像是一个filter就有一个bias

3.为什么池化操作?

池化可以得到抗局部平移、旋转、不同分辨率的更为鲁棒的局部特征。池化后的图像变小,是否可以理解为也减少了存储量?可实现关于特征的局部增强

4.多个filter的好处?

增加了更高级别图像局部结构描述的多样性

 5,一个epoch?

人们说的一个epoch是指所有训练样本过一遍,我纠结的是,包不包括有标签用来对模型进行测试的测试集,答案是不包括,这个训练集是指用来学习进行的forward与backward的数据样本。

6,Inception模块是怎么以稀疏连接替代稠密结构,在不增加模型自由参数规模前提下,网络深度得到有效提高,从而更为有效实现样本特征提取?

来自   http://m.blog.csdn.net/article/details?id=51052847

  

7,1×1卷积核的作用?

来自于   http://blog.csdn.net/yiliang_/article/details/60468655 

  

发现很多网络使用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卷积是对通道的操作,在通道的维度上进行线性组合)
来自  http://blog.csdn.net/langb2014/article/details/53735066  写的挺清楚

  

1. 这一点孙琳钧童鞋讲的很清楚。1×1的卷积层(可能)引起人们的重视是在NIN的结构中,论文中林敏师兄的想法是利用MLP代替传统的线性卷积核,从而提高网络的表达能力。文中同时利用了跨通道pooling的角度解释,认为文中提出的MLP其实等价于在传统卷积核后面接cccp层,从而实现多个feature map的线性组合,实现跨通道的信息整合。而cccp层是等价于1×1卷积的,因此细看NIN的caffe实现,就是在每个传统卷积层后面接了两个cccp层(其实就是接了两个1×1的卷积层)。
2. 进行降维和升维引起人们重视的(可能)是在GoogLeNet里。对于每一个Inception模块(如下图),原始模块是左图,右图中是加入了1×1卷积进行降维的。虽然左图的卷积核都比较小,但是当输入和输出的通道数很大时,乘起来也会使得卷积核参数变的很大,而右图加入1×1卷积后可以降低输入的通道数,卷积核参数、运算复杂度也就跟着降下来了。以GoogLeNet的3a模块为例,输入的feature map是28×28×192,3a模块中1×1卷积通道为64,3×3卷积通道为128,5×5卷积通道为32,如果是左图结构,那么卷积核参数为1×1×192×64+3×3×192×128+5×5×192×32,而右图对3×3和5×5卷积层前分别加入了通道数为96和16的1×1卷积层,这样卷积核参数就变成了1×1×192×64+(1×1×192×96+3×3×96×128)+(1×1×192×16+5×5×16×32),参数大约减少到原来的三分之一。同时在并行pooling层后面加入1×1卷积层后也可以降低输出的feature map数量,左图pooling后feature map是不变的,再加卷积层得到的feature map,会使输出的feature map扩大到416,如果每个模块都这样,网络的输出会越来越大。而右图在pooling后面加了通道为32的1×1卷积,使得输出的feature map数降到了256。GoogLeNet利用1×1的卷积降维后,得到了更为紧凑的网络结构,虽然总共有22层,但是参数数量却只是8层的AlexNet的十二分之一(当然也有很大一部分原因是去掉了全连接层)。

 8,怎么在caffe的model zoo提供的例如AlexNet和GoogLeNet模型上进行微调(finetune)?

9,针对双流卷积神经网络模型,使用交叉预训练模型将用于rgb空间流的初始化模型怎么用于时间流????

原文地址:https://www.cnblogs.com/LiuSY/p/6840363.html