Julius Adebayo、Ian Goodfellow等作者Geek AI 张倩编译

哪种特征分析法适合你的任务?Ian Goodfellow提出显著性映射的可用性测试

显著性方法被广泛应用于突出输入中与学到的模型的预测结果相关的特征。现有的显著性方法通常是以图像数据的视觉吸引作为指导的。本文提出了一种可行的方法来评估一个给定的方法能够/不能提供什么样的解释。研究发现,仅仅依赖于视觉的评估可能会产生一些误导性的结果。通过大量实验,研究人员证明了一些现有的显著性方法独立于模型和数据生成过程。因此,在本文测试中表现较差的方法不能够胜任那些对数据或模型敏感的任务。

随着机器学习的复杂度和影响力不断提升,许多人希望找到一些解释的方法,用于阐释学得模型的重要属性 [1, 2]。对模型的解释可能有助于模型满足法规要求 [3],帮助从业人员对模型进行调试 [4],也许还能揭示模型学到的偏好或其他预期之外的影响 [5, 6]。显著性方法(Saliency method)是一种越来越流行的工具,旨在突出输入(通常是图像)中的相关特征。尽管最近有一些令人振奋的重大研究进展 [7-20],但是解释机器学习模型的重要努力面临着方法论上的挑战:难以评估模型解释的范围和质量。当要在众多相互竞争的方法中做出选择时,往往缺乏原则性的指导方针,这会让从业者感到困惑。

本论文提出了一种基于随机化检验(randomization test)的可行方法来评估解释方法的性能。作者在神经网络图像分类任务上分析了一些显著性方法。实际上,本论文提出的方法论适用于任何解释方法。而且本文提出的随机化检验是很容易实现的,可以帮助人们评估某个解释方法对手头任务的适用性。

研究者在大量实验研究中,将该方法论应用到了大量现有的显著性方法、模型架构和数据集上。令人吃惊的是,一些被广泛采用的显著性方法是独立于训练数据和模型参数的。因此,这些方法对依赖模型的任务(如调试模型)或依赖数据显示出的输入和输出之间关系的任务没有太大帮助。

为了说明这一点,图 1 将标准显著性方法的输出和一个边缘检测器的输出进行了对比。边缘检测器不依赖于模型或训练数据,但它会产生与显著图(saliency map)在视觉上相似的结果。这表明,基于视觉效果的检查方法在判断某种解释方法是否对底层的模型和数据敏感时指导意义较差。

图 1:一些常用方法与边缘检测器的显著图对比。上图显示了在 ImageNet 上训练的 Inception v3 模型 3 个不同输入的显著性掩码(saliency mask)。可以看到边缘检测器产生的输出与一些显著性方法的输出极为相似。实际上,边缘检测器也可以产生突出与模型类别预测相关特征的掩码。有趣的是,研究者发现与边缘检测器最类似的显著性方法(即 Guided Backprop 及其变体)对本研究的随机化检验最不敏感。

本论文提出的方法源于统计随机化检验,它将自然实验和人为的随机试验进行了对比。研究者重点关注通用框架的两种实例化:模型参数随机化检验及数据随机化检验。

模型参数随机化检验将显著性方法在训练好的模型上的输出与显著性方法在一个随机初始化的、结构相同的未训练网络上的输出进行对比。如果显著性方法依赖于模型学习到的参数,我们应该期望它的输出在这两种情况下会有很大的差异。但是,如果输出类似,我们可以推断出显著性映射对模型的属性(本例中为模型参数)是不敏感的。特别地,显著性映射的输出对于诸如模型调试这样不可避免地依赖于模型的任务是没有帮助的。

数据随机化检验将应用于在带标签的数据集上训练的模型的显著性方法与应用于架构相同但是在我们随机排列所有标签的数据集副本上训练的模型的显著性方法进行了对比。如果显著性方法依赖于数据标签,我们也应该期望它的输出在这两种情况下会有很大的差异。然而,显著性方法对重新排列的标签的不敏感表明,该方法不依赖于实例(例如图像)和原始数据中存在的标签之间的关系。

从更大的范畴上说,任何解释方法都遵循一系列不变的特性,即不改变方法的输出的数据和模型的变换。如果我们发现了一种不符合当前任务需求的不变特性,我们可以拒绝该方法。因此,我们的测试可以看作是实际部署方法之前要执行的可用性测试。

本文的贡献:

  1. 我们提出了 2 种易于实现的具体检验方法,用于评估解释方法的范围和质量:模型参数随机化检验和数据随机化检验。这两种检验方法可以广泛应用于各种解释方法。

  2. 我们对不同的数据集和模型架构上应用的解释方法进行了广泛的实验。并发现一些被检验的方法独立于模型参数和训练模型所使用的数据的标签。

  3. 因此,我们的发现表明,那些在我们提出的测试中表现不好的显著性方法没有能力为那些需要对任何模型和数据都适用的解释方法的任务提供支持。

  4. 我们通过一系列对于线性模型和一个简单的 1 层卷积求和池化(sum pooling)架构的分析来说明我们的发现,同时也与边缘检测器进行了对比。

论文:Sanity Checks for Saliency Maps

论文链接:https://arxiv.org/pdf/1810.03292v1.pdf

摘要:显著性方法已经成为了一种流行的工具,被用于突出输入中被认为与学到的模型的预测结果相关的特征。目前研究人员提出的显著性方法通常是以图像数据的视觉吸引作为指导的。本文提出了一种可行的方法来评估一个给定的方法能够提供/不能提供什么样的解释。我们发现,仅仅依赖于视觉的评估可能会产生一些误导性的结果。通过大量的实验,我们证明了一些现有的显著性方法独立于模型和数据生成过程。因此,在我们的测试中表现较差的方法不能够胜任那些对数据或模型敏感的任务(例如找出数据中的异常值、解释输入和模型学到的输出之间的关系以及对模型进行调试)。我们通过与图像的边缘检测器(一种既不需要训练数据也不需要模型的技术)进行类比对我们发现进行说明。线性模型和单层卷积神经网络场景下的理论能够支持我们实验中的发现。

研究方法和相关工作

在本文提出的方法的形式化定义中,输入为向量 x ∈ R^d。模型描述了一个函数 S : R^d → R^C,其中 C 是分类问题中的类别数。解释方法会提供一个解释映射 E : R^d → R^d,它将输入映射到形状相同的物体上。

现在,我们将简要描述一下我们所研究的一些解释方法。文章的补充材料包含了对这些方法更加深入的概述。我们的目的不是详尽地评估所有先前的解释方法,而是要强调我们的方法如何应用于一些我们很感兴趣的案例。

对输入 x 的梯度解释(gradient explanation)是 E_grad(x) = ∂S/∂x [21, 7]。梯度量化了在每个输入维度上的变化量会在输入的一个小的邻域内如何改变预测结果 S(x)。

梯度输入。另一种形式的解释是输入和梯度之间的内积,记做 x·∂S/∂x,它可以解决「梯度饱和」问题并减少视觉扩散 [12]。

积分梯度(IG)也通过对标准化后的输入求和来处理梯度饱和问题。对于输入 x 的 IG 可以表示为,其中 x^¯ 是一个「基线输入」,表示原始输入 x 中缺失的特征。

导向反向传播(GBP)[8] 建立在解释方法「DeConvNet」[9] 的基础上,并且和负梯度向设置为 0 、通过 ReLU 单元进行反向传播的梯度解释相一致。

由 Selvaraju 等人 [18] 提出的导向 GradCAM 解释对应于 DNN 最后的卷积单元的特征映射组成的分类得分(logit)的梯度。对于像素级力度的 GradCAM,可以通过元素积与导向方向传播结合在一起

SmoothGrad(SG,平滑梯度)[15] 试图通过对输入的带噪声的副本的解释进行平均,以减少显著性映射的噪声、缓解视觉扩散现象 [13,12]。对于给定的解释映射 E,SmoothGrad 被定义为 ,其中,噪声向量的元素 为从正态分布中提取的独立同分布的变量。

模型参数的随机性检验

图 2:在 Inception v3(ImageNet)上的级联随机性。此图显示了 Junco 鸟的原始解释结果(第一列)以及每种解释类型的标签。从左到右的过程显示了网络权值(以及其他可训练的变量)全部的随机性,直到包含「块」。我们展示了随机性的 17 个块。坐标(Gradient,mixed_7b)显示的是从 Logits 开始直到 mixed_7b 的顶层已经被重新初始化的网络的梯度解释。最后一列对应于一个权值完全重新初始化的网络。更多示例请参见附录。

图 3:级联随机性。对于 ImageNet 上的 Inception v3 模型、 Fashion MNIST 数据集上的卷积神经网络、MNIST 数据集上的多层感知机的从顶层开始的权值连续重初始化过程。在所有的图中,y 坐标是原始解释和由直到该点所代表的层/块的随机性所推导出的随机解释之间的秩相关性,而 x 坐标则与 DNN 从输出层开始的层/块相对应。黑色的虚线代表网络的连续随机化由此开始,它处于模型的顶层。上面一排是带绝对值的 Spearman 秩相关性,下面一排是不带绝对值的 Spearman 秩相关性。说明:对于不带绝对值的 ImageNet 上的 Inception v3 模型,积分梯度、梯度输入和梯度重合。对于 MNIST 数据集上的多层感知机模型,积分梯度和梯度输入重合。

数据的随机性检验

图 5:对真实模型和用随机标签训练的模型的解释的对比。左上角:将 用于卷积神经网络的 MNIST 测试集中数字 0 的掩膜的绝对值可视化结果。右上角:用各种颜色显示的用于卷积神经网络的 MNIST 测试集中数字 0 的显著性掩膜。

图 21:对 Corn 进行独立随机性测试

图 23:对在 MNIST 数据集上训练的 CNN 分别进行独立、连续的重初始化工作。

图 27:应用在一维卷积求和模型上的显著性方法。

理论Ian GoodfellowNIPS 2018NIPS
2
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

边缘检测技术

边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征检测中的一个研究领域。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

暂无评论
暂无评论~