ZFNet:卷积原理的深度解析

ZFNet:卷积原理的深度解析

0.引言

ZFNet模型是由Matthew D. Zeiler和Rob Fergus在AlexNet的基础上提出的大型卷积网络,获得了2013年ILSVRC图像分类竞赛的冠军。其错误率为11.19%,较去年的AlexNet下降了5%。ZFNet解释了卷积神经网络在图像分类方面出色表现的原因,并研究了如何优化卷积神经网络。ZFNet提出了一种可视化技术,可以用于了解卷积神经网络中间层的功能和分类器的操作,为找到更好的模型提供了可能性。此外,ZFNet还通过消融实验来研究模型中每个组件对模型的影响。 

论文名称:Visualizing and Understanding Convolutional Networks

下载地址:https://arxiv.org/pdf/1311.2901.pdf

视频讲解:https://www.aideeplearning.cn/mcv_lesson/773/

1.ZFNet简介

ZFNet模型与AlexNet在结构上有很多相似之处,且对AlexNet进行了一些改进。

首先是ZFNet改变了AlexNet的第一层,将卷积核的尺寸从11×11变为7×7,并将步长从4变为2。这一微小的修改就显著地改进了整个卷积神经网络的性能,使ZFNet在2013年ImageNet图像分类竞赛中获得了冠军。ZFNet和AlexNet的详细网络参数对比见表1。

图片[1]-ZFNet:卷积原理的深度解析-VenusAI
表1 ZFNet和AlexNet模型的结构

除此之外,ZFNet在深度学习领域的最大贡献是通过一系列实验和解释,探究了卷积操作为什么对图像数据有效的问题。

2.对卷积结果的可视化

ZFNet中一项重要的实验是将卷积核的计算结果映射回原始的像素空间(映射的方法为反卷积,反池化)并进行可视化,可视化过程如图1所示。以图1中Layer 1为例,图1中方框中左上角的九宫格代表第一层卷积计算得到的前9张特征图映射回原图像素空间后的可视化(称为F9)。第一层卷积使用96个卷积核,这意味着会得到96张特征图,这里的前9张特征图是指96个卷积核中值最大的9个卷积核对应生成的特征图(称这9个卷积核为K9,即,第一层卷积最关注的前九种特征)。可以发现,这九种特征都是颜色和纹理特征,即蕴含语义信息少的结构性特征。

为了证明这个观点,将数据集中的原始图像裁剪成小图,将所有的小图送进网络中,得到第一层卷积计算后的特征图。统计能使K9中每个卷积核输入计算结果最大的前9张输入小图,即9×9=81张,如图1方框中右下角所示。结果表明刚刚可视化的F9和这81张小图表征的特征是相似的,且一一对应的。由此证明卷积网络在第一层提取到的是一些颜色、纹理特征。同理,观察图1中Layer 2和Layer 3的可视化发现,第二次和第三次卷积提取到的特征蕴含的语义信息更丰富,不再是简单的颜色纹理信息,而是一些结构化的特征,例如蜂窝形状、圆形、矩形等,可以推理得网络的更深层将提取语义更丰富的特征。

图片[2]-ZFNet:卷积原理的深度解析-VenusAI
图1 卷积网络浅层前三次卷积结果的可视化

在网络的深层,如第四层、第五层卷积提取到的是更高级的语义信息,如人脸特征、狗头特征、鸟腿、鸟喙特征等,如图2所示。

最后,越靠近输出端,能激活卷积核的输入图像相关性越少(尤其是空间相关性),例如图2中Layer 5最右上角的示例:特征图中表征的是一种绿色成片的特征,可是能激活这些特征的原图相关性却很低(原图是人、马、海边、公园等,语义上并不相干);其实这种绿色成片的特征是“草地”,而这些语义不相干的图片里都有“草地”。“草地”是网络深层卷积核提取的高级语义信息,不再是低级的像素信息、空间信息等。

图片[3]-ZFNet:卷积原理的深度解析-VenusAI
图2 卷积网络深层后两次卷积结果的可视化

总而言之,CNN输出的特征图有明显的层级区分。越靠近输入端,提取的特征所蕴含的语义信息比较少,例如颜色特征、边缘特征、纹理特征等;越靠近输出端,提取的特征所蕴含的语义信息越丰富,例如图2中Layer 4中的狗脸、鸟腿等,都属于目标级别的特征。

3.网络中对不同特征的学习速度

不同特征的学习速度如图3所示,其中横轴表示训练轮数,纵轴表示不同层的特征图映射回像素空间后的可视化结果。由此可以得出,低层特征(颜色、纹理等)在网络训练的前期就可以学习到,即更容易收敛;高层的语义特征在网络训练的后期才会逐渐学到。这也展示了不同特征的进化过程,即卷积神经网络在训练过程中逐步从低层特征向高层特征演化。这种过程是合理的,因为高级的语义特征需要依赖于低级特征的提取才能得到。

图片[4]-ZFNet:卷积原理的深度解析-VenusAI
图3 不同特征的学习速度

4.图片平移,缩放,旋转对CNN的影响

ZFNet通过消融实验,研究了图片平移、缩放和旋转对卷积的影响。

图片的平移、缩放和旋转都是图像预处理中的常见步骤,这些步骤可能会对卷积网络的学习和识别能力产生影响。平移是将图像在二维空间内沿某一方向移动一定距离;缩放是改变图像的尺寸;旋转则是按照某个角度旋转图像。

通过消融实验,ZFNet的作者试图理解这些图像变化如何影响卷积神经网络的性能。例如,他们对图像进行不同程度的平移、缩放或旋转,然后比较卷积神经网络在处理这些修改后的图像时的性能变化。这种研究方法有助于了解卷积神经网络对于图像变化的敏感性,以及图像预处理步骤如何影响模型的学习和预测能力。

最后结果显示卷积对图片的平移和缩放操作的处理具有一定的健壮性,对旋转的处理效果较差。这个结果是可以预计的。

卷积操作之所以对图像数据有效,原因在于它具有平移不变性。这种不变性是通过卷积核在图像上滑动遍历实现的。不管一个特征出现在图像的哪个位置,卷积核都可以通过滑动的方式,识别出该特征。此外,卷积操作也具有缩放不变性,这是因为不同层的卷积核具有不同尺寸的感受野,可以识别出不同大小的特征。至于旋转不变性确实找不到对应的操作。那么,为什么现在的一些成熟项目,例如人脸识别,图像分类等依然可以对旋转的图片做识别呢?这是因为大量地训练数据,而旋转不变性可以从大量的训练数据中得到。实际上,不仅是旋转不变性,卷积本身计算方法带来的平移不变性和缩放不变性也是脆弱的,大部分也是从数据集中学习到的。不要忘记,深度学习是一种基于数据驱动的算法。

5.ZFNet的改进点

ZFNet通过对AlexNet可视化发现:由于第一层的卷积核尺寸过大导致某些特征图失效(失效指的是一些值太大或太小的情况,容易引起网络的数值不稳定性,进而导致梯度消失或爆炸。图中的具体表现如图4(a)所示的黑白像素块)。

此外,由于第一层的步长过大,导致第二层卷积结果出现棋盘状的伪影(如图4(b)中第二小图所示)。对此ZFNet做了对应的改进。即将第一层11×11步长为4的卷积操作变成7×7步长为2的卷积。

图片[5]-ZFNet:卷积原理的深度解析-VenusAI
图4通过可视化改进模

6.遮挡对卷积模型的影响

ZFNet通过对原始图像进行矩形遮挡来探究其影响,原始图像如图5(a)所示。

计算遮挡后的图像经过第五个卷积层后得到的特征图值的总和如图5 (b)所示。红色代表更大的值。由此可以看出卷积计算后的特征图也是保留了原始数据中不同类别对象在图像中的空间信息。

经过第五个卷积后值最大的特征图的反卷积可视化结果如图5 (c)图左上角所示。由此实例2(可视化结果为英文字母或汉字,但是原图标签的“车轮”)可以看出卷积后值最大的特征图不一定是对分类最有作用的。(c)图中的其它小图是统计数据集中其它图像可以使该卷积核输出最大特征图的反卷积可视化结果。

灰色滑块所遮挡的位置对图像正确分类的影响结果如图5 (d)所示,红色代表分类成功的可能性大。例如博美犬的图像,当灰色滑块遮挡到博美犬的面部时,模型对博美犬的识别准确率大幅度下降。

模型对遮挡后的图像的分类结果如图5 (e)所示。例如博美犬图像中,灰色遮挡在图片中非狗脸的位置时,都不影响模型将其正确分类为博美犬(大部分都是蓝色标签,除了遮挡滑动到狗脸位置时)。

图片[6]-ZFNet:卷积原理的深度解析-VenusAI
图5 遮挡实验1

此遮挡实验证明,模型确实可以理解图片,找到语义信息最丰富、识别最关键的特征;而不是仅仅依靠一些颜色、纹理特征去做识别。

此外,模型还做了进一步的遮挡实验来证明卷积可以提取到高级的语义特征,如图6所示。

图片[7]-ZFNet:卷积原理的深度解析-VenusAI
图6 遮挡实验2

通过遮挡图像的不同部位来证明CNN在处理图像的时候是关注局部的高级语义特征,而不是根据图像的全部信息来处理。

例如第二列遮挡狗的左眼,五种不同狗原始图像和遮挡图像的汉明距离之和见表2,汉明距离是指将它们分别送入卷积神经网络后得到的特征图之间的差异的总和。

数值越小表明遮挡左眼这个操作对不同种类的狗起到的作用是差不多的。

表中随机遮挡的结果(最后一列)明显大于有规律的遮挡,因此反映了CNN确实对不同类别的同种特征做了学习总结。

遮挡位置Layer5特征图间的汉明距离Layer7特征图间的汉明距离
Right Eye0.067 ± 0.0070.069 ± 0.015
Left Eye0.069 ± 0.0070.068 ± 0.013
Nose0.079 ± 0.0170.069 ± 0.011
Random0.107 ± 0.0170.073 ± 0.014
表2 遮挡实验2中不同遮挡物之间的汉明距离

值得注意的是,表中Layer 7的随机遮挡结果明显小于Layer 5,这说明深层的网络提取的是语义信息(例如狗的类属),而不是低层空间特征。因此对随机遮挡可以不敏感。

7.ZFNet的调参实验

讲到这里,ZFNet的实验结果其实已经不重要了。其巧妙的实验设计,从各个方面深入探究了卷积操作对图像的有效性以及如何有效实施,这足以证明ZFNet模型的优秀性。为了遵守原论文的科学严谨性,本节给出ZFNet实验结果,见表3。

图片[8]-ZFNet:卷积原理的深度解析-VenusAI
表3 AlexNet的参数调整实验

ZFNet对AlexNet进行了针对调参的消融实验。值得注意的是减少全连接层的参数反而可以提升准确率,一定程度证明了即使经过Dropout操作,全连接层的参数仍然过于冗余。

此外,为了验证不同卷积层提取的特征图对最终分类结果的影响,研究人员将不同层提取的特征图直接输入分类器(如SVM或Softmax分类器)进行分类。实验结果表明,随着卷积层数的增加,提取到的特征图对图像分类的帮助逐渐增大。具体结果见表4。

 Cal-101 (30/class)Cal-256 (60/class)
SVM(1)44.8 ±0.724.6 ±0.4
SVM(2)66.2 ±0.539.6±0.3
SVM(3)72.3±0.446.0 ± 0.3
SVM(4)76.6±0.451.3 ±0.1
SVM(5)86.2 ±0.865.6 ± 0.3
SVM(7)85.5 ±0.471.7±0.2
Softmax(5)82.9±0.465.7±0.5
Softmax(7)85.4 ±0.472.6±0.1
表4不同的特征图进行分类

8.ZFNet小结

ZFNet模型是一个基于卷积神经网络的图像分类模型,由Matthew D. Zeiler和Rob Fergus于2013年提出,旨在改进AlexNet模型并提高其分类性能。改进主要包括以下几个方面:

更小的卷积核:AlexNet采用的卷积核尺寸为11×11,而ZFNet将卷积核尺寸缩小到7×7,使得模型更加适合处理高分辨率的图像。

特征可视化:ZFNet通过对网络中的特征进行可视化,帮助人们理解网络中不同层次的特征所表达的语义含义。

ZFNet同样采用了ReLU作为激活函数,并使用Dropout操作进行正则化。此外,ZFNet还使用了数据增强技术,包括随机裁剪、随机水平翻转等,增加了训练数据的多样性。

在ImageNet图像分类竞赛中,ZFNet在Top-5错误率上取得了15.4%的成绩,比AlexNet提高了4%左右,表现出了更好的模型性能。

© 版权声明
THE END
共同营造AI社区,喜欢就支持一下吧~
点赞1650 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容