0
雷锋网 AI 科技评论按:你有没有想过,深度神经网络是依据什么来准确识别有猫的图片的?随着深度神经网络在金融、医疗及自动驾驶等领域的广泛应用,深度神经网络无法明确解释自身决策行为的问题也引起了越来越多的关注。明确解释深度神经网络的决策行为,能够大幅提升各类用户对深度神经网络的信任,并显著降低大规模使用深度神经网络所带来的潜在风险,是基于深度神经网络的人工智能应用成功落地的重要一环。
雷锋网 AI 科技评论近期也有多篇文章从不同角度探讨了深度神经网络的可解释性。总的来说,现有的三种解释方法都有各自的问题。
「隐层神经元分析方法」(Hidden Neuron Analysis Methods)
该方法通过分析和可视化神经网络中隐层神经元的局部特征来解释深度神经网络的行为。以谷歌的研究《谷歌的新CNN特征可视化方法》及其后续的《可解释性的基石》为例,这类方法能够有效提取隐层神经元学到的局部特征,但无法明确解释深度神经网络的整体行为。
「模仿者模型方法」(Mimic Model Methods)
该方法通过训练一个可解释的模仿者模型来模仿和解释深度神经网络。在输入相同的前提下,模仿者模型具有与深度神经网络相似的输出。因此,有研究人员利用模仿者模型来解释深度神经网络。但是,模仿者模型和被模仿的神经网络并非完全相同。即便两个模型在某些相同的输入上具有相似的输出,其内部的决策机制也可以有很大的区别。因此,模仿者模型无法准确地解释深度神经网络。
「局部解释方法」(Local Interpretation Methods)
该方法首先在输入实例的邻域内采样一组近邻实例,然后训练一个线性模型来拟合神经网络在近邻实例上的决策输出,最后使用线性模型的决策特征来解释该神经网络对输入实例的决策行为。这类方法有两点问题。首先,因为线性模型与神经网络并不相同,所以局部解释方法无法提供准确解释。其次,由于线性模型的决策特征依赖于近邻数据,而通过采样获得的近邻数据具有很强的随机性,因此这类方法对相似输入实例的解释可能非常不一致,对同一输入实例的多次解释也有可能不同。
综上所述,虽然上述方法能够增进我们对于神经网络工作机制的理解,但是它们无法对深度神经网络的行为提供准确、一致的解释。
首先,如果一个解释是不准确的,我们就无法确定解释结果和模型的真实决策是否相符,解释本身就是不可信的。其次,如果对于多个相似实例的解释不一致,我们将不可避免地遇到多个解释自相矛盾的情况,解释的有效性也会因此受到质疑。
准确、一致的解释符合人类认知的客观规律。但是,对于错综复杂的深度神经网络,我们能否找到准确、一致的解释方法呢?
西蒙弗雷泽大学(Simon Fraser University,SFU)计算科学学院裴健教授团队的论文《Exact and Consistent Interpretation for Piecewise Linear Neural Networks: A Closed Form Solution》(图 1)不仅为这个问题给出了肯定的答案,更给出了一种形式优美的解析解,在大家关注的模型解释性的多个方面都取得了出色的表现。
这篇由褚令洋博士担任第一作者的论文已经被 KDD 2018 接收为长报告论文。这届 KDD 研究论文收到投稿 938 篇,仅录用了 107 篇长报告论文,录用率只有11.4%,另外还接收了 74 篇短报告论文。在同行评议过程中,这篇论文的四个审稿人中有两个给了满分。
雷锋网 AI 科技评论把论文的主要内容介绍如下。
这篇论文研究了以分段线性函数为激活函数的分段线性神经网络(Piecewise Linear Neural Network, PLNN)。分段线性函数在不同的定义域区间内对应不同的线性函数。经典的 MaxOut 、ReLU 以及 ReLU 的一些变体都是分段线性函数。从微分学的角度来看,只要分段数目足够多,连续光滑的 sigmoid 、tanh 等激活函数也都可以用分段线性函数来无限逼近。
与现有的规范做法一样,该论文通过求解一个分段线性神经网络 N 的决策特征来解释 N 的决策行为。但与现有方法大为不同的是,论文对 N 的解释具有如下两个独特的优点:
1. 准确性(Exactness):该论文构造了一个具有简洁解析形式的新模型 M ,并证明了 M 和 N 在数学上等价。因此,M 的决策特征能够准确描述 N 的真实决策行为。
2. 一致性(Consistency):该论文证明了 M 是一个分段线性函数,并以解析形式给出了 M 在其定义域中的各个分段区间,以及 M 在每个区间上的线性决策函数。因为在相同分段区间中的所有输入实例共享同一个线性决策函数的决策特征,所以由模型 M 对这些输入实例所提供的解释是完全一致的。
该论文的作者们提出了全新的 OpenBox 方法对分段线性神经网络(PLNN)的决策行为提供准确、一致的解释。「OpenBox」 这个名字也很贴切地描述了作者们使用简洁的解析方法「打开」深度神经网络这个「黑盒子」的过程。
OpenBox 方法适用于所有 PLNN。本文将用以 PReLU 为激活函数的 PLNN 为例子详细介绍 OpenBox 方法的技术要点。
1. 对单个输入实例的准确解释方法
如图 2 所示,对于以 PReLU 为激活函数的隐层神经元,其激活状态(status)分为两种情况:(1)当 status = 0 时,z < 0,该神经元使用左半段的线性函数来建立输入 z 和输出 a 之间的映射关系;(2)当 status = 1 时,z >= 0,该神经元使用右半段的线性函数来建立 z 到 a 的映射。值得注意的是,不论神经元处于何种激活状态,z 和 a 之间的映射关系始终是线性的。
如图 3 所示,给定一个输入实例 x ,我们可以将所有隐层神经元的激活状态按绿色虚线所示的顺序排列成一个向量 Conf(x)。这个向量被称作 PLNN 对输入实例 x 的配置(Configuration)。
由于 PLNN 的网络结构和参数都是给定的,所有神经元的激活状态都唯一依赖于输入实例 x,因此 Conf(x) 由输入实例 x 唯一决定。因为 x 本身是一个给定的常量,所以 Conf(x) 也是一个常量。因此,图 3 中 PLNN 的每个隐层神经元的运算实质上都是由常量 Conf(x) 所确定的线性运算。因为一系列线性运算的嵌套依然是线性运算,所以在 Conf(x) 为常量的情况下,PLNN 中所有隐藏层的运算整体等价于一个简单的线性运算 Wx+b。
综上所述,对于任意给定的输入实例 x,整个 PLNN 严格等价于如公式 1 所示的线性分类器。其中,二元组 (W, b) 以解析形式准确地给出了该 PLNN 对于输入实例 x 的决策平面。(注:证明及求解过程请参见原文)
显然,解释 PLNN 在单个输入实例上的决策行为并不能很好地解释 PLNN 的总体行为。下面我们将介绍 OpenBox 如何解释 PLNN 的总体行为。
2. 对一个分段线性神经网络的准确、一致解释方法
作者们发现,在 PLNN 的网络结构和参数给定的情况下,公式 1 中的线性分类器 F(x) 由 Conf(x) 决定。这意味着对于任意两个不同的输入实例 x 和 x' 而言,只要 Conf(x)=Conf(x'),x 和 x' 就共享同一个线性分类器,而且对 x 和 x' 的解释也将完全一致。
那么,输入实例 x 和 x' 需要满足什么条件,才能使 Conf(x)=Conf(x') 呢?
通过进一步推导,作者们发现在 Conf(x) 给定的情况下,每一个隐层神经元的输入 z 都必须满足由该神经元激活状态所决定的不等式约束。图 4 给出了当 Conf(x) = [1, 0, 1, 0, 0, 1, 1] 时, PLNN 的所有隐层神经元的输入 z 必须满足的一组线性不等式约束。
因为每个隐层神经元的输入 z 都是输入实例 x 的线性函数,所以这组关于输入 z 的线性不等式约束实质上是对输入实例 x 的一组线性不等式约束。我们将这组线性不等式约束的集合定义为 P。
很显然,所有满足 P 中线性不等式约束的输入实例 x 都具有相同的 Conf(x),因此这些实例共享同一个线性分类器,并具有完全一致的解释。
实质上,P 中的每一个不等式都定义了一个线性边界,所有线性边界一起组成了一个凸多面体(Convex Polytope,CP)。在凸多面体中的所有输入实例都满足 P 中的所有不等式,因此这些输入实例 x 都具有相同的 Conf(x),并且共享同一个线性分类器。我们把这个存在于局部区域的凸多面体和它所对应的线性分类器统称为局部线性分类器(Local Linear Classifier,LLC)。
对于任意给定的 PLNN,不同的隐层神经元激活状态对应着不同的 Conf(x),而每一个 Conf(x) 都确定了一个局部线性分类器。因此,一个 PLNN 严格等价于一组局部线性分类器。我们把这组局部线性分类器的集合标记为 M,并将其作为 PLNN 的解释模型。
因为 M 和 PLNN 是等价的,而且同一个凸多面体中的所有实例都共享同样的解释,所以由 M 所得到的解释是准确且一致的。
给定一个输入实例 x,我们如何使用 M 来解释 PLNN 对 x 的决策行为呢?
首先,我们从 M 中找到 x 所属的局部线性分类器。然后,我们解析出该局部线性分类器的决策特征(Decision Feature)以及其凸多面体的边界特征(Polytope Boundary Feature,PBF)。最后,我们使用决策特征来解释 PLNN 对 x 的决策行为,并使用边界特征来解释 x 被当前局部线性分类器包含的原因。
论文还对计算 M 的时间复杂度进行了严格的理论分析和证明。对于 n 个不同的输入实例,若每个输入实例的特征维数为 d,OpenBox 解释所有输入实例的时间复杂度仅为 O(nd)。因为特征维数 d 通常被看作常量,所以 OpenBox 的时间复杂度是线性的。
作者们把 OpenBox 和目前最顶级的解释方法 LIME[Ribeiro et al. KDD 2016]做了实验对比。实验重点关注以下五个问题:
1. 局部线性分类器长什么样?
2. LIME 和 OpenBox 给出的解释是否准确、一致?
3. 局部线性分类器的决策特征易于理解吗?如果附加非负、稀疏约束,能继续提升这些决策特征的语义特性吗?
4. 如何解释局部线性分类器的边界特征(PBF)?
5. 利用 OpenBox 提供的解释,我们能否构造新样本来欺骗 PLNN?能否查出 PLNN 在某些样本上做出错误决策的原因?
实验一:合成数据集可视化局部线性分类器
如图 5(a) 所示,作者们通过二维欧式空间中的均匀采样生成了一个包含 20,000 个实例的合成数据集 SYN。其中,红色和蓝色样本点分别代表正例和负例。
图 5:OpenBox 在合成数据集 SYN 上的实验结果
由于实验目标是可视化模型 M 中的所有局部线性分类器,整个实验过程无需使用测试数据,因此作者们使用 SYN 中的所有样本来训练 PLNN。图 5(b) 显示了 PLNN 在 SYN 上的预测结果。
图 5(c) 可视化了模型 M 中每一个局部线性分类器对应的凸多面体。 作者们用相同的颜色标出了属于同一个局部线性分类器的所有实例,发现属于相同局部线性分类器的实例都包含于同一个凸多面体(在二维空间中表现为凸多边形)。显然,这个结果完全符合论文的理论分析。
图 5(d) 展示了构成模型 M 的决策边界的所有局部线性分类器。图中的每一条实线都表示一个局部线性分类器的决策边界,这些局部线性分类器共同构成了模型 M 的总体决策边界。对比图 5(b) 和 5(d) 可以发现模型 M 的总体决策边界和 PLNN 的决策边界完全一致。这个结果证实了模型 M 和 PLNN 之间的等价性。
实验二:FMNIST 数据集验证解释的准确性和一致性
该实验在 FMNIST 数据集上对比了 LIME 和 OpenBox(模型M)所提供解释的准确性和一致性。
首先,作者们通过比较 LIME、OpenBox(模型 M)和 PLNN 对 FMNIST-2 数据集中 600 个测试样本的决策输出来衡量 LIME 和 OpenBox 各自解释模型的准确性。如图 6(a) 所示,LIME 的决策输出和 PLNN 的决策输出有着很大不同,这说明 LIME 的解释模型和 PLNN 非常不同,因此它无法准确解释 PLNN 的决策行为。相比之下,OpenBox 计算出的模型 M 和 PLNN 对于所有测试样本的决策输出完全相同,这说明模型 M 等价于 PLNN,因此它能够准确地解释 PLNN 的决策行为。
随后,作者们使用输入实例 x 和其最近邻实例 x' 的解释结果的余弦相似度(Cosine Similarity)来衡量 LIME 和 OpenBox 所提供解释的一致性。余弦相似度越高,解释模型所提供解释的一致性就越高。如图 6(b) 所示,由于模型 M 对同一凸多面体内的实例提供完全相同的解释,OpenBox 的余弦相似度几乎总保持为 1。但是最近邻实例 x' 与 输入实例 x 并不总是属于同一个凸多面体,因此 OpenBox 在某些实例上的余弦相似度小于 1。相比之下,LIME 的余弦相似度远低于 OpenBox,这说明 OpenBox 所提供解释的一致性远高于 LIME。
实验三:OpenBox 提取的决策特征具有人类可理解的强语义特点
除了准确性和一致性,一个好的解释还必须具有人类可理解的强语义特点。在本实验中,作者们将 OpenBox 在 FMNIST-1 数据集上提取的决策特征可视化,发现这些特征具有易于理解的强语义特点。
图 7: OpenBox 和逻辑回归(Logistic Regression,LR)在 FMNIST-1 数据集上的决策特征(Decision Feature,DF)
图 7(a) 和 7(f) 给出了 FMNIST-1 中的两类图像的平均图(Average Image)。其中,图 7(a) 对应正例样本短靴(Ankle Boot),图 7(f) 对应负例样本包包(Bag)。
作者们训练了多个罗辑回归模型(Logistic Regression,LR)作为基线(Baseline)。其中,LR 模型是以短靴为正样本训练得到的,LR-F 模型是以包包为正样本训练得到的,LR-NS 和 LR-NSF 分别是在 LR 和 LR-F 的基础上附加稀疏、非负约束得到的。此外,作者们还训练了两个 PLNN 模型作为 OpenBox 的解释对象。其中,PLNN 是以短靴为正样本训练得到的,PLNN-NS 是在 PLNN 的基础上附加稀疏、非负约束得到的。
图 7 给出了上述所有模型的决策特征,其中 PLNN 和 PLNN-NS 的决策特征由 OpenBox 提供。很明显,PLNN 的决策特征与 LR 和LR-F 的决策特征具有极为相似语义。将这些决策特征与图 7(a) 和 7(f) 中的平均图仔细对比可以发现,这些决策特征准确地描述了短靴和包包之间的差别。更有趣的是,PLNN 的决策特征比 LR 和 LR-F 的决策特征包含了更多细节信息。这是因为 PLNN 的每一个局部线性分类器仅需区分包含于凸多面体中的一小部分样本,所以 PLNN 能够使用大量的局部线性分类器捕捉更多细节特征。然而,LR 和 LR-F 只能使用一个线性平面划分所有正负例样本,因此它们只能捕捉大量样本的平均差异。因为 PLNN 捕捉到了更多细节特征,所以它取得了比 LR 和 LR-F 好得多的分类精度。
通过对比 PLNN-NS,LR-NS 和 LR-NSF 的决策特征,我们发现非负、稀疏约束对于增强 PLNN-NS 决策特征的语义同样有效。我们还观察到 PLNN-NS 捕获了比 LR-NS 和 LR-NSF 多得多的细节特征,也因此取得了相对较高的分类精度。
实验四:OpenBox 提取的边界特征也具有很强的语义特性
关于 OpenBox 所提取的局部线性分类器,不仅其决策特征具有很强的语义特点,其凸多面体的边界特征也具有很强的语义特性。
在本实验中,作者们在 FMNIST-1 上训练了一个 PLNN,并用 OpenBox 解析出该 PLNN 的三个局部线性分类器对应的凸多面体。图 8(a)-(d) 给出了这些凸多面体的边界特征,它们分别对应了{包包,短靴,包包,包包}。图 8(e) 给出了定义这些边界特征的线性不等式,以及其对应的凸多面体中所包含的各类别样本数量。关于图 8(e) 中的线性不等式,「/」代表该不等式定义的边界为无效边界;「> 0」代表凸多面体内的样本与该不等式的边界特征具有很强的相关性;「<= 0」 代表凸多面体内的样本与该不等式的边界特征没有强相关性。
以图 8(e) 中的第一个凸多面体为例,由其线性不等式的状态可知该凸多面体所包含的样本与图 8(b)-(c) 中短靴和包包的边界特征有强相关性。因此,第一个凸多面体中包含了大量的短靴和包包。类似的,对图 8(e) 中的第二个凸多面体而言,其中的样本仅与短靴的边界特征呈正相关,因此该凸多面体中的样本仅有短靴而没有包包。通过上述实验结果不难看出,OpenBox 提取的边界特征具有很强的语义特性。
除了上述精彩实验,作者们还利用 OpenBox 提供的解释来构造欺骗 PLNN 的新样本,以及查找 PLNN 在某些样本上做出错误决策的原因。在这些有趣的任务上,论文中的实验也给出了明显优于现有方法的结果。
作者们通过证明分段线性神经网络严格等价于一组局部线性分类器,以简洁的解析形式给出了一种准确、一致且高效的神经网络解释方法——OpenBox。大量实验结果表明,OpenBox 不仅可以准确、一致地描述分段线性神经网络的总体行为,还能够对分段线性神经网络进行有效的欺骗攻击和错误查找。作者们谈到,他们将继续拓展这一方法,使其能够有效地解释使用连续、光滑激活函数(如:sigmoid、tanh)的深度神经网络。
详细内容请参见原论文:https://arxiv.org/abs/1802.06259
本文协助撰写:论文第一作者,褚令洋博士。
更多会议内容报道、优秀论文解读,请继续关注雷锋网AI 科技评论
参考文献
[1] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "Why should i trust you?: Explaining the predictions of any classifier." Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016.
雷峰网原创文章,未经授权禁止转载。详情见转载须知。