大数跨境
0
0

底层任务超详细解读 (四):首个超分可解释性工作 LAM,使用局部归因图理解和可视化的超分网络

底层任务超详细解读 (四):首个超分可解释性工作 LAM,使用局部归因图理解和可视化的超分网络 极市平台
2022-09-07
2
↑ 点击蓝字 关注极市平台

作者丨科技猛兽
编辑丨极市平台

极市导读

 

本文介绍一篇来自CVPR2021的工作,该工作提出了一种新颖的归因方法—局部归因图(LAM),该方法继承了积分梯度方法,但具有两个创新点。一种是将高斯模糊图像用作基线输入,另一种是采用渐进模糊函数作为路径函数。 >>加入极市CV技术交流群,走在计算机视觉的最前沿

底层任务超详细解读 (一):模糊核迭代校正盲超分方法 IKC

底层任务超详细解读 (二):盲超分的端到端交替优化方法 DAN

底层任务超详细解读 (三):只用纯合成数据来训练真实世界的盲超分模型 Real-ESRGAN

本文目录

4 LAM:使用局部归因图理解和可视化超分网络
4.1 超分网络一直是个谜
4.2 归因分析方法总结
4.3 超分模型归因分析的三条原则
4.4 LAM 的具体做法
4.5 LAM 的基准图片和积分路径选择
4.6 关于 LAM 的一些探讨
4.7 LAM 实验结果
4.8 借助 LAM 探索超分模型

4 LAM:使用局部归因图理解和可视化超分网络

论文名称:Interpreting Super-Resolution Networks with Local Attribution Maps (CVPR 2021)

论文地址:

https://arxiv.org/pdf/2011.11036.pdf

代码地址:

https://colab.research.google.com/drive/1ZodQ8CRCfHw0y6BweG9zB3YrK_lYWcDk%3Fusp%3Dsharing

4.1 超分网络一直是个谜

深度学习时代,超分辨率方向的研究不断取得进展,SOTA 被一次又一次刷新。然而 SR 研究也有着深度学习的通病:

  • 到底模型学习到了什么?
  • 到底是什么对模型的优异性能贡献最大?
  • 感受野 (Receptive field) 决定了 HR 能“看到”的 LR 范围,那么是不是只要加大感受野就能获得更好的性能呢?更大的感受野,或者多尺度的特征是否对于 SR 模型有效?
  • 为什么 Attention 或者 Non-local 的操作可以帮助提升 SR 性能?
  • 不同的网络架构如何影响信息使用和最终性能?

也就是说,很多时候我们只知道某个模型 work,但究竟是怎么 work 起来的。对于这些开放性的问题,我们缺乏系统的认识,甚至缺乏研究工具。对于以上问题,文章认为需要发展针对 SR 领域的 **Attribution Analysis (归因分析)**,以更好地理解模型,从而为改进模型指明方向。归因分析,其实在分类问题上已经有一定的进展,本文意在结合 SR 的特性,将分类问题的归因分析方法迁移到 SR 问题上。

归因分析的结果一般通过归因图 (Attribution map) 的形式展示。在归因图中,对于输出产生较为重要影响的像素被 highlight 出来。通过这种方式,我们可以分析 SR 网络的信息使用模式,并评估 SR 网络是否可以提取高级语义信息。

如下图1是一张 LR 图通过不同的模型超分成一张 SR 图的结果。HR 图上有一个红色的框,LAM Attribution 就代表了三个不同的超分模型输入的 LR 图像中每个像素对红色的框 SR 结果的重要性。对 HR 图像中间红框处的超分结果进行归因分析,右边图像上标红的像素即为对该超分结果 "贡献比较大" 的像素。

LAM 结果表明,FSRCNN 仅利用非常有限的信息,EDSR 增加了信息利用的范围,但仍然无法重建精确的纹理,而非局部网络 RNAN 可以利用更大范围的信息来获得更好的超分结果。

图1:LR 图通过不同的模型超分成一张 SR 图的结果。HR 图上有一个红色的框,LAM Attribution 就代表了三个不同的超分模型输入的 LR 图像中每个像素对红色的框 SR 结果的重要性。

4.2 归因分析方法总结

基于分类问题归因分析中,一种重要的方法是 Integrated Gradient (积分梯度) 。这一小节我们做个汇总。

[1] How to Explain Individual Classification Decisions (The Journal of Machine Learning Research)

 [2] Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps (ICLR 2014)

 [3] Axiomatic attribution for deep networks (ICML 2017)

[4] Gradients of Counterfactuals

给定输入图片 和模型 , 模型输出这张图片属于各个类别的概率。归因分析 (Attribution Analysis) 方法会给出一张归因图 (Attribution Map), 这张图 对应模型 , 它与输入图片 的尺寸是一致的, 代表了图像中的每个像素对最终输出结果的 "贡献 度大小" 或 "影响程度"。对于分类网络, 这通常是每个特定的类别的贡献度。所谓归因, 简单来说就是对于给定的输入图片 和模型 , 我们想办法指出 的哪些分量对模型的决策有重要影响, 或者说对 的各个分量的重要性做个排序, 用专业的话术来说那就是 "归因"。一个朴素的思路是直接使用 "预测概率对输入 的梯度 (Gradient w.r.t. )" 来作为 的各个分量的重要性指标, 而积分梯度是对它的改进。

下面简单介绍下分类模型中几种计算归因图 (Attribution Map) 的方法。

1) 预测概率对输入 的梯度 (Gradient w.r.t. ):

该方法采用预测概率对输入 的梯度作为归因图:

衡量了模型对输入的第 个分量变化的敏感程度, 但是这种普通的计算预测概率对输 的梯度的方法存在饱和问题 (典型的就是 ReLU 函数的负半轴), 即: 梯度就为 0 了, 那就揭示不出什么有效信息了。输入 发生一点点的变化将不会改变输出的概率。对于超分模型, 饱和问题依旧存在。

2) 预测概率对输入 II 的梯度与输入的点乘:

这种方法是为了解决上面的饱和问题:

但对于超分网络的解释,像素强度不应该是归因图 (Attribution Map) 的一部分,因为当像素强度改变时,纹理和边缘可能不会改变。直接计算输入强度和梯度的乘积会引入干扰因素。鉴于直接使用梯度的上述缺点,一些新的改进相继被提出来,如LRP(https://arxiv.org/abs/1604.00825)、DeepLift(https://arxiv.org/abs/1704.02685)等,不过相对而言,积分梯度的改进更为简洁漂亮。

3) 积分梯度 (Integrated Gradients):

积分梯度代表了图像中的每个像素对最终输出结果的 "贡献度大小" 或 "影响程度"。

假设我们要分析的输入是 , 还有一个基线图片是 , 可以取纯黑的图片等等。模型是 , 假设 是个分类模型或者 模型, 是揷值参数, 表示从基线图片 到原始输入 图片 的揷值过程。则积分梯度 (Integral Gradient) 的定义为:

其中, 的含义是输入图片 的第 个像素对最终输出结果的 "贡献度大小" 或 "影响程 度"。

积分梯度满足所有分量的积分梯度之和等于从基线图片到最终图片模型输出结果的变化:

积分梯度的详细推导过程可以参考我的博客:https://zhuanlan.zhihu.com/p/468782348/

4) SmoothGrad 和 VarGrad:

除了积分梯度之外,计算归因图还有 SmoothGrad 和 VarGrad 的方法:

式中, 代表服从高斯分布的噪声向量, 代表方差。

4.3 超分模型归因分析的三条原则

作者提出了 SR 归因分析的三条 principle。

  1. interpret local not global
  2. interpret hard not simple
  3. interpret feature not pixels

interpret local not global

分类网络根据输入的图片得到输出的一个预测结果,但是超分模型会输出与 LR 图片对应的 SR 图。SR 问题具有较强的局部相关性,不像分类问题那样输出结果具有高级的语义信息。作者不会对整张 SR 的结果进行归因,而是只取局部的一个 patch。这种做法与很多图像质量评价的做法类似。我们的目标是找到对输出图像中特定位置/区域的重建作出贡献的输入像素。这个过程可以告诉我们 SR 网络已经利用了什么信息。

interpret hard not simple

对于 SR 任务而言,平坦的区域和简单的边缘相对容易重建出来,只需要简单的插值即可完成恢复,这些简单的区域对我们理解 SR 网络的帮助是有限的,我们真正关心的是限制 SR 网络性能的 "困难" 区域。在这些 "困难" 区域中,LR 图片只包含了有限的信息,这个时候我们就能通过分析一些表现相对较好的 SR 网络来分析到底该如何设计 SR 算法。

interpret feature not pixels

分类问题输出的是输入图片通过模型之后,每个类的得分,SR 模型输出的是像素,而单个像素本身是数值大小是没有明显语义信息的。 因此不能照搬分类问题中取出某个输出分量 (pixel) 进行归因分析的做法。所以,作者提出了用局部特征代替像素的做法,检测特定局部特征的存在,例如边缘和纹理。将归因方法的 "因" 视为是否存在边缘/纹理,而不是单个的像素。

4.4 LAM 的具体做法

先统一一下符号, 假设有 模型 , 上采样 scale factor 为

LR 图片里面的一个 大小的 patch, 位置在 , 作者使用一个检测器 来量化在这个 patch 中是否存在某些特定的特征 (比如边缘和纹理)。检测器的实现方法也有不少, 这里使用简单的形式:梯度检测器, 即:

式中, 是输入的 LR 图, 是图中的某个 patch。按照积分梯度的做法, 我们需要一个 baseline 图片 , 它经过模型 输出的结果 没有特定的特征。

若 LR 图片 经过模型 输出的结果 有特定的特征, 则 将会比 在数值上面大很多。

对于 LR 输入图片 而言, 尽管模型 输出的结果 不是一个标量或者向量, 但是每个 patch 的检测器输出的结果却是个标量。超分模型 再加上后面的检测器 就相当于了一个分类模型, 输出 LR 图片的某个 patch 里面是否有特定的特征。我们就可以计算这个标量对于 LR 图片的积分梯度了,这也就是 LAM 的核心思想。

假设 代表连接 的一条曲线, 其中: 。那么根据4式, 积分梯度方法 (Integral Gradient) 得到的局部归因图 (Local attribution map) 就可以写成:

对比原始的积分梯度方法4式:

LAM 的改进一是巧妙地借助检测器 ,将模型的输出结果重新变成标量,以完成积分梯度;二是积分的对象由原来的完整图片变为局部图片,因为 SR 问题具有较强的局部相关性,不像分类问题那样输出结果具有高级的语义信息,如下图1所示。

图1:LAM 框架

4.5 LAM 的基准图片和积分路径选择

baseline 图片 , 它经过模型 输出的结果 没有特定的特征。在 SR 任务中, LR 图像的低频分量 (例如, 颜色和亮度) 对最终 SR 模型性能的贡献较小。相反, 高频分量 (例如,边缘和纹 理) 对于实现良好的超分结果非常重要。在 LAM 中, 基准图片 设计成原始的 LR 图片的模糊版本:

式中, 代表卷积操作, 是高斯模糊核, 为 kernel width。

路径函数不再使用 IG 使用过的插值函数 , 但是 LR 图片和模糊的 LR 图片插值后的结果含有伪像, 并且不遵循自然图像的先验分布。使用这样插值出来的的图片从 LR 图片过渡到模糊的 LR 图片是不自然的。

因此, 作者提出了更加平滑的过渡方式:渐进模糊路径函数 (progressive blurring path function) , 它通过渐进地改变模糊核来实现从 baseline 图片 的平滑变换:

这个模糊核的特点是: 在一开始 , 结束之后

作者计算沿路径均匀采样的点处的梯度, 然后用求和来近似等式9的积分, 并用渐进模糊路径函数 替换线性插值的路径函数 , 这样9式就变为了下面的 12 式:

式中, 是求和代替积分的步长, 使用 来代替 。根据积分梯度的性质 5 式有:

4.6 关于 LAM 的一些探讨

传统的归因分析方法,如4.2节所述,采用预测概率对输入 的梯度作为归因图,存在着梯度饱和的问题,作者也通过实验进行了验证。

如下图2所示是一个 LAM 实验的例子,分别是 HR 图,LR 图,EDSR 模型超分结果以及 LAM 的实验结果。图2.a 红色的方框是选中的要进行归因分析区域。从图2.d 可以看出来我们选中的区域包含一些边缘,正是这些相对 "困难" 的部分真正影响了超分模型的性能。而 LAM 得到的归因图也能够不错地展示出这些边缘部分,即:LAM 认为这些边缘部分对于模型而言比较重要。

图2:LAM 实验的例子

如下图3所示是从基线图像插值到 LR 图像的过程中,归因分析方法 LAM 和 Integral Gradient 一些指标的直观对比。各个图代表的含义如下:

图3.e: 从基线图像插值到 LR 图像的过程输入的变化。LAM 个 IG 二者在路径的选择上不同,如前文4.5节所述,IG 是使用的基准图片是 black image,路径直接使用线性插值,而 LAM 使用的基准图片是原始 LR 图片的模糊版本,积分路径使用**渐进模糊路径函数 (progressive blurring path function)**。这在图3中就能够直观地感受出来。

图3.f: 从基线图像到 LR 图像,输入通过超分模型 和检测器 之后的结果。LAM方法: 这个结果逐渐增大到出现了饱和 (saturation),所以直接求梯度就会出现梯度非常小的现象。IG 方法: 这个结果逐渐增大,没有出现饱和。

图3.g: 从基线图像插值到 LR 图像过程中 的变化过程。因为 LAM 和 IG 所采用的路径函数不同,所以这个指标的变化情况也不同。

图3.h: 从基线图像插值到 LR 图像过程中梯度的累加,红色虚线代表

图3.i: 从基线图像插值到 LR 图像过程中对 local patch 中每个位置的梯度可视化。

图3:从基线图像插值到 LR 图像的过程中,归因分析方法 LAM 和 Integral Gradient 一些指标的直观对比

接下来我们再说说基线图片选择的问题, 如上图所示。IG 是使用的基准图片是 black image, 而 LAM 使用的基准图片是原始 LR 图片的模糊版本。虽然使用 black image 作为基线图像时, 的值也会非常小, 但是, black image 作为基线图像没法体现出特定特征 (如边缘, 纹理等) 的缺失。black image 作为基线图像时, 较小是因为像素的强度很小; 而模糊 LR 图片作为基线图像时, 较小是因为缺失了特定特征 (如边缘, 纹理等)。

通过图3.g 我们也可以发现, 对于 IG 的线性揷值, ,这一项在整个c插值过程中不改变; 对于 LAM 的渐进模糊路径函数, , 这一项在整个插值过程中 改变, 使得插值更加平滑, 因此得到更加合理的归因结果。

4.7 LAM 实验结果

作者首先从 DIV2K 和 Urban100 的验证集里面采样了 30,000 张256×256的子图,再从中采样了150张比较 "hard" 的图像,使用不同的 SR 模型得到×4的超分结果。在实际操作中,根据 interpret local not global 的原则,作者只对图像中心的16 × 16的局部小 patch 进行归因分析。定量评估的指标有 PSNR 和 LPIPS。

Diffusion Index

LAM 突出对 SR 结果具有最大影响的像素。理论上,对于相同的局部小 patch,如果 LAM 得到的归因图涉及更多的像素或更大的范围,则可以认为 SR 网络已经利用了来自更多像素的信息。那么如何来衡量这个 "更大的范围" 呢?作者这里使用了基尼系数 (Gini coefficient):

其中, 代表归因图中第 维的绝对值, 是平均值,

基尼系数基尼系数 (英文:Gini index、Gini Coefficient) 是指国际上通用的、用以衡量一个国家或地区居民收入差距的常用指标。基尼系数最大为 "1",最小等于 "0"。基尼系数越接近0表明收入分配越是趋向平等。

在 LAM 中,Gini index 指的是衡量归因图差距的指标,它反映了归因图所涉及的像素的范围。如果少数像素在总属性结果中贡献较大比例,则其基尼系数相对较高;如果归因图结果相对均匀,代表 SR 模型注意到很多的地方,则其基尼系数相对较低。在实践中,作者提出扩散指数 (Diffusion Index) 以方便分析,表示为:

扩散指数 (Diffusion Index) 和基尼系数 (Gini index) 是相反的,DI 越大,代表归因图结果相对均匀,代表 SR 模型注意到很多的地方。

不同 SR 模型的 LAM 结果如下图4所示。有以下的观察。

  1. 早期的网络 FSRCNN 和浅层网络 CARN 的归因图有效区域相对较小,意味着这些模型只能基于有限的周围像素进行超分。
  2. 深度残差网络,即 EDSR,RRDBNet,RCAN 和 DRLN,具有更深的架构和更大的归因图有效区域。这些网络对 LR 图像中具有相似图案的更大范围的像素感兴趣,例如,摩天大楼上出现的规则条纹。尽管这些区域中的纹理在 LR 图像中严重混叠,这可能误导 SR 过程,但是一些网络仍然重建精确的纹理,并且根据 LAM 结果,它们注意到更大范围的未混叠区域。
  3. 对于有 non-local 和 channel-wise attention 模块的超分模型,它们会利用更长距离的信息来协助 SR 的过程。代表性模型包括 RNAN,RNAN 和 SAN。

这个实验证明了 LAM 作为研究辅助手段的价值。值得注意的是,一些网络,像 SAN 和 DRLN 等等也考虑了更大范围的像素,但仍然重建了错误的纹理。在这些模型中,来自更多像素的信息不能有效地用于精确重建。

图4:LAM 实验结果

如图5所示的热图展示了不同 SR 网络的关注区域,所有的 SR 网络都关注红色的区域,不同 SR 模型关注区域的不同体现在蓝色区域上。如何提取和利用蓝色区域的信息是一个 SR 网络区别于其他网络的关键因素。在图6的第6、第7和第8个例子中,SR 网络的注意力沿着纹理延伸的方向分布;在第9个例子中,SR 网络注意到目标补丁周围形状相似的窗口。

图5:热图展示了不同 SR 网络的关注区域,所有的 SR 网络都关注红色的区域,不同 SR 模型关注区域的不同体现在蓝色区域上

4.8 借助 LAM 探索超分模型

本节作者借助 LAM 来从不同的维度探索超分模型,主要是探讨扩散指数 (Diffusion Index) 和不同指标的关系。

维度1:Diffusion Index 和 Network Performances 的关系

因为扩散指数 (Diffusion Index) 越大,代表归因图结果相对均匀,代表 SR 模型注意到很多的地方,所以作者想分析下扩散指数和网络的性能是否有联系。或者说,我们能否通过利用来自更多像素的信息来获得更好的 SR 性能?

如下图6所示,作者通过线性回归拟合了二者的关系。其中 轴代表 DI 的对数, 轴代表 SR 性能。我们发现无论是 PSNR 指标还是 LPIPS 指标,和 DI 都是强相关的。这证明了更多像素的信息能够帮助模型获得更好的 SR 性能。找到从更多像素中获取更好的性能的方法是未来工作的重要方向。

图6:Diffusion Index 和 Network Performances 的关系

结论:基本成正相关。

维度2:Diffusion Index 和 Receptive Field 的关系

很多工作希望把 SR 模型做深,这带来感受野的增加。这些工作因此希望通过感受野的增加来提升 SR 的性能。但是Diffusion Index 和 Receptive Field 的关系如何?

在下图7中,作者给出了 Diffusion Index 和 Receptive Field 的关系。随着卷积层数的增加,感受野的大小也增加,网络也能够感知更多像素的信息。 除了增加更多的卷积层,有些网络还引入了全局操作 (global pooling layers 层和 non-local 操作的通道式注意力机制),这在理论上可以增加感受野以覆盖整个图像。

比如 RRDBNet 的感受野和 DI 都比较大,但与之相比,使用全局操作的 IMDN 网络等虽然没有显著增加 DI,但是性能 (PSNR) 却显著提升了,它们在利用信息方面更有效率。

结论:现有网络的感受野足够大,单纯增加感受野的效果是有限的。如何有效地利用接收区域像素内的信息才是至关重要的。

图7:Diffusion Index 和 Receptive Field 的关系

维度3:Diffusion Index 和 Network Scale 的关系

下图8表示Diffusion Index 和 Network Scale 的关系。对于 FSRCNN,增加深度和中间层的宽度都能够实现更好的 Diffusion Index 和 PSNR 性能。对于 EDSR,只有增加深度才能够实现更好的 Diffusion Index 和 PSNR 性能。

结论:增加 Network Scale 并不一定能增加 Diffusion Index。

图8:Diffusion Index 和 Network Scale 的关系

维度4:Diffusion Index 和图片内容的关系

下图9是Diffusion Index 和图片内容的关系。图9上面蓝色的点的含义是:每条竖线上的点代表一张图片在不同网络下的 DI 值。从左到右按照 DI 值从大到小依次排列。可以看出有些图片 (偏右侧的) 通过不同网络时的 DI 值,整体较大,差别也较大,有些图片 (偏左侧的) 通过不同网络时的 DI 值整体较小,差别也较小。

有些图片 (设为A),尽管网络有较大的感受野和较好的性能,但是 DI 仍然很小。这表明这些网络认为对于图片A而言,更大范围内的语义或特征对当前 patch 的超分没有什么帮助。可有些图片 (设为B),网络的 DI 很大。这表明这些网络认为对于图片B而言,更大范围内的语义或特征对当前 patch 的超分帮助很大。

可以观察到,具有规则条纹网格纹理的图像非常容易被 SR 网络检测到,而复杂的高级语义,如人和动物,则不能被有效使用。LAM 的结果实际上指出,对于 SR 网络,复杂的高级语义和我们想象的作用不一样,它们是否能帮助 SR,这是一个未解决的问题。

结论:有的图片,不同超分模型的 DI 值都比较小,代表这种图片更大范围内的语义或特征对当前 patch 的超分没有什么帮助。有的图片,不同超分模型的 DI 值有大有小,代表这种图片更大范围内的语义或特征对当前 patch 的超分帮助很大。

图9:Diffusion Index 和图片内容的关系。图9上面蓝色的点的含义是:每条竖线上的点代表一张图片在不同网络下的 DI 值。可以看出有些图片 (偏右侧的) 通过不同网络时的 DI 值差别较大,有些图片 (偏左侧的) 通过不同网络时的 DI 值差别较小。

总结

LAM 是第一个超分可解释性的工作,主要基于积分梯度方法。作者提出了 SR 归因分析的3条 principle。

  1. interpret local not global
  2. interpret hard not simple
  3. interpret feature not pixels

LAM 巧妙地借助检测器 , 将模型的输出结果重新变成标量, 以完成积分梯度。同时提出渐进模糊路径函数 (progressive blurring path function) , 它通过渐进地改变模糊核来实现从 baseline 图片 的平滑变换。LAM 提出扩散指数 (Diffusion Index) 来表达 SR 网络在完成 SR 任务时,利用了来自多大范围的像素的信息。扩散指数和 SR 网络性能, SR 网络感受野大小, SR 网络本身大小和图片内容都有关。

公众号后台回复“医学影像”获取医学影像综述~

△点击卡片关注极市平台,获取最新CV干货
极市干货
数据集资源汇总:10个开源工业检测数据集汇总21个深度学习开源数据集分类汇总
算法trick目标检测比赛中的tricks集锦从39个kaggle竞赛中总结出来的图像分割的Tips和Tricks
技术综述:一文弄懂各种loss function工业图像异常检测最新研究总结(2019-2020)


极市平台签约作者#


科技猛兽

知乎:科技猛兽


清华大学自动化系19级硕士

研究领域:AI边缘计算 (Efficient AI with Tiny Resource):专注模型压缩,搜索,量化,加速,加法网络,以及它们与其他任务的结合,更好地服务于端侧设备。


作品精选

搞懂 Vision Transformer 原理和代码,看这篇技术综述就够了
用Pytorch轻松实现28个视觉Transformer,开源库 timm 了解一下!(附代码解读)
轻量高效!清华智能计算实验室开源基于PyTorch的视频 (图片) 去模糊框架SimDeblur



投稿方式:
添加小编微信Fengcall(微信号:fengcall19),备注:姓名-投稿
△长按添加极市平台小编

觉得有用麻烦给个在看啦~  
【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读919
粉丝0
内容8.2k