Google Net(或Inception V1)是Google(与各大学合作)于2014年在名为“卷积更深”的研究论文中提出的。该架构是ILSVRC 2014图像分类挑战赛的冠军,与以前的冠军AlexNet(2012年ILSVRC的冠军)和ZF-Net(ILSVRC 2013的冠军)相比,它的错误率显著降低,并且错误率明显低于VGG(2014年的亚军)。该架构使用1×1卷积和全局平均池化之类的技术。
GoogleNet的功能
GoogLeNet体系结构与AlexNet和ZF-Net等以前的体系结构截然不同。它使用许多不同类型的方法,例如1×1卷积和全局平均池,从而可以创建更深的体系结构。我们讨论其中的一些方法:
1×1卷积
inception体系结构在其结构中使用1×1卷积。这些卷积用于减少体系结构的参数(权重和偏差)数量。通过减少参数,我们还增加了体系结构的深度。我们下面看一个1×1卷积的例子:
- 例如,如果我们要执行具有48个滤波器的5×5卷积而不使用1×1卷积:
运算次数:(14 x 14 x 48)x(5 x 5 x 480)= 112.9 M
- 使用1×1卷积:
(14 x 14 x 16)x(1 x 1 x 480)+(14 x 14 x 48)x(5 x 5 x 16)= 1.5M + 3.8M = 5.3M,远小于112.9M。
全球平均池
在以前的体系结构(例如AlexNet)中,全连接层用于网络末端。这些全连接层包含许多体系结构的大多数参数,这会导致计算成本增加。
在GoogLeNet体系结构中,在网络末端使用全局平均池的方法。该层采用7×7的特征图,并将其平均为1×1。这将可训练参数的数量减少到0,并将top-1的准确性提高了0.6%
初始模块(Inception Module)
初始模块不同于以前的体系结构(例如AlexNet,ZF-Net)。在这种体系结构中,每层都有固定的卷积大小。
在Inception模块中,以并行方式在输入和输出中进行1×1、3×3、5×5卷积和3×3最大池化,将它们堆叠在一起以生成最终输出。不同大小的卷积滤波器旨在更好地处理多个尺度的对象。
用于训练的辅助分类器
初始架构在整个结构中使用了一些中间分类器分支,这些分支仅在训练期间使用。这些分支由步长为3的5×5平均池化层,带128个滤波器的1×1卷积,两个1024输出和1000输出的全连接层以及softmax分类层组成。这些层产生的损失加起来为0.3。这些层有助于解决梯度消失问题,并提供正则化功能。
模型架构
以下是GoogLeNet的逐层体系结构详细信息。
总体架构为22层深。该体系结构旨在保证计算效率,即使在计算资源较低的情况下也可以在单独的设备上运行。该体系结构还包含两个辅助分类器层,它们连接到Inception(4a)和Inception(4d)层的输出。
辅助分类器的体系结构细节如下:
- 滤波器大小为5×5,步幅为3的平均池化层。
- 具有128个滤波器的1×1卷积用于降维和ReLU激活。
- 具有1025个输出和ReLU激活的全连接层
- dropout ratio等于0.7的dropout正则化
- 与主要softmax分类器类似,具有1000个分类的softmax分类器输出。
这种架构采用尺寸为224 x 224的RGB模式的图像。该体系结构内的所有卷积都使用整流线性单元(ReLU)作为其激活函数。
结果
GoogLeNet赢得了2014年ILSRVRC的冠军,在两项检测任务中均排名第一。分类任务的前五位错误率为6.67%。 6个GoogLeNets的组合在ImageNet测试集上给出了43.9%的mAP。
参考https://www.geeksforgeeks.org/understanding-googlenet-model-cnn-architecture/?ref=lbp