A Survey on Neural Network Interpretability

news2024/11/24 11:56:04

A Survey on Neural Network Interpretability----《神经网络可解释性调查》

摘要

  随着深度神经网络的巨大成功,人们也越来越担心它们的黑盒性质。可解释性问题影响了人们对深度学习系统的信任。它还与许多伦理问题有关,例如算法歧视。此外,可解释性是深度网络成为其他研究领域强大工具的理想属性,例如,药物发现和基因组学。在本次调查中,我们对神经网络可解释性研究进行了全面回顾。我们首先澄清可解释性的定义,因为它已在许多不同的上下文中使用。然后,我们阐述了可解释性的重要性,并提出了一个新的分类方法,沿着三个维度组织:参与的类型(被动和主动解释方法),解释的类型,以及重点(从局部到全局的可解释性)。这种分类法为相关文献中的论文分布提供了一个有意义的3D视图,因为其中的两个维度不是简单的分类,而是允许有序的子类别。最后,我们总结了现有的解释性评价方法,并在此基础上提出了可能的研究方向。

引言

  近年来,深度神经网络(dnn)在计算机视觉[2]、[3]、语音识别[4]、自然语言处理[5]等领域取得了巨大的成功,而最新的应用则出现在这些研究中[7]-[9]。他们不仅击败了许多以前的机器学习技术(例如,决策树,支持向量机),而且在某些现实世界的任务[4],[10]上实现了最先进的性能。由 DNN 支持的产品现已被数十亿人使用,例如面部和语音识别。DNN 也已成为许多科学领域的强大工具,例如医学 [11]、生物信息学 [12]、[13] 和天文学 [14],这些领域通常涉及大量数据。
  然而,深度学习仍然有一些明显的缺点。作为一个具有数百万个自由参数的非常复杂的模型(例如,AlexNet [2],6200 万个),DNN 经常被发现表现出意想不到的行为。例如,即使一个网络可以获得最先进的性能,并且似乎在物体识别任务上表现得很好,Szegedy等人[15]找到了一种方法,通过对输入图像施加某种不可察觉的变化,可以任意改变网络的预测。这种修改后的输入称为“对抗例子”。Nguyen等人[16]展示了另一种产生完全无法识别的图像(例如,看起来像白噪声)的方法,然而,DNN以99.99%的置信度将其识别为特定的对象。这些观察结果表明,尽管DNN可以在许多任务中获得卓越的表现,但它们的潜在机制可能与人类的机制非常不同,而且还没有被很好地理解。

A、可解释性的定义

  为了打开深层网络的黑匣子,许多研究者开始关注模型的可解释性。虽然已在各种文件中探讨了这一主题,但尚未就可解释性的定义达成明确的共识。之前的大部分作品都忽略了澄清问题,将其保留为“一看就知道”。如果我们仔细观察,就会发现可解释性的定义和动机通常是不同的,甚至是不一致的。
  之前对可解释性的一个定义是,在术语“解释”本身仍然难以理解的情况下,用人类[18]可理解的术语提供解释的能力。在回顾了之前的文献之后,我们在[18]的基础上对“解释”和“可理解的术语”做了进一步的澄清。
  可解释性是用可理解的语言向人类提供解释的能力。 其中,(1)理想情况下,解释应该是符合逻辑的决策规则(if-then规则),或者可以转换成符合逻辑的规则。然而,人们通常不要求以规则的形式明确地解释(但只要求一些可以用来构造解释的关键元素)。(2)易于理解的术语应该来自与任务相关的领域知识(或根据任务的常识)。
  我们的定义为可解释性研究提供了新的视角:(1)我们强调解释的形式而不是特定的解释者。毕竟,解释是用某种“语言”来表达的,无论是自然语言、逻辑规则还是其他东西。最近,人们强烈倾向于解释语言尽可能接近逻辑[19]。在实践中,人们并不总是需要一个完整的“句子”,它允许各种解释(规则、显着性掩码等)。这是对现有文献中的研究方法进行分类的一个重要角度。(2)领域知识是构建解释的基本单元。由于深度学习已经显示出其处理原始形式数据的能力,因此人们很难用其原始输入表示来解释模型。有了更多的领域知识,我们就可以得到更多可理解的表示,这些表示可以由领域专家进行评估。表1列出了不同任务中常用的几种表示。
  我们注意到一些研究区分了interpretability和explainability(或understandability、comprehensibility、transparency、human-simulatability等[17]、[23])。在本文中,我们不强调这些术语之间的细微差别。具体来说,我们专注于(深度)神经网络(很少是循环神经网络)的可解释性,其目的是提供对其内部工作原理和输入输出映射的解释。还有一些关于生成对抗网络(GAN)的可解释性研究。然而,作为一种生成模型,它与用作判别模型的常见神经网络略有不同。对于这个主题,我们希望读者参考最新的作品[24]-[29],其中许多作品与本文的“hidden semantics”部分(见第二节)有相似的观点,试图解释隐藏神经元或潜在空间的含义。
  根据我们的定义,Linux 操作系统的源代码是可解释的,尽管它对于开发人员来说可能会令人不知所措。深度决策树或高维线性模型(在可解释的输入表示之上)也是可解释的。有人可能会说它们是不可模拟的[17](即人类能够在短时间内在他/她的脑海中模拟模型从输入到输出的处理过程)。然而,我们声称它们仍然是可以解释的。
  除了上述(训练有素的神经网络)可解释性的限制范围外,还有一个更广泛的理解一般神经网络方法的领域,这是本文无法涵盖的。例如,DNN的经验成功给理论家提出了许多未解决的问题[30]。DNN 架构 [31]、[32] 的优点(或归纳偏差)是什么?DNN 的损失面/临界点 [33]-[36] 有哪些特性?为什么 DNN 仅通过简单的正则化就能很好地泛化 [37]-[39]?DNN 的鲁棒性/稳定性如何[40]-[45]?还有关于如何生成对抗性示例 [46]、[47] 和检测对抗性输入 [48] 的研究。

B、可解释性的重要性

  许多论文[17]、[18]、[49]已经强调了可解释性的必要性,强调缺乏可解释性可能有害的情况。然而,缺乏对此类论证的清晰组织的阐述。我们将可解释性重要性的论点归纳为三类。
  1)高可靠性要求:尽管深度网络在一些相对较大的测试集上表现出了良好的性能,但实际环境仍然要复杂得多。由于一些意外的失败是不可避免的,我们需要一些方法来确保我们仍然在控制中。深度神经网络不提供这样的选择。在实践中,它们经常被观察到在某些情况下会出现意想不到的性能下降,更不用说来自敌对示例[50]、[51]的潜在攻击了。
  可解释性并不总是需要的,但对于一些需要高度可靠的预测系统来说很重要,因为错误可能会导致灾难性结果(例如,人员生命、重大经济损失)。可解释性可以使潜在的故障更容易检测(借助领域知识),避免严重后果。此外,它可以帮助工程师查明根本原因并提供相应的解决方案。可解释性并不会使模型更可靠或其性能更好,但它是构建高度可靠系统的重要组成部分。
  2)伦理和法律要求: 第一个要求是避免算法歧视。由于机器学习技术的性质,经过训练的深度神经网络可能会继承训练集中的偏差,这有时很难注意到。当 DNN 在我们的日常生活中使用时,例如抵押贷款资格、信用和保险风险评估,会存在公平性问题。
  深度神经网络也已用于新药发现和设计[52]。计算药物设计领域由传统的机器学习方法(如随机森林和广义相加模型)主导,部分原因是当时它们的高效学习算法,也因为领域化学解释是可能的。新药要获得监管机构(如食品和药物管理局)的批准,也需要可解释性。除了临床试验的结果,通常还需要支持这些结果的生物学机制。医疗设备也是如此。
  可解释性的另一个法律要求是“解释权”[53]。根据《欧盟通用数据保护条例》(GDPR)[54]第22条,人们有权不受到对其产生法律效力或类似重大影响的自动决策的约束。数据控制者应保障数据所有者获得人为干预、表达观点和对决定提出异议的权利。如果我们不知道网络如何做出决定,就无法确保这些权利。
  3)科学用法:深度神经网络正在成为科学研究领域的强大工具,这些领域的数据可能具有复杂的内在模式(例如基因组学[55]、天文学[14]、物理学[56]甚至社会科学[57])。“科学”一词源自拉丁语“scientia”,意思是“知识”。当深度网络达到比旧模型更好的性能时,它们一定发现了一些未知的“知识”。可解释性是揭示它的一种方式。

C. 相关工作和贡献

  已经有人尝试总结神经网络可解释性的技术。然而,它们大多数只提供基本的分类或枚举,没有明确的分类法。Lipton [17] 指出,可解释性一词并没有明确的定义,并且在不同的研究中通常具有不同的含义。然后,他对可解释性研究中的需求(如信任、因果关系、公平决策等)和方法(事后解释)进行了简单的分类。Doshi-Velez和Kim[18]对可解释性的定义和评价进行了讨论,启发我们制定更严格的定义,并在此基础上对现有的方法进行分类。Montavon等人[58]将解释的定义限定为特征重要性(在其他地方也称为解释向量),并回顾了通过网络解释已学习概念和个体预测的技术。它们的目的不是提供一个全面的概述,只是包括一些有代表性的方法。Gilpin等人[59]将方法分为三类:解释数据处理、解释数据表示和解释生成网络。在这种分类下,线性代理模型方法和规则提取方法同样被视为代理方法,而没有注意到它们之间有很多差异(前者是局部方法,而后者通常是全局方法,并且它们产生的解释不同,我们将请参阅我们的分类法)。Guidotti等人[49]考虑了所有的黑箱模型(包括树集合、支持向量机等),并给出了一个基于四个维度(可解释性问题的类型、解释器的类型、黑箱模型的类型、数据的类型)的细粒度分类。然而,他们将决策树、决策规则、显着性掩模、敏感性分析、激活最大化等视为解释器。在我们看来,有些是某种类型的解释,有些是用于产生解释的方法。Zhang和Zhu[60]回顾了在计算机视觉领域中理解网络中间层表示或使用可解释表示学习网络的方法。
  本调查有以下贡献:(1)在参考文献[18]的基础上,我们进一步向可解释性的定义迈进了一步。在这个定义中,我们强调解释的类型(或格式)(例如,规则形式,包括决策树和决策规则集)。这是我们提出的分类法中的一个重要维度。以前的论文通常将现有方法组织成各种孤立的(在很大程度上)解释器(例如决策树、决策规则、特征重要性、显着性图等)。(2)我们分析了可解释性的真正需求,并将其总结为三组:可解释性作为系统的重要组成部分,应该具有高度可靠性;道德或法律要求;并且可解释性提供增强相关科学领域知识的工具。相比之下,之前的一项调查[49]仅通过提供黑盒模型可能存在危险的几种案例来显示可解释性的重要性。(3)我们提出了一种新的分类法,包括三个维度(被动与主动方法、解释格式以及局部-半局部-全局可解释性)。请注意,尽管以前的文献中已经讨论了分类学的许多成分,但它们要么是在完全不同的上下文中提到的,要么是相互交织的。据我们所知,我们的分类法提供了现有方法最全面、最清晰的分类。
  我们的分类组织的三个自由度允许一个示意图的3D视图,说明了在深层网络可解释性方面的各种尝试是如何相关的。它还通过填补可解释性研究中的一些空白,为可能的未来工作提供了建议(参见图2)。
在这里插入图片描述

分类方法

  我们提出了一种具有三个维度的新分类法(见图 1):(1)被动与主动方法维度,(2)产生的解释的类型/格式,以及(3)分别从局部到全局的可解释性维度。 第一个维度是分类的,有两个可能的值:被动解释和主动可解释性干预。它根据是否需要改变网络架构或优化过程对现有方法进行划分。被动解释过程从经过训练的网络开始,所有权重均已从训练集中学习。此后,这些方法尝试提取逻辑规则或提取一些可理解的模式。而主动方法则需要在训练前进行一些改变,如引入额外的网络结构或修改训练过程。这些修改使网络变得更加可解释(例如,更像一个决策树)。最常见的是,此类主动干预以正则化条款的形式出现。
在这里插入图片描述
  与以前的调查不同,其他两个维度允许序数值。例如,前面提出的解释器[49]的维度类型产生了诸如决策树、决策规则、特征重要性、敏感性分析等子类别。然而,这些预先认可的解释器之间并没有明确的联系(决策树和特征重要性之间的关系是什么)。相反,我们的第二个维度是解释的类型/格式。通过检查不同方法产生的各种解释,我们可以观察到它们的明确程度的差异。逻辑规则提供了最清晰和明确的解释,而其他类型的解释可能是隐含的。例如,显著性映射本身只是某个输入的掩码。通过观察显著性图,人们构建了一种解释:“模型之所以做出这种预测,是因为它聚焦于(输入的)这个高度有影响力的部分和那个部分”。希望这些部分对应于一些领域可理解的概念。严格来说,隐含的解释本身并不是完整的解释,需要进一步的人类解释,而这通常是人们在看到它们时自动完成的。我们在这里认识到四种主要的解释类型,逻辑规则、隐藏语义、归因和举例解释,并按解释能力递减的顺序排列。在之前的文献中也有类似的讨论,例如,Samek等人[61]提供了一个关于“解释类型”的简短小节(包括解释习得表征、解释个体预测等)。然而,它与我们将在下一段中介绍的可解释性研究的另一个独立维度混合在一起。最近的一项调查[62]遵循同样的哲学,将显著性映射和概念归因[63]视为不同类型的解释,而我们认为它们是相同的,只是在下面的维度上有所不同。
  最后一个维度,从局部可解释性到全局可解释性(相对于输入空间),在最近的论文中变得非常常见(例如,[18]、[49]、[58]、[64]),其中全局可解释性意味着能够理解模型的整体决策逻辑,局部可解释性侧重于单个预测的解释。然而,在我们提出的维度中,全局可解释性和局部可解释性(即半局部可解释性)之间存在过渡而不是硬性划分。局部解释通常利用目标输入的信息(例如,它的特征值,它的梯度)。但全局解释试图推广到尽可能广泛的输入(例如,规则学习中的顺序覆盖、特征重要性排名的边际贡献)。这种观点也得到了几种半局部解释方法[65]、[66]的存在的支持。也有人尝试以自下而上的方式将局部解释融合到全局解释中[19],[67],[68]。为了帮助理解后两个维度,表II列出了分类法下不同子类别产生的典型解释的示例。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190073.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

野火霸天虎 STM32F407 学习笔记_5 按键输入;位带操作介绍

输入——按键点灯 开发板按键电路如下: 按键未按下接地,按下后为高电平。电容起到消抖作用,软件处理就不需要手动延时消抖了。 编程没啥难度,就是改了一下输入模式。使用 ReadInputDataBits 读取。 //bsp_button.c #include &q…

golang 2018,go 1.19安装Gin

GOPROXYhttps://mirrors.aliyun.com/goproxy/ 一致提示URL不能有点,给我整郁闷了,换了这个地址好了 但是一致提示zip的包问题,最后还是不行又换回七牛 NEWBEE! [GIN-debug] Environment variable PORT is undefined. Using por…

SAE 2.0,让容器化应用开发更简单

云原生容器化应用托管模式的演变 云原生这个概念从提出,到壮大,再到今天的极大普及,始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的,应用通…

多元高斯分布

下面我们来看一下多元高斯分布,叫做 multivariative 高斯分布,也就是目前的情况是向量的形式,也就是说我的 x 它是一个向量,那这个情况下我们的高斯分布应该怎么去表示?我们这里面重点还是来看一下它的一个表示的方法&…

【Linux系统编程十五】:(基础IO2)--重定向实现原理 “Linux下一切皆文件“

【Linux系统编程十五】:重定向原理 与 "Linux下一切皆文件" 一.重定向1.实现原理2.输出重定向3.输入重定向4.补充:简易shell中实现重定向 二."Linux下一切皆文件"1.虚拟文件系统(VFS) 一.重定向 我们首先关闭2号文件描述符&#xff…

HTTP协议 和 HTTPS协议

一、HTTP协议: HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTPP有多个版本,目前…

Read Completion Boundary (RCB)切分规则

Read Completion Boundary(RCB) 切分规则 Read Completion Boundary(RCB) 简介 当Read Completion 包含multi-completions时,RCB 规定了多个Completions地址的align规则。Spec中规定RCB可以是64 Byte或者128 Byte,该值可以在link_control register中得…

什么是观察者模式?用 Python 如何实现 Observer(观察者或发布订阅)对象行为型模式?

什么是观察者模式? 观察者模式(Observer pattern)是一种行为型设计模式,它允许对象之间建立一种一对多的依赖关系,当一个对象的状态发生变化时,其相关依赖对象都会得到通知并自动更新。 在观察者模式中&am…

Leo赠书活动-06期 【强化学习:原理与Python实战】文末送书

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 赠书活动专栏 ✨特色专栏:…

CVE-2023-0179-Nftables整型溢出

前言 Netfilter是一个用于Linux操作系统的网络数据包过滤框架,它提供了一种灵活的方式来管理网络数据包的流动。Netfilter允许系统管理员和开发人员控制数据包在Linux内核中的处理方式,以实现网络安全、网络地址转换(Network Address Transl…

MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

创建表格 要在MySQL中创建表格,请使用"CREATE TABLE"语句。 确保在创建连接时定义了数据库的名称。 示例创建一个名为 “customers” 的表格: import mysql.connectormydb mysql.connector.connect(host"localhost",user"…

图文解析 Nacos 配置中心的实现

目录 一、什么是 Nacos 二、配置中心的架构 三、Nacos 使用示例 (一)官方代码示例 (二)Properties 解读 (三)配置项的层级设计 (四)获取配置 (五)注册…

nfs配置

1.NFS介绍 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操 作系统可以共享彼此的文件。 NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文 件系统中,而在本地端的系统中来看&#…

【gltf-pipeline】安装gltf-pipeline 进行文件格式转换

问题 想使用gltf-pipeline进行gltf和glb格式转换。简单记录一下安装过程。 解决 1、安装Node.js Node.js下载路径:https://nodejs.org/en 建议默认设置安装。 添加系统环境变量: 测试安装是否成功: 在cmd.exe中运行: no…

基于SSM的建筑装修图纸管理平台

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

基于ssm的校园办公室报修管理系统

基于ssm的校园办公室报修管理系统 摘要 基于SSM的校园办公室报修管理系统是一个现代化的、高效的报修平台,它能够帮助校园内的教职工和学生更方便、更快捷地提交和处理报修请求。该系统基于Spring、SpringMVC和MyBatis(简称SSM)开发&#xff…

【MySQL】一文学会所有MySQL基础知识以及基本面试题

文章目录 前言 目录 文章目录 前言 一、主流数据库以及如何登陆数据库 二、常用命令使用 三、SQL分类 3.1 存储引擎 四、创建数据库如何设置编码等问题 4.1操纵数据库 4.2操纵表 五、数据类型 六、表的约束 七、基本查询 八、函数 九、复合查询 十、表的内连和外连 十一、索引…

第十八章Swing程序设计总结

例题18.1:第一个窗体程序 例题18.2:在窗体中弹出对话框 例题18.3:弹出会话框,问用户准备好了吗? 例题18.4:弹出会话框,询问用户是否离开 例题18.5:弹出会话框,让用户输入…

特殊矩阵的压缩存储(对称矩阵,三角矩阵,三对角矩阵,稀疏矩阵)

目录 1.数组的存储结构1.—维数组2.二维数组1.行优先存储2.列优先存储 2.特殊矩阵1.对称矩阵1.行优先存储 2.三角矩阵1.上三角矩阵2.下三角矩阵 3.三对角矩阵(带状矩阵)4.稀疏矩阵 1.数组的存储结构 1.—维数组 各数组元素大小相同,且物理上…

vue-router路由守卫进阶

vue-router路由守卫进阶 路由守卫,可以想象为古代御前侍卫,路由守卫,则是对路由进行权限控制 分类:全局守卫、独享守卫、组件内守卫 全局前置-路由守卫 作用:主要用来鉴权 用户点击导航区,随后引起路径的…