CV经典主干网络(Backbone )系列:谷歌网络(inception net )作者: Christian Szegedy等
发布时间: 2014
Paper原文: Going deeper with convolutions
这篇文章是CV经典主干网络(Backbone )系列下的文章。
谷歌网络有多个版本(V1到V4 ),但这里只讨论V1。 请参考图片分类inception家族的进化史“谷歌网络、inception、Xception”。
谷歌网也被称为Inception net。 因为谷歌网络的核心组成部分是inception module。 另外,谷歌网的名字有向LeNet表示敬意的意思。
谷歌网参加了2014年的ImageNet挑战,取得了分类任务第一的成绩。
谷歌网与VGG相比,网络深度更深,达到22级,甚至扩展到了宽度,但参数量小得多,而且效果也很好。
YOLO V1的主干网基于谷歌网。
1.1网络结构的网络结构如下: 22层(3 conv 9 inception 1 fc,其中每个inception层有两个卷积层) .另外,需要注意的是,网络总共有三个输出。
1.2 inceptionmoduleinceptionmodule应该位于谷歌网络的核心。 结构如下。
将1×1、3x 3、5x 5内核卷积得到的特征进行融合(如果卷积步骤stride=1,pad分别为0、1、2,则通过卷积可以得到相同维度的特征,并将这些特征直接合并) 这实际上起着图像金字塔的作用,被称为所谓的多解决方案
通过进行大量1×1卷积,压缩网络,然后进行3×3或5×5卷积,可以大幅减少计算量。
用全局Ave池替换FC。 根据下图,在FC的情况下,超级参数的数量为7x7x1024x1024=51.3M,但是在改变为Ave Pool之后,超级参数的数量为0,从而可以起到防止过接的作用。 作者还发现采用Ave Pool后,top-1的准确率提高了约0.6%。 但是请注意,谷歌网络并不能完全取代FC。
采用了副分类器。 上述训练时有多个输出。 整个模型有三个输出。 例如,VGG只有一个输出。 这里的多个output只在训练的时候使用。 也就是说,在测试和部署时只使用最后的输出。 在训练时,对3个输出的loss进行加权平均,假设weight=0.3,既能缓解梯度消失,又表明作者有正则化的作用。 其实这种思想类似于传统机器学习中的投票机制,最终结果是由多个决策器共同投票决定的,这在传统机器学习中往往会提高约2%的精度。
1.3性能谷歌网约700万个参数,多点操作(MAC )约15.5亿。 更多内容见谷歌net v1的计算量和参数量结算表。