Jesus Rodriguez作者李诗萌、路编译

谷歌大脑提出概念激活向量,助力神经网络可解释性研究

最近,谷歌大脑团队发表了一篇论文,文中提出了一种叫做概念激活向量(Concept Activation vectors,CAV)的新方法,这种方法为深度学习模型的可解释性提供了一个全新的视角。

可解释性仍然是现代深度学习应用的最大挑战之一。计算模型和深度学习研究领域近期取得了很大进展,创建了非常复杂的模型,这些模型可以包括数千个隐藏层、数千万神经元。虽然创建高级深度神经网络相对简单,但理解如何创建这些模型以及它们如何使用知识仍然是一个挑战。最近,谷歌大脑(Google Brain)团队发表了一篇论文《Interpretability Beyond Feature Attribution: Quantitative Testing with Concept Activation Vectors (TCAV)》,提出一种叫作「概念激活向量」(Concept Activation Vectors,CAV)的新方法,为深度学习模型的可解释性提供了全新视角。

  • 论文地址:https://arxiv.org/pdf/1711.11279.pdf

  • GitHub 地址:https://github.com/tensorflow/tcav

可解释性与准确率

理解 CAV 技术,需要首先理解深度学习模型可解释性难题的本质。在这一代深度学习技术中,模型准确率与可解释性之间存在永久的冲突。可解释性与准确性之间的冲突也是实现复杂知识任务与如何实现这些任务之间的冲突。知识与控制、性能与可解释性、效率与简洁……这些问题都可以通过权衡准确率与可解释性来解释。

你想要最佳结果还是想理解这些结果是如何产生的?这是数据科学家在每个深度学习场景中都要回答的问题。很多深度学习技术本质上是复杂的,尽管在很多情况下它们产生的结果是准确的,但是它们难以解释。如果我们绘制一些著名深度学习模型的可解释性和准确率,可以得到:

深度学习模型的可解释性不是一个单一的概念,可以跨多个层次来理解:

要跨越上图定义的层次来解释模型,需要一些基础的构建块。在近期的一篇文章中,谷歌的研究人员概述了他们认为解释模型所需的基础构建块。

谷歌将可解释性原则总结如下:

  • 理解隐藏层做了什么:深度学习模型中的大部分知识是在隐藏层中形成的。要解释深度学习模型,必须要从宏观角度理解不同隐藏层的功能。

  • 理解节点是如何激活的:可解释性的关键不是理解网络中单一神经元的功能,而是要理解在同一空间位置一起激活的互相连接的神经元组。通过互相连接的神经元组分割网络可以从更简单的抽象层次来理解其功能。

  • 理解概念是如何形成的:深度神经网络如何形成可组装成最终输出的单个概念,理解这一问题是另一个关键的可解释性构建块。

而这些原则是谷歌新方法 CAV 的理论基础。

概念激活向量(CAV)

如前所述,可解释性的一般方法应该是根据深度模型所考虑的输入特征来描述其预测结果。一个经典例子就是 logistic 回归分类器,一般会把分类器中的系数权重解释为每个特征的重要性。但大部分深度学习模型在特征层面(如像素值)的运算,无法和人类能轻易理解的高级概念对应。此外,模型的内部值(例如神经激活)似乎是无法理解的。尽管像显著性图(saliency map)这样的技术可以有效测量特定像素区域的重要性,但它们无法和更高级的概念相对应。

CAV 的核心思想是度量模型输出中概念的相关性。对概念来说,CAV 是概念示例集的值方向上的一个向量。在他们的论文中,谷歌研究团队还提到了一种名为 TCAV(Testing with CAV)的新型线性可解释性方法,这种方法用方向导数(directional derivatives)来量化模型预测对 CAV 学习到的底层高级概念的敏感度。从概念上讲,定义 TCAV 有以下四个目标:

  • 易于访问:用户几乎不需要 ML 专业知识。

  • 可定制化:适应任何概念(比如性别),而且不受限于训练过程中所考虑的概念。

  • 插件准备:不需要重新训练或修改 ML 模型就可以直接工作。

  • 全局量化:用单个量化方法就可以解释整个类或整组示例,而且不只是解释数据输入。

为了实现上述目标,TCAV 方法分为三个基本步骤:

  • 给模型定义相关概念;

  • 理解预测结果对这些概念的敏感度;

  • 全局定量解释每个概念对每个模型预测类的相对重要性。

TCAV 方法中的第一步是定义感兴趣的概念(CAV)。TCAV 使用的方法是,选择一组可以表示这个概念的示例集,或者可以找到具备该概念的独立数据集的示例集。通过训练能够分辨概念示例产生的激活和任意层产生的激活的线性分类器,学得 CAV。

第二步是生成 TCAV 分数,该分数表示预测结果对特定概念的敏感度。TCAV 用方向导数实现了这一点,方向导数可以在神经激活层衡量 ML 预测值对沿着概念方向变化的输入的敏感度。

最后一步是评估学到的 CAV 的全局相关性,来避免依赖不相关的 CAV。TCAV 技术的一大缺陷是可能学到无意义的 CAV。毕竟,就算用随机选择的一组图片也会得到 CAV。基于这种随机概念的测试不太可能有意义。为了解决这一问题,TCAV 引入了统计显著性检验,根据随机的训练次数(一般是 500 次)评估 CAV。这一步的思路是,有意义的概念会让训练过程中的 TCAV 分数保持一致。

TCAV 的效果

谷歌大脑团队进行了多项实验来对比 TCAV 和其他可解释性方法的效率。在最引人瞩目的一项实验中,该团队用显著性图来理解出租车的概念。该显著性图的输出如下图所示:

谷歌大脑团队用这些图像作为测试数据集,在 Amazon Mechanical Turk 上用 50 人进行了实验。每个人做 6 项任务(3 object classes x 2s aliency map types),所有这些任务都针对单个模型。任务顺序是随机的。在每项任务中,工作人员首先会看到四张图像及其对应的显著性掩码(saliency mask)。然后他们对图像对模型的重要性(10 分制)、标题对模型的重要性(10 分制)以及他们对自己答案的确信程度(5 分制)等问题进行打分。这些工作人员一共评估了 60 张不同的图像(120 个不同的显著性图)。

实验的基本事实是图像概念与标题概念更相关。但当看到显著性图时,人们认为标题概念更重要(0% 噪声模型)或没有差别(100% 噪声模型)。相比之下,TCAV 的结果正确地表明了图像概念更重要。

TCAV 是近几年间研究神经网络可解释性领域中最具创新性的方法之一。GitHub 上有 TCAV 的初始技术代码,我们期待看到一些主流深度学习框架会采用这一想法。

理论可解释性概念激活向量谷歌大脑
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

线性分类器技术

机器学习通过使用对象的特征来识别它所属的类(或组)来进行统计分类。线性分类器通过基于特征的线性组合的值进行分类决策。 对象的特征也称为特征值,通常在称为特征向量的向量中呈现给机器。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

神经网络技术

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

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

推荐文章
暂无评论
暂无评论~