基本的思想及其过程
可视化技术揭露了激发模型中每层单独的特征图,也允许观察在训练阶段特征的演变过程且诊断出模型的潜在问题。
可视化技术用到了多层解卷积网络,即由特征激活返回到输入像素空间。
同时进行了分类器输出的敏感性分析,即通过阻止部分输入图像来揭示那部分对于分类是重要的。这个可视化技术提供了一个非参数的不变性来展示来自训练集的哪一块激活哪个特征图,不仅需裁剪输入图片,而且自上而下的投影来揭露来自每块的结构激活一个特征图。可视化技术依赖于解卷积操作,即卷积操作的逆过程,将特征映射到像素上。由于解卷积是一种非监督学习,因此只能作为已经训练过的卷积网的探究,不能用作任何学习用途。
卷积与解卷积
![](https://img-blog.csdnimg.cn/05d53f115ada477b8f11543e45c97c4a.png)
![](https://img-blog.csdnimg.cn/159d44aedcde4fa2b81db3bf9ca0593f.png)
非池化
:池化操作是非可逆的,但是我们可以用一组转换变量
switch
在每个池化区域中通过记录最大值的位置来获得一个近似逆。在解卷积网中,非池化操作使用这些转换来放置上述最大值的位置,保存激活的位置,其余位置都置 0
。
纠正
:卷积网中使用非线性的
ReLU
来修改特征图来确保特征图总是正值。为了获得在每层的有效(也应该是正值)的特征重建,也在解卷积网中利用了 ReLU
。
滤波
:解卷积网中利用卷积网中的相同的滤波器的转置应用到纠正过的特征图中,而不是上层的输出。也就是对滤波器进行水平方向和垂直方向的翻转。从高层向下投影使用转换变量 switch
,这个转化变量
switch
产生自向上的卷积网的最大池化操作。由于重建由一个单独的激活获得,因此也就只对应于原始输入图像的一小块。
上图左半部分是一个解卷积层,右半部分为一个卷积层。解卷积层将会重建一个来自下一层的卷积特征近似版本。图中使用 switc 来记录在卷积网中进行最大池化操作时每个池化区域的局部最大值的位置,经过非池化操作之后,原来的非最大值的位置都置为 0。
卷积可视化
预处理:网络对输入图片进行预处理,裁剪图片中间的
256x256
区域,并减去整个图像每个像素的均值,然后用 10
个不同的对
256x256
图像进行
224x224
的裁剪(中间区域加上四个角落,以及他们的水平翻转图像),对以 128
个图片分的块进行随机梯度下降法来更新参数。起始学习率为10
-2
,动量为
0.9
,当验证集误差停滞时,手动调整学习率。在全连接网络中使用概率为 0.5
的
dropout
,并且所有权值都初始化为
,偏置设为
0
。
在训练时第一层 的可视化揭露了一些占主导的因素,为了了解这些,我们采用重新归一化每个卷积层的滤波器,这些滤波器的均方根值超过了一个固定半径的
。这是非常关键的,尤其是在模型中的第一层,因为输出图片大约在[-128,128]的范围内。
特征可视化:每个特征单独投影到像素空间揭露了不同的结构能刺激不同的一个给定的特征图,因此展示了它对于变形的输入内在的不变性。下图即在一个已经训练好的网络中可视化后的图。
由上图可以看到第二层应对角落和其他边缘或者颜色的结合;第三层有更加复杂的不变性,捕捉到了相似的纹理;第四层显示了特定类间显著的差异性;第五层显示了有显著构成变化的整个物体。
训练时的特征演变过程:外表突然的变化导致图像中的一个变换即产生了最强烈的激活。模型的底层在少数几个 epoches 就能收敛聚集,然而上层在一个相当多的 epoches(40-50)之后才能有所变化,这显示了让模型完全训练到完全收敛的必要性。可以由下图看到颜色对比度都逐步增强。
特征不变性
:
一般来说,小的变化对于模型的第一层都有非常大的影响,但对于最高层的影响却几乎没有。对于图像的平移、尺度、旋转的变化来说,网络的输出对于平移和尺度变化都是稳定的,但却不具有旋转不变性,除非目标图像时旋转对称的。下图为分别对平移,尺度,旋转做的分析图。
上图按行顺序分别为对 5 类图像进行不同程度的垂直方向上的平移、尺度变换、旋转对输出结果影响的分析图。按列顺序分别为原始变换图像,第一层中原始图片和变换后的图片的欧氏距离,第 7 层中原始图片和变换后的图片的欧氏距离,变换后图片被正确分类的概率图。
可视化不仅能够看到一个训练完的模型的内部操作,而且还能帮助选择好的网络结构。
ZFNet 和 AlexNet 比较
ZFNet 的网络结构实际上与 AlexNet 没有什么很大的变化,差异表现在 AlexNet 用了两块GPU 的稀疏连接结构,而 ZFNet 只用了一块 GPU 的稠密连接结构;同时,由于可视化可以用来选择好的网络结构,通过可视化发现 AlexNet 第一层中有大量的高频和低频信息的混合,却几乎没有覆盖到中间的频率信息;且第二层中由于第一层卷积用的步长为 4 太大了,导致了有非常多的混叠情况;因此改变了 AlexNet 的第一层即将滤波器的大小 11x11 变成 7x7,并且将步长 4 变成了 2,下图为 AlexNet 网络结构与 ZFNet 的比较。
![](https://img-blog.csdnimg.cn/36f1b1d93df343e291e4bdf59c0477d6.png)