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

2023-10-24 12:10

本文主要是介绍理解并统一14种归因算法,让神经网络具有可解释性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

8ded48e0bf82213c86256e1ee9b14647.png

来源:机器之心
本文约3500字,建议阅读10+分钟
本文提出了统一解释 14 种输入单元重要性归因算法的内在机理,并提出评价归因算法可靠性的三大准则。

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

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

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

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

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

d3b534f13d147547f4759304d4a38281.png

论文地址: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)解释众多经验性归因算法是如何利用该影响机制,来设计重要性归因公式。

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

d7475daa6b560836c3992e8f1cf1674f.png

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

针对第二个关键点,我们探究发现,所有 14 种现有经验性归因算法的内在机理,都可以表示对上述独立效用和交互效用的一种分配,而不同归因算法按不同的比例来分配神经网络输入单元的独立效用和交互效用。具体地,令表示第 i 个输入单元的归因分数。我们严格证明了,所有 14 种经验性归因算法得到的,都可以统一表示为下列数学范式(即独立效用和交互效用的加权和):

6f215beb1061cbbea8e84c528ed5b665.png

其中,反映了将第 j 个输入单元的独立效应分配给第 i 个输入单元的比例,表示将集合 S 内多个输入单元间的交互效应分配给第 i 个输入单元的比例。众多归因算法的 “根本区别” 在于,不同归因算法对应着不同的分配比例 。

表 1 展示了十四种不同的归因算法分别是如何对独立效应与交互效应进行分配。

f1c210a2bd2262c635480109962a1b4a.png

图表 1. 十四种归因算法均可以写成独立效应与交互效应加权和的数学范式。其中006435a3a5fca325e2c9e53809179c28.png分别表示泰勒独立效应和泰勒交互效应,满足34b38a2f9a0339236b4851e7871e2c3d.png,是对独立效应1e22258293e46953b1d4c2faeb290b63.png和交互效7c359ca26d48ec73508481c0c30762db.png的细化。

8d5c88fac921466d8e9e42b5e3a0d71b.png18c46b9b29c767fd56224ffa13e6805d.png7703e7da86438a73d99c7eb3cad0bf5b.png

701b5600ce3f2c37d312539d881eb4a7.png40585d97eeb1f5c0fe8e8e9ca6bd1d46.pngea4dc3c29d4a67ffeb80e2fb178ea4d3.png887d91f038381004f03b3e9086977a46.png09a0116d7146140bc08181743de01f63.png11094d665dd40578bbccc0419b194c3f.pnga022d7548a15bc655b25df3ebbf225eb.pngb4d66f7a1b69fdb4f0b477cfa2dbb0b9.png953dbb48d6e99a91219a3ad6043e7812.pnge8840a9308784f30bd79552f50b6c866.png0744a76ed1aa3a3c397da55ba3c9deb3.png9df299a99ebbf8343ea824796f2f0f7f.png

评价归因算法可靠性的三大准则

在归因解释研究中,由于无从获得 / 标注神经网络归因解释的真实值,人们无法从实证角度评价某一个归因解释算法的可靠性。“缺乏对归因解释算法可靠性的客观评价标准” 这一根本缺陷,引发了学界对归因解释研究领域的广泛批评与质疑。

而本研究中对归因算法公共机理的揭示,使我们能在同一理论框架下,公平地评价和比较不同归因算法的可靠性。具体地,我们提出了以下三条评估准则,以评价某一个归因算法是否公平合理地分配独立效应和交互效应。

(1)准则一:分配过程中涵盖所有独立效应和交互效应。当我们将神经网络输出解构为独立效应与交互效应后,可靠的归因算法在分配过程中应尽可能涵盖所有的独立效应和交互效应。例如,对 I’m not happy 句子的归因中,应涵盖三个单词 I’m, not, happy 的所有独立效应,同时涵盖 J (I’m, not), J (I’m, happy), J (not, happy), J (I’m, not, happy) 等所有可能的交互效应。

(2)准则二:避免将独立效应和交互分配给无关的输入单元。第 i 个输入单元的独立效应,只应分配给第 i 个输入单元,而不应分配给其它输入单元。类似地,集合 S 内输入单元间的交互效应,只应分配给集合 S 内的输入单元,而不应分配给集合 S 以外的输入单元(未参与交互)。例如,not 和 happy 之间的交互效应,不应分配给单词 I’m。

(3)准则三:完全分配。每个独立效应(交互效应)应当完全分配给对应的输入单元。换句话说,某一个独立效应(交互效应)分配给所有对应输入单元的归因值,加起来应当恰好等于该独立效应(交互效应)的值。例如,交互效应 J (not, happy) 会分配一部分效应(not, happy) 给单词 not,同时分配一部分效应  (not, happy) 给单词 happy。那么,分配比例应满足 。

接着,我们采用这三条评估准则,评估了上述 14 种不同归因算法(如表 2 所示)。我们发现,Integrated Gradients, Expected Gradients, Shapley value, Deep Shap, DeepLIFT Rescale, DeepLIFT RevealCancel 这些算法满足所有的可靠性准则。

bd0c70e59b73adb9fd11e3a4a3b73d5d.png 表 2. 总结 14 种不同归因算法是否满足三条可靠性评估准则。

作者介绍:

本文作者邓辉琦,是中山大学应用数学专业的博士,博士期间曾在香港浸会大学和德州农工大学计算机系访问学习,现于张拳石老师团队进行博士后研究。研究方向主要为可信 / 可解释机器学习,包括解释深度神经网络的归因重要性、解释神经网络的表达能力等。

邓辉琦前期做了很多工作。张老师只是在初期工作结束以后,帮她重新梳理了一遍理论,让证明方式和体系更顺畅一些。邓辉琦毕业前论文不是很多,21 年末来张老师这边以后,在博弈交互的体系下,一年多做了三个工作,包括(1)发现并理论解释了神经网络普遍存在的表征瓶颈,即证明神经网络更不善于建模中等复杂度的交互表征。这一工作有幸被选为 ICLR 2022 oral 论文,审稿得分排名前五(得分 8 8 8 10)。(2)理论证明了贝叶斯网络的概念表征趋势,为解释贝叶斯网络的分类性能、泛化能力和对抗鲁棒性提供了新的视角。(3)从理论层面上解释了神经网络在训练过程中对不同复杂度交互概念的学习能力。

扩展阅读,「统一 12 种提升对抗迁移性的算法」:

https://zhuanlan.zhihu.com/p/546433296

编辑:黄继彦

36444850c4f03c1439c45fd0a5b69074.png

这篇关于理解并统一14种归因算法,让神经网络具有可解释性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/275074

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

康拓展开(hash算法中会用到)

康拓展开是一个全排列到一个自然数的双射(也就是某个全排列与某个自然数一一对应) 公式: X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! 其中,a[i]为整数,并且0<=a[i]<i,1<=i<=n。(a[i]在不同应用中的含义不同); 典型应用: 计算当前排列在所有由小到大全排列中的顺序,也就是说求当前排列是第

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

poj 3974 and hdu 3068 最长回文串的O(n)解法(Manacher算法)

求一段字符串中的最长回文串。 因为数据量比较大,用原来的O(n^2)会爆。 小白上的O(n^2)解法代码:TLE啦~ #include<stdio.h>#include<string.h>const int Maxn = 1000000;char s[Maxn];int main(){char e[] = {"END"};while(scanf("%s", s) != EO

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费