Inception-v1

声明:文章仅作知识整理、分享,如有侵权请联系作者删除博文,谢谢!

经典分类网络(传送门):目录索引LeNetAlexNetVGGResNetInceptionDenseNetSeNet

相关文章:Inception-v2Inception-v3、v4

1、简介

与VGG同年,google也独立在深度网络的深度方向及多尺度方面进行了研究。该结构充分利用了网络结构中子网络的计算,在设计过程中,受到了多尺度处理的启发。GoogLeNet的参数量相比AlexNet要少很多,是AlexNet参数的1/12。

2、研究动机

针对之前的网络结构(ALeNet)设计,主要存在几个方面的缺点:

1、参数太多,模型的熵容量太大,容易导致过拟合,尤其对于比较小的数据集;

2、网络越大,计算复杂度也就越大,在实际应用困难

3、网络越深,模型训练越困难,梯度消失问题不可避免。

一般来说,提升网络性能最直接的办法就是增加网络深度和宽度,这也就意味着巨量的参数。但是,巨量参数容易产生过拟合也会大大增加计算量。

文章认为解决上述两个缺点的根本方法是将全连接甚至一般的卷积都转化为稀疏连接。一方面现实生物神经系统的连接也是稀疏的,另一方面有文献1表明:对于大规模稀疏的神经网络,可以通过分析激活值的统计特性和对高度相关的输出进行聚类来逐层构建出一个最优网络。这点表明臃肿的稀疏网络可能被不失性能地简化。 虽然数学证明有着严格的条件限制,但Hebbian准则有力地支持了这一点:fire together,wire together。

3、GoogLeNet的研究动机

Inception 结构的主要思路是怎样用密集成分来近似最优的局部稀疏结构。 

深度: 网络采用了一个22层的结构,9个Inception(2-5-2结构),但是为了避免梯度消失问题,GoogLeNet在不同层增加了Loss的输出;

宽度: 网络在每一个小的结构中,利用了1x1, 3x3, 5x5的卷积核和直接Max Pooling操作(为了保证输出的特征层的大小与卷积核输出大小相同,步长设置为1),为了避免由于宽度的增加带来每一个卷机核或者Max Pooling输出的特征层cancatenate之后,特征层的深度过深,也为了减少网络参数,在每一个3x3,5x5的卷积核前面和3x3Max Pooling后面都利用了一个1x1的卷积核进行降维,如下图:

对上图做以下说明:

1、采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;

2、之所以卷积核大小采用1、3和5,主要是为了方便对齐。设定卷积步长stride=1之后,只要分别设定pad=0、1、2,那么卷积之后便可以得到相同维度的特征,然后这些特征就可以直接拼接在一起了

3、文章说很多地方都表明pooling挺有效,所以Inception里面也嵌入了

4、网络越到后面,特征越抽象,而且每个特征所涉及的感受野也更大了,因此随着层数的增加,3x3和5x5卷积的比例也要增加。

使用5x5的卷积核仍然会带来巨大的计算量。 为此,文章借鉴NIN2,采用1x1卷积核来进行降维。

例如:上一层的输出为100x100x128,经过具有256个输出的5x5卷积层之后(stride=1,pad=2),输出数据为100x100x256。其中,卷积层的参数为128x5x5x256。假如上一层输出先经过具有32个输出的1x1卷积层,再经过具有256个输出的5x5卷积层,那么最终的输出数据仍为为100x100x256,但卷积参数量已经减少为128x1x1x32 + 32x5x5x256,大约减少了4倍。

4、GoogLeNet模型结构

GoogLeNet的整体结构如下图:

对上图做如下说明:

1、显然GoogLeNet采用了模块化的结构,方便增添和修改;

2、网络最后采用了average pooling来代替全连接层,想法来自NIN,事实证明可以将TOP1 accuracy提高0.6%。但是,实际在最后还是加了一个全连接层,主要是为了方便以后大家finetune;

3、虽然移除了全连接,但是网络中依然使用了Dropout ;

4、为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传导梯度。文章中说这两个辅助的分类器的loss应该加一个衰减系数,但看caffe中的model也没有加任何衰减。此外,实际测试的时候,这两个额外的softmax会被去掉。

5、辅助分类器

这种做法在GoogLeNet上就已经使用,认为这种辅助分类器,在网络训练过程中扮演着非常重要的角色,能有效的将梯度传播到底层。但是作者发现辅助分类器并没有提升收敛速度,但是却起到了正则化的作用

如果辅助分类器使用了batch-normalized或者dropout层,最终的分类器效果更好。

一些模型是在较小的物体上训练的,有一种经过验证的方法非常有效,那就是对图像的个个大小块进行降采样,这些快的大小均匀分布在图像面积的8%到100%之间,并且在3/4到4/3之间随机选择宽高比,一定程度上能够克服过拟合。

6、优点

把整个Inception的网络架构画出来,更直观感受网络结构

1.宽度。总共是9个Inception的模块,每个模块除了num_output的个数不一样之外,其他的都是相同的。每一个卷积后都要做relu操作。

2.深度。除了在最后的全连接计算了loss和top_1,top_5的准确率之外,还在inception_4a/output和inception_4d/output之后进行池化卷积全连接,最后计算loss和top_1,top_5。

个人感觉这种方式,一方面可以比较不同深度下的loss和准确率,同时,这些中间层的backward computation会对整个起到调整梯度的作用,这样防止当层次过深时的梯度消失的问题。

7、结论

GoogLeNet是谷歌团队为了参加ILSVRC 2014比赛而精心准备的,为了达到最佳的性能,除了使用上述的网络结构外,还做了大量的辅助工作:包括训练多个model求平均、裁剪不同尺度的图像做多次验证等等。详细的这些可以参看文章的实验部分。

本文的主要想法其实是想通过构建密集的块结构来近似最优的稀疏结构,从而达到提高性能而又不大量增加计算量的目的。GoogleNet的caffemodel大小约50M,但性能却很优异。

测试时,将图像调整到4个尺度,其中较短的维度(高度或宽度)分别为256、288、320、352,取这些调整后的图像的坐标中间右边的方块,按照224x224剪裁,生成数据。

参考文章:

1、深度学习之基础模型—InceptionV1(GoogLeNet)

https://blog.csdn.net/whz1861/article/details/78160190

2、GoogLeNet学习心得

https://www.cnblogs.com/Allen-rg/p/5833919.html

上一篇:ResNet总结及启发,下一篇:Inception-v2,传送门:分类网络目录索引

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Inception-ResNet-v1 是一种深度神经网络模型,它结合了 Inception 和 ResNet 两种网络结构的优点,具有更好的性能和更高的准确率。该模型在 ImageNet 数据集上进行了训练,可以用于图像分类、目标检测和语义分割等任务。它的主要特点是使用了残差连接和多尺度卷积,可以有效地减少梯度消失和过拟合问题。此外,Inception-ResNet-v1 还使用了批量归一化和非线性激活函数等技术,进一步提高了模型的性能。 ### 回答2: Inception-ResNet-v1是一种深度学习模型,结合了Inception和ResNet两种主要的网络架构。 Inception网络架构主要用于解决深度神经网络中的计算和参数过多的问题,以提高训练和推理效率。Inception模块是该网络的核心组件,采用了多个不同尺寸的卷积核对输入层进行卷积操作,并将不同尺寸卷积核的输出结果级联起来。这种通过多种尺寸卷积核进行卷积操作的方式,可以在不增加参数数量的情况下提取到更多的特征,并且相对于传统的卷积操作,可以减少计算量。 而ResNet网络架构则主要解决深度神经网络中的梯度消失问题,使模型更易于优化和训练。ResNet通过引入跳跃连接,即将输入层的信息直接传递到输出层,能够有效地传播梯度、加速收敛并提升训练效果。与传统的卷积神经网络不同,ResNet采用了残差块作为基本的构建单元,其中残差块由多个卷积层组成,并通过跳跃连接将输入层的信息直接传递到输出层,从而避免了梯度消失的问题。 Inception-ResNet-v1即将Inception网络结构与ResNet网络结构相结合,同时利用了这两种网络结构的优点。通过将多个不同尺寸的卷积核级联起来,结合跳跃连接的方式,Inception-ResNet-v1能够更充分地提取特征,并在减少参数数量的同时增强了模型的优化能力。这种混合结构模型在计算机视觉领域取得了很好的性能,尤其在图像分类、目标检测和语义分割等任务中取得了很好的效果。 ### 回答3: Inception-ResNet-v1是一种用于图像分类和深度学习任务的卷积神经网络模型。它是Google团队在2016年提出的,结合了Inception和ResNet两种经典的深度网络结构。 Inception网络是为了解决参数和计算量过大的问题而提出的,它采用了并行结构的inception module,能够有效地减少参数数量。而ResNet网络则是为了解决深度网络优化难题而提出的,通过加入残差连接,能够避免梯度消失和梯度爆炸问题,使得网络更易于训练和优化。 Inception-ResNet-v1综合了两种网络的优点,采用了多个inception module和残差连接的方式构建深度神经网络。它主要包含了一系列的inception blocks,其中每个block都由多个并行的分支组成,每个分支采用不同大小的卷积核来捕捉不同尺度的特征。 在每个inception block的结尾,Inception-ResNet-v1通过残差连接将输入与输出相加,以便传递更多的梯度信息。这使得网络具有更深的层级和更强的梯度流,提高了网络的表达能力和性能。 此外,Inception-ResNet-v1还包含了一些降低过拟合和加速收敛的技巧,如批量归一化、权重正则化和dropout等。这些技巧使得网络更加稳定和可靠。 实验结果表明,Inception-ResNet-v1在多个视觉任务上具有很好的性能,如图像分类、目标检测和人脸识别等。它在准确性、泛化能力和计算效率方面都具有优势,广泛应用于计算机视觉领域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jingbo1801

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值