您的位置:首页 > 编程语言 > Go语言

GoogleNet Inception-v1论文总结

2020-01-13 05:05 281 查看

论文:Going deeper with convolutions

一.主要内容

文章主要构建了一种名为Inception的结构,是Inception四篇中的第一篇,使用Inception所构建的一个典型的22层的深层网络结构GoogLeNet获得了2014年ILSVRC的冠军,是当时最好的图像分类和检测方法。

二.Motivation

改善深层神经网络性能最简单的方法就是增加它的深度和宽度,但是这种方法有两个主要的缺陷。问题1:更大尺寸的神经网络意味着更多的参数,这样可能会导致过拟合现象发生,尤其是在训练数据有限的时候。问题2:网络参数更多更复杂,需要使用过多的运算资源。因此为了解决这些问题而设计了Inception结构。

三.模型

(1)原始的Inception模块结构

  该图描述的是一个Inception模块的输入通过四条路径得到四个宽和高相同但通道数不同的结果,将这四个结果的通道数串联起来即相加得到该Inception模块的输出。但是这样做导致特征图的厚度过大,网络参数多,计算难度大。
(2)改进的Inception结构

  在原始的Inception结构中加入了降低维度的操作,使用1×1的卷积层用来降低通道数。假设Previous layer的通道数是A,3×3 convolutions层输出的通道数是B,与之前直接将通道数从A变为B相比,该模块中使用1×1卷积核先将通道数从A变为C,再从C变为B,其中C比A和B都小很多,这样可以有效的减少网络中的参数数量,不使用1×1卷积核时参数量为A×3×3×B,使用后为A×1×1×C+C×3×3×B。

(3)GooLeNet

GooLeNet使用了多个Inception模块,其中所有的卷积操作包括Inception模块内的均使用ReLU作为激活函数,dropout设置为0.7,最终是一个1000类的分类问题。

  其中#3×3 reduce和#5×5 reduce代表在3×3和5×5卷积之前使用的1×1的卷积核数量,同时还加入了两个辅助分类器,即下图中的softmax0和softmax1,文中将辅助分类器分类的结果乘一个小的权重然后与整体模型做融合,这样使模型训练效果更好,在最后测试的时候会删去辅助分类器。(Inception-v2中说明的)辅助分类器:将有效的梯度放到较低的层次,使它们能够快速发挥作用,这样能够在深层网络中解决梯度消失的问题,从而提高训练中模型的收敛性。此外,有研究认为辅助分类器能使模型更稳定地学习且能够更好的收敛。文章中还通过实验发现辅助分类器在训练的早期并没有带来更好的收敛性,但在训练快结束时有辅助分类器的模型性能要高于没有辅助分类器的模型。
     


四.实验结果

最终在图像分类比赛中top-5准确率达到了93.33%,并且没有使用额外的数据。相较于同年参赛的VGG模型和MSRA模型,其top-5准确率提升了约1%左右。

  在目标检测比赛中的结果,使用了ImageNet 1k作为额外数据集,平均精度为参赛模型中最高的43.9%。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
zhaoshenlu829 发布了11 篇原创文章 · 获赞 1 · 访问量 752 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: