CNN基础模型总结

以前被问到了CNN类基础模型的一些特性,好比1X1卷积,还有经典卷积网络发展及为何采用此结构,结果被问住了。学习过程当中其实没有作过更深层次的思考,好比为何会选择这种架构,可不能够采用其余结构来替换,只是会用一些经典模型。到最后别人问几个为何就不知道了。基础仍是要增强呀。如今先参考别人的专栏还有论文总结一下。html

参考: https://www.cnblogs.com/guoyaohua/p/8534077.html  https://zhuanlan.zhihu.com/p/50754671  网络

LeNet-5架构

最先的卷积网络结构,引入了卷积结构提取图像特征,同时包含池化,激活函数和全链接层结构,最先用来进行手写体数字识别,准确率达到99%函数

 

 

AlexNet性能

 结构以下:学习

 

结构与LeNet比深刻了不少,同时采用了relu激活函数,有效避免了梯度消失现象。堆叠卷积层,能够看到两次池化后卷积操做变多(由于尺寸逐渐变小,因此降采样采用的次数减小),同时采用Dropout来下降过拟合。google

论文里是使用两个GPU跑的,因此看到网络分红了两部分,如今的话综合成 一个便可。3d

VGG-16htm

 

 深度更深了,反复堆叠3*3卷积(小卷积)及2*2池化,论证了深度与性能关系。也有VGG-19,可是性能和VGG-16差很少。blog

Inception系列

Inception 系列是google提出的,VGG-16证实通常加强模型质量手段是增长模型宽度和深度,可是同时会带来过拟合和运算量的缺点,Inception系列

以下图所示。优势1. 采用不一样的卷积核表示不一样大小的感觉野,最后拼接表明不一样尺度的特征融合。2. 卷积核采用1*1,3*3和5*5,步长为1,padding=0,1,2,采用same卷积能够获得相同维度的特征。3. 到最后感觉野逐渐增多,随着层数增长,3*3和5*5的卷积核数量也要增长。4.先采用1*1卷积进行降维操做,以后再进行3*3或者5*5的卷积,有利于下降计算量。其实1*1卷积还能够增长非线性及跨层链接做用,以此增长模型的信息容量。可参考1*1卷积的实现方式。但主要应该是进行降维和升维。

5.最后一层引入了全局池化,做用应该是下降参数量。 整个结构还有两个附属loss,目的是防止梯度消失,增长正则性。

 

Inception V2

 InceptionV2采用了BN层,避免梯度消失或爆炸。同时,它采用两个3*3的卷积核代替5*5的卷积核(步长为1),由于两种方式感觉野相同,可是前一种计算量小。

InceptionV3

提出n*n的卷积核是否能够用1*n和n*1的卷积核来代替。但实际并很差,对n处于12到20之间的卷积核才好一点。

 

 

另外一个改进是再也不使用pooling层直接做为下采样,而是采用卷积核pooling结合的策略

总体的架构比较复杂,仍是要看下专门的博客讲的详细。

ResNet

由于InceptionV4引入了残差模块,因此先讲一下残差网络。

 直连神经网络并非深度越深性能越好,而是随着深度的加深,先变好,后退化。以前能够考虑多增长的层数学习成恒等形式,这样增长的深度就能够抵消了,可是恒等形式比较难学。因此引入残差模块,残差相对而言比较好学。以下图结构,以后随着网络加深,模型准确率逐渐提升。

Inception Resnet

分别在InceptionV1-V4引入了残差模块,结构以下

Xception

xception是对每个通道进行卷积。即先经过1*1得到多通道信息,再使用3*3对每个通道进行卷积,从而得到每个通道的区域相关性,同时也借鉴了残差模块。结构以下:

所谓的对1*1卷积后的网络每个通道再进行3*3卷积,以下,也减小了不少参数量。

相关文章
相关标签/搜索