当前位置: 首页 > 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…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...