基于深度学习的图像识别模型发展 (3)

  到这里,Inception module的结构就介绍完了,而GoogLeNet的架构就是多个Inception module一层一层地stack(堆叠)出来的,下面是GoogLeNet的整体架构的介绍。

基于深度学习的图像识别模型发展

注:浅蓝色部分Stem Network是一些初始卷积,深蓝色部分有三个辅助分类器,为什么要用三个classifier呢?结合GoogLeNet的论文,我个人认为有以下几点原因:

一般认为深度越深,越有可能产生梯度消失的问题。这里深度不同的三个classifier可以有效缓解梯度消失问题,即浅层的classifier的输出也执行 softmax 操作,然后在同样的标签上计算辅助损失。总损失即辅助损失和真实损失的加权和。该论文中对每个辅助损失使用的权重值是 0.3。可见辅助分类器也可以回传误差,缓解梯度消失问题。辅助损失只是用于训练,在推断过程中并不使用。

CNN深度越深的层,提取的特征语义信息越丰富,深度越浅的层提取的特征更基础,包含更多的位置信息,所以并不是深度越深的层提取的特征一定好于较浅层提取的特征。这里在不同深度的层上面都加了一个output layer,可以做一个模型的ensemble,这可能会提升模型的效果。

Network in Network

NIN有两个特性,是它对CNN的贡献:

MLP代替GLM

Global Average Pooling

MLPconv

普通的卷积可以看做输入feature map 和kernel 矩阵相乘的过程,是一个线性变换。MLP是指多层感知机,由于是多层的,f(x) = w*g(x)+b, g(x) = w*x +b,输出f和输入x自然是非线性关系,mlpconv的意思就是用mlp代替普通卷积,可以增加网络的抽象表达能力。

所以,基于如上,可以认为,在抽特征的时候直接做了非线性变换,可以有效的对图像特征进行更好的抽象。

从而,Linear convolution layer就变成了Mlpconv layer。

值得一提的是,Mlpconv相当于在激活函数后面,再添加一个1×1的卷积层。
当然,1*1卷积层在本文中的最重要的作用还是进行降维。

Global Average Pooling

Global Average Pooling的做法是将全连接层去掉。

全连接层的存在有两个缺点:

  全连接层是传统的神经网络形式,使用了全连接层以为着卷积层只是作为特征提取器来提取图像的特征,而全连接层是不可解释的,从而CNN也不可解释了

  全连接层中的参数往往占据CNN整个网络参数的一大部分,从而使用全连接层容易导致过拟合。

  而Global Average Pooling则是在最后一层,将卷积层设为与类别数目一致,然后全局pooling,从而输出类别个数个结果。

  但是本文中,在average pooling 后面还跟了一个linear layer,加这个层主要是为了方便起见,能够更容易扩展到其他的数据集上。

做后的结构如图所示:

基于深度学习的图像识别模型发展

网络在训练的时候还加了两个额外的分类器,目的是为了防止梯度消失,最后测试的时候可以把这两个分类器去掉。
最后的参数相比于alexnet少了12倍,相比于vgg-16来说少了3倍。

  值得一提的是, GoogLeNet 又被称为Inception Vl 模型, Google 又对该模型做了后续研究,相继提出了Inception V2, Inception V3, Inception V 4模型,每一代模型的性能都高提升。Inception v2 和 Inception v3 来自同一篇论文《Rethinking the Inception Architecture for Computer Vision》,作者提出了一系列能增加准确度和减少计算复杂度的修正方法。

inception-v2

问题:

减少特征的表征性瓶颈。直观上来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,这也称为「表征性瓶颈」。

使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效。

解决方案:

将7*7和 5×5 的卷积分解为两个 3×3 的卷积运算以提升计算速度。尽管这有点违反直觉,但一个 5×5 的卷积在计算成本上是一个 3×3 卷积的 2.78 倍。所以叠加两个 3×3 卷积实际上在性能上会有所提升

在 Inception-V1的基础上增加了 Batch Normalization 

基于深度学习的图像识别模型发展

基于深度学习的图像识别模型发展

主要贡献:提出了batch normalization,主要在于加快训练速度。数据归一化方法很简单,就是要让数据具有0均值和1方差

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwygfg.html