文章链接:https://arxiv.org/pdf/1409.4842v1.pdf
文章的主要贡献:
1. 提出了一种名为 Inception 的网络结构
2. 这种结构解决了计算机硬件和稀疏结构之间的矛盾(感觉这个是这篇文章的最大创新点)
这篇博文中有非常详细的网络结构图:http://blog.csdn.net/qq_31531635/article/details/72232651
一、文章背景:
随着深度学习的发展,人们的关注点从一开始的更强的硬件,更大的数据集转向了新的想法,新的算法和新的网络结构上。
例如:1. 减少训练网络所用的数据集
2. 减少网络中使用的参数(防止过拟合)
3. 新的网络结构,如R-CNN
同时,随着移动和嵌入式计算的发展,算法的效率尤其是其功耗和内存使用变得越来越重要。
从文章的背景来看,作者主要想解决的问题是减少网络中的参数,同时在计算资源使用不变的前提下提高算法的效率。
二、与该文章相关的工作
1. 卷积神经网络(CNN)大多都用了类似于LeNet-5的标准结构,即堆叠几个卷积层,之后是池化层,最后再连接一个或多个全连接层。 下面的文章解决了maxpooling导致的空间信息丢失问题。A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. InAdvancesinNeuralInformationProcessing Systems 25, pages 1106–1114, 2012.
2. 在Network-in-Network中添加了很多1×1卷积,这篇文章中也大量使用这种方法。1×1卷积有两个作用:
1. 增加网络的深度
2. 另外一个关键作用是用作降维模块来减少计算量
这样做的好处是,由于可以将上一层的卷积结果用1×1卷积降维,减少了计算量,就能够保证网络的深度。
3. 目标检测的流程采用了R-CNN相同的方法。
三、算法设计的心路历程
作者设计该网络的出发点是,人们总是通过加深加宽神经网络来提高神经网络的能力,这种方法有着两个比较大的缺陷。一个是加深网络意味着更多的参数,参数过多会导致结果过拟合,另外一个缺点是加深网络就需要用到更多的计算资源,而且由于很多权重值其实并没有作用(值为0),所以直接加深加宽网络会导致计算资源的浪费。
从上述两个问题出发,作者开始思考解决方法。解决参数量大和减少计算资源的基本办法是引入稀疏性。然而实际上使用稀疏连接后并不会从本质上解决计算量过大的问题,因为大部分的硬件的设计都是为了解决密集矩阵计算的,稀疏矩阵的数量虽然少,但其计算所消耗的时间并不会减少很多。
至此,作者明确了需要解决的问题:即要使用稀疏矩阵,又要利用现有硬件针对密集矩阵的计算能力,而解决的办法就是Inception。
四、 网络构建的细节
构建网络的主要思想:使一些卷积核聚集成一个簇