在当今的AI 时代,准确解释和传达可信的AI 结果,正成为一项需要掌握的关键技能。人类已经很难理解现代AI 里面的具体推理逻辑。就其本身而言,机器学习模型的结果往往证实是难以解释的,有时甚至无法解释。用户和开发人员都面临着一个挑战——怎样去解释AI 的决策是如何做出的以及AI 为何会做出这个决策。
AI 设计师不可能为数百种机器学习和深度学习模型设计出一个通用的可解释AI解决方案。若想有效地将AI 的决策内容解释给业务利益相关者听,我们需要个性化的规划、设计以及可视化方案。如果无法解释AI 的决策结果,可能会在欧洲和美国面临诉讼。但AI 开发人员在现实工作中会面临铺天盖地的数据和结果,如果没有合适的工具,几乎不可能从中找出对AI 所做决策的解释。
在本书中,你将学习使用Python 相关工具和技术来可视化、解释和集成可信的AI 结果,从而在提供业务价值的同时避免AI 偏见和道德伦理法律方面的常见问题。
本书将带你使用Python 和TensorFlow 2.x 亲身实践一个Python 机器学习项目。你将学习如何使用WIT、SHAP、LIME、CEM 和其他至关重要的可解释AI 工具。你将了解到由IBM、谷歌、微软和其他高级人工智能研究实验室设计的工具。
我们将向你介绍几个面向Python 的开源可解释AI 工具,它们可在整个机器学习项目生命周期中使用。你将学习如何探索机器学习模型结果,查看关键变量和变量关系,检测和处理偏见和道德伦理法律问题,使用Python 和可解释AI 工具对机器学习模型结果进行可视化分析和解释。
我们将使用Python、TensorFlow 2.x、Google Cloud 的XAI 平台和Google Colaboratory构建XAI 解决方案。
本书面向的读者群体
● 已经有一些基础知识和/或机器学习库(如scikit-learn)经验的初级Python 程序员。
● 已经将Python 用于数据科学、机器学习、研究、分析等目的的专业人士,你们可以在学习最新的可解释AI 开源工具包和技术的过程中受益。
● 想要了解Python 机器学习模型可解释AI 工具和技术的数据分析师和数据科学家。
● 必须面对AI 可解释性的合同和法律义务,以在验收和接受阶段应对道德伦理法律问题的AI 项目和业务经理。
● 想要设计出最终用户和法律系统都能理解的可信AI 的开发者、项目经理和顾问。
● 对无法解释的黑盒AI 已经调优到极限,希望通过可解释AI 工具更好地理解AI 来继续调优的AI 专家。
● 任何对可解释AI 感兴趣的人。AI 和XAI 技术将不断发展和变化。但基本道德和本书中介绍的XAI 工具仍将是未来AI 必不可少的组成部分。
本书内容
第1 章 使用Python 解释AI
这一章首先提到,我们无法只用一种方法就能向项目中的所有参与者概括可解释人工智能(XAI)。然后讲述了这么一个案例:当病人出现新冠、西尼罗河病毒或其他病毒的迹象时,全科医生和AI 如何确定疾病的起源?我们围绕这个案例使用Python、k近邻和Google Location History 从零开始构建了一个XAI 解决方案来追踪病人感染的起源。
第2 章 AI 偏差和道德方面的白盒XAI
AI 有时可能不得不做出生死攸关的决策。当自动驾驶汽车的自动驾驶系统检测到行人突然横穿马路,在来不及停车的情况下,应该做什么决策?
自动驾驶汽车能否在不撞到其他行人或车辆的情况下改变车道?这一章讲述了麻省理工学院的道德机器实验,以及一个使用决策树来做出现实生活中相关决策的Python 程序。
第3 章 用Facets 解释ML
机器学习是一个数据驱动的训练过程。然而,公司通常不能提供干净的数据,甚至无法提供启动项目所需的所有数据。此外,数据往往出自不同来源,且各种格式混杂在一起。机器学习模型包含复杂的数学,即使数据看起来可接受,也是如此。这样的机器学习项目从一开始就可能迅速成为一场噩梦。
这一章将在Google Colaboratory Jupyter Notebook 安装和运行Facets。Facets 提供了多种视图和工具来追踪扭曲机器学习模型结果的变量。通过它,我们可以可视化地找出原因,从而节省原本乏味的传统分析的时间。
第4 章 Microsoft Azure 机器学习模型的可解释性与SHAP
AI 设计师和开发人员需要花费数天时间来寻找符合项目规范的正确ML 模型。可解释AI 提供了有价值的、可以节省时间的信息。但是,没有人有时间为市场上的每一种ML 模型都开发一个可解释AI 解决方案!
所以我们需要一个通用的、与模型无关的可解释AI 解决方案。这一章所讲述的SHAP 就是一种与模型无关的可解释AI 解决方案。我们编写了利用SHAP 来提供对ML 模型的可视化图表和文字解释,能够显示哪些变量会影响具体的结果。
第5 章 从零开始构建可解释AI 解决方案
AI 在过去几年里发展如此之快,以至于道德伦理义务有时被忽视了。消除偏见已经成为AI生存的关键。基于种族或民族标准的ML决策在美国曾经是为公众所接受的。然而,我们现在有义务找出偏见并消除数据集中那些可能会造成歧视的特征。
这一章展示了如何用Google What-If Tool (WIT)和Facets 在Python 中消除偏见并建立一个合乎道德伦理的ML 系统。该程序从一开始就将道德伦理和法律参数考虑在内。
第6 章 用Google What-If Tool (WIT)实现AI 的公平性
Google PAIR(People + AI Research)设计了What-If Tool(WIT)来研究AI 模型的公平性。这一章将带领我们深入了解可解释AI 并介绍一个Python 程序,该程序使用TensorFlow 创建一个深度神经网络(DNN),然后使用SHAP 解释程序并创建WIT 实例。
WIT 提供了ground truth、cost ratio 公平性,以及PR 曲线等可视化功能。该Python程序还展示了ROC 曲线、AUC、切片和PR 曲线是如何准确定位产生结果的变量的,从而呈现了如何使用WIT 这个AI 公平性和道德伦理工具来进行解释预测。
第7 章 可解释AI 聊天机器人
AI 的未来将越来越多地涉及机器人和聊天机器人。这一章展示了如何通过Google Dialogflow 针对聊天机器人提供CUI XAI。我们将通过与Google Dialogflow 通信的API来实现一个Google Dialogflow 的Python 客户端聊天机器人。
这样做的目标是模拟基于马尔可夫决策过程(MDP)决策XAI 的用户交互。我们将在Jupyter Notebook 模拟XAI 对话,并在Google Assistant 上测试该代理。
第8 章 LIME
这一章通过局部可解释与模型无关的解释(LIME)进一步探讨了与模型无关的解释方法。这一章展示了如何创建一个与模型无关的可解释AI Python 程序,该程序可以解释随机森林、k 近邻、梯度提升、决策树和极度随机树的预测结果。
使用Python 程序创建的LIME 解释器,因为与模型无关,所以对任意机器学习模型的结果都可以生成可视化的解释效果。
第9 章 反事实解释法
有时无法确定一个数据点没有按预期分类的原因。无论如何查看数据,我们都无法确定是哪一个或哪几个特征产生了错误。
可视化的反事实解释法可以将被错误分类的数据点特征与被正确分类的相似数据点特征进行对比,从而快速找到解释。
这一章中WIT 构建的Python 程序可以说明预测的可信度、真实性、合理解释和灵敏度。
第10 章 对比解释法(CEM)
这一章所使用的对比解释法(CEM)采用了与其他XAI 工具不一样的方法,通过缺失的特征来解释AI。
这一章创建的Python 程序为CEM准备MNIST 数据集,定义一个CNN,测试CNN的准确性,并且定义和训练自编码器。该程序创建一个CEM 解释器,它将提供相关负面和相关正面的可视化解释。
第11 章 锚解释法
讲到规则,我们通常会联想到硬编码的专家系统规则。但是,如果XAI 工具可以自动生成规则来解释结果呢?锚解释就是一组自动生成的高精度规则。
这一章我们将构建为文本和图像分类创建锚解释器的Python 程序。该程序可精确定位使模型改变、选择类别的图像像素。
第12 章 认知解释法
人类的认知能力为人类在过去几个世纪中取得的惊人的技术进步提供了框架,包括AI。这一章从人类认知视角出发,构建基于XAI 的认知规则库,阐述了如何构建认知词典和认知情感分析函数来解释特征。配套的Python 程序展示了如何测量边际认知贡献。
这一章总结了XAI 的本质,为读者构建了AI 的未来。
如何阅读本书
我们建议:
● 重点理解可解释AI (XAI) 的关键概念及它们会成为关键概念的原因。
● 如果你希望专注于XAI 理论,可以只阅读,但是不需要把代码执行一遍。
● 如果你希望同时了解理论和实现,那么请阅读并把代码执行一遍。
在线资源
书中的一些截图用彩色效果可能更佳,因为这样有助于你更好地理解输出中的变化。为此,我们专门制作了一份 PDF 文件。读者可通过使用手机扫描封底的二维码来下载这份 PDF 文件以及本书的附录、各章配套代码等所有在线资源。