可解釋AI(Interpretable AI)將教會你識別模型所學(xué)習(xí)的模式及其產(chǎn)生結(jié)果的原因。通過閱讀《可解釋AI實戰(zhàn)(PyTorch版)》,你將掌握一些用于解釋白盒模型(如線性回歸和廣義可加模型)的方法,以及一些用于解釋復(fù)雜深度學(xué)習(xí)模型的方法。可解釋AI是一個快速發(fā)展的領(lǐng)域,本書將該領(lǐng)域的前沿研究簡化為你可以在Python中實現(xiàn)的實際方法。
主要內(nèi)容
● 解釋AI模型的技術(shù)
● 最大限度地減少錯誤、偏見、數(shù)據(jù)泄露和概念漂移
● 度量公平性和減少偏見
● 構(gòu)建符合GDPR的AI系統(tǒng)
關(guān) 于 本 書
本書旨在幫助你實施最新的可解釋AI技術(shù),以構(gòu)建公平且可解釋的AI系統(tǒng)。可解釋AI是當(dāng)今AI研究中的熱門話題,但只有少數(shù)資源和指南涵蓋了所有重要技術(shù),這些技術(shù)對實踐者來說非常有價值。本書旨在填補這一空白。
本書讀者對象
本書既適合那些有興趣深入了解其模型工作原理以及如何構(gòu)建公平且無偏見模型的數(shù)據(jù)科學(xué)家和工程師,又適合想要了解如何讓 AI 模型確保公平和保護(hù)業(yè)務(wù)用戶、品牌的架構(gòu)師和業(yè)務(wù)利益相關(guān)者。
本書內(nèi)容
本書內(nèi)容分為4部分,共9章。
第Ⅰ部分介紹可解釋AI的基礎(chǔ)知識。
● 第1章涵蓋了各種類型的AI系統(tǒng),定義了可解釋AI及其重要性,討論了白盒和黑盒模型,并解釋了如何構(gòu)建可解釋AI系統(tǒng)。
● 第 2 章涵蓋了白盒模型以及如何解釋它們,特別關(guān)注了線性回歸、決策樹和廣義可加模型(Generalized Additive Model,GAM)。
第Ⅱ部分關(guān)注黑盒模型,講述它們?nèi)绾翁幚磔斎氩⒌贸鲎罱K預(yù)測。
● 第 3 章涵蓋了一種名為集成樹的黑盒模型,以及全局與模型無關(guān)的可解釋方法:部分依賴圖(Partial Dependence Plot,PDP)和特征交互圖。
● 第 4 章涵蓋了深度神經(jīng)網(wǎng)絡(luò),以及局部與模型無關(guān)的可解釋方法:局部與模型無關(guān)解釋(Local Interpretable Model-agnostic Explanations,LIME)、沙普利可加性解釋(SHapley Additive exPlanations,SHAP)、錨定。
● 第5章涵蓋了卷積神經(jīng)網(wǎng)絡(luò),并使用局部、建模后、模型無關(guān)的可解釋方法(如梯度、導(dǎo)向反向傳播、梯度加權(quán)類別激活圖(Grad-CAM)、導(dǎo)向梯度加權(quán)類別激活圖和平滑梯度等)。
第Ⅲ部分繼續(xù)關(guān)注黑盒模型,但主要解釋它們?nèi)绾螌W(xué)習(xí)特征或表示。
● 第 6 章涵蓋了卷積神經(jīng)網(wǎng)絡(luò),以及如何通過剖析它們來了解學(xué)習(xí)到的數(shù)據(jù)表示技巧。
● 第7章涵蓋了語言模型,以及使用諸如主成分分析(PCA)和t分布隨機(jī)近鄰嵌入(t-SNE)等技術(shù)將其高維表示可視化的方法。
第Ⅳ部分關(guān)注公平和偏見,并講述了XAI系統(tǒng)。
● 第 8 章涵蓋了各種公平和偏見定義以及檢查模型是否有偏見的方法,并討論了如何減輕偏見和標(biāo)準(zhǔn)化數(shù)據(jù)以使用數(shù)據(jù)表來提高透明度和改善問責(zé)制的方法。
● 第9章涵蓋了XAI,以及使用反事實樣本進(jìn)行對比解釋。
本書代碼
本書包含許多源代碼示例,大多數(shù)情況下,這些源代碼示例都以等寬字體顯示,以便與本書的普通文本區(qū)分開來。本書所有代碼示例都可通過掃描封底的二維碼下載。
Ajay Thampi 在機(jī)器學(xué)習(xí)領(lǐng)域具有扎實的基礎(chǔ)。他的博士研究主要專注于信號處理和機(jī)器學(xué)習(xí)。他發(fā)表過許多關(guān)于強(qiáng)化學(xué)習(xí)、凸優(yōu)化和傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)應(yīng)用于5G移動網(wǎng)絡(luò)的論文。Ajay 目前在一家大型科技公司擔(dān)任機(jī)器學(xué)習(xí)工程師,主要關(guān)注負(fù)責(zé)任的AI和AI公平性。在此之前,Ajay是微軟的高級數(shù)據(jù)科學(xué)家,負(fù)責(zé)為各行各業(yè)(如制造業(yè)、零售業(yè)和金融業(yè))的客戶部署復(fù)雜的人工智能解決方案。
第Ⅰ部分 可解釋基礎(chǔ)知識
第1章 導(dǎo)論 3
1.1 Diagnostics AIAI系統(tǒng)示例 3
1.2 機(jī)器學(xué)習(xí)系統(tǒng)的類型 4
1.2.1 數(shù)據(jù)的表示 4
1.2.2 監(jiān)督學(xué)習(xí) 6
1.2.3 無監(jiān)督學(xué)習(xí) 7
1.2.4 強(qiáng)化學(xué)習(xí) 7
1.2.5 最適合Diagnostics AI的機(jī)器學(xué)習(xí)系統(tǒng) 8
1.3 構(gòu)建Diagnostics AI 8
1.4 Diagnostics 的主要問題 10
1.4.1 數(shù)據(jù)泄露 10
1.4.2 偏見 10
1.4.3 監(jiān)管不合規(guī) 11
1.4.4 概念漂移 11
1.5 如何解決這些主要問題 11
1.6 Interpretability與Explainability 13
1.7 你將在本書學(xué)到什么 15
1.7.1 本書使用的工具 17
1.7.2 閱讀本書所需的基礎(chǔ)知識 17
1.8 本章小結(jié) 18
第2章 白盒模型 19
2.1 白盒模型概述 20
2.2 Diagnostics AI示例:預(yù)測糖尿病進(jìn)展情況 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預(yù)測糖尿病進(jìn)展 42
2.5.3 解釋GAM 43
2.5.4 GAM的局限性 46
2.6 展望黑盒模型 46
2.7 本章小結(jié) 48
第Ⅱ部分 解釋模型處理
第3章 全局與模型無關(guān)可解釋技術(shù) 51
3.1 高中生成績預(yù)測器 52
3.2 集成樹 57
3.3 解釋隨機(jī)森林 63
3.4 模型無關(guān)方法:全局可解釋 65
3.4.1 部分依賴圖 66
3.4.2 特征的相互作用 71
3.5 本章小結(jié) 77
第4章 局部與模型無關(guān)可解釋技術(shù) 79
4.1 Diagnostics AI示例:乳腺癌診斷 80
4.2 探索性數(shù)據(jù)分析 81
4.3 深度神經(jīng)網(wǎng)絡(luò) 84
4.3.1 數(shù)據(jù)準(zhǔn)備 88
4.3.2 訓(xùn)練和評估DNN 90
4.4 解釋DNN 92
4.5 LIME 94
4.6 SHAP 103
4.7 錨定 106
4.8 本章小結(jié) 110
第5章 顯著圖 113
5.1 Diagnostics AI示例:浸潤性導(dǎo)管癌檢測 114
5.2 探索性數(shù)據(jù)分析 114
5.3 卷積神經(jīng)網(wǎng)絡(luò) 117
5.3.1 數(shù)據(jù)準(zhǔn)備 121
5.3.2 訓(xùn)練和評估CNN 123
5.4 解釋CNN 126
5.4.1 概率分布圖 126
5.4.2 LIME 127
5.4.3 視覺歸因法 132
5.5 標(biāo)準(zhǔn)反向傳播 134
5.6 導(dǎo)向反向傳播 138
5.7 其他基于梯度的方法 140
5.8 Grad-CAM和導(dǎo)向Grad-CAM 141
5.9 我應(yīng)該使用哪種歸因法 145
5.10 本章小結(jié) 147
第Ⅲ部分 解釋模型表示
第6章 理解層和單元 151
6.1 視覺理解 152
6.2 回顧卷積神經(jīng)網(wǎng)絡(luò) 153
6.3 神經(jīng)網(wǎng)絡(luò)剖析框架 155
6.3.1 概念定義 156
6.3.2 網(wǎng)絡(luò)探測 157
6.3.3 量化對齊 160
6.4 解釋層和單元 160
6.4.1 運行網(wǎng)絡(luò)剖析 161
6.4.2 概念檢測器 165
6.4.3 訓(xùn)練任務(wù)的概念檢測器 171
6.4.4 可視化概念檢測器 176
6.4.5 網(wǎng)絡(luò)剖析的局限性 179
6.5 本章小結(jié) 179
第7章 理解語義相似性 181
7.1 情感分析 182
7.2 探索性數(shù)據(jù)分析 183
7.3 神經(jīng)網(wǎng)絡(luò)詞嵌入 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分布隨機(jī)近鄰嵌入(t-SNE) 204
7.4.4 驗證語義相似性的可視化 208
7.5 本章小結(jié) 210
第Ⅳ部分 公平和偏見
第8章 公平和減少偏見 213
8.1 成年人收入預(yù)測 215
8.1.1 探索性數(shù)據(jù)分析 216
8.1.2 預(yù)測模型 218
8.2 公平性概念 221
8.2.1 人口平等 222
8.2.2 機(jī)會和幾率平等 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 通過重新加權(quán)糾正標(biāo)注偏見 235
8.5 數(shù)據(jù)集的數(shù)據(jù)表 238
8.6 本章小結(jié) 240
第9章 XAI 243
9.1 XAI概述 245
9.2 反事實說明 247
9.3 本章小結(jié) 251
附錄A 設(shè)置環(huán)境 253
A.1 Python代碼 253
A.2 Git代碼庫 253
A.3 Conda環(huán)境 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 數(shù)據(jù)類型 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 訓(xùn)練 267