您的位置:首页 > 其它

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

2016-03-03 16:50 465 查看
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×55\times 5的卷积可以使用两层3×33\times 3卷积代替,如图4为原始Inception模块,图5为替换后的模块,节约的计算时间可以用来增加滤波器数目。





2.分解为非对称卷积

3×33\times 3的卷积使用3×13\times 1卷积和1×31\times 3卷积代替,如下图所示,这种结构在前几层效果不太好,但对特征图大小为12~20的中间层效果明显。



附加分类器

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

降低特征图大小

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



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



Inception-v2

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



通过标记平滑进行模型规则化

模型计算输入x属于标记k的概率:

p(k|x)=exp(zk)∑Ki=1exp(zi)p(k|x)=\frac {exp(z_k)}{\sum_{i=1}^Kexp(z_i)}

ziz_i是逻辑概率,样本x的实际标记分布为q(k|x)q(k|x),定义cross entropy为:

l=−∑Kk=1log(p(k))q(k)l=-\sum_{k=1}^Klog(p(k))q(k)

最小化l为最大化标记的似然概率,这样可能导致过拟合并降低模型的泛化能力和适应性。为避免模型过度自信,引入独立于训练样本的分布u(k)u(k)及平滑变量ε\varepsilon,将标记GT分布q(k|x)=δk,yq(k|x)=\delta_{k,y}使用下式替换:



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

低分辨率图像的识别

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

实验结果

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: