Inception-v3:"Rethinking the Inception Architecture for Computer Vision"

Googlenet的延伸,通过对Inception module进行卷积分解展开网络,在ILSVRC 2012上,4个模型集成及多次裁切,top-1位为17.3%,top-5为3.5%。

GoogleNet的优势:从参数数量来看,GoogleNet参数为500万个,AlexNet参数个数为GoogleNet的12倍,VGGNet参数又是AlexNet的3倍。因此在内存或计算资源受限时,GoogleNet是比较好的选择。

Inception结构的更改:简单的放大结构,会导致计算增益消失。例如直接double滤波器组的数目会导致计算和参数4倍的增加。因此,作者给出了几个放大网络需要遵守的准则。

网络设计准则
1.避免表示瓶颈,即特征图大小应缓慢下降;
2.高维表示可以用网络代替;
3.可以在低维空间集成空间关系;
4.平衡网络的宽度和深度。

大尺寸滤波器卷积分解
GoogleNet的精度增益主要来自维度降低,这可以认为是卷积分解的特例。考虑到网络临近的激活高度相关,因此集成之前可以降维。Inception模块是全卷积的,每个权值对应一个乘法运算,进行卷积分解后可以减少参数数目进行快速训练,这样就可以增加滤波器组的大小提升精度。

1.大卷积分解为小卷积
5×5 的卷积可以使用两层 3×3 卷积代替,如图4为原始Inception模块,图5为替换后的模块,节约的计算时间可以用来增加滤波器数目。

Inception-v3:

Inception-v3:

2.分解为非对称卷积
3×3 的卷积使用 3×1 卷积和 1×3 卷积代替,如下图所示,这种结构在前几层效果不太好,但对特征图大小为12~20的中间层效果明显。
Inception-v3:

附加分类器
附加分类器有batch norm层效果更好,得出其扮演规格化的角色。

降低特征图大小
池化用来降低特征图大小,为避免表示瓶颈,即更有效的保存图像信息,应在池化之前增加滤波器数目,如下图所示。

Inception-v3:

作者的解决方法是同时进行步长为2的卷积和池化,然后串联,如下图所示:
Inception-v3:

Inception-v2
Inception-v2的网络结构如下图所示,将 7×7 的卷积分解为三个 3×3 的卷积,

Inception-v3:

通过标记平滑进行模型规则化
模型计算输入x属于标记k的概率:
p(k|x)=exp(zk)Ki=1exp(zi)
zi 是逻辑概率,样本x的实际标记分布为 q(k|x) ,定义cross entropy为:
l=Kk=1log(p(k))q(k)
最小化l为最大化标记的似然概率,这样可能导致过拟合并降低模型的泛化能力和适应性。为避免模型过度自信,引入独立于训练样本的分布 u(k) 及平滑变量 ε ,将标记GT分布 q(k|x)=δk,y 使用下式替换:
这里写图片描述

标记k的分布将如下获取:首先k=y,之后根据 u(k) 的分布将k使用某样本替换,实验中 u(k)=1K

低分辨率图像的识别
对于低分辨率的图像,应降低前两层的步长,或将第一个池化层去除。

实验结果
实验结果与GoogleNet相比有较大提升,如下表所示:
Inception-v3:

你可能感兴趣的:(深度学习)