网络

参考:请看原博客
https://blog.csdn.net/qq_14845119/article/details/73648100

Inception V1

主要提出了 Inceptionmodule结构(11,33,55的conv和33的pooling组合在一起),最大的亮点是NIN(Network in Network)中引入了1×1 conv。代表作是GoogLeNet。
在这里插入图片描述
这里计算下参数量:
假设previous layer的大小为2828192,则:
(a)中weights个数:1119264+33192128+5519232=387072
(a)输出特征图大小:28
2864+2828128+282832+2828192=2828416
(b)中weights个数:1
119264+(1119296+3396128)+(1119216+551632)+1119232=163328
(b)输出特征图大小:28
2864+2828128+282832+282832=2828*256

Inception v1的亮点总结如下:

(1)卷积层共有的一个功能,可以实现通道方向的降维和增维,至于是降还是增,取决于卷积层的通道数(滤波器个数),在Inception v1中1*1卷积用于降维,减少weights大小和feature map维度。

(2)11卷积特有的功能,由于11卷积只有一个参数,相当于对原始feature map做了一个scale,并且这个scale还是训练学出来的,无疑会对识别精度有提升。

(3)增加了网络的深度

(4)增加了网络的宽度

(5)同时使用了11,33,5*5的卷积,增加了网络对尺度的适应性

下图为googlenet网络结构:

这里有2个地方需要注意:

(1)整个网络为了保证收敛,有3个loss

(2)最后一个全连接层之前使用的是global average pooling,全局pooling使用的好了,还是有好多地方可以发挥的。
在这里插入图片描述

inception v2

Inception v2的网络,代表作为加入了BN(Batch Normalization)层,并且使用2个33替代1个55卷积的改进版GoogleNet。
Inception v2的亮点总结如下:

(1)加入了BN层,减少了InternalCovariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯,从而增加了模型的鲁棒性,可以以更大的学习速率训练,收敛更快,初始化操作更加随意,同时作为一种正则化技术,可以减少dropout层的使用。

(2)用2个连续的33 conv替代inception模块中的55,从而实现网络深度的增加,网络整体深度增加了9层,缺点就是增加了25%的weights和30%的计算消耗。
在这里插入图片描述

inception v3

Inception v3网络,主要在v2的基础上,提出了卷积分解(Factorization),代表作是Inceptionv3版本的GoogleNet。

Inception v3的亮点总结如下:

(1) 将77分解成两个一维的卷积(17,71),33也是一样(13,31),这样的好处,既可以加速计算(多余的计算能力可以用来加深网络),又可以将1个conv拆成2个conv,使得网络深度进一步增加,增加了网络的非线性,更加精细设计了3535/1717/8*8的模块。

(2)增加网络宽度,网络输入从224224变为了299299。

inception v4

Inception v4主要利用残差连接(Residual Connection)来改进v3结构,代表作为,Inception-ResNet-v1,Inception-ResNet-v2,Inception-v4

resnet中的残差结构如下,这个结构设计的就很巧妙,简直神来之笔,使用原始层和经过2个卷基层的feature map做Eltwise。Inception-ResNet的改进就是使用上文的Inception module来替换resnet shortcut中的conv+1*1 conv。

Inception v4的亮点总结如下:

(1)将Inception模块和ResidualConnection结合,提出了Inception-ResNet-v1,Inception-ResNet-v2,使得训练加速收敛更快,精度更高。

ILSVRC-2012测试结果如下(single crop)
(2)设计了更深的Inception-v4版本,效果和Inception-ResNet-v2相当。

(3)网络输入大小和V3一样,还是299*299

Aggregated ResidualTransformations for Deep Neural Networks

这篇提出了resnet的升级版。ResNeXt,the next dimension的意思,因为文中提出了另外一种维度cardinality,和channel和space的维度不同,cardinality维度主要表示ResNeXt中module的个数,最终结论:
(1)增大Cardinality比增大模型的width或者depth效果更好

(2)与 ResNet 相比,ResNeXt 参数更少,效果更好,结构更加简单,更方便设计
其中,左图为ResNet的一个module,右图为ResNeXt的一个module,是一种split-transform-merge的思想
在这里插入图片描述
其中,圆圈中加加号代表:逐元素相加。

Xception

这篇文章主要在Inception V3的基础上提出了Xception(Extreme Inception),基本思想就是通道分离式卷积(depthwise separable convolution operation)。最终实现了:
(1)模型参数有微量的减少,减少量很少,具体如下
(2)精度较Inception V3有提稍微提升,ImageNET上的精度如下,

先说,卷积的操作,主要进行2种变换,

(1)spatial dimensions,空间变换

(2)channel dimension,通道变换

而Xception就是在这2个变换上做文章。Xception与Inception V3的区别如下:

(1)卷积操作顺序的区别
Inception V3是先做11的卷积,再做33的卷积,这样就先将通道进行了合并,即通道卷积,然后再进行空间卷积,而Xception则正好相反,先进行空间的33卷积,再进行通道的11卷积。在这里插入图片描述
个人感觉只是调换了1×1,3×3卷积的先后顺序,属于小改进。
(2)RELU的有无

这个区别是最不一样的,Inception V3在每个module中都有RELU操作,而Xception在每个module中是没有RELU操作的。

MobileNets: EfficientConvolutional Neural Networks for Mobile Vision Applications

MobileNets其实就是Exception思想的应用。区别就是Exception文章重点在提高精度,而MobileNets重点在压缩模型,同时保证精度。
depthwiseseparable convolutions的思想就是,分解一个标准的卷积为一个depthwise convolutions和一个pointwise convolution。简单理解就是矩阵的因式分解。
在这里插入图片描述
传统卷积和深度分离卷积的区别如下,
在这里插入图片描述
假设输入特征大小为:70×70×120,输出特征大小为:70×70×240。kernel size 为3×3,stride和pading为1。
(左)的矩阵运算次数为:3×3×70×70×120×240=1.27008E9
(左)的参数个数为:3×3×120×240=259200
(右)的矩阵运算次数为:3×3×70×70×120+70×70×120×240=5292000+141120000=146412000
(右)的参数个数为:3×3×120+120×240=29880
运算次数:(左)/(右)=8.6747
参数个数:(左)/(右)=8.6747
因此,depthwiseseparable convolutions在模型大小上和模型计算量上都进行了大量的压缩,使得模型速度快,计算开销少,准确性好。如下图所示,其中,横轴MACS表示加法和乘法的计算量(Multiply-Accumulates),纵轴为准确性。
在这里插入图片描述
depthwise separable convolutions在caffe中,主要通过卷积层中group操作实现,base_line模型大小大概为16M。
mobileNet网络结构如下:

shuffleNet:

这篇文章在mobileNet的基础上主要做了1点改进:

mobileNet只做了33卷积的deepwiseconvolution,而11的卷积还是传统的卷积方式,还存在大量冗余,ShuffleNet则在此基础上,将1*1卷积做了shuffle和group操作,实现了channel shuffle 和pointwise group convolution操作,最终使得速度和精度都比mobileNet有提升。

如下图所示,

(a)是原始的mobileNet的框架,各个group之间相互没有信息的交流。

(b)将feature map做了shuffle操作

©是经过channel shuffle之后的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值