当前位置: 首页 > news >正文

可解释性的相关介绍

一、可解释性的元定义(Meta-definitions of Interpretability)

  • The extent to which an individual can comprehend the cause of a model’s outcome. [1]
  • The degree to which a human can consistently predict a model’s outcome. [2]

可解释性:Interpretability、explainability

关键词:Interpretability、explainability、XAI、black model、Interpretable Deep Learning(IDL)

常规理解:

  • 解释模型的决策
  • 揭示模型内部机制
  • 将有意义的模型或数式引入系统,试图使复杂模型或算法显式化,以便用户有充分理由信任或不信任特定模型。

如下图,可解释模型与黑盒模型的对比,可以揭示可解释性研究的目的。

 二、可解释性的重要性、必要性

(1)必要性

        准确率与可解释性之间存在trade-off(权衡)的关系,如下图

实现可解释性,可以使用与模型无关的技术,比如局部模型LIME或部分依赖图PDP。为神经网络设计解释方法涉及的两个理由。

  • 神经网络在隐藏层中学习特征和概念,这需要专门的工具来揭示它们。
  • 模型无关的方法大多是“从外部”观察神经网络决策过程,但梯度可以实现计算效率更高的解释方法。

当模型预测的结果与实际使用有所偏差,即模型给出结果和决策者想知道的是有区别的时候,就需要可解释性。对于一些效果很好的模型,但在不一样的数据实例上却表现出较差的性能,人们也会想知道其中的缘由。对于可解释性的必要性,可以从以下三个方面进行说明。

1.知识

        在深度学习中,决策是基于大量的权重和参数,而参数通常是模糊的,与真实的世界无关,这使得很难理解和解释深度模型的结果[3]。可解释性将有助于让算法与人类价值观保持一致,帮助人们做出更好的决策,并给予人们更多的控制权。另外,当我们真正理解了一个模型,就可以仔细它的缺陷。因为模型的解释能力可以帮助我们找出它可能存在的弱点,并基于此知识使其更加准确和可靠。最后,可解释性是人们以符合伦理道德的方式使用深度神经网络的关键[4]。因此可解释性是非常重要的。

        可解释性是一种潜在的属性,不可直接衡量,且缺乏既定的衡量标准,解释的程度不完善,有必要寻求一些评价可解释性方法的技术。Weld和Bansal[5]讨论了解释性调试和可验证性。Doshi等人[6]试图采用基于人类参与和应用程度分离的评价方法满足解释需求。如下图,人越多,任务越复杂,对可解释性和特殊性的要求越大。

 2.监管

        研究界和商业之间的差距阻碍了最新深度学习模型在银行、金融、安全、卫生等行业的全面渗透,这些行业的流程在数字化转型方面一直滞后。这一问题通常出现在监管严格、不愿实施可能使其资产面临风险的技术的行业。即使有道德目的的保证,社会也必须确定该制度不会造成无意的伤害。随着可解释性需求的出现,如果认真对待可解释性需求并将其纳入立法,就必须理解其积极和消极的法律后果。Ribeiro等[7]在2016年的工作研究了任何分类器预测的可解释性,培养信任。

3.共识

        目前为止,对于可解释性深度学习和评估技术还没有真正的共识。研究人员已经初步尝试开发基于推理的机器学习的评估策略。然而,深度学习模型,由于其更抽象的学习机制,使其研究人员已经认识到可解释性对道德标准和公平的影响。可解释性模型应该具有以下特征[8]。

 (2)重要性

        可解释性涉及各领域,对人类生活产生了巨大影响,如下图。

         忽略系统的近似决策和可信结果变得更加困难,这种困境在于问题的不完全形式化,而且单一的指标(如分类准确度)对于大多数现实世界的任务来说都不够好。不完全性意味着关于问题的某些东西不能很好地建模[6]。当算法被用来自动做出决定时,可能会导致有害的歧视。算法透明性对于理解模型及其训练过程的动态是必要的。这是因为神经网络的目标函数具有实质上的非凸拓扑结构,深层网络无法提供真正新颖的答案,使模型的开放性受到了损害。这些都反映了可解释性研究的重要性。

三、可解释性策略和问题的基本概述

 四、可解释性研究的挑战

参考文献

[1] Miller, T.: Explanation in artificial intelligence: insights from the social sciences. Artif. Intell. 267, 1–38 (2019)

[2] Kim, B., Khanna, R., Koyejo, O.O.: Examples are not enough, learn to criticize! criticism for
interpretability. Adv. Neural Inf. Process. Syst. 29 (2016)

[3] Angelov, P., Soares, E.: Towards explainable deep neural networks (XDNN). Neural Netw. 130, 185–194

[4] Geis, J.R., Brady, A.P., Wu, C.C., Spencer, J., Ranschaert, E., Jaremko, J.L., Langer, S.G., Kitts, A.B., Birch, J., Shields, W.F., et al.: Ethics of artificial intelligence in radiology: summary of
the joint European and North American multisociety statement. Can. Assoc. Radiol. J. 70(4),
329–334 (2019)

[5] Bansal, G.,Weld, D.: A coverage-based utility model for identifying unknown unknowns. In: AAAI Conference on Artificial Intelligence, vol. 32 (2018)

[6] Doshi-Velez, F., Kim, B.: Towards a rigorous science of interpretable machine learning (2017).

[7] Ribeiro, M.T., Singh, S., Guestrin, C.: “why should i trust you?” Explaining the predictions of any classifier. In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining, pp. 1135–1144 (2016)

[8] Doshi-Velez, F., Kim, B.: Towards a rigorous science of interpretable machine learning (2017).

相关文章:

可解释性的相关介绍

一、可解释性的元定义(Meta-definitions of Interpretability) The extent to which an individual can comprehend the cause of a model’s outcome. [1]The degree to which a human can consistently predict a model’s outcome. [2] 可解释性&am…...

AUTOSAR规范与ECU软件开发(实践篇)6.7 服务软件组件与应用层软件组件端口连接

在生成了BSW模块的代码后, 切换到ISOLAR-A系统级设计界面,会发现产生一些基础软件模块的服务软件组件: BswM、 ComM、 Det和EcuM等, 如图6.60所示。 图6.60 生成了BSW后的服务软件组件 此时, 如果涉及服务软件组件与应用层软件组件的交互, 就需要为应用层软件组…...

菜鸟教程《Python 3 教程》笔记(6):列表

菜鸟教程《Python 3 教程》笔记(6) 6 列表6.1 删除列表元素6.2 列表函数和方法6.2.1 max()、min()6.2.2 reverse()6.2.3 sort() 6 列表 出处: 菜鸟教程 - Python3 列表 6.1 删除列表元素 >>> list [Google, Runoob, 1997, 2000]…...

LeetCode-56-合并区间

题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 可以使用 LinkedList,…...

Git gui教程---番外篇 gitignore 的文件使用

想说的 .gitignore 的文件一般大型的编译器带git的都会生成,他可以将你不想提交的文件在git下忽略掉,你应该不想将一大堆编译生成的过程文件,还有一些贼大的文件提交上git的。 凡是都有例外,一些冥顽不灵的编辑器,只能…...

javaee spring 用注解的方式实现ioc

spring 用注解的方式实现ioc spring核心依赖 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…...

Linux基础(二)

这里写目录标题 一、网络管理1- 网络状态查看1.1 net-tools1.2 iproute2 2- 网络故障排除 &#xff01;step1:检测当前主机和目标主机是否畅通 [ping]step2:检测网络质量,追踪路由 [traceroute]step3:检测网络质量,检查是否有数据包丢失 [mrt]step4: 检查端口是否畅通 [telnet]…...

155. 最小栈(中等系列)

设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获取堆栈顶部的元素。 int…...

用python从零开始做一个最简单的小说爬虫带GUI界面(3/3)

目录 上一章内容 前言 出现的一些问题 requests包爬取小说的不便之处 利用aiohttp包来异步爬取小说 介绍 代码 main.py test_1.py test_3.py 代码大致讲解 注意 系列总结 上一章内容 用python从零开始做一个最简单的小说爬虫带GUI界面&#xff08;2/3&#xff09;_…...

SpringBoot+Vue如何写一个HelloWorld

一、SpringBoot介绍 Spring Boot是一个用于创建独立且可执行的Spring应用程序的框架。它简化了基于Spring框架的应用程序的开发过程&#xff0c;并提供了一种快速和简便的方式来构建Java应用程序。 Spring Boot提供了自动配置机制&#xff0c;通过引入适当的依赖项&#xff0…...

深度强化学习。介绍。深度 Q 网络 (DQN) 算法

马库斯布赫霍尔茨 一. 引言 深度强化学习的起源是纯粹的强化学习&#xff0c;其中问题通常被框定为马尔可夫决策过程&#xff08;MDP&#xff09;。MDP 由一组状态 S 和操作 A 组成。状态之间的转换使用转移概率 P、奖励 R 和贴现因子 gamma 执行。概率转换P&#xff08;系统动…...

【C++随笔02】左值和右值

【C随笔02】左值和右值 一、左值和右值1、字面理解——左值、右值2、字面理解的问题3、左值、右值4、左值的特征5、 右值的特征6、x和x是左值还是右值7、复合例子8、通常字面量都是一个右值&#xff0c;除字符串字面量以外&#xff1a; 二、左值引用和右值引用三、左值引用1、常…...

几个nlp的小任务(多选问答)

@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t...

【C++学习记录】为什么需要异常处理,以及Try Catch的使用方法

1.什么是异常&#xff0c;什么是错误&#xff1f; 程序无法保证100%正确运行&#xff0c;万无一失。有的错误在编译时能发现&#xff0c;比如&#xff1a;关键字拼写、变量名未定义、括号不配对、语句末尾缺分号等。这是在编译阶段发现的&#xff0c;称为编译错误。 有的能正常…...

孪生网络(Siamese Network)

基本概念 孪生网络&#xff08;Siamese Network&#xff09;是一类神经网络结构&#xff0c;它是由两个或更多个完全相同的网络组成的。孪生网络通常被用于解决基于相似度比较的任务&#xff0c;例如人脸识别、语音识别、目标跟踪等问题。 孪生网络的基本思想是将输入数据同时…...

【Redis】Redis是什么、能干什么、主要功能和工作原理的详细讲解

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;陈童学哦&#xff0c;目前学习C/C、算法、Python、Java等方向&#xff0c;一个正在慢慢前行的普通人。 &#x1f3c0;系列专栏&#xff1a;陈童学的日记 &#x1f4a1;其他专栏&#xff1a;CSTL&…...

8月26日,每日信息差

1、上海发布两项支持高级别自动驾驶的5G网络标准&#xff0c;在上海市通管局的指导下&#xff0c;由上海移动和中国信息通信研究院牵头组织二十余家标准起草单位共同参与编写的《支持高级别自动驾驶的5G网络规划建设和验收要求》和《支持高级别自动驾驶的5G网络性能要求》等两项…...

云和恩墨面试(部分)

一面 软件架构设计方案应该包含哪些内容&#xff0c;哪些维度 二面 架构师如何保证软件产品质量线程屏障(或者说线程栅栏)是什么&#xff0c;为什么要使用线程屏障事务传播⾏为为NESTED时&#xff0c;当内部事务发生异常时&#xff0c;外部事务会回滚吗&#xff1f;newBing:…...

volatile 关键字详解

目录 volatile volatile 关键用在什么场景下&#xff1a; volatile 关键字防止编译器优化&#xff1a; volatile 是一个在许多编程语言中&#xff08;包括C和C&#xff09;用作关键字的标识符。它用于告诉编译器不要对带有该关键字修饰的变量进行优化&#xff0c;以确保变量在…...

Ceph入门到精通-大流量10GB/s LVS+OSPF 高性能架构

LVS 和 LVSkeepalived 这两种架构在平时听得多了&#xff0c;最近才接触到另外一个架构LVSOSPF。这个架构实际上是LVSKeepalived 的升级版本&#xff0c;我们所知道LVSKeepalived 架构是这样子的&#xff1a; 随着业务的扩展&#xff0c;我们可以对web服务器做水平扩展&#xf…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业

6月9日&#xff0c;国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解&#xff0c;“超级…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...