可解释性论文阅读(二)--- Visualizing and Understanding Convolutional Networks
继续努力,继续努力!!!第二天!!!
今天也来读一篇经典的文章
Visualizing and Understanding Convolutional Networks
Abstract
尽管网络效果表现出色(Background are good on the network, but we don't know why)但其背后的原因尚不明确(Despite this)本文提出了一种创新方法(This paper introduces a fascinating method)深入探讨中间特征层的功能与分类器的操作机制(Within this study, we present an innovative approach to elucidate the roles and mechanisms of intermediate feature layers and classifiers)从而推动诊断能力的提升(Through visualization techniques, our findings demonstrate improved model architectures on ImageNet compared to those developed by Krizhevsky et al)这些可视化工具不仅帮助我们识别出更优的模型架构(Furthermore, we perform ablation studies to evaluate the individual contributions of each model layer)还能揭示不同模型层对整体性能的影响(Upon retraining our ImageNet model for broader applicability to datasets such as Caltech-101 and Caltech-256, remarkable improvements were observed)通过消融研究我们发现各层模型在整体性能中的独特贡献(In terms of diagnosis, these visualizations enable us to locate better model architectures on ImageNet than Krizhevsky et al)此外我们展示了一种通用的方法论框架(Additionally, we propose a systematic framework for analyzing feature importance across different network layers)这一框架不仅能够解释现有模型的行为(This framework allows us not only to explain existing models but also predict their behavior under various conditions),还能指导新模型的设计与优化(It also provides insights into designing more efficient and robust models)通过这种方法我们成功实现了对现有深度学习模型性能的系统性评估与优化
1.Introduction
在卷积网络过去的几年中取得了显著成就。然而,在可解释性这块略显不足。本研究中我们介绍了一种可视化技术——该技术展示了该模型如何将单个特征映射还原至输入像素空间。此外,在训练过程中我们得以观察到特征的变化轨迹,并通过此手段对模型潜在问题进行了初步诊断。我们的可视化方法基于Zeiler等人于2011年提出的多层反卷积网络(deconvnet),并实现了对输入图像部分区域被遮挡后分类器输出敏感度的分析——这种分析有助于揭示场景哪些区域对于分类任务而言具有重要性。
借助这些工具
1.1 相关工作
利用视觉特征形成对网络的理解是一种常见的做法,在这一层中主要局限于像素空间层面的操作。(Erhan et al., 2009)通过梯度下降法在图像空间中寻找每个单元的最佳刺激,使得单元激活度最大化。这一过程需要谨慎初始化,但并未提供有关单元特异性信息。受到这种方法的影响,(Le et al., 2010)扩展了Berkes & Wiskott(2006)的思想,展示了如何基于最佳响应计算特定单元的Hessian矩阵,从而探究其不变性特性。尽管如此,对于更高层次的神经元,这种不变性变得极其复杂,难以仅用二次近似来描述。(Donahue et al., 2013)通过可视化识别数据集中导致模型产生高阶强激活的区域效果展示了该方法的优势。与之不同的是,我们的研究提出了一种非参数视角来探讨不变性问题,并以展示哪些训练样本激活了特征图的方式进行了具体分析。
Approach
介绍了使用的网络的相关信息(结构啊,方法啊什么的)
2.1. Visualization with a Deconvnet
理解卷积神经网络的操作需要解释中间层中的特征活动。我们提出了一种将这些活动映射回输入像素空间的新方法 ,显示了是什么输入模式在特征映射中导致了给定的激活。我们使用反卷积网络(deconvnet)来执行这种映射(Zeiler等人,2011)。可以将deconvnet看作是使用相同组件(过滤、池化)但反过来使用的convnet模型,因此与其将像素映射到特性,不如反过来使用。在(Zeiler et al., 2011)中,deconvnets被提出作为执行无监督学习 的一种方式。在这里,它们不用于任何学习能力,只是作为一个已经训练过的卷积神经网络的探针。
这一部分的主要内容是通过应用反卷积操作来实现特征映射关系的研究。以什么样的输入数据能够产生特定的激活响应
为了检测一个卷积神经网络,在其各层中增加了反卷积神经网络,并如图1(顶部)所示提供了一条返回图像像素的连续路径

这个图是讲反卷积怎么搭建的~~
然后介绍了一下unpool,rectify和filter:
unpool :在convnet中,最大池操作是不可逆的,但是我们可以通过记录开关变量集合中每个池区域内的最大值位置来获得近似的逆。
具体来说就是:

rectify :该卷积神经网络采用ReLU激活函数,在地物图上施加校正以保证其数值为正值。为了在每一层实现有效的特征重构(必须保持正值),我们引入ReLU激活函数来传递重构信号。
filter: 卷积神经网络通过可学习滤波器完成对前一层特征图的卷积操作。而 deconvnet 则采用这些滤波器组的转置版本,并将其应用于经 rectified 处理后的上一层特征图,并非直接作用于当前层输出结果。在实践应用中,则是将每个滤波器进行上下以及左右方向上的翻转。
详细阐述了模型的关键组成要素、关键参数设置、具体操作方法以及训练所需时间。
4. CNN Visualization (本章内容具有重要性 )
(该部分内容通过实验数据验证了其有效性)
Feature Extraction and Visualization

进行了一个特征可视化过程,并对各个层次进行了详细展示。该可视化呈现了前9个最重要的激活结果。从Layer 1和Layer 2中获得的主要特征包括颜色和边缘等基础特性;而Layer 3则逐渐变得更加复杂,并逐渐掌握了纹理模式;到了Layer 4时,则能够识别出更加有区别的特性;最终,在Layer 5阶段实现了完整且关键性的识别能力。
Feature Evolution during Training

该图表展示了不同层次特征图在训练过程中随训练次数变化的趋势,在这一过程中可以看出较低层次的特征图较早达到收敛状态,在较高层次的特征图则较晚达到这一状态。
Feature Invariance:

a、b、c分别进行平移变换、缩放变换以及旋转变换,在layer1和layer7之间的特征向量欧氏距离被计算为第2列数据。第4列记录的是经过转换后的图像被分类为真实label的概率值。需要注意的是,在第一列与第2列中纵轴的比例存在差异:较深层的欧氏距离变化幅度较小;而旋转变换的影响程度高于平移与缩放;此外还需指出的是,在实际应用中不同图片可能受到不同因素的影响
Architecture Selection

将b与c分别作为改进前后的第一层特征图,并对比d与e作为第二层特征图。研究表明,在原有的设计中高频与低频信息较为丰富。因此作者采用了较小尺寸的卷积核5×5代替了原先较大的11×11。同时将池化操作的步长由4缩减至2。这样得到的新特征图表现更为优异,并且显著提升了模型的整体准确率
Occlusion Sensitivity

如何区分模型识别出的目标是否为背景干扰?可以通过在图像中使用一个灰色遮罩部分覆盖目标图形来进行观察。第二和第三列展示了特征映射,在第二列中计算了每个遮罩区域在layer5处的特征图整体激活强度;而第三列则展示了通过将特征图反传至输入空间生成对应的图像片段。第四和第五列则反映了输出的变化情况,在第四列中衡量了在遮罩不同位置时预测类别的概率变化趋势;第五列则记录了预测结果中出现频率最高的类别随遮罩位置变化的关系。
Correspondence Analysis
探索物体的不同部分是否有些隐藏的关系。

评估五个不同狗图像中各物体部位之间的对应关系。眼面部和鼻部特征得分较低(与随机样本比较)暗示模型在第五层次建立了某种对应模式。至第七层次观察到更为相似的结果可能源于上一层在区分不同品种时增强了识别能力
5.Experiments
模型结构调整的一些实验:


改进后的模型错误率进一步降低。
实验表明,在去除2层卷积或2层全连接时,模型结果的变化较为轻微。
然而当移除4层时,则会对输出产生显著影响。
由此可见,模型深度对于性能提升具有重要意义
Feature Generalization

对多个不同的数据集进行模型测试后得到的结果表明:可见地,在过分扩大模型参数的情况下会导致过度拟合现象出现。
经在多个数据集上的测试显示,在这些条件下所提出的算法表现出超越现有最佳模型的性能水平。~~以下将详细列出两个不同数据集的结果。



由于Image数据集与Pascal数据集之间存在明显的差距,在这个特定的数据集中未能达到最佳水平
Feature Analysis

我们分析了Imagenet预训练模型中各层特征之间的差异性。为了实现这一目标,在每层上安装线性SVM分类器或采用Softmax分类器。实验结果表明,在Caltech-101和Caltech-256数据集上两个数据集上的实验结果显示提升后的模型在这些数据集上的性能表现得到了显著提升。这验证了一个假设:随着特征层级递进地深入学习会逐渐掌握越来越复杂的特征特性
最后是对总结:本文内容极为丰富(包括英文版)。可以看出作者进行了大量的实验工作(涉及不同图表与表格)。进一步发现,在英语论文中通常将大量图表集中展示(即便与正文排版不协调)。
我发现许多博客在翻译这篇文章时普遍关注第4章的内容。然而,在阅读过程中我发现第5章同样值得深入研究与探讨的领域是可视化部分
关于第4章:
- 利用反卷积将特征图映射回输入空间,并实现可视化效果。从低层到高层依次提取不同特性信息。
- 在训练过程中观察各层卷积核的变化情况时发现,在较低层的神经元先达到收敛状态,并且较高层神经元表现出较强的稳定性。
- 卷积核对图像平移、缩放以及旋转具有敏感度测试能力。实验表明,在较低频区域中存在较多高频信息,在较高频区域则分布着丰富的低频信息。
- 通过多组测试数据对比分析结果表明,在较低层次能够较好地区分主要目标类别及其关键特征属性,在较高层次则能更好地捕捉整体目标形状与细节特征之间的关系差异。
- 通过人工干预部分特征节点并观察模型输出结果的变化情况表明,在较低层次节点被破坏时会引发较大的输出变化幅度,在较高层次则表现出更强的抗干扰能力
这篇文章值得反复阅读。而且我现在想试试看去实践一下这个反卷积的功能。
