GoogLeNet网络结构介绍

结合Going deeper with convolutions的GoogLeNet网络结构介绍

Going Deeper with Convolutions 论文

1 摘要

该篇论文的作者在ILSVRC 2014比赛中提交的报告中使用了GoogLeNet,这是一个22层的深度网络。在这里面提出了一种新的叫做Inception的结构。该网络具有很大的depth和width,但是参数数量却仅为AlexNet的1/12。

2 使用 Inception 的原因

提高深层神经网络性能的最直接的方法是增加其规模。然而,这个简单的解决方案有两个主要缺点。

一 更大的规模通常意味着更多的参数,这使得扩大后的网络更容易过度拟合,特别是在训练集中的标记示例数量有限的情况下。
二 计算资源的使用急剧增加。

论文的作者认为解决上述两个缺点的根本方法是将全连接甚至一般的卷积都转化为稀疏连接。

所以目前这个问题没有一种方法,既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。之后大量的文献表明可以将稀疏矩阵聚类为较为密集的子矩阵来提高计算性能,作者就使用了inception结构,通过进一步调整学习率、超参数和改进的训练方法之后,确定所得到的初始结构在定位和目标检测方面非常有用。

3 inception 结构建立

3.1 初步inception结构

GoogLeNet网络结构介绍
初始结构的主要思想是找出卷积视觉网络中的最优局部稀疏结构是如何被容易获得的稠密分量逼近和覆盖的。

用分层结构,分析最后一层的相关统计数据,并将其聚类成高相关的单元组。这些簇构成下一层的单元,并连接到上一层的单元。

当时的Inception体系结构仅限于1×1、3×3和5×5大小的过滤器。体系结构是所有这些层及其输出滤波器组的组合,这些滤波器组连接成一个输出向量,形成下一阶段的输入。

结构存在问题:即使是少量的5×5卷积,在具有大量滤波器的卷积层上也会非常昂贵,至少在这种简单的形式下是这样。 为此,文章借鉴NIN2,采用1x1卷积核来进行降维。这也就形成了以下改进后的inception结构。

3.2 改进后的inception结构

GoogLeNet网络结构介绍
在昂贵的3×3和5×5卷积之前,使用1×1卷积计算进行降维和投影。

4 GoogLeNet网络结构

GoogLeNet网络结构图如下:

GoogLeNet网络结构介绍
•具有128个滤波器的1×1卷积,用于降维和校正线性**。
•具有1024个单元和整流线性**的完全连接层。
•输出下降率为70%的辍学层。
•一个全连接层,具有1024个单元和修正线性**。
•以softmax损耗为分类器的线性层(预测与主分类器,但在推断时移除)。

5 GoogLeNet测试

作者使用GoogLeNet来指代在我们提交的竞争中使用的Inception架构的具体体现。他们还使用了一个更深更广的初始网络,其质量稍差,但将其添加到集成中似乎可以略微提高结果。他们忽略了网络的细节,因为他们的实验表明,精确的结构参数的影响相对较小。在这里,为了演示的目的,下表描述了最成功的特定实例。在他们们的集成中,7个模型中有6个使用了完全相同的拓扑(使用不同的采样方法训练)。
GoogLeNet网络结构介绍