深度神经网络经典模型介绍

深度神经⽹络经典模型介绍
经典模型的特点介绍
VGG,GoogleNet,ResNet,Inception-ResNet-v2
1. VGG模型
VGG⼜分为VGG16和VGG19, 分别在AlexNet的基础上将层数增加到16和19层, 它除了在识别⽅⾯很优秀之外, 对图像的⽬标检测也有很好的识别效果, 是⽬标检测领域的较早期模型。
2. GoogLeNet模型
GoogLeNet除了层数加深到22层以外, 主要的创新在于它的Inception, 这是⼀种⽹中⽹(Network In Network) 的结构, 即原来的节点也是⼀个⽹络。 ⽤了Inception之后整个⽹络结构的宽度和深度都可扩⼤, 能够带来2到3倍的性能提升。
3. ResNet模型
ResNet直接将深度拉到了152层, 其主要的创新在于残差⽹络, 其实这个⽹络的提出本质上是要解决层
次⽐较深时⽆法训练的问题。 这种借鉴了Highway Network思想的⽹络, 相当于旁边专门开个通道使得输⼊可以直达输出, ⽽优化的⽬标由原来的拟合输出H(x) 变成输出和输⼊的差H(x) -x, 其中H(x) 是某⼀层原始的期望映射输出, x是输⼊。公众舆论
4. Inception-ResNet-v2模型
Inception-ResNet-v2: 是⽬前⽐较新的经典模型, 将深度和宽带融合到⼀起, 在当下ILSVRC图像分类基准测试中实现了最好的成绩,是将Inception v3与ResNet结合⽽成的。接下来主要对当前⽐较前沿的GoogLeNet、 ResNet、 Inception-ResNet-v2⼏种⽹络结构进⾏详细介绍。
GoogLeNet模型介绍
前⾯已经介绍过GoogLeNet, 其中最核⼼的亮点就是它的Inception, GoogLeNet⽹络最⼤的特点就是去除了最后的全连接层, ⽤全局平均池化层(即使⽤与图⽚尺⼨相同的过滤器来做平均池化) 来取代它。
这么做的原因是: 在以往的AlexNet和VGGNet⽹络中, 全连接层⼏乎占据90%的参数量, 占⽤了过多的运算量内存使⽤率, ⽽且还会引起过拟合。
GoogLeNet的做法是去除全连接层, 使得模型训练更快并且减轻了过拟合。
之后GoogLeNet的Inception还在继续发展, ⽬前已经有v2、 v3和v4版本, 主要针对解决深层⽹络的以下3个问题产⽣的。
(1)·参数太多, 容易过拟合, 训练数据集有限。
(2)·⽹络越⼤计算复杂度越⼤, 难以应⽤。
(3)·⽹络越深, 梯度越往后传越容易消失(梯度弥散) , 难以优化模型。
二八原理Inception的核⼼思想是通过增加⽹络深度和宽度的同时减少参数的⽅法来解决问题。Inception v1有22层深, ⽐AlexNet的8层或者VGGNet的19层更深。 但其计算量只有15亿次浮点运算, 同时只有500万的参数量, 仅为AlexNet参数量(6000万) 的1/12, 却有着更⾼的准确率。下⾯沿着Inception的进化来⼀步步了解Inception⽹络。 Inception是在⼀些突破性的研究成果之上推出的, 所以有必要从Inception的前⾝理论开始介绍。 下⾯先介绍MLP卷积层。
MLP卷积层
MLP卷积层(Mlpconv) 源于2014年ICLR的⼀篇论⽂《Network In Network》 。 它改进了传统的CNN⽹络, 在效果等同的情况下,参数只是原有的Alexnet⽹络参数的1/10。卷积层要提升表达能⼒, 主要依靠增加输出通道数, 每⼀个输出通道对应⼀个滤波器,同⼀个滤波器共享参数只能提取
⼀类特征, 因此⼀个输出通道只能做⼀种特征处理。 所以在传统的CNN中会使⽤尽量多的滤波器, 把原样本中尽可能多的潜在的特征提取出来, 然后再通过池化和⼤量的线性变化在其中筛选出需要的特征。 这样的代价就是参数太多, 运算太慢, ⽽且很容易引起过拟合。
MLP卷积层的思想是将CNN⾼维度特征转成低维度特征, 将神经⽹络的思想融合在具体的卷积操作当中。 直⽩的理解就是在⽹络中再放⼀个⽹络, 即, 使每个卷积的通道中包含⼀个微型的多层⽹络, ⽤⼀个⽹络来代替原来具体的卷积运算过程(卷积核的每个值与样本对应的像素点相乘, 再将相乘后的所有结果加在⼀起⽣成新的像素点的过程) 。 其结构如图1所⽰。图1 MLP结构图1中a为传统的卷积结构,图1 b为MLP结构。 相⽐较⽽⾔, 利⽤多层MLP的微型⽹络, 对每个局部感受野的神经元进⾏更加复杂的运算, ⽽以前的卷积层, 局部感受野的运算仅仅只是⼀个单层的神经⽹络。 在MLP⽹络中⽐较常见的是使⽤⼀个三层的全连接⽹络结构, 这等效于普通卷积层后再连接1∶1的卷积和ReLU激活函数。
图1
张在元Inception 原始模型
Inception的原始模型是相对于MLP卷积层更为稀疏, 它采⽤了MLP卷积层的思想, 将中间的全连接层换成了多通道卷积层。 Inception 与MLP卷积在⽹络中的作⽤⼀样, 把封装好的Inception作为⼀个卷积单元, 堆积起来形成了原始的GoogLeNet⽹络。Inception的结构是将1×1、 3×3、 5×5的卷积核对应的卷积操作和3×3的滤波器对应的池化操作堆叠在⼀起, ⼀⽅⾯增加了⽹络的宽度, 另⼀⽅⾯增加了⽹络对尺度的适应性, 如图2所⽰。
图2
Inception模型中包含了3种不同尺⼨的卷积和⼀个最⼤池化, 增加了⽹络对不同尺度的适应性, 这和Multi-Scale的思想类似。 早期计算机视觉的研究中, 受灵长类神经视觉系统的启发, Serre使⽤不同尺⼨的Gabor滤波器处理不同尺⼨的图⽚, Inception v1借鉴了这种思想。Inception v1的论⽂中指出, Inception模型可以让⽹络的深度和宽度⾼效率地扩充, 提升了准确率且不致于过拟合。形象的解释就是Inception模型本⾝如同⼤⽹络中的⼀个⼩⽹络, 其结构可以反复堆叠在⼀起形成更⼤⽹络。
万科捐款门
Inception v1模型在原有的Inception模型基础上做了⼀些改进, 原因是由于Inception的原始模型是将所有的卷积核都在上⼀层的所有输出上来做, 那么5×5的卷积核所需的计算量就⽐较⼤, 造成了特征图厚度很⼤。为了避免这⼀现象, Inception v1模型在3×3前、
5×5前、 最⼤池化层后分别加上了1×1的卷积核, 起到了降低特征图厚度的作⽤(其中1×1卷积主要⽤来降维) , ⽹络结构如图3所⽰。图3 Inception v1模型Inception v1模型中有以下4个分⽀:
第1个分⽀对输⼊进⾏1×1的卷积, 这其实也是NIN中提出的⼀个重要结构。 1×1的卷积可以跨通道组织信息, 提⾼⽹络的表达能⼒,同时可以对输出通道升维和降维。
第2个分⽀先使⽤了1×1卷积, 然后连接3×3卷积, 相当于进⾏了两次特征变换。·
第3个分⽀与第2个分⽀类似, 先是1×1的卷积, 然后连接5×5卷积。
第4个分⽀则是3×3最⼤池化后直接使⽤1×1卷积。
可以发现4个分⽀都⽤到了1×1卷积, 有的分⽀只使⽤1×1卷积, 有的分⽀在使⽤了其他尺⼨的卷积的同时会再使⽤1×1卷积, 这是因为1×1卷积的性价⽐很⾼, 增加⼀层特征变换和⾮线性转化所需的计算量更⼩。Inception v1模型的4个分⽀在最后再通过⼀个聚合操作合并(使⽤tf.concat函数在输出通道数的维度上聚合) 。
法拉第电解定律图3
初中数学教学大纲Inception v2模型在Inception v1模型基础上应⽤当时的主流技术, 在卷积之后加⼊了BN层, 使每⼀层的输出都归⼀化处理, 减少了内变协变量的移动问题; 同时还使⽤了梯了度截断技术, 增加了训练的稳定性。另外, Inception学习了VGG, ⽤2个3×3的conv替代inception模块中的5×5, 这既降低了参数数量, 也提升了计算速度。 其结构如图4所⽰
图4
Inception v3模型
Inception v3模型没有再加⼊其他的技术, 只是将原有的结构进⾏了调整, 其最重要的⼀个改进是分解, 将图5中的卷积核变得更⼩。具体的计算⽅法是: 将7×7分解成两个⼀维的卷积(1×7, 7×1) , 3×3的卷积操作也⼀样(1×3, 3×1) 。 这种做法是基于线性代数的原理, 即⼀个[n, n]的矩阵, 可以分解成矩阵[n,
1]×矩阵[1, n], 得出的结构如图5所⽰。
图5
假设有256个特征输⼊, 256个特征输出, 如果Inception 层只能执⾏3×3的卷积, 即总共要完成256×256×3×3的卷积(将近589 000次乘积累加运算) 。
如果需要减少卷积运算的特征数量, 将其变为64(即256/4) 个。 则需要先进⾏256→64 1×1的卷积, 然后在所有Inception的分⽀上进⾏64次卷积, 接着再使⽤⼀个来⾃64→256的特征的1×1卷积, 运算的公式如下:
256×64 × 1×1 = 16 000s
64×64 × 3×3 = 36 000s
64×256 × 1×1 = 16 000s
相⽐于之前的60万, 现在共有7万的计算量, ⼏乎原有的1/10。
在实际测试中, 这种结构在前⼏层处理较⼤特征数据时的效果并不太好, 但在处理中间状态⽣成的⼤⼩在12~20之间的特征数据时效果会⾮常明显, 也可以⼤⼤提升运算速度。 另外, Inception v3还做了其他的变化, 将⽹络的输⼊尺⼨由224×224变为了299×299,并增加了卷积核为35×35/17×17/8×8的卷积模块。
Inception v4模型
Inception v4是在Inception模块基础上, 结合残差连接(Residual Connection) 技术的特点进⾏了结构的优化调整。 Inception-ResNet v2⽹络与Inception v4⽹络, ⼆者性能差别不⼤, 结构上的区别在于Inception v4中仅仅是在Inception v3基础上做了更复杂的结构变化(从Inception v3的4个卷积模型变为6个卷积模块等) , 但没有使⽤残差连接。

本文发布于:2024-09-22 11:24:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/287128.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:卷积   特征   模型   结构
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议