理解并统一14种归因算法,让神经网络具有可解释性(1)

简介: 理解并统一14种归因算法,让神经网络具有可解释性

理解并统一14种归因算法,让神经网络具有可解释性

机器之心 2023-03-09 09:49 发表于辽宁

机器之心专栏

机器之心编辑部

本文提出了统一解释 14 种输入单元重要性归因算法的内在机理,并提出评价归因算法可靠性的三大准则。


尽管 DNN 在各种实际应用中取得了广泛的成功,但其过程通常被视为黑盒子,因为我们很难解释 DNN 如何做出决定。缺乏可解释性损害了 DNN 的可靠性,从而阻碍了它们在高风险任务中的广泛应用,例如自动驾驶和 AI 医疗。因此,可解释 DNN 引起了越来越多的关注。

作为解释 DNN 的典型视角,归因方法旨在计算每个输入变量对网络输出的归因 / 重要性 / 贡献分数。例如,给定一个用于图像分类的预训练 DNN 和一个输入图像,每个输入变量的属性得分是指每个像素对分类置信度得分的数值影响。

尽管近年来研究者提出了许多归因方法,但其中大多数都建立在不同的启发式方法之上。目前还缺乏统一的理论视角来检验这些归因方法的正确性,或者至少在数学上阐明其核心机制。

研究人员曾试图统一不同的归因方法,但这些研究只涵盖了几种方法。

本文中,我们提出了「统一解释 14 种输入单元重要性归因算法的内在机理」。


论文地址:https://arxiv.org/pdf/2303.01506.pdf

其实无论是「12 种提升对抗迁移性的算法」,还是「14 种输入单元重要性归因算法」,都是工程性算法的重灾区。在这两大领域内,大部分算法都是经验性的,人们根据实验经验或直觉认识,设计出一些似是而非的工程性算法。大部分研究没有对 “究竟什么是输入单元重要性” 做出严谨定义和理论论证,少数研究有一定的论证,但往往也很不完善。当然,“缺少严谨的定义和论证” 的问题充满了整个人工智能领域,只是在这两个方向上格外突出。

  • 第一,在众多经验性归因算法充斥可解释机器学习领域的环境下,我们希望证明 “所有 14 种归因算法(解释神经网络输入单元重要性的算法)的内在机理,都可以表示为对神经网络所建模的交互效用的一种分配,不同归因算法对应不同的交互效用分配比例”。这样,虽然不同算法有着完全不同的设计着眼点(比如有些算法有提纲挈领的目标函数,有些算法则是纯粹的 pipeline),但是我们发现在数学上,这些算法都可以被我们纳入到 “对交互效用的分配” 的叙事逻辑中来。
  • 基于上面的交互效用分配框架,我们可以进一步为神经网络输入单元重要性归因算法提出三条评估准则,来衡量归因算法所预测的输入单元重要性值是否合理。


当然,我们的理论分析不只适用于 14 种归因算法,理论上可以统一更多的类似研究。因为人力有限,这篇论文里我们仅仅讨论 14 种算法。

研究的真正难点在于,不同的经验性归因算法往往都是搭建在不同的直觉之上的,每篇论文都仅仅努力从各自的角度「自圆其说」,分别基于不同的直觉或角度来设计归因算法,而缺少一套规范的数学语言来统一描述各种算法的本质。

算法回顾

在讲数学以前,本文先从直觉层面简单回顾之前的算法。

1. 基于梯度的归因算法。这一类算法普遍认为,神经网络的输出对每个输入单元的梯度可以反映输入单元的重要性。例如,Gradient*Input 算法将输入单元的重要性建模为梯度与输入单元值的逐元素乘积。考虑到梯度仅能反映输入单元的局部重要性,Smooth Gradients 和 Integrated Gradients 算法将重要性建模为平均梯度与输入单元值的逐元素乘积,其中这两种方法中的平均梯度分别指输入样本邻域内梯度的平均值或输入样本到基准点(baseline point)间线性插值点的梯度平均值。类似地,Grad-CAM 算法采用网络输出对每个 channel 中所有特征梯度的平均值,来计算重要性分数。进一步,Expected Gradients 算法认为,选择单个基准点往往会导致有偏的归因结果,从而提出将重要性建模为不同基准点下 Integrated Gradients 归因结果的期望。

2. 基于逐层反向传播的归因算法。深度神经网络往往极为复杂,而每一层神经网络的结构相对简单(比如深层特征通常是浅层特征的线性加和 + 非线性激活函数),便于分析浅层特征对深层特征的重要性。因此,这类算法通过估计中层特征的重要性,并将这些重要性逐层传播直至输入层,得到输入单元的重要性。这一类算法包括 LRP-\epsilon, LRP-\alpha\beta, Deep Taylor, DeepLIFT Rescale, DeepLIFT RevealCancel, DeepShap 等。不同反向传播算法间的根本区别在于,他们采用了不同的重要性逐层传播规则。

3. 基于遮挡的归因算法。这类算法根据遮挡某一输入单元对模型输出的影响,来推断该输入单元的重要性。例如,Occlusion-1(Occlusion-patch)算法将第 i 个像素(像素块)的重要性建模为其它像素未被遮挡时,像素 i 未遮挡和遮挡两种情况下的输出改变量。Shapley value 算法则综合考虑了其它像素的所有可能遮挡情况,并将重要性建模为不同遮挡情况下像素 i 对应输出改变量的平均值。研究已证明,Shapley value 是唯一满足 linearity, dummy, symmetry, efficiency 公理的归因算法。

统一 14 种经验性归因算法的内在机理

在深入研究多种经验性归因算法后,我们不禁思考一个问题:在数学层面上,神经网络的归因究竟在解决什么问题?在众多经验性归因算法的背后,是否蕴含着某种统一的数学建模与范式?为此,我们尝试从归因的定义出发,着眼考虑上述问题。归因,是指每一个输入单元对神经网络输出的重要性分数 / 贡献。那么,解决上述问题的关键在于,(1)在数学层面上建模「输入单元对网络输出的影响机制」,(2)解释众多经验性归因算法是如何利用该影响机制,来设计重要性归因公式。

针对第一个关键点,我们研究发现:每一个输入单元往往通过两种方式影响神经网络的输出。一方面,某一个输入单元无需依赖其他输入单元,可独立作用并影响网络输出,这类影响称为 “独立效应”。另一方面,一个输入单元需要通过与其他输入单元共同协作,形成某种模式,进而对网络输出产生影响,这类影响称为 “交互效应”。我们理论证明了,神经网络的输出可以严谨解构为不同输入变量的独立效应,以及不同集合内输入变量间的交互效应。


其中,表示第 i 个输入单元的独立效应, 表示集合 S 内多个输入单元间的交互效应。


相关文章
|
16天前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
100 0
|
27天前
|
机器学习/深度学习 并行计算 算法
粒子群算法优化RBF神经网络的MATLAB实现
粒子群算法优化RBF神经网络的MATLAB实现
244 123
|
8天前
|
存储 算法 安全
即时通讯安全篇(三):一文读懂常用加解密算法与网络通讯安全
作为开发者,也会经常遇到用户对数据安全的需求,当我们碰到了这些需求后如何解决,如何何种方式保证数据安全,哪种方式最有效,这些问题经常困惑着我们。52im社区本次着重整理了常见的通讯安全问题和加解密算法知识与即时通讯/IM开发同行们一起分享和学习。
76 9
|
16天前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
|
12天前
|
算法 数据挖掘 区块链
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
基于遗传算法的多式联运车辆路径网络优优化研究(Matlab代码实现)
|
27天前
|
机器学习/深度学习 传感器 算法
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
【表面粗糙度】基于粒子群PSO算法优化-BP神经网络的表面粗糙度研究(Matlab代码实现)
146 7
|
16天前
|
机器学习/深度学习 编解码 并行计算
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
【创新未发表!】基于BKA算法优化-BP、HO算法优化-BP、CP算法优化-BP、GOOSE算法优化-BP、NRBO算法优化-BP神经网络回归预测比较研究(Matlab代码)
|
24天前
|
机器学习/深度学习 算法 PyTorch
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
【DQN实现避障控制】使用Pytorch框架搭建神经网络,基于DQN算法、优先级采样的DQN算法、DQN + 人工势场实现避障控制研究(Matlab、Python实现)
|
29天前
|
机器学习/深度学习 数据采集 运维
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
改进的遗传算法优化的BP神经网络用于电厂数据的异常检测和故障诊断
|
7天前
|
存储 编解码 算法
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)
【多光谱滤波器阵列设计的最优球体填充】使用MSFA设计方法进行各种重建算法时,图像质量可以提高至多2 dB,并在光谱相似性方面实现了显著提升(Matlab代码实现)

热门文章

最新文章