人工智能的圣杯:关于可解释AI(XAI)的一切

​​​​​​​

在过去十年间,无数个人工智能解决方案在各大企业得到部署。

智能受众评测系统、智能财务合规系统、智能人员招聘系统,不一而足。

这期间,在企业客户却也始终存在一种怀疑态度:AI系统做出的产品部署是否真的值得被信赖呢?

在我看来,这也是企业人工智能要着力攻克的下一个难题。

错误的客户流失预测会使企业失去一个重要的客户,而错误的金融交易分类会使企业蒙受资金损失。实际上,客户对人工智能模型的精确度不是特别在意,他们更担心的是数据科学家们无法解释的一个问题:“我如何相信它做出的决策?”

AI系统--我如何信任它们?

在大多数支持AI的数字化转型中,客户喜欢让他们的系统拥有AI的能力以实现某些商业价值主张。另一方面,大多数数据科学家则追求使用最流行的算法(如DNN/GAINS/DRN等)。遗憾的是,他们都忘记了在决策制定过程中的问责机制和信任机制中存在着一个关键因素。

在现实生活中,每一个决策,无论是由机器还是低级员工又或是首席执行官做出的,为了达到提高整体的业务水平的目的,都要通过定期的审查,来解释他们的决定。这就产生了人工智能的新兴分支,称为“可解释的人工智能”(XAI)。

什么是可解释的AI(XAI)?

XAI是人工智能的一个新兴分支,用于解释人工智能所做出的每一个决策背后的逻辑。下图是对一个完整AI决策流程的简单描述。

除了对上述问题提供解决方案之外,XAI还具有更深层的业务优势,例如:

改善AI模型的性能。因为XAI的解释有助于找到数据和特征行为中的问题。更好的决策部署。因为XAI的解释为中间人提供了额外的信息和信心,使其可以可以明智而果断地行动。提供一种控制感。因为AI系统的所有者清楚地知道其AI系统行为和边界的杠杆。提供一种安全感。因为每一个决定都需要通过安全指南,且对违规行为还会发出警告。与利益相关者建立信任关系。他们可以清晰看到每一个决策背后的逻辑推理。可监控由于训练数据偏差导致的道德问题和违规。提供更好的机制来遵循组织内的问责要求,以进行审计和其他目的。更好地遵守监管要求(比如《通用数据保护条例》GDPR),其中要求一个系统必须具有“解释权”。

AI系统部署中的角色

要实现可解释AI,我认为关键不在于工具和技术,而在于人类在这些人工智能系统中所扮演的角色。从广义上讲,我们可以用三个方面定义他们:

训练者--训练系统达到预期的功能行为

解释者-解释系统做出的决定

维护者-维持AI系统对业务KPI的效用

训练者

客户语言训练师

*教AI系统体会言外之意,例如检测讽刺

智能机器交互建模师

*学会员工行为,例如,一个AI系统可以从会计行为中学习如何自动匹配支出款项和发票。

*世界观训练师

使AI系统拥有全球化的观点。当做决定时不同文化的观点都要被考虑,比如判断一个算法是否“公平”

解释者

*背景设计师

根据业务背景,正在处理的任务,或个人或专业或文化等因素的不同设计更好的决策。

*透明度分析师

对使用不同类型的AI算法的不透明度(以及对业务的相应影响)进行分类,并对该信息库存进行维护

*AI落地策略

决定是否对特定的应用部署AI系统(或是应用传统的规则引擎和脚本)

维护者

*自动化伦理分析师

评估智能机器的非经济影响,包括正面和负面的

*自动化经济分析师

评估性能不良机器的成本

*机器关系管理者

"推广"在业务中表现良好的算法,并“降级”性能较差的算法

对于训练者和维护者的角色来说,他们有大量的工具可以使用。但对解释者来说,情况就不那么乐观了。人工智能/机器学习算法在本质上是著名的黑箱理论的一种,因为它的基于训练数据的大量非线性性质的权重和偏差的学习机制。因此,解释者的任务变得异常艰难。

XAI--关键维度

XAI有三个关键维度:合理的,可追踪的,可理解的。

合理的AI:能够理解每个预测背后的推理。

可追踪的AI:追踪预测过程的能力,可从数学算法的逻辑到数据的本质。

可理解的AI:完全理解做出AI决策所基于的模型。

XAI-设计原则

将XAI从概念转化为部署AI解决方案的8个原则如下

设计

一个着眼于社会影响力的AI

定义

数据集的出处,使用和保护标准

测试

系统发布前要进行全面测试

使用

使用透明

监控

发布后要严格监控

培训

工作能力培训和再培训

保护

隐私数据

构建

审计算法的工具和标准

XAI-主要技巧

XAI有两个主要技巧:

已知模型技巧:在这里有两类技巧。第一类技巧旨在解释现有的ML算法,第二类技巧则旨在研究新的白盒模型,以获得完全解释的能力。

未知模型技巧:通过入侵操作模型而在操作模型之外工作。一种称为LIME的技术主要用于估计决策的局部边界。

我在过去的经历中广泛使用了LIME库,加上自然语言生成技术,为维护者和操作者进行了叙述。

下面给出了当下算法精确度和可解释性的关系图

XAI的未来:

XAI领域有很好的发展前景,可以帮助企业解决AI的不足。例如:

精确的模型:XAI可同时支持维护者和训练者改进他们的模型,并使其持续下去。

值得信赖的模型:当XAI使得AI内部工作透明化时,XAI将有助于建立企业和其他监管行业的信心。

自然语言解释:XAI将通过自然语言(语音或文本)来解释它的决定,而不是通过分析表或复杂的仪表盘。这会要求自然语言解释与XAI的启发式探索结合起来使用。

对抗性使用(滥用):XIA的LIME技术和深度学习的GAIN技术,可以用于在外部破译给定的AI模型。这将导致组织需要使用政策和法规以及多层安全措施来保护其AI模型。

与机器协作:XAI将建立起信任的桥梁,使人类能够在方方面面中适应并习惯与机器智能一起工作。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识人工智能,一文读懂机器学习之逻辑回归知识文集(6)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

QT之 QDebug 调试(一)

在QT中&#xff0c;进行调试&#xff0c;则需要在头文件地方加上 #include <QDebug> 加上之后&#xff0c;在编译之后则其输出的信息则在应用程序输出那里显示信息。 其QDebug 信息调试则如&#xff1a; qDebug() << " 需要插入的信息 "…

以太网交换基础VLAN原理与配置

目录 7.以太网交换基础 7.1.以太网协议 7.2.以太网帧介绍 7.3.以太网交换机 7.4.同网段数据通信全过程 8.VLAN原理与配置 8.1.VLAN的基本概念 8.2.VLAN的应用 7.以太网交换基础 7.1.以太网协议 以太网是当今现有局域网(Local Area Network,LAN)采用的最通用的通信协议…

【王道数据结构】【chapter2线性表】【P44t16】

设有一个长度为n&#xff08;n为偶数&#xff09;的不带头结点的单链表且结点值都大于0&#xff0c;设计算法求这个单链表的最大的孪生和。孪生和的定义为一个结点值与其孪生结点值的和&#xff0c;对于第i个结点&#xff08;从0开始&#xff09;&#xff0c;其孪生结点为第n-i…

【RT-DETR有效改进】EfficientFormerV2移动设备优化的视觉网络(附对比试验效果图)

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…

【JaveWeb教程】(35)SpringBootWeb案例之《智能学习辅助系统》登录功能的详细实现步骤与代码示例(8)

目录 案例-登录和认证1. 登录功能1.1 需求1.2 接口文档1.3 思路分析1.4 功能开发1.5 测试 案例-登录和认证 在前面的课程中&#xff0c;我们已经实现了部门管理、员工管理的基本功能&#xff0c;但是大家会发现&#xff0c;我们并没有登录&#xff0c;就直接访问到了Tlias智能…

DS:带头双向循环链表的实现(超详细!!)

创作不易&#xff0c;友友们给个三连吧&#xff01;&#xff01;&#xff01; 博主的上篇文章介绍了链表&#xff0c;以及单链表的实现。 单链表的实现&#xff08;超详细&#xff01;&#xff01;&#xff09; 其实单链表的全称叫做不带头单向不循环链表&#xff0c;本文…

STP生成树协议实验

实验大纲 一、什么是生成树协议 二、生成树原理 1.STP工作原理 2.STP主要参数 3.STP根网桥 4.STP协议版本 三、实验 1.构建网络拓扑结构图 2.配置IP地址&#xff08;8台PC机&#xff09;&#xff1a;192.168.7.1~192.168.7.8 3.配置SW1 4.配置SW2 5.配置SW3 6.配置…

浪潮信息打造高效算力架构 为金融业数字化坚实基座

新时期&#xff0c;数据智能已经逐渐成为金融商业中的重要力量&#xff0c;构建更强大的算力系统&#xff0c;推动金融业务的高效发展&#xff0c;已经成为了金融行业的目标。对此&#xff0c;浪潮信息也为金融客户提供了崭新的解决方案。此前&#xff0c;某银行基于浪潮信息量…

第二模块 函数模块

第二模块 函数&模块 day09 文件操作相关1. 文件操作1.1 读文件1.2 写文件1.3 文件打开模式1.4 常见功能1.5 上下文管理练习题 2.csv格式文件3.ini格式文件4.XML格式文件4.1 读取文件和内容4.2 读取节点数据4.3 修改和删除节点4.4 构建文档 5.Excel格式文件5.1 读Excel5.1 写…

ESP32 SPIFFS文件系统

简介 本章涉及知识点&#xff1a;ESP32 SPIFFS文件系统、日志输出。 ESP-IDF版本&#xff1a;V5.1.2 源码 小智学长的源码&#xff1a;DesktopScreen 7 文件系统 系统配置 如果是自己构建的项目&#xff0c;如图。要在CMakeLists中配置上spiffs。 如果是直接跑官方例程则忽略系…

wireshark利用sshdump自身组件进行远程实时抓包过滤

引言 以前在不了解wireshark可以远程抓包的时间&#xff0c;经常通过tcpdump在远程linux主机将抓包文件保存下来后&#xff0c;然后拖拽入windows中再打开&#xff0c;进行分析查看。 此过程比较繁琐&#xff0c;也不够实时。比较常用的抓包动作是仅出现某特征的报文后&#…

手动导入jar包到Maven的解决方案(简单有效!)

想要导入一个jar包到项目中&#xff0c;这个jar包在Maven中没有可以尝试以下方式。 第一步 先找到你maven的本地仓库&#xff0c;我的仓库就在这里&#xff0c;你可以根据你安装的maven找到你的目录 第二步 根据坐标创建文件夹。 这个依赖modbus4j.jar&#xff0c;Maven远…

Cesium.js实现显示点位对应的自定义信息弹窗(数据面板)

博客&#xff1a;关于Cesium的常见需求整理之点位和弹窗&#xff08;点位弹窗&#xff09; 博客&#xff1a;cesium添加点、线、面、文字、图标、模型等标绘 零、相关技术选型&#xff1a; Vue2 Vuecli5 Cesium.js 天地图 一、需求说明 在使用2D地图&#xff08;天地图、高德…

微信小程序(二十一)css变量-定义页面主题色

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.使用css变量 2.消除按钮白块影响 3.修改图标样式 源码&#xff1a; npmTest.json {"navigationStyle": "custom","usingComponents": {//引入vant组件"van-nav-bar"…

低代码助力软件开发

随着企业对于低代码开发平台的需求日益增长&#xff0c;急需一个通用的解决方案来满足各种低代码平台的开发需求。正是在这种情况下&#xff0c;低代码引擎应运而生。 作为一种通用的开发框架&#xff0c;通过对低代码平台系统常用的功能进行解构&#xff0c;将其划分为多个功能…

2. HarmonyOS 应用开发 DevEco Studio 准备-2

2. HarmonyOS 应用开发 DevEco Studio 准备-2 首选项设置 中文设置 主题 字体 插件安装和使用 保存时操作 编辑器 工程树管理 代码树管理 标记 字符串可视化编辑 参考文档 常用快捷键 编辑 查找或替换 编译与运行 调试 其他 预览 页面预览 自定义组件预览 预览…

行测-资料:3. 比重、平均数

1、比重 1.1 现期比重★★★ C A&#xff0c;16.63%≈1/6 B C&#xff0c;拆成 50% 和 6.6% ≈ 1/15。 C D 1.2 基期比重★ 数学推导&#xff0c;A&#xff0c;B&#xff0c;A/(1 a)&#xff0c;B / (1 b) A&#xff0c;4 / 9&#xff0c;12 / 27 x 1.14 / 1.18&#xff0c;看…

基于Python flask MySQL 猫眼电影可视化系统设计与实现

1 绪论 1.1 设计背景及目的 猫眼电影作为国内知名的电影信息网站&#xff0c;拥有海量的电影信息、票房数据和用户评价数据。这些数据对于电影市场的研究和分析具有重要意义。然而&#xff0c;由于数据的复杂性和数据来源的多样性&#xff0c;如何有效地采集、存储和展示这些数…

c语言基础6

1.逗号表达式 逗号表达式&#xff0c;就是用逗号隔开的多个表达式。 逗号表达式&#xff0c;从左向右依次执行。整个表达式的结果是最后⼀个表达式的结果。 我们来看下面的一个代码&#xff1a; int main() {int a 1;int b 2;int ret (a > b, a b 2, b, b a 1);p…