【图像分类】GoogLeNet详解

前言

在2014年的图像识别比赛中,由Google团体提出的GooLeNet网络结构大放异彩,字母的大写L为了纪念LeNet,GooLeNet吸收了NiN中串联的思想,其论文重点是解决了什么样大的卷积核最合适的问题。在GooLeNet中,基本的卷积块被称为 I n c e p t i o n Inception Inception 块,这可能来源电《盗梦空间》( I n c e p t i o n Inception Inception )中的一句电影台词"We need to go deeper"(我们需要走得更深)。

网络结构

下图为为GooLeNet的框架图
【图像分类】GoogLeNet详解_第1张图片
从图中可以发现GoogLeNet主要由9个 I n c e p t i o n Inception Inception 块、全局平均汇聚层、辅助分类器构成。

Inception块

【图像分类】GoogLeNet详解_第2张图片
上面为Inception块示意图,(a)为普通的Inception块,(b)为带有1×1卷积核的Inception块
在深度学习中,局部的信息通常有较小的卷积核提取,范围比较大的信息由大的卷积核提取,越到后面,其特征会越抽象,但是当串联两个卷积核时,它们的滤波器数目的任何统一增加都会引起计算量平方式的增加。如果增加的能力使用时效率低下(例如,如果大多数权重结束时接近于0),那么会浪费大量的计算能力。为了解决相关问题,Inception块应运而生。

在(b)中,有4条并行的路线,其中前面三条使用了1×1卷积核主要是为了降低模型的复杂度,即减少参数,第4条使用3×3最大汇聚层。最后把所有的通道进行合并,需要注意的是这4条路线要保持相同的shape最后才能在通道维度进行合并。

验证使用1×1卷积核是否能降低模型复杂度
【图像分类】GoogLeNet详解_第3张图片
当不使用1×1卷积核时,可学习参数: 512 × 32 × 5 × 5 = 409600 512×32×5×5=409600 512×32×5×5=409600
当使用1×1卷积核时,可学习参数: 512 × 24 × 1 × 1 + 24 × 32 × 5 × 5 = 31488 512×24×1×1+24×32×5×5=31488 512×24×1×1+24×32×5×5=31488
可知使用1×1卷积核能够大幅度降低参数。

辅助分类器

给定深度相对较大的网络,有效传播梯度反向通过所有层的能力是一个问题。在这个任务上,更浅网络的强大性能表明网络中部层产生的特征应该是非常有识别力的。通过将辅助分类器添加到这些中间层,可以期望较低阶段分类器的判别力。这被认为是在提供正则化的同时克服梯度消失问题。这些分类器采用较小卷积网络的形式,放置在Inception (4a)和Inception (4b)模块的输出之上。在训练期间,它们的损失以折扣权重(辅助分类器损失的权重是0.3)加到网络的整个损失上。在推断时,这些辅助网络被丢弃。后面的控制实验表明辅助网络的影响相对较小(约0.5),只需要其中一个就能取得同样的效果。
辅助分类器的网络结构如1图黄色方框

· 一个滤波器大小5×5,步长为3的平均池化层,导致(4a)阶段的输出为4×4×512,(4d)的输出为4×4×528。
· 具有128个滤波器的1×1卷积,用于降维和修正线性激活。
· 一个全连接层,具有1024个单元和修正线性激活。
· 丢弃70%输出的丢弃层。
· 使用带有softmax损失的线性层作为分类器(作为主分类器预测同样的1000类,但在推断时移除)。

参考资料

1.https://www.bilibili.com/video/BV1z7411T7ie/?spm_id_from=333.788
2.GoogleNet论文

你可能感兴趣的:(分类,深度学习,机器学习)