关 于 本 书
本书旨在帮助你实施最新的可解释AI技术,以构建公平且可解释的AI系统。可解释AI是当今AI研究中的热门话题,但只有少数资源和指南涵盖了所有重要技术,这些技术对实践者来说非常有价值。本书旨在填补这一空白。
本书读者对象
本书既适合那些有兴趣深入了解其模型工作原理以及如何构建公平且无偏见模型的数据科学家和工程师,又适合想要了解如何让 AI 模型确保公平和保护业务用户、品牌的架构师和业务利益相关者。
本书内容
本书内容分为4部分,共9章。
第Ⅰ部分介绍可解释AI的基础知识。
● 第1章涵盖了各种类型的AI系统,定义了可解释AI及其重要性,讨论了白盒和黑盒模型,并解释了如何构建可解释AI系统。
● 第 2 章涵盖了白盒模型以及如何解释它们,特别关注了线性回归、决策树和广义可加模型(Generalized Additive Model,GAM)。
第Ⅱ部分关注黑盒模型,讲述它们如何处理输入并得出最终预测。
● 第 3 章涵盖了一种名为集成树的黑盒模型,以及全局与模型无关的可解释方法:部分依赖图(Partial Dependence Plot,PDP)和特征交互图。
● 第 4 章涵盖了深度神经网络,以及局部与模型无关的可解释方法:局部与模型无关解释(Local Interpretable Model-agnostic Explanations,LIME)、沙普利可加性解释(SHapley Additive exPlanations,SHAP)、锚定。
● 第5章涵盖了卷积神经网络,并使用局部、建模后、模型无关的可解释方法(如梯度、导向反向传播、梯度加权类别激活图(Grad-CAM)、导向梯度加权类别激活图和平滑梯度等)。
第Ⅲ部分继续关注黑盒模型,但主要解释它们如何学习特征或表示。
● 第 6 章涵盖了卷积神经网络,以及如何通过剖析它们来了解学习到的数据表示技巧。
● 第7章涵盖了语言模型,以及使用诸如主成分分析(PCA)和t分布随机近邻嵌入(t-SNE)等技术将其高维表示可视化的方法。
第Ⅳ部分关注公平和偏见,并讲述了XAI系统。
● 第 8 章涵盖了各种公平和偏见定义以及检查模型是否有偏见的方法,并讨论了如何减轻偏见和标准化数据以使用数据表来提高透明度和改善问责制的方法。
● 第9章涵盖了XAI,以及使用反事实样本进行对比解释。
本书代码
本书包含许多源代码示例,大多数情况下,这些源代码示例都以等宽字体显示,以便与本书的普通文本区分开来。本书所有代码示例都可通过扫描封底的二维码下载。
第Ⅰ部分 可解释基础知识
第1章 导论 3
1.1 Diagnostics AIAI系统示例 3
1.2 机器学习系统的类型 4
1.2.1 数据的表示 4
1.2.2 监督学习 6
1.2.3 无监督学习 7
1.2.4 强化学习 7
1.2.5 最适合Diagnostics AI的机器学习系统 8
1.3 构建Diagnostics AI 8
1.4 Diagnostics 的主要问题 10
1.4.1 数据泄露 10
1.4.2 偏见 10
1.4.3 监管不合规 11
1.4.4 概念漂移 11
1.5 如何解决这些主要问题 11
1.6 Interpretability与Explainability 13
1.7 你将在本书学到什么 15
1.7.1 本书使用的工具 17
1.7.2 阅读本书所需的基础知识 17
1.8 本章小结 18
第2章 白盒模型 19
2.1 白盒模型概述 20
2.2 Diagnostics AI示例:预测糖尿病进展情况 21
2.3 线性回归 24
2.3.1 解释线性回归 27
2.3.2 线性回归的局限性 29
2.4 决策树 30
2.4.1 解释决策树 32
2.4.2 决策树的局限性 35
2.5 广义可加模型(GAM) 36
2.5.1 回归样条 38
2.5.2 GAM用于Diagnostics AI预测糖尿病进展 42
2.5.3 解释GAM 43
2.5.4 GAM的局限性 46
2.6 展望黑盒模型 46
2.7 本章小结 48
第Ⅱ部分 解释模型处理
第3章 全局与模型无关可解释技术 51
3.1 高中生成绩预测器 52
3.2 集成树 57
3.3 解释随机森林 63
3.4 模型无关方法:全局可解释 65
3.4.1 部分依赖图 66
3.4.2 特征的相互作用 71
3.5 本章小结 77
第4章 局部与模型无关可解释技术 79
4.1 Diagnostics AI示例:乳腺癌诊断 80
4.2 探索性数据分析 81
4.3 深度神经网络 84
4.3.1 数据准备 88
4.3.2 训练和评估DNN 90
4.4 解释DNN 92
4.5 LIME 94
4.6 SHAP 103
4.7 锚定 106
4.8 本章小结 110
第5章 显著图 113
5.1 Diagnostics AI示例:浸润性导管癌检测 114
5.2 探索性数据分析 114
5.3 卷积神经网络 117
5.3.1 数据准备 121
5.3.2 训练和评估CNN 123
5.4 解释CNN 126
5.4.1 概率分布图 126
5.4.2 LIME 127
5.4.3 视觉归因法 132
5.5 标准反向传播 134
5.6 导向反向传播 138
5.7 其他基于梯度的方法 140
5.8 Grad-CAM和导向Grad-CAM 141
5.9 我应该使用哪种归因法 145
5.10 本章小结 147
第Ⅲ部分 解释模型表示
第6章 理解层和单元 151
6.1 视觉理解 152
6.2 回顾卷积神经网络 153
6.3 神经网络剖析框架 155
6.3.1 概念定义 156
6.3.2 网络探测 157
6.3.3 量化对齐 160
6.4 解释层和单元 160
6.4.1 运行网络剖析 161
6.4.2 概念检测器 165
6.4.3 训练任务的概念检测器 171
6.4.4 可视化概念检测器 176
6.4.5 网络剖析的局限性 179
6.5 本章小结 179
第7章 理解语义相似性 181
7.1 情感分析 182
7.2 探索性数据分析 183
7.3 神经网络词嵌入 187
7.3.1 独热编码 187
7.3.2 Word2Vec 188
7.3.3 GloVe嵌入 191
7.3.4 情感分析模型 193
7.4 解释语义相似性 194
7.4.1 度量相似性 196
7.4.2 主成分分析(PCA) 199
7.4.3 t分布随机近邻嵌入(t-SNE) 204
7.4.4 验证语义相似性的可视化 208
7.5 本章小结 210
第Ⅳ部分 公平和偏见
第8章 公平和减少偏见 213
8.1 成年人收入预测 215
8.1.1 探索性数据分析 216
8.1.2 预测模型 218
8.2 公平性概念 221
8.2.1 人口平等 222
8.2.2 机会和几率平等 225
8.2.3 其他公平性概念 228
8.3 可解释和公平性 229
8.3.1 源自输入特征的歧视 229
8.3.2 源自表示的歧视 233
8.4 减少偏见 234
8.4.1 无意识公平 234
8.4.2 通过重新加权纠正标注偏见 235
8.5 数据集的数据表 238
8.6 本章小结 240
第9章 XAI 243
9.1 XAI概述 245
9.2 反事实说明 247
9.3 本章小结 251
附录A 设置环境 253
A.1 Python代码 253
A.2 Git代码库 253
A.3 Conda环境 253
A.4 Jupyter notebooks 254
A.5 Docker 254
附录B PyTorch 257
B.1 什么是PyTorch 257
B.2 安装PyTorch 257
B.3 张量 258
B.3.1 数据类型 259
B.3.2 CPU和GPU张量 260
B.3.3 运算 260
B.4 Dataset和DataLoader 261
B.5 建模 263
B.5.1 自动微分法 263
B.5.2 模型定义 265
B.5.3 训练 267