可解释性AI(XAI)的主要实现方法和研究方向

文章目录

  • 每日一句正能量
  • 前言
  • 主要实现方法
    • 可解释模型
    • 模型可解释技术
  • 未来研究方向
  • 后记

在这里插入图片描述

每日一句正能量

当你还不能对自己说今天学到了什么东西时,你就不要去睡觉。

前言

随着人工智能的迅速发展,越来越多的决策和任务交给了AI系统来完成。然而,AI系统的决策过程通常被视为黑盒子,难以解释其决策背后的原因和依据,这给了人们不安和担忧的理由。为了解决这一问题,可解释性人工智能(XAI)应运而生。XAI旨在提供对AI系统决策和行为的解释和理解,使用户能够理解和信任AI系统的决策。本文将介绍可解释性AI的主要实现方法和研究方向。

主要实现方法

目前可解释性人工智能的实现方法主要分为两种:一种是可解释模型,即设计出来的机器学习模型本来就具备可解释的能力;另一种是模型可解释技术,利用模型可解释技术来解释本来没有可解释性的机器学习模型。

可解释模型

可解释模型的可解释性可以分为三个层次:可模拟性、可分解性和算法透明。可模拟性指整体模型可以直接被人类进行模拟以及评估;可分解性表示模型的各个部分(输入、参数和计算)都可以被解释;而算法透明表示用户能够理解模型从其任意输入数据中产生任何给定输出的过程,通常需要使用数学分析来获得算法透明。

比较典型的可解释模型有线性回归,决策树,KNN,以及基于规则的学习等等。

  1. 线性回归:线性回归假设自变量和因变量之间存在线性关系,并且通过计算得出他们之间的线性关系。该方法能很好的做到可解释模型的3个层次,但是也需要模型可解释技术辅助进行更好的解释。线性回归模型被提出的时间较早,已经被应用了很长一段时间,因此其解释模型结果的方法也较为成熟,包括统计学方法以及可视化方法等等。当然线性回归的解释性也有一些潜在的问题,例如未观察到的异质性,不同模型之间比率可能会无效等等。另外想要线性回归模型保持可模拟性和可分解性,模型不能过大,而且变量必须被用户理解。

  2. 决策树:决策树是用于回归和分类问题的分层决策结构[8],能满足可解释模型的各个层次。虽然决策树能拟合各个层次,但是决策树的个体特征会使其倾向于某个层次,这和决策环境密切相关的。决策树拥有较高的可解释性,因此长期应用于非计算机和人工智能领域,因此决策树在其他领域的解释性已经有很多成熟的工作可以参考。但是,决策树泛化能力较差,不适用于需要平衡预测准确度的场景。

  3. KNN:即K最近邻算法,选择测试样本的K个最近邻的类别中最多的类别作为样本类别的预测结果。KNN的模型可解释性取决于特征数量、邻居数量(即K值)和用于度量样本之间相似性的距离函数。如果K值特别大则会降低KNN的可模拟性,而如果特征或者距离函数较为复杂,会限制KNN模型的可分解性。

  4. 基于规则的学习:基于规则的学习会使用数据集进行训练,生成规则来表示模型。规则常用简单的if-then形式或者简单形式的排列组合来表示,具体表示方法如图5所示。基于规则的学习是可解释性模型,常通过生成解释规则来解释复杂模型,在可解释性上表现非常好,因为它和人类平时思考模式相近,易于理解和解释。相对应的规则学习的泛化能力就较差了。基于规则的学习广泛应用于专家系统的知识表示。但是需要注意,模型规则数量会提升模型的性能,但是同时也会降低解释性。规则的长度也不利于可解释性。需要增加可解释性,只需要放宽规则约束。

模型可解释技术

当机器学习模型本身不属于可解释模型时,就需要使用模型可解释技术来解释其决策。模型可解释技术的目的是表示已有的模型如何从给定的输入生成出预测的可理解信息。现在比较常用的模型可解释方法主要有特征重要性方法和基于实例的方法。

1、特征重要性方法

特征重要性方法主要分为基于扰动的方法和基于梯度的方法。

(1)基于扰动的方法

通过一个或者一组输入特征来对输入进行扰动,从而观察其与原始输出的差异,来得到特征重要性。基于扰动的方法可以直接估计特征的重要性,使用简单,通用性强。但是每次只能扰动一个或一组特征,导致算法速度缓慢。另外,一些复杂的机器学习模型是非线性的,解释受选择的特征的影响很大。较为经典的基于扰动的方法有LIME和SHAP。

LIME,全称Local Interpretable Model-agnostic Explanations,局部可解释模型不可知解释。其原理是以需要解释的模型为基础上来设计一个全新的简化的可解释模型,然后使用这个简单的模型,搭配可解释的特征进行适配,来接近复杂模型的效果,从而起到解释复杂模型的作用。

作者在LIME的基础上提出了Anchors算法。和LIME相比,LIME是在局部建立一个可理解的线性可分模型,而Anchors的目的是建立一套更精细的规则系统。

SHAP的全称是SHapley Additive exPlanation,是由Shapley value启发的可加性解释模型。它的核心思想是计算特征对模型输出的贡献,然后从全局和局部两个层面对“黑盒模型”进行解释。SHAP是在实际使用中最常用的方法,易于操作。由于该方法可以得出各特征对模型的影响,主要被用于进行特征工程或者辅助数据采集。

(2)基于梯度的算法

基于梯度的基本方法只是计算输出相对于输入的梯度,相比扰动方法更有效率。例如DeepLIFT(Deep Learning Important FeaTures)方法将每个神经元的激活与它的"参考激活"进行比较,并根据差异给每个输入分配分数。

2、基于实例的方法

基于实例的方法会使用特定的实例作为输入来解释机器学习模型,因此它们通常只提供局部解释。基于实例的方法是模仿人类的推理方式而提出的,人类通常在推理时会使用类似的情况举例来提供解释。较常用的方法有反事实解释和对抗性攻击。

反事实解释可以理解为从想要的结果来倒推输入,从而获得模型的解释。该方法使用类似的情况,对机器学习模型的当前输入实例进行不同的预测。

对抗性攻击是特意使用能做出错误预测的例子来对模型进行解释。一个较为经典的用法是在识别图片中物体时,通过在照片中加入噪音来让机器学习模型无法正确识别。如图8所示,在猫的图片中加入了噪音后模型会将其识别为柠檬。但是对于人类来说图片是没有变化的。当发现了这种问题后便可以对其进行改进,从而提升模型的鲁棒性。

深度学习模型一直被认为是黑箱模型,模型本身没有可解释性,因此必须使用模型可解释技术进行解释。解释性差已经成为了现在深度学习发展的最大的阻力之一。解释深度学习的常用方法有事后局部解释和特征相关性技术。下面按照不同的深度学习方法类型,分为多层神经网络、卷积神经网络(CNN)和循环神经网络(RNN)来分别介绍它们的可解释性方法。

1)多层神经网络:在推断变量间复杂关系下效果极佳,但是可解释性非常差。常用的可解释方法包括模型简化方法、特征相关性估计、文本解释、局部解释和模型可视化。

2)卷积神经网络:卷积神经网络主要应用于图像分类,对象检测和实例分割。虽然其复杂的内部关系使得模型难以解释,但是对于人类来说,图形会更好理解,因此CNN会比其他的深度学习模型更好解释。一般的可解释方法有两种:一是把输出映射到输入空间上,查看哪些输入会影响输出,从而理解模型的决策过程;二是深入网络内部,以中间层的视角来解释外部。

3)循环神经网络:RNN广泛应用于固有序列数据的预测问题,如自然语言处理和时间序列分析。RNN的可解释方法较少,主要分为两类:一是使用特征相关性解释方法,理解RNN模型所学习的内容;二是使用局部解释,修改RNN架构来对决策进行解释[25][26]。

未来研究方向

下面对XAI未来需要解决的问题和可能的研究方向进行一个简要的介绍。

  1. 模型可解释性和性能之间的权衡

在提升模型性能的同时往往会降低模型的可解释性,因为性能往往会便是和算法复杂度绑定的,而越复杂的模型可解释性就越差。准确性和可解释性的关系如图9所示。虽然性能和可解释性这种负相关的趋势无法逆转,我们还是可以通过升级可解释性的方法,使其更加精密,从而减缓这种负相关的趋势。

  1. 统一可解释性的指标

在1.3节中已经提到过,目前可解释性人工智能领域并没有一个统一的评判指标。而这将会是可解释性人工智能发展路上的一个重大阻碍。XAI领域需要持续发展,就必须先统一评判指标。值得高兴的是,已经有学者开始注意到这个问题并开始研究如何用统一的标准来评判可解释性[2]。

  1. 深度学习模型的可解释性

在2.2节的深度学习的模型可解释性技术中有提到,深度学习一直被认为是黑箱模型,在实际应用中一个较大的阻力就是相当于传统的机器学习方法,深度学习可解释性较差。这不仅限制了深度学习在管制较多的领域上的应用,而且也会影响到模型的优化。在无法知晓深度学习模型进行决策的原因的情况下是很难做出好的改进的。如果能对深度学习模型进行一个好的解释,将会使得深度学习发展速度更快。

  1. XAI在信息安全上的应用

目前XAI在信息安全上的应用较少,但是在未来这可能会是一个重要的应用场景。XAI可以通过模型的输入和输出来推理模型的数据和作用,从而被用于盗窃模型数据和功能[28]。当然从另一个角度来看,通过XAI技术获取的信息可以加入到对抗性环境中,对模型进行更有效的攻击,找出模型安全性较差的环节并进行修复,来利用XAI技术来提升系统安全性。

  1. XAI可以支持跨学科信息交流

XAI能对无专业背景的用户有效的进行模型决策的解释,即1.3节中提到的可访问性。XAI也可以进行关键数据研究,即进行多学科融合,并针对不同的受众给出他们需要知道的解释[29]。XAI可以促进不同受众和学科之间的信息交流。

后记

可解释性人工智能(XAI)是一门研究如何使人们能够理解和信任人工智能系统决策的领域。在本文中,我们介绍了XAI的主要实现方法和研究方向。

首先,我们介绍了基于规则和逻辑的方法。这种方法使用规则和逻辑推理来解释AI系统的决策过程。例如,基于规则的方法可以使用一系列预定义规则来解释决策的依据和逻辑。

其次,我们介绍了基于模型的方法。这种方法使用可解释的模型来解释AI系统的决策过程。例如,决策树和逻辑回归等模型可以提供对决策的可解释性。

接着,我们介绍了基于特征重要性的方法。这种方法通过分析输入特征对输出的贡献程度来解释决策的依据。例如,使用特征重要性分析可以解释为什么AI系统对某些特征更加敏感。

最后,我们介绍了基于对抗性方法的研究方向。这种方法旨在通过生成对抗网络(GAN)等技术,让AI系统能够提供可解释性的解释。例如,生成对抗网络可以生成对决策过程的解释,从而增加用户对AI系统的信任。

总的来说,可解释性人工智能是一个不断发展和进步的领域。未来的研究方向包括开发更加精确和可解释的模型、探索新的解释方法和技术、研究人机交互和用户反馈等。通过不断的努力和创新,可解释性人工智能将为人们提供更可靠和可信赖的AI系统。

转载自:
欢迎 👍点赞✍评论⭐收藏,欢迎指正

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA代理模式详解

代理模式 1 代理模式介绍 在软件开发中,由于一些原因,客户端不想或不能直接访问一个对象,此时可以通过一个称为"代理"的第三者来实现间接访问.该方案对应的设计模式被称为代理模式. 代理模式(Proxy Design Pattern ) 原始定义是:让你能够提供对象的替代…

【多模态MLLMs+图像编辑】MGIE:苹果开源基于指令和大语言模型的图片编辑神器(24.02.03开源)

项目主页:https://mllm-ie.github.io/ 论文 :基于指令和多模态大语言模型图片编辑 2309.Guiding Instruction-based Image Editing via Multimodal Large Language Models (加州大学圣巴拉分校苹果) 代码:https://github.com/appl…

MySQL 时间索引的选择

背景 MySQL 在使用过程中经常会对时间加索引,方便进行时间范围的查询,常见的时间类型有 data、datetime、long、timestamp 等,在此分析下这几种时间类型的索引大小,以找到比较合适的时间类型。 时间类型对比 常用的索引类型是 …

YIA主题如何关闭新版本升级提示?WordPress主题怎么取消升级提醒?

前两天YIA主题发布了升级到2.8版本,新增了一些功能,优化调整修复了一些功能,但是这些功能调整幅度不大,加上boke112百科使用的YIA主题已经进行了很多方面的个性化修改,所以就懒得升级了,但是每次进入WordPr…

linux k8s 源码编译及单集群测试

目录 概述实践安装插件docker 在线安装containerd安装二进制安装yum安装修改containder配置文件 cnietcdrsyncgo设置golang代理 安装CFSSL下载kubernetes代码编译启动本地单节点集群问题k8s没有被正常启动该如何k8s正常启动日志测试 结束 概述 此文详细说明在 centos 7上编译 k…

YOLO-World: Real-Time Open-Vocabulary Object Detection

文章目录 1. Introduction2. Experiments2.1 Implementation Details2.2 Pre-training2.3 Ablation Experiments2.3.1 预训练数据2.3.2 对RepVL-PAN的消融研究2.3.3 文本编码器 2.4 Fine-tuning YOLO-World2.5 Open-Vocabulary Instance Segmentation2.6 Visualizations Refere…

vscode 突然连接不上服务器了(2024年版本 自动更新从1.85-1.86)

vscode日志 ll192.168.103.5s password:]0;C:\WINDOWS\System32\cmd.exe [17:09:16.886] Got some output, clearing connection timeout [17:09:16.887] Showing password prompt [17:09:19.688] Got password response [17:09:19.688] "install" wrote data to te…

Go语言每日一练 ——链表篇(三)

传送门 牛客面试笔试必刷101题 ---------------- 链表中的节点每k个一组翻转 题目以及解析 题目 解题代码及解析 package main import _"fmt" import . "nc_tools" /** type ListNode struct{* Val int* Next *ListNode* }*//*** 代码中的类名、方…

《Python 网络爬虫简易速速上手小册》第1章:Python 网络爬虫基础(2024 最新版)

文章目录 1.1 网络爬虫简介1.1.1 重点基础知识讲解1.1.2 重点案例:社交媒体数据分析1.1.3 拓展案例1:电商网站价格监控1.1.4 拓展案例2:新闻聚合服务 1.2 网络爬虫的工作原理1.2.1 重点基础知识讲解1.2.2 重点案例:股票市场数据采…

运营商数智化缩影:一部哑资源的资源管理史

不知你是否曾经留意过马路边的电杆、路面上的人井、还有路边不知道里面装的是什么的大箱子,稍微观察一下其实就会发现,这些设施上都会刻有产权归属单位,比如中国移动、中国电信、中国联通等等。那么,这些运营商的基础设施都是用来…

TCP TIME_WAIT 过多怎么处理

文章目录 1.什么是 TCP TIME_WAIT?2.为什么要 TIME_WAIT?3.TIME_WAIT 过多的影响4.解决办法4.1 调整短连接为长连接4.2 调整系统内核参数 5.小结参考文献 1.什么是 TCP TIME_WAIT? TCP 断开连接四次挥手过程中,主动断开连接的一方&#xff…

YOLO-World——超级轻量级开放词汇目标检测方法

前言 目标检测一直是计算机视觉领域中不可忽视的基础挑战,对图像理解、机器人技术和自主驾驶等领域具有广泛应用。随着深度神经网络的发展,目标检测方面的研究取得了显著进展。尽管这些方法取得了成功,但它们存在一些限制,主要体…

http伪造本地用户字段系列总结

本篇记录了http伪造本地用户的多条字段,便于快速解决题目 用法举例: 直接把伪造本地用户的多个字段复制到请求头中,光速解决部分字段被过滤的问题。 Client-IP: 127.0.0.1 Forwarded-For-Ip: 127.0.0.1 Forwarded-For: 127.0.0.1 Forwarded…

双非本科准备秋招(17.1)—— 力扣二叉树

1、257. 二叉树的所有路径 要求返回根节点到叶子节点的所有路径,这里用前序遍历就好。 每次递归前,都让字符串s加上当前节点的值和“->”,然后判断是否为叶子节点,如果是的话,说明这条路径是一个答案,因…

【教程】Linux使用支持文件恢复的rm命令

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景介绍 首先非常不幸地告诉你:Linux 系统的标准 rm 命令不支持文件恢复功能。一旦使用 rm 删除了文件或目录,它们就会从文件系统中永久删除,除非你使用专门的文件恢复工具尝试…

计算机设计大赛 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &am…

算法学习——LeetCode力扣哈希表篇2

算法学习——LeetCode力扣哈希表篇2 454. 四数相加 II 454. 四数相加 II - 力扣(LeetCode) 描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 …

Java 学习和实践笔记(1)

2024年,决定好好学习计算机语言Java. B站上选了这个课程:【整整300集】浙大大佬160小时讲完的Java教程(学习路线Java笔记)零基础,就从今天开始学吧。 在这些语言中,C语言是最基础的语言,绝大多…

C++ this指针/常量成员函数/const/mutable

目录 1.this 指针2.常量成员函数3.mutable 成员变量4.const 关键字总结5.参考内容 1.this 指针 this 指针,指向成员函数所作用的对象,并且 this 总是指向这个对象,所以 this 是一个常量指针,我们不允许改变 this 中保存的地址。th…