纽约大学ZFNet,2013年ImageNet图像分类竞赛冠军模型。提出了一系列可视化卷积神经网络中间层特征的方法,并巧妙设置了对照消融实验,从各个角度分析卷积神经网络各层提取的特征及对变换的敏感性。
使用反卷积,将中间层 feature map 投射重构回原始输入像素空间,便于可视化每个 feature map 捕获的特征。改进 AlexNet 模型,减小卷积核尺寸,减小步长,增加卷积核,提出 ZFNet。
还进行了以下研究:
因为CNN可解释性很差,作者通过可视化中间 feature map 的输出,可以监控训练过程中学习到的特征。在网络结构上面 ZFNet 只是对 AlexNet 进行了小修小改,所以文章的核心和重点在于可视化的技巧。
我们想要研究和分析哪一个中间层,就可以将它的feature map取出来然后重新投影回原始数据上的空间。
最大池化是不可逆的,但我们可以记录下每个池化区域最大像素的位置(转换变量switch),然后通过反池化操作将池化后的输出 Pooled Map 按照 switch 记录的位置填回去,可以避免结构的改变,但是非极大值像素的信息会不可避免的被丢失。虽然池化会损失一部分信息,但是重构得到的特征图和原始输入的特征图仍旧很相似。
因为Relu是 y = max(0,x) ,输出y = x 或 0,这里反激活的话还是使用Relu, x = y,如果 y = 0 的话信息已经丢掉了也没法弥补,所以也是会损失一部分信息。
反卷积使用同样卷积核的转置版本,与卷积之后获得的特征图进行矩阵乘法,经过这一系列操作后,又得到了之前未卷积前的图像大小。(4*4图像经过3*3卷积后得到2*2特征图,经过反卷积后,又得到4*4图像) 反卷积中padding = 卷积核大小 – 卷积中padding – 1 = 3 – 1 – 1 = 1;反卷积中stride = 卷积中stride的倒数 = 1/2,相当于填充一个像素。 ①卷积操作 对这个3×3的卷积核进行重新排列,得到了下面这个4×16的卷积矩阵。
为了将卷积操作表示为卷积矩阵和输入矩阵的向量乘法,我们将输入矩阵4×4摊平(flatten)为一个列向量,形状为16×1。
将这个4×16的卷积矩阵和16 ×1 的输入列向量进行矩阵乘法,得到了输出列向量。这个输出的4×1的矩阵可以重塑为一个2×2的矩阵,而这个矩阵正是我们通过传统的卷积操作得到的。
②反卷积操作 使用转置后的卷积矩阵,与上一步中的输出矩阵进行矩阵乘法,得到一个16 ×1 的输出矩阵,可以重塑为4 ×4 的矩阵。
1)特征学习
①在数据集中找到能使第1层卷积核激活最大的9张原图,可以发现找到的都是一些边缘、颜色之类的底层特征。
②从第2层开始使用反卷积的技巧。先从第2层中选出16个卷积核,然后在数据集中找出能使这 16 个卷积核激活最大的图片,每个卷积核挑9张。将这9张图像传到第2层的 feature map,然后反卷积重构回输入的像素空间,得到左边的图像。 可以看到第1层、第2层学习到的特征基本上是颜色、边缘等低层特征;第3层学习到的是纹理特征,比如上面的一些网格纹理;第4层学习到的则是比较有区别性的特征,比如狗;第5层学习到的则是具有辨别性关键特征,语义特征。
b)特征收敛 下图中每一行代表一个卷积核,每一列代表一个训练轮次。我们可以发现底层的特征在训练过程中基本没啥变化,而且很快就会收敛;而高层的特征在最开始的几次迭代中变化不是很大,但是到了40 epochs 之后变化很大,且需要很长时间才能收敛。
c)不变性 不变性意味着即使目标的外观发生了某种变化,但是你依然可以把它识别出来。对图像分类任务来说,图像中的目标不管被移动到图片的哪个位置,得到的结果(标签)应该是相同的,这就是卷积神经网络中的平移不变性,缩放、旋转同理。
a1为原始变换图像,a2是原始图片的欧氏距离,a3是经过7层变换后的图片的欧氏距离,a4是变换后图片被正确分类的概率图。
我们可以发现CNN网络层数越深,不变性越强。在旋转的深层网络中,图像每旋转90°差异就会到达一次低谷,而准确率则会到达一次高峰。说明深层网络学到了语义信息。
1)局部遮挡敏感性分析 a列是原始被遮盖的图像;b列是不同位置遮挡c列对应的 feature map 叠加求和;c列是把未经遮挡的图像第五层的特征图反卷积的可视化图像;d列为遮挡不同部位时,网络识别出正确类别的概率;e列是网络识别出的类别。 激活最大的 feature map 不一定是对分类最有用的特征。
2)局部遮挡相关性分析
分析针对不同狗的图片,遮挡相同部位在不同图片中的影响是否一致。 深度学习模型没有显式定义图像中各部分之间的关系,通过计算不同图片遮挡前后不同层数的 feature vector 之间的差值,可以反映出遮挡对当前层神经网络特征提取的影响。差值越小则说明在不同狗的图片中遮挡相同部位对网络特征提取产生的影响越相同。也就说明了网络对于不同图片中物体相同部位存在隐式相关性。
随机遮挡的时候,网络层数越深,差值越小,间接说明了网络越深,越提取的是语义特征,比如狗的种类,而不是空间上的变化。
ZFNet与AlexNet的对比,只改变了 AlexNet 的第一层,将卷积核大小从 11×11 变成 7×7,并且将步长 4 变成了 2。
Zeiler M D , Fergus R . Visualizing and Understanding Convolutional Networks[J]. 2013.
下一篇