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

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

初学 pytest 记录

安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...