可解释性的相关介绍
一、可解释性的元定义(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- 网络故障排除 !step1:检测当前主机和目标主机是否畅通 [ping]step2:检测网络质量,追踪路由 [traceroute]step3:检测网络质量,检查是否有数据包丢失 [mrt]step4: 检查端口是否畅通 [telnet]…...
155. 最小栈(中等系列)
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 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界面(2/3)_…...
SpringBoot+Vue如何写一个HelloWorld
一、SpringBoot介绍 Spring Boot是一个用于创建独立且可执行的Spring应用程序的框架。它简化了基于Spring框架的应用程序的开发过程,并提供了一种快速和简便的方式来构建Java应用程序。 Spring Boot提供了自动配置机制,通过引入适当的依赖项࿰…...
深度强化学习。介绍。深度 Q 网络 (DQN) 算法
马库斯布赫霍尔茨 一. 引言 深度强化学习的起源是纯粹的强化学习,其中问题通常被框定为马尔可夫决策过程(MDP)。MDP 由一组状态 S 和操作 A 组成。状态之间的转换使用转移概率 P、奖励 R 和贴现因子 gamma 执行。概率转换P(系统动…...
【C++随笔02】左值和右值
【C随笔02】左值和右值 一、左值和右值1、字面理解——左值、右值2、字面理解的问题3、左值、右值4、左值的特征5、 右值的特征6、x和x是左值还是右值7、复合例子8、通常字面量都是一个右值,除字符串字面量以外: 二、左值引用和右值引用三、左值引用1、常…...
几个nlp的小任务(多选问答)
@TOC 安装库 多选问答介绍 定义参数、导入加载函数 缓存数据集 随机选择一些数据展示 进行数据预处理部分(tokenizer) 调用t...
【C++学习记录】为什么需要异常处理,以及Try Catch的使用方法
1.什么是异常,什么是错误? 程序无法保证100%正确运行,万无一失。有的错误在编译时能发现,比如:关键字拼写、变量名未定义、括号不配对、语句末尾缺分号等。这是在编译阶段发现的,称为编译错误。 有的能正常…...
孪生网络(Siamese Network)
基本概念 孪生网络(Siamese Network)是一类神经网络结构,它是由两个或更多个完全相同的网络组成的。孪生网络通常被用于解决基于相似度比较的任务,例如人脸识别、语音识别、目标跟踪等问题。 孪生网络的基本思想是将输入数据同时…...
【Redis】Redis是什么、能干什么、主要功能和工作原理的详细讲解
🚀欢迎来到本文🚀 🍉个人简介:陈童学哦,目前学习C/C、算法、Python、Java等方向,一个正在慢慢前行的普通人。 🏀系列专栏:陈童学的日记 💡其他专栏:CSTL&…...
8月26日,每日信息差
1、上海发布两项支持高级别自动驾驶的5G网络标准,在上海市通管局的指导下,由上海移动和中国信息通信研究院牵头组织二十余家标准起草单位共同参与编写的《支持高级别自动驾驶的5G网络规划建设和验收要求》和《支持高级别自动驾驶的5G网络性能要求》等两项…...
云和恩墨面试(部分)
一面 软件架构设计方案应该包含哪些内容,哪些维度 二面 架构师如何保证软件产品质量线程屏障(或者说线程栅栏)是什么,为什么要使用线程屏障事务传播⾏为为NESTED时,当内部事务发生异常时,外部事务会回滚吗?newBing:…...
volatile 关键字详解
目录 volatile volatile 关键用在什么场景下: volatile 关键字防止编译器优化: volatile 是一个在许多编程语言中(包括C和C)用作关键字的标识符。它用于告诉编译器不要对带有该关键字修饰的变量进行优化,以确保变量在…...
Ceph入门到精通-大流量10GB/s LVS+OSPF 高性能架构
LVS 和 LVSkeepalived 这两种架构在平时听得多了,最近才接触到另外一个架构LVSOSPF。这个架构实际上是LVSKeepalived 的升级版本,我们所知道LVSKeepalived 架构是这样子的: 随着业务的扩展,我们可以对web服务器做水平扩展…...
Unity光照相关
1. 光源类型 Unity支持多种类型的光源,包括: 1. 点光源(Point Light):从一个点向四周发射光线,适用于需要突出物体的光源。 2. 平行光(Directional Light):从无限远处…...
Qt基本类型
QT基本数据类型定义在#include <QtGlobal> 中,QT基本数据类型有: 类型名称注释备注qint8signed char有符号8位数据qint16signed short16位数据类型qint32signed short32位有符号数据类型qint64long long int 或(__int64)64位有符号数据类型&#x…...
前端基础(Element、vxe-table组件库的使用)
前言:在前端项目中,实际上,会用到组件库里的很多组件,本博客主要介绍Element、vxe-table这两个组件如何使用。 目录 Element 引入element 使用组件的步骤 使用对话框的示例代码 效果展示 vxe-table 引入vxe-table 成果展…...
C++学习记录——이십팔 C++11(4)
文章目录 包装器1、functional2、绑定 这一篇比较简短,只是因为后要写异常和智能指针,所以就把它单独放在了一篇博客,后面新开几篇博客来写异常和智能指针 包装器 1、functional 包装器是一个类模板,对可调用对象类型进行再封装…...
UE学习记录03----UE5.2 使用拖拽生成模型
0.创建蓝图控件,自己想要展示的样子 1.侦测鼠标拖动 2.创建拖动操作 3.拖动结束时生成模型 3.1创建actor , 创建变量EntityMesh设为可编辑 生成Actor,创建变量EntityMesh设为可编辑 屏幕鼠标位置转化为3D场景位置 4.将texture设置为变量并设为可编辑&am…...
Spring Cache框架(缓存)
1、介绍: Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单加个注解,就能实现缓存功能。它提供了一层抽象,底层可以切换不同的cache实现。具体就是通过CacheManager 接口来实现不同的缓存技术。 针对不同…...
Linux学习之Ubuntu 20使用systemd管理OpenResty服务
sudo cat /etc/issue可以看到操作系统的版本是Ubuntu 20.04.4 LTS,sudo lsb_release -r可以看到版本是20.04,sudo uname -r可以看到内核版本是5.5.19,sudo make -v可以看到版本是GNU Make 4.2.1。 需要先参考我的博客《Linux学习之Ubuntu 2…...
[数据集][目标检测]疲劳驾驶数据集VOC格式4类别-4362张
数据集格式:Pascal VOC格式(不包含分割的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):4362 标注数量(xml文件个数):4362 标注类别数:4 标注类别名称:["closed_eye","closed_mouth"…...
matlab使用教程(25)—常微分方程(ODE)选项
1.ODE 选项摘要 解算 ODE 经常要求微调参数、调整误差容限或向求解器传递附加信息。本主题说明如何指定选项以及每个选项与哪些微分方程求解器兼容。 1.1 选项语法 使用 odeset 函数创建 options 结构体,然后将其作为第四个输入参数传递给求解器。例如࿰…...
MybatisPlus简单到入门
一、MybatisPlus简介 1、入门案例(重点): 1.SpringBoot整合MP1).创建新模块选择,Spring项初始化。2).选择当前模块使用的技术,只保留MySQL Driver就行,不要选择mybatis避免与后面导入mybatisPlus的依赖发…...
可信网站申请/厦门网站建设
Libevent内存管理相当简单。可以支持用于自定义的内存分配策略,这个时候就是用户自己写对应的内存分配策略例如可以写个简单的内存池,然后注册回调函数,供内存分配调用;也可以通过系统自带的malloc、realloc、free分配内存。可以通…...
成都网站设计费用/专业拓客团队怎么收费
支付宝一面 介绍一下自己。JVM 内存分哪几个区,每个区的作用是什么?JVM有哪些回收算法,对应的收集器有哪些?JVM,垃圾回收机制,内存划分等GC 的两种判定方法 ?CMS 收集器与 G1 收集器的特点。HashMap中的g…...
html中网站最下面怎么做/成都seo优化排名推广
Array.of() Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。 Array.of() 总是返回由参数值组成的新数组。如果没有参数,就返回一个空数组。 语法: Array.of(element0[, element1[, ...[, elementN]]])参…...
做啥英文网站赚钱/阿里云域名注册万网
你好!有什么我可以帮助你的?...
长沙公司核名网站/淘宝网店代运营正规公司
IO多路复用socket在客户端与服务端建立连接后,之后的请求都需要等待原生的socket服务端只能在同一时刻处理一个请求IO多路复用:可以监听多个文件描述符(socket对象),一旦文件描述符的状态出现变化,就会感知到一旦有人给服务器发送请求,服务端的socket就会发生变化或服务端通过S…...
wordpress 定时间隔/赚钱平台
手机APP软件怎么做,就现目前的互联网市场环境来看,主要分为两种,自建技术团队以及选择专业APP外包公司开发,企业商家只有选择合适的开发方式才能开发出更高质量的APP应用程序,下面杭州APP开发公司-七猫网络跟大家详细讲…...