首页 > 编程知识 正文

最全眼影整理,cnn网络模型

时间:2023-05-06 16:31:40 阅读:14867 作者:4505

CNN网络结构的发展

本文介绍了CNN的基本部件及其发展过程中各种网络结构的特性和优缺点

CNN基本部件介绍局部感觉野在图像中局部像素之间联系强,而分开的像素之间联系相对弱。 因此,实际上每个神经元不需要全局感知图像,而是只需要感知局部信息并集成更高层的局部信息就可以获得全局信息。 卷积操作是局部感知域的实现,卷积操作由于可以共享权重,所以参数量也减少。

池化主要是通过缩小输入图像以减少像素信息,只保留重要信息来减少计算量。 主要包括最大池化和平均池化。

激活函数激活函数的使用是为了增加非线性。 一般激活函数为sigmod、tanh、relu,前两个常用于全连接层,relu常用于卷积层

全连接层:全连接层在整个卷积神经网络中充当分类器。 在完全连接层之前,必须平整前面的输出

经典的网络结构LeNet5由两个卷积层、两个池化层和两个全连接层组成。 卷积内核均为55,stride=1,池化层采用最大轮询

2.Alex网

模型共有8层,包括5个卷积层、3个全连接层,而不是input层。 最后一层使用softmax作为分类输出

AlexNet使用ReLU作为激活函数; 通过过拟合防止dropout和数据扩展的双GPU实现; 使用局域网

VGG均使用33卷积核堆栈来模拟更大的感觉区,且网络层数更深。 VGG有5级卷积,每级卷积后持续1级最大池化。 卷积核的数量逐渐增加。

总结: LRN效果不大; 越深的网络越有效。11的卷积也有效,但不如33好

4 .谷歌网络(Inception v1 ) )。

研究表明,在VGG中,网络层数越深越有效。 但是,随着模型的加深,参数会增加,网络容易拟合,需要提供更多的训练数据,而复杂的网络需要更多的计算量、更大的模型存储、更多的训练数据谷歌网从减少参数的角度设计网络结构。

谷歌网通过增加网络的宽度增加了网络的复杂性,让网络可以自己选择应该如何选择卷积核心。 该设计减少了参数,同时提高了网络对多种尺度的适应性。 11卷积可以在不增加参数的情况下提高网络的复杂性。

Inception-v2

在v1中加入batch normalization技术后,在tensorflow中,用连续的2个33卷积代替在激活函数之前使用BN更有效的55卷积,使网络更深,参数更少

Inception-v3

核心思想是将卷积核分解为更小的卷积核,如将77分解为17和71两个卷积核,减少网络参数,加深深度

Inception-v4结构

引入了ResNet,加快了培训并提高了性能。 但是,在滤波器数量过多(1000 )的情况下,训练不稳定,可以加入主动缩放因子进行缓解

Xception基于Inception-v3提出,基本思想是通道分离式卷积,但又有区别。 模型参数略有减少,但精度更高。 Xception首先进行11卷积,然后进行33卷积。 也就是说,在合并频道之后进行空间卷积。 深度wise则相反,先进行空间33卷积,再进行通道11卷积。 主要思想是在卷积时遵循信道卷积与空间卷积分离的假设。 MobileNet-v1使用深度wise的顺序,添加了BN和ReLU。 Xception的参数量与Inception-v3相差不大,目的是增加网络宽度以提高网络准确性,而MobileNet-v1的目的是减少网络参数以提高效率。

6. MobileNet系列

V1

使用深度可用转换; 放弃轮询层并使用stride=2的卷积。 标准卷积的卷积内核的通道数等于输入配置文件的通道数; 深度wise卷积核通道数为1; 另两个参数可以控制,a控制输入输出通道数量; 控制p图像(特征图)的分辨率。

V2

与v1相比有三个区别。 1 .引入了残差结构; 2 .在dw之前进行11卷积,增加feature map通道数。 与通常的重构块不同; 3.pointwise结束后,舍弃ReLU,改为linear激活函数,防止ReLU特征的破环。 这是因为dw层提取的特征被限制在输入通道数上。 传统的residual block,由于先压缩该dw可以提取的特征变少,所以一开始不压缩,反而先扩展。 然而,如果采用扩展卷积压缩,压缩后会出现问题,ReLU会破坏环路的特征,但特征原本就压缩了,进而通过ReLU会丢失一些特征,应该采用linear。

V3

互补搜索技术组合:资源受限的NAS执行模块集搜索,NetAdapt执行本地搜索; 改善网络结构:向前移动最后一步平均池化层,去除最后一个卷积层,引入h-swish激活函数,修正了第一个滤波器组。

V3整合了v1的可深度分离卷

积,v2的具有线性瓶颈的反残差结构,SE结构的轻量级注意力模型。



EffNet

EffNet是对MobileNet-v1的改进,主要思想是:将MobileNet-1的dw层分解层两个3×1和1×3的dw层,这样 第一层之后就采用pooling,从而减少第二层的计算量。EffNet比MobileNet-v1和ShuffleNet-v1模型更小,进度更高。

EfficientNet

研究网络设计时在depth, width, resolution上进行扩展的方式,以及之间的相互关系。可以取得更高的效率和准确率。

ResNet

VGG证明更深的网络层数是提高精度的有效手段,但是更深的网络极易导致梯度弥散,从而导致网络无法收敛。经测试,20层以上会随着层数增加收敛效果越来越差。ResNet可以很好的解决梯度消失的问题(其实是缓解,并不能真正解决),ResNet增加了shortcut连边。

ResNeXt

基于ResNet和Inception的split+transform+concate结合。但效果却比ResNet、Inception、Inception-ResNet效果都要好。可以使用group convolution。一般来说增加网络表达能力的途径有三种:1.增加网络深度,如从AlexNet到ResNet,但是实验结果表明由网络深度带来的提升越来越小;2.增加网络模块的宽度,但是宽度的增加必然带来指数级的参数规模提升,也非主流CNN设计;3.改善CNN网络结构设计,如Inception系列和ResNeXt等。且实验发现增加Cardinatity即一个block中所具有的相同分支的数目可以更好的提升模型表达能力。

DenseNet

DenseNet通过特征重用来大幅减少网络的参数量,又在一定程度上缓解了梯度消失问题。

SqueezeNet

提出了fire-module:squeeze层+expand层。Squeeze层就是1×1卷积,expand层用1×1和3×3分别卷积,然后concatenation。squeezeNet参数是alexnet的1/50,经过压缩之后是1/510,但是准确率和alexnet相当。

ShuffleNet系列

V1

通过分组卷积与1×1的逐点群卷积核来降低计算量,通过重组通道来丰富各个通道的信息。Xception和ResNeXt在小型网络模型中效率较低,因为大量的1×1卷积很耗资源,因此提出逐点群卷积来降低计算复杂度,但是使用逐点群卷积会有副作用,故在此基础上提出通道shuffle来帮助信息流通。虽然dw可以减少计算量和参数量,但是在低功耗设备上,与密集的操作相比,计算、存储访问的效率更差,故shufflenet上旨在bottleneck上使用深度卷积,尽可能减少开销。

V2

使神经网络更加高效的CNN网络结构设计准则:

输入通道数与输出通道数保持相等可以最小化内存访问成本

分组卷积中使用过多的分组会增加内存访问成本

网络结构太复杂(分支和基本单元过多)会降低网络的并行程度

element-wise的操作消耗也不可忽略

SENet

SKNet

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。