AAAL2020对于可解释XAI的ppt内容

原始网址:原文链接

前言

写这篇的目的是把英文的ppt给内化成自己的语言,方便第二次阅读,也能够在理解的过程中了解可解释性的一些内容。如有错误,欢迎二次修订。

整体概述

  1. 第一部分,将介绍AI中解释的不同方面
  2. 第二部分,重点介绍两个特定的方法、目前的技术状态和下一步的限制和研究挑战:(1)XAI使用机器学习(2)XAI使用基于图的知识表示和机器学习的组合
  3. 第三部分,概述XAI的实际应用

XAI介绍和动机

AI是什么

作为一个值得信赖的AI,需要包含下列四个方面:

  1. 能够有效的解决问题
  2. 能够保护隐私
  3. 能够负责任,结果稳定值得信赖(Responsible)
  4. 能够被人类/机器分别解释,足够理性(Rational)

为什么需要可解释性呢?

原因有下面两点:

  1. 首先,如果机器学习具有了可解释性,那么在训练出模型之后,人类将能够理解这个模型,并且利用人类的理解,去改进这个模型。如此一来,模型的进化将不仅仅依赖于传统的泛化误差(也就是具有普遍性、可扩展性的误差),更能够增加人类的经验。
  2. 其次,欧盟的GDPR和CCPA这些标准都指出,无论是数据的使用者还是数据的控制者,数据以及它的使用方法都应该具备下列四种特征:(1)公平性(2)隐私性(3)透明性(4)可解释性

小结

如果一个机器学习模型具有可解释性,那么它将获得三点好处:

  1. 它能让机器学习(ML,Machine Learning,下文都将用ML替代)更加值得信赖
  2. 它能够有效的改进(甚至提升)模型训练过程中的优化部分,这里或许是会提高训练出好模型的效率。
  3. 它能够让这个模型通过欧盟标准,从而将依赖某些技术的产品推向欧洲市场。

设计可解释性的AI产品

那么对于AI产品来说,“设计可解释性”是什么呢?(这一页的目的并没有看的很懂)
下面是一个可解释性的AI的产品流程环路:

  1. 训练一个模型
    • 模型debug
    • 模型可视化
  2. 质量测试
    • 模型评估
    • 符合性测试
  3. 部署(发布)
    • 模型发布签准
    • 模型发布管理
  4. 预测
    • 可解释决策
    • API支持
  5. A/B测试
    • 几个不同模型的比较
    • 队列分析
  6. 监控
    • 模型表现监视
    • 实时监控
  7. debug
    • 模型诊断
    • 根本原因分析
  8. 重新回到第一步训练模型。重复这些过程

通过了解AI产品的运营步骤,可以大致了解可解释性工作的位置,或者说是人类经验可以介入的地方。

什么是可解释性的AI

了解了可解释的必要性以及产品开发流程,我们来看看可解释性的AI是什么。
下面将会把传统黑盒AI和可解释性AI进行对比。

黑盒AI

首先来讲现今普遍流行的黑盒AI。它是不可解释的,也就是用我们人的经验逻辑是无法理解的。

黑盒AI的工作流程

将数据导入进黑盒中,进行我们不能理解的训练后,得到一个模型,由这个模型得到一个AI产品。这个AI产品给用户(我们)提供服务,包括给我们的疑惑进行解答(也就是做决定),或者是给我们做推荐等。

黑盒AI带来的疑惑

  • 为什么AI选择了这个?它是基于什么来判断的?
  • 为什么AI不选择那个?它又是基于什么信息/条件排除的?
  • 我怎么能保证它什么时候是正确的,什么时候工作错误了?
  • 如果我发现它工作错误了,我用什么办法才能让它纠正这个错误,并且不再犯错?

这里的我,可能是AI模型的缔造者,比如程序员;也可能是使用者,比如使用该产品的用户

可解释性AI

有了黑盒AI的基础,就可以对比出可解释性AI的优势。

可解释性AI的流程

将数据导入进可解释性AI的训练盒中,训练出一个具有可解释性的AI模型,将这个模型用于可解释性AI产品,给用户做决策、解释,而用户基于模型的决策、解释的结果,可以反馈给训练盒,于是训练盒可以继续改进模型。

可解释性AI:清晰透明的预测

  • 我知道AI为什么做出了这样的判断
  • 我知道AI为什么不选择其他的判断、结果
  • 我知道AI为什么会判断成功,又为什么会判断失败,从而我能够改进它,或者很容易明白它的局限性和优势
  • 我清楚的知道一切,所以我信赖它的决策。

如何进行AI解释呢?(这一页也没看懂)

how-to-explain.png

基于现有的办法来说,这些方法的可解释性主要体现在三种方法上:

  1. 非线性函数
  2. 多项式函数
  3. 拟线性函数

正因为能够拟合成相应的函数,所以这些方法是可以用人类知识、经验来介入、控制的。但有一点需要声明,上述三种方法在人类理解上是由难到易的,某种程度上来说,其可解释性也是由低到高。即越难理解,越难解释。

从而,预测准确性预测的可解释性是难以兼顾的两方面。总的来说,往往准确性高的方法,在可解释性上是较低的。这里唯一的特例就是决策树方法,具有较高的准确性和很强的解释性。

同时,现有的方法实在是多种多样,有的是监督学习,有的是非监督学习;在方法上,有表征学习(Representation Learning)和随机选择(Stochastic Selection);在输出上,只输出了准确度,却没有输出因果关系。这些都使得现有方法难以被解释出来,特别是用统一的方法解释。

Explanation Or Interpretation?

这里是一个插播,在英文中,“可解释性”究竟是使用Explaination还是Interpretation来表示呢?
根据牛津英语词典的解释,explanation表示的是一种让某物变得更加清楚、清晰、明白的状态或者解释;而interpret(这里是个动词)它解释了信息或者是行为的内涵。
所以可以根据不同语境使用不同的单词。但我在谷歌学术上用Interpretation能检索出更多的相关。

可解释性的多个指标

(太难翻译出来了,应该有很多错误)
尽管可解释性只有一个词,但是它的内涵却很丰富:要达到怎么样的指标才能算可解释了呢?这里给出了六个指标:

  1. 可理解性:需要用多少的力气才能获得正确的人类解释性(correct human interpretation)?
  2. 简洁性:解释有多简洁明了?
  3. 可操作性:一个操作,在解释性的帮助下能够做什么?
  4. 可重用性:一个解释性可以被私有化吗?
  5. 精确性:解释有多准确
  6. 完整性:解释是完整的,部分的,还是在特定条件下的?

人工智能的解释

有必要明确的是,人工智能(AI)和机器学习(ML)是不同的概念。可以说,ML只是AI的一个分支领域。

本段的目的是,通过对人工智能各个领域(优化、知识表示和推理、机器学习、搜索和约束优化、规划、自然语言处理NLP,机器人和视觉)的解释概述,使每个人对解释的各种定义保持一致。

同时,本段还将讨论可解释的评估。

虽然本段涵盖了大多数定义,但仅对下列领域进行深入:

  1. 可解释的机器学习
  2. 可解释的AI与知识图和机器学习

可解释性AI:一个目标,很多'AI',很多定义,很多方法

演讲者在这里放了很多例子。


many-definitions.png

对可解释性机器学习的概述

数学模型

下面列举了一些具有可解释性的模型:

  1. 决策树/决策列表/决策集(Decision Trees, Lists and Sets)(其实就是使用的数据结构不同吧)
  2. GAMs(Generalized Additive Models)
  3. GLMs(广义线性模型)
  4. 线性回归
  5. Logistic回归
  6. KNNs(k最近邻算法)
  7. 简单贝叶斯模型
  8. 反事实假设(Counterfactual What-if)(一知半解)
  9. 特征重要性PDP图和ICE图的敏感度分析(同样一知半解)

人工神经网络

除了上面的这些模型之外,还有一些人工神经网络:

  1. 深度网络的属性(基于综合梯度)
  2. 自编码器算法(auto-encoder)(后面跟着的prototype我不知道想要表达什么)
  3. 注意力机制(attention Mechanism)
  4. 代理模型(surogate model)(也不明白)

计算机视觉

在计算机视觉这一块,也有一些方法是可解释的:

  1. 可解释单位(Interpretable Units)(不是很明白指哪些)
  2. 不确定性图(Uncertainty map)
  3. 可视化解释(Visual explanation)
  4. 显著图(Saliency Map)(可以理解为特征图?)

其他AI领域

很多名字难以翻译,于是直接原文了。对这些领域内的内容非常不了解,下列理解仅作参考。

博弈论

  1. SHAP(SHapley Additive exPlanations)(是一种解释任何机器学习模型输出的博弈论方法)
  2. L-shapley and c-shapley (with graph structure)这是一个对结构性数据很有效的模型解释方法
  3. Instance-wise feature importance(causal influence)

搜索与约束满足

  1. 冲突解决(conflict resolution)
  2. 鲁棒计算(Robustness Computation)
  3. 约束松弛(Constraints relaxation)

知识表征和推理

  1. 解释推理(通过正当理由)如涵摄(Subsumption)
  2. 诱因推理(在贝叶斯网络中)
  3. 诊断推理

多代理系统

  1. 代理冲突和有害交互的解释
  2. 代理策略总结
  3. 可解释的代理

NLP(自然语言处理)

  1. 可解释的NLP
  2. NLP中的LIME(LIME是一种解释机器学习模型的方法)
  3. NLP调试器

这里有一段不明含义的内容:
“细粒度的解释形式如下:(1)真实数据集中的文本;(2)数值分数”

计划和调度

  1. XAI 计划
  2. “人机回圈”计划(Human-in-the-loop planning)
  3. 计划比较

机器人领域

  1. 自主机器人体验解说(Narriation of Autonomous Robot Experience)
  2. 从决策树到人性化信息(From Decision Tree to human-friendly information)

可解释的机器学习(从机器学习的角度)

这一部分的核心是分析不同类别的黑盒问题,从黑盒模型解释到黑盒结果解释。
从这句话可以看出,解释性可以包含至少两个方面:

  1. 使模型本身可解释。
  2. 模型的结果可以通过一些方法解释出来。

实现可解释的人工智能

方法有如下几种:

  1. 事后解释给定的AI模型
    • 从输入的特征、(对结果)有影响力的例子、概念、局部决策规则来进行个别预测解释
    • 从局部相关图、全局特征重要性、全局决策规则对整个模型进行全局预测解释
  2. 建立一个可解释的模型
    • 比如上面提到过的:Logistic回归,决策树/列表/集,广义可加模型(GAMs)等

可解释性备忘单

这张图非常庞大,截图也截不清楚。这个内容的具体解释可以在github上看到,但是链接地址没有暴露在外面。在这里用一张根据我自己的理解制作的流程图说明:


可解释性备忘录.png

可解释的机器学习(从知识图谱的角度)

这一部分将讨论基于图形的知识库与机器学习方法相结合的解释力

知识图

定义

三元组的集合(也就是主语、谓语、宾语,英文简写SPO)中,主语(subject)和宾语(object)是实体,而谓语(predicate)是两者之间的关系

任何一对SPO三元组表示一个事实(facts),即两个实体之间实际关系的存在。

介绍一些知识图集

some-kgs.png

里面的KG=Knowledge Graph,也就是知识图

这些知识图有的是人工制作的,需要进行策划和协作;有的是自动化生成的,需要对内容进行半结构化或者非结构化(或者这里的意思是指要对非结构化或者半结构化的数据进行结构化?)

下图是一个链接的开放数据云的图,其中有超过1200内联的知识图编码成超过200M的事实(facts),内含大约50M的实体:


right-link-open-data-cloud.png

知识图可以跨多个领域:地理、政府、生命科学、语言学、媒体、出版物、跨领域等等。

机器学习中的知识图

总的来说,机器学习的网络层是能够给中间特征增加更多的语义,比如说增加知识图的嵌入或者是实体。

配图的文字说明是:
以训练识别狗的品种为例,输入层输入了大量各种品种的狗的照片的训练数据集,同时也输入了一个没有标注品种的狗的图片。
然后就进入了隐藏层,总的来说,隐藏层是一个由低维向量向高维向量转变的过程。比如隐藏层的第一层,神经元代表了一些简单的形状;到了第二层,神经元就代表了一些更加复杂的结构,某种意义上就是把简单的形状给解构了;到了第n层,神经元就表达了一些更高维、复杂、抽象的概念。
最终根据把未知品种的狗的照片通过隐藏层的解构、重组、映射到高维上之后,评估这张照片上的狗是不是品种A,是不是品种B,是不是品种C。将各个品种的狗的可能性输出,或者是输出这张图片是哪种品种,就是输出层的内容。

机器学习中的知识图——一种实践

图很复杂,信息量很大。懒得翻译了kkk。

XAI工具的应用、经验教训和研究挑战

这一节中,回顾一些XAI开源和商业工具在实际应用中的例子。
在这里,我们关注的用例有八个,不一一例举。具体可以往下看。

可解释的增强目标检测——行业不可知(没看懂)

(似乎是来自THALES的一篇论文)
论文中的某一部分结果对比是:对比通过快速RCNN上进行目标检测的结果,使用语义增强能够以相对较高的准确度检测出目标,而且增加检测出了另外的物体,这个结果附带了下面的解释:人、浆板和水是图片内容的一部分,也是“船”这个概念的知识图中的一部分。

挑战:目标检测通常是从大量标记数据上训练的人工神经网络(ANNs)体系结构中进行的。由于最精确的人工神经网络的高度复杂性,解释目标检测相当困难

AI技术:集成人工智能相关技术,即机器学习(深度学习 / CNNs),以及知识图 / 链接开放数据。

XAI技术:知识图和ANNs

如何利用GDBT的特征重要性

在说此处的信息之前,我们有必要离开本篇,去学习GDBT,对GDBT有一个至少是概念上的理解。
现在回到正文。

  1. 理解特征偏离
    • 哪个功能不再具有影响力
    • 我们应该调试特征生成吗?
  2. 批量引入新特征并且识别有效特征
    • 最近3小时、6小时、12小时甚至24小时都活跃着的特征(计算成本高)
    • 我们需要保留所有这些特征吗?
  3. 分离出那些引起改善的因素
    • 这个改善是因为加入了一个新的特征,还是引入了新的标签策略,或是数据资源?
    • 功能之间的顺序是否有改变?
  4. 缺点:这是一个全局的角度来看的,而不是根据个别例子一个个看的

被使用的TensorFlow模型并且解释它们

我们使用了综合梯度[ICML 2017]的方法(来解释他们)。

现在的问题是,我们如何决定基线(baseline)的示例?
(下面陈述了寻找baseline示例的困难之处)

  • 实际上,每个查询(query)都为同一个候选(candidate)创造了一个自己的特征值。
  • 而查询匹配了特征,(尤其是)基于时间的特征。
  • 招聘者亲和力和候选亲和力的特征(原句:Recruiter affinity, and candidate affinity features)(这里我认为大意是选择更加相似的、有用的特征,或者说是权重很大的)
  • 一个候选会被不同的查询评估出不同的分数
  • 不能把“软件工程师”作为查询“法医化学家”的推荐回答(我的理解是,这个示例不能偏离正确答案太多)
  • 不存在一个可以比较全局的中立示例。

解决上面这个问题的关键点在于:
首先,将宽泛的“解释”视作一个特殊的contributor(贡献者)或者是influencer(影响者)的特征,会对这个问题的解决比较有效。在这段话中,“贡献者”和“影响者”的定义如下:

  • 贡献者:根据当前的输出结果,逐一的得到在最终结果中出现的特性。
  • 影响者:同样也是根据每个例子,思考如果要提高似然度,需要做些什么。

比如说xLIME旨在能够通过下列方法提高LIME的效果,而这些方法,某种意义上就是“解释”:

  • 分段线性回归:更准确地描述局部点,有助于找到正确的影响因素
  • 局部分层抽样:更真实的局部点集

如此一来,就更好的捕捉到了重要的特征。

Fiddler的可解释AI引擎

这个引擎的任务目标是:通过让每个企业都能解释人工智能,来释放信任、可见性和洞察力。
他的工作流程是:用户向Fiddler提供所有的数据(这些数据可以在任何的数据仓库中),然后Fiddler就会通过内置的常见的模型(比如TensorFlow、PyTorch、Spark等),将数据转化成任何人都能理解的可解释AI,这些可解释的内容会通过API、仪表盘(Dashboard)、报告、或者是值得信赖的内视(Trusted insights)展现出来。

机器学习中的可解释性:普遍的挑战

这一段讲述的是想要实现机器学习的可解释性,必然会遇到的普遍的挑战。

  1. 解释性需要具有可操作性
  2. 模型的可解释性和模型的保密性是天平的两端。如果需要发展可解释性,必然需要综合考虑模型的保密性,否则将会造成巨大损失。
  3. 对于故障模式(或者是机器学习模块之间的相互作用)的解释需要有鲁棒性。
  4. 特别针对于应用方面的挑战:
    • 会话AI系统:语境解释。在不同的对话语境下应该如何更好的表现解释性。
    • 解释的层次。(这里没看懂)
  5. 在AI生命周期中进行可解释的工具
    • 机器学习模型的前后端的部署。
    • 模型开发者和最终使用者,两者不同的关注点和侧重点。

结语

终于,冗长的翻译、理解过程结束了,对可解释性有了一些新的理解。里面依然有很多我不懂、或者是大胆猜想的地方,有错误是在所难免的。但总体来说还是很开心的。
这个ppt的最后有说:
教程网页:https://xaitutorial2020.github.io
可以去那里看看呀。

你可能感兴趣的:(AAAL2020对于可解释XAI的ppt内容)