InceptionV4总结
Abstract
近些年,非常深的卷积神经网络在提升图像识别的性能表现上具有最大的促进作用。而Inception网络结构在具有很好的性能的同时还具有相对较低的计算消耗。最近的残差连接与传统结构的结合在2015 ILSVRC上取到了最好的结果,与InceptionV3的效果相近。考虑将Inception网络与残差连接相结合,充分的证据表明残差连接可以很大程度上加速Inception网络的训练,同样也有证据表明残差连接的Inception相比不带残差连接的几乎同样计算量的Inception网络性能要稍有优势。本文也提出了一些新的残差连接和不带残差连接的Inception网络,这些改变同样也明显改善了2012 ILSVRC的单帧分类性能。最后还提到了利用合适的激活缩放可以使非常宽的残差连接Inception网络的训练变得更加稳定
1.Introduction
2012年的AlexNet在CV任务中取得了很好的成绩,深层的CNN在各种CV领域内取得了很成功的应用。因为残差连接在训练深层结构中是至关重要的,本文将残差连接和深层的Inception网络相结合,这样将在保持计算量的同时收获所有残差连接的优点。
除了直接的结合之外,本文还探索了是否可以将Inception自身做的更深和更宽来实现更好的性能,因此本文设计了InceptionV4,并由于Tensorflow的分布式计算的技术不再需要将模型进行划分。
本文还将Inception-V3,Inception-V4和同样计算消耗的残差连接的Inception网络进行了比较,很明显InceptionV4和Inception-ResNet-V2的单帧性能表现在ImageNet的验证集上相类似,都超过了state-of-the-art的结果。最后发现这种集成的性能也并没有达到数据集上分类噪声的程度,仍然还有改进的空间。
2.Related Work
CNN在大型的图片识别任务上变得很流行,Network in network,VGGNet和GoogLeNet(InceptionV1)都是一些重要的里程碑。He 给出了充分的理论和实践说明残差连接的优点,尤其是在检测上面的应用。作者强调残差连接在训练很深的CNN模型上是内在必要的,但是我们的发现并不支持这一观点,至少在图像识别这方面不支持,这大概需要更多的论点支撑和对残差连接在深层网络的作用的理解。实验的章节证明就算没有残差连接我们也不难训练很深的网络,不过残差连接能够很好的改善训练速度,这也是对于其使用的重要观点。
从InceptionV1开始该网络结构经过了多次改善,通过引入BN得到了V2,通过进行额外的因子分解得到了V3。
3.Architectural Choices
这一章节主要介绍了网络的具体结构
在残差版本的Inception网络中使用了更加简单的Inception block,每个Inception block后面都有一个1*1的卷积来补偿通道数的改变。另外一个Inception和残差版本的小区别在于,在残差版本中,BN仅仅利用在传统层的顶部而不在summations的顶部,这是由于想让网络具有更多的Inception blocks,并可以在单个GPU上进行训练所做的妥协,事实上如果都使用BN会更友好处
当filters超过1000的时候,网络会在训练的早期就训练失败,降低学习率或者增加额外的BN都不能避免这一现象。He提出了利用先低学习率warm up,然后高学习率进行训练可以改善这一现象,然而本文发现通过对残差量进行缩放可以更加可靠的解决该问题,这样并不会损失准确性并且可以让训练更加稳定。
4.Training Methodology
这一章节主要介绍了一些训练的细节,利用的tensorflow分布式计算框架,GPU为Nvidia的Kepler,最好的模型使用的RMSProp算法,dacay=0.9,,学习率为0.045,以每两个epoch,0.94的指数衰减率进行衰减。