原始網(wǎng)址:原文鏈接
前言
寫這篇的目的是把英文的ppt給內(nèi)化成自己的語言,方便第二次閱讀,也能夠在理解的過程中了解可解釋性的一些內(nèi)容。如有錯誤,歡迎二次修訂。
整體概述
- 第一部分,將介紹AI中解釋的不同方面
- 第二部分,重點(diǎn)介紹兩個特定的方法、目前的技術(shù)狀態(tài)和下一步的限制和研究挑戰(zhàn):(1)XAI使用機(jī)器學(xué)習(xí)(2)XAI使用基于圖的知識表示和機(jī)器學(xué)習(xí)的組合
- 第三部分,概述XAI的實(shí)際應(yīng)用
XAI介紹和動機(jī)
AI是什么
作為一個值得信賴的AI,需要包含下列四個方面:
- 能夠有效的解決問題
- 能夠保護(hù)隱私
- 能夠負(fù)責(zé)任,結(jié)果穩(wěn)定值得信賴(Responsible)
- 能夠被人類/機(jī)器分別解釋,足夠理性(Rational)
為什么需要可解釋性呢?
原因有下面兩點(diǎn):
- 首先,如果機(jī)器學(xué)習(xí)具有了可解釋性,那么在訓(xùn)練出模型之后,人類將能夠理解這個模型,并且利用人類的理解,去改進(jìn)這個模型。如此一來,模型的進(jìn)化將不僅僅依賴于傳統(tǒng)的泛化誤差(也就是具有普遍性、可擴(kuò)展性的誤差),更能夠增加人類的經(jīng)驗。
- 其次,歐盟的GDPR和CCPA這些標(biāo)準(zhǔn)都指出,無論是數(shù)據(jù)的使用者還是數(shù)據(jù)的控制者,數(shù)據(jù)以及它的使用方法都應(yīng)該具備下列四種特征:(1)公平性(2)隱私性(3)透明性(4)可解釋性
小結(jié)
如果一個機(jī)器學(xué)習(xí)模型具有可解釋性,那么它將獲得三點(diǎn)好處:
- 它能讓機(jī)器學(xué)習(xí)(ML,Machine Learning,下文都將用ML替代)更加值得信賴
- 它能夠有效的改進(jìn)(甚至提升)模型訓(xùn)練過程中的優(yōu)化部分,這里或許是會提高訓(xùn)練出好模型的效率。
- 它能夠讓這個模型通過歐盟標(biāo)準(zhǔn),從而將依賴某些技術(shù)的產(chǎn)品推向歐洲市場。
設(shè)計可解釋性的AI產(chǎn)品
那么對于AI產(chǎn)品來說,“設(shè)計可解釋性”是什么呢?(這一頁的目的并沒有看的很懂)
下面是一個可解釋性的AI的產(chǎn)品流程環(huán)路:
- 訓(xùn)練一個模型
- 模型debug
- 模型可視化
- 質(zhì)量測試
- 模型評估
- 符合性測試
- 部署(發(fā)布)
- 模型發(fā)布簽準(zhǔn)
- 模型發(fā)布管理
- 預(yù)測
- 可解釋決策
- API支持
- A/B測試
- 幾個不同模型的比較
- 隊列分析
- 監(jiān)控
- 模型表現(xiàn)監(jiān)視
- 實(shí)時監(jiān)控
- debug
- 模型診斷
- 根本原因分析
- 重新回到第一步訓(xùn)練模型。重復(fù)這些過程
通過了解AI產(chǎn)品的運(yùn)營步驟,可以大致了解可解釋性工作的位置,或者說是人類經(jīng)驗可以介入的地方。
什么是可解釋性的AI
了解了可解釋的必要性以及產(chǎn)品開發(fā)流程,我們來看看可解釋性的AI是什么。
下面將會把傳統(tǒng)黑盒AI和可解釋性AI進(jìn)行對比。
黑盒AI
首先來講現(xiàn)今普遍流行的黑盒AI。它是不可解釋的,也就是用我們?nèi)说慕?jīng)驗邏輯是無法理解的。
黑盒AI的工作流程
將數(shù)據(jù)導(dǎo)入進(jìn)黑盒中,進(jìn)行我們不能理解的訓(xùn)練后,得到一個模型,由這個模型得到一個AI產(chǎn)品。這個AI產(chǎn)品給用戶(我們)提供服務(wù),包括給我們的疑惑進(jìn)行解答(也就是做決定),或者是給我們做推薦等。
黑盒AI帶來的疑惑
- 為什么AI選擇了這個?它是基于什么來判斷的?
- 為什么AI不選擇那個?它又是基于什么信息/條件排除的?
- 我怎么能保證它什么時候是正確的,什么時候工作錯誤了?
- 如果我發(fā)現(xiàn)它工作錯誤了,我用什么辦法才能讓它糾正這個錯誤,并且不再犯錯?
這里的我,可能是AI模型的締造者,比如程序員;也可能是使用者,比如使用該產(chǎn)品的用戶
可解釋性AI
有了黑盒AI的基礎(chǔ),就可以對比出可解釋性AI的優(yōu)勢。
可解釋性AI的流程
將數(shù)據(jù)導(dǎo)入進(jìn)可解釋性AI的訓(xùn)練盒中,訓(xùn)練出一個具有可解釋性的AI模型,將這個模型用于可解釋性AI產(chǎn)品,給用戶做決策、解釋,而用戶基于模型的決策、解釋的結(jié)果,可以反饋給訓(xùn)練盒,于是訓(xùn)練盒可以繼續(xù)改進(jìn)模型。
可解釋性AI:清晰透明的預(yù)測
- 我知道AI為什么做出了這樣的判斷
- 我知道AI為什么不選擇其他的判斷、結(jié)果
- 我知道AI為什么會判斷成功,又為什么會判斷失敗,從而我能夠改進(jìn)它,或者很容易明白它的局限性和優(yōu)勢
- 我清楚的知道一切,所以我信賴它的決策。
如何進(jìn)行AI解釋呢?(這一頁也沒看懂)
基于現(xiàn)有的辦法來說,這些方法的可解釋性主要體現(xiàn)在三種方法上:
- 非線性函數(shù)
- 多項式函數(shù)
- 擬線性函數(shù)
正因為能夠擬合成相應(yīng)的函數(shù),所以這些方法是可以用人類知識、經(jīng)驗來介入、控制的。但有一點(diǎn)需要聲明,上述三種方法在人類理解上是由難到易的,某種程度上來說,其可解釋性也是由低到高。即越難理解,越難解釋。
從而,預(yù)測準(zhǔn)確性和預(yù)測的可解釋性是難以兼顧的兩方面。總的來說,往往準(zhǔn)確性高的方法,在可解釋性上是較低的。這里唯一的特例就是決策樹方法,具有較高的準(zhǔn)確性和很強(qiáng)的解釋性。
同時,現(xiàn)有的方法實(shí)在是多種多樣,有的是監(jiān)督學(xué)習(xí),有的是非監(jiān)督學(xué)習(xí);在方法上,有表征學(xué)習(xí)(Representation Learning)和隨機(jī)選擇(Stochastic Selection);在輸出上,只輸出了準(zhǔn)確度,卻沒有輸出因果關(guān)系。這些都使得現(xiàn)有方法難以被解釋出來,特別是用統(tǒng)一的方法解釋。
Explanation Or Interpretation?
這里是一個插播,在英文中,“可解釋性”究竟是使用Explaination還是Interpretation來表示呢?
根據(jù)牛津英語詞典的解釋,explanation表示的是一種讓某物變得更加清楚、清晰、明白的狀態(tài)或者解釋;而interpret(這里是個動詞)它解釋了信息或者是行為的內(nèi)涵。
所以可以根據(jù)不同語境使用不同的單詞。但我在谷歌學(xué)術(shù)上用Interpretation能檢索出更多的相關(guān)。
可解釋性的多個指標(biāo)
(太難翻譯出來了,應(yīng)該有很多錯誤)
盡管可解釋性只有一個詞,但是它的內(nèi)涵卻很豐富:要達(dá)到怎么樣的指標(biāo)才能算可解釋了呢?這里給出了六個指標(biāo):
- 可理解性:需要用多少的力氣才能獲得正確的人類解釋性(correct human interpretation)?
- 簡潔性:解釋有多簡潔明了?
- 可操作性:一個操作,在解釋性的幫助下能夠做什么?
- 可重用性:一個解釋性可以被私有化嗎?
- 精確性:解釋有多準(zhǔn)確
- 完整性:解釋是完整的,部分的,還是在特定條件下的?
人工智能的解釋
有必要明確的是,人工智能(AI)和機(jī)器學(xué)習(xí)(ML)是不同的概念。可以說,ML只是AI的一個分支領(lǐng)域。
本段的目的是,通過對人工智能各個領(lǐng)域(優(yōu)化、知識表示和推理、機(jī)器學(xué)習(xí)、搜索和約束優(yōu)化、規(guī)劃、自然語言處理NLP,機(jī)器人和視覺)的解釋概述,使每個人對解釋的各種定義保持一致。
同時,本段還將討論可解釋的評估。
雖然本段涵蓋了大多數(shù)定義,但僅對下列領(lǐng)域進(jìn)行深入:
- 可解釋的機(jī)器學(xué)習(xí)
- 可解釋的AI與知識圖和機(jī)器學(xué)習(xí)
可解釋性AI:一個目標(biāo),很多'AI',很多定義,很多方法
演講者在這里放了很多例子。
對可解釋性機(jī)器學(xué)習(xí)的概述
數(shù)學(xué)模型
下面列舉了一些具有可解釋性的模型:
- 決策樹/決策列表/決策集(Decision Trees, Lists and Sets)(其實(shí)就是使用的數(shù)據(jù)結(jié)構(gòu)不同吧)
- GAMs(Generalized Additive Models)
- GLMs(廣義線性模型)
- 線性回歸
- Logistic回歸
- KNNs(k最近鄰算法)
- 簡單貝葉斯模型
- 反事實(shí)假設(shè)(Counterfactual What-if)(一知半解)
- 特征重要性PDP圖和ICE圖的敏感度分析(同樣一知半解)
人工神經(jīng)網(wǎng)絡(luò)
除了上面的這些模型之外,還有一些人工神經(jīng)網(wǎng)絡(luò):
- 深度網(wǎng)絡(luò)的屬性(基于綜合梯度)
- 自編碼器算法(auto-encoder)(后面跟著的prototype我不知道想要表達(dá)什么)
- 注意力機(jī)制(attention Mechanism)
- 代理模型(surogate model)(也不明白)
計算機(jī)視覺
在計算機(jī)視覺這一塊,也有一些方法是可解釋的:
- 可解釋單位(Interpretable Units)(不是很明白指哪些)
- 不確定性圖(Uncertainty map)
- 可視化解釋(Visual explanation)
- 顯著圖(Saliency Map)(可以理解為特征圖?)
其他AI領(lǐng)域
很多名字難以翻譯,于是直接原文了。對這些領(lǐng)域內(nèi)的內(nèi)容非常不了解,下列理解僅作參考。
博弈論
- SHAP(SHapley Additive exPlanations)(是一種解釋任何機(jī)器學(xué)習(xí)模型輸出的博弈論方法)
- L-shapley and c-shapley (with graph structure)這是一個對結(jié)構(gòu)性數(shù)據(jù)很有效的模型解釋方法
- Instance-wise feature importance(causal influence)
搜索與約束滿足
- 沖突解決(conflict resolution)
- 魯棒計算(Robustness Computation)
- 約束松弛(Constraints relaxation)
知識表征和推理
- 解釋推理(通過正當(dāng)理由)如涵攝(Subsumption)
- 誘因推理(在貝葉斯網(wǎng)絡(luò)中)
- 診斷推理
多代理系統(tǒng)
- 代理沖突和有害交互的解釋
- 代理策略總結(jié)
- 可解釋的代理
NLP(自然語言處理)
- 可解釋的NLP
- NLP中的LIME(LIME是一種解釋機(jī)器學(xué)習(xí)模型的方法)
- NLP調(diào)試器
這里有一段不明含義的內(nèi)容:
“細(xì)粒度的解釋形式如下:(1)真實(shí)數(shù)據(jù)集中的文本;(2)數(shù)值分?jǐn)?shù)”
計劃和調(diào)度
- XAI 計劃
- “人機(jī)回圈”計劃(Human-in-the-loop planning)
- 計劃比較
機(jī)器人領(lǐng)域
- 自主機(jī)器人體驗解說(Narriation of Autonomous Robot Experience)
- 從決策樹到人性化信息(From Decision Tree to human-friendly information)
可解釋的機(jī)器學(xué)習(xí)(從機(jī)器學(xué)習(xí)的角度)
這一部分的核心是分析不同類別的黑盒問題,從黑盒模型解釋到黑盒結(jié)果解釋。
從這句話可以看出,解釋性可以包含至少兩個方面:
- 使模型本身可解釋。
- 模型的結(jié)果可以通過一些方法解釋出來。
實(shí)現(xiàn)可解釋的人工智能
方法有如下幾種:
- 事后解釋給定的AI模型
- 從輸入的特征、(對結(jié)果)有影響力的例子、概念、局部決策規(guī)則來進(jìn)行個別預(yù)測解釋
- 從局部相關(guān)圖、全局特征重要性、全局決策規(guī)則對整個模型進(jìn)行全局預(yù)測解釋
- 建立一個可解釋的模型
- 比如上面提到過的:Logistic回歸,決策樹/列表/集,廣義可加模型(GAMs)等
可解釋性備忘單
這張圖非常龐大,截圖也截不清楚。這個內(nèi)容的具體解釋可以在github上看到,但是鏈接地址沒有暴露在外面。在這里用一張根據(jù)我自己的理解制作的流程圖說明:
可解釋的機(jī)器學(xué)習(xí)(從知識圖譜的角度)
這一部分將討論基于圖形的知識庫與機(jī)器學(xué)習(xí)方法相結(jié)合的解釋力
知識圖
定義
三元組的集合(也就是主語、謂語、賓語,英文簡寫SPO)中,主語(subject)和賓語(object)是實(shí)體,而謂語(predicate)是兩者之間的關(guān)系。
任何一對SPO三元組表示一個事實(shí)(facts),即兩個實(shí)體之間實(shí)際關(guān)系的存在。
介紹一些知識圖集
里面的KG=Knowledge Graph,也就是知識圖
這些知識圖有的是人工制作的,需要進(jìn)行策劃和協(xié)作;有的是自動化生成的,需要對內(nèi)容進(jìn)行半結(jié)構(gòu)化或者非結(jié)構(gòu)化(或者這里的意思是指要對非結(jié)構(gòu)化或者半結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化?)
下圖是一個鏈接的開放數(shù)據(jù)云的圖,其中有超過1200內(nèi)聯(lián)的知識圖編碼成超過200M的事實(shí)(facts),內(nèi)含大約50M的實(shí)體:
知識圖可以跨多個領(lǐng)域:地理、政府、生命科學(xué)、語言學(xué)、媒體、出版物、跨領(lǐng)域等等。
機(jī)器學(xué)習(xí)中的知識圖
總的來說,機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)層是能夠給中間特征增加更多的語義,比如說增加知識圖的嵌入或者是實(shí)體。
配圖的文字說明是:
以訓(xùn)練識別狗的品種為例,輸入層輸入了大量各種品種的狗的照片的訓(xùn)練數(shù)據(jù)集,同時也輸入了一個沒有標(biāo)注品種的狗的圖片。
然后就進(jìn)入了隱藏層,總的來說,隱藏層是一個由低維向量向高維向量轉(zhuǎn)變的過程。比如隱藏層的第一層,神經(jīng)元代表了一些簡單的形狀;到了第二層,神經(jīng)元就代表了一些更加復(fù)雜的結(jié)構(gòu),某種意義上就是把簡單的形狀給解構(gòu)了;到了第n層,神經(jīng)元就表達(dá)了一些更高維、復(fù)雜、抽象的概念。
最終根據(jù)把未知品種的狗的照片通過隱藏層的解構(gòu)、重組、映射到高維上之后,評估這張照片上的狗是不是品種A,是不是品種B,是不是品種C。將各個品種的狗的可能性輸出,或者是輸出這張圖片是哪種品種,就是輸出層的內(nèi)容。
機(jī)器學(xué)習(xí)中的知識圖——一種實(shí)踐
圖很復(fù)雜,信息量很大。懶得翻譯了kkk。
XAI工具的應(yīng)用、經(jīng)驗教訓(xùn)和研究挑戰(zhàn)
這一節(jié)中,回顧一些XAI開源和商業(yè)工具在實(shí)際應(yīng)用中的例子。
在這里,我們關(guān)注的用例有八個,不一一例舉。具體可以往下看。
可解釋的增強(qiáng)目標(biāo)檢測——行業(yè)不可知(沒看懂)
(似乎是來自THALES的一篇論文)
論文中的某一部分結(jié)果對比是:對比通過快速RCNN上進(jìn)行目標(biāo)檢測的結(jié)果,使用語義增強(qiáng)能夠以相對較高的準(zhǔn)確度檢測出目標(biāo),而且增加檢測出了另外的物體,這個結(jié)果附帶了下面的解釋:人、漿板和水是圖片內(nèi)容的一部分,也是“船”這個概念的知識圖中的一部分。
挑戰(zhàn):目標(biāo)檢測通常是從大量標(biāo)記數(shù)據(jù)上訓(xùn)練的人工神經(jīng)網(wǎng)絡(luò)(ANNs)體系結(jié)構(gòu)中進(jìn)行的。由于最精確的人工神經(jīng)網(wǎng)絡(luò)的高度復(fù)雜性,解釋目標(biāo)檢測相當(dāng)困難
AI技術(shù):集成人工智能相關(guān)技術(shù),即機(jī)器學(xué)習(xí)(深度學(xué)習(xí) / CNNs),以及知識圖 / 鏈接開放數(shù)據(jù)。
XAI技術(shù):知識圖和ANNs
如何利用GDBT的特征重要性
在說此處的信息之前,我們有必要離開本篇,去學(xué)習(xí)GDBT,對GDBT有一個至少是概念上的理解。
現(xiàn)在回到正文。
- 理解特征偏離
- 哪個功能不再具有影響力
- 我們應(yīng)該調(diào)試特征生成嗎?
- 批量引入新特征并且識別有效特征
- 最近3小時、6小時、12小時甚至24小時都活躍著的特征(計算成本高)
- 我們需要保留所有這些特征嗎?
- 分離出那些引起改善的因素
- 這個改善是因為加入了一個新的特征,還是引入了新的標(biāo)簽策略,或是數(shù)據(jù)資源?
- 功能之間的順序是否有改變?
- 缺點(diǎn):這是一個全局的角度來看的,而不是根據(jù)個別例子一個個看的
被使用的TensorFlow模型并且解釋它們
我們使用了綜合梯度[ICML 2017]的方法(來解釋他們)。
現(xiàn)在的問題是,我們?nèi)绾螞Q定基線(baseline)的示例?
(下面陳述了尋找baseline示例的困難之處)
- 實(shí)際上,每個查詢(query)都為同一個候選(candidate)創(chuàng)造了一個自己的特征值。
- 而查詢匹配了特征,(尤其是)基于時間的特征。
- 招聘者親和力和候選親和力的特征(原句:Recruiter affinity, and candidate affinity features)(這里我認(rèn)為大意是選擇更加相似的、有用的特征,或者說是權(quán)重很大的)
- 一個候選會被不同的查詢評估出不同的分?jǐn)?shù)
- 不能把“軟件工程師”作為查詢“法醫(yī)化學(xué)家”的推薦回答(我的理解是,這個示例不能偏離正確答案太多)
- 不存在一個可以比較全局的中立示例。
解決上面這個問題的關(guān)鍵點(diǎn)在于:
首先,將寬泛的“解釋”視作一個特殊的contributor(貢獻(xiàn)者)或者是influencer(影響者)的特征,會對這個問題的解決比較有效。在這段話中,“貢獻(xiàn)者”和“影響者”的定義如下:
- 貢獻(xiàn)者:根據(jù)當(dāng)前的輸出結(jié)果,逐一的得到在最終結(jié)果中出現(xiàn)的特性。
- 影響者:同樣也是根據(jù)每個例子,思考如果要提高似然度,需要做些什么。
比如說xLIME旨在能夠通過下列方法提高LIME的效果,而這些方法,某種意義上就是“解釋”:
- 分段線性回歸:更準(zhǔn)確地描述局部點(diǎn),有助于找到正確的影響因素
- 局部分層抽樣:更真實(shí)的局部點(diǎn)集
如此一來,就更好的捕捉到了重要的特征。
Fiddler的可解釋AI引擎
這個引擎的任務(wù)目標(biāo)是:通過讓每個企業(yè)都能解釋人工智能,來釋放信任、可見性和洞察力。
他的工作流程是:用戶向Fiddler提供所有的數(shù)據(jù)(這些數(shù)據(jù)可以在任何的數(shù)據(jù)倉庫中),然后Fiddler就會通過內(nèi)置的常見的模型(比如TensorFlow、PyTorch、Spark等),將數(shù)據(jù)轉(zhuǎn)化成任何人都能理解的可解釋AI,這些可解釋的內(nèi)容會通過API、儀表盤(Dashboard)、報告、或者是值得信賴的內(nèi)視(Trusted insights)展現(xiàn)出來。
機(jī)器學(xué)習(xí)中的可解釋性:普遍的挑戰(zhàn)
這一段講述的是想要實(shí)現(xiàn)機(jī)器學(xué)習(xí)的可解釋性,必然會遇到的普遍的挑戰(zhàn)。
- 解釋性需要具有可操作性
- 模型的可解釋性和模型的保密性是天平的兩端。如果需要發(fā)展可解釋性,必然需要綜合考慮模型的保密性,否則將會造成巨大損失。
- 對于故障模式(或者是機(jī)器學(xué)習(xí)模塊之間的相互作用)的解釋需要有魯棒性。
- 特別針對于應(yīng)用方面的挑戰(zhàn):
- 會話AI系統(tǒng):語境解釋。在不同的對話語境下應(yīng)該如何更好的表現(xiàn)解釋性。
- 解釋的層次。(這里沒看懂)
- 在AI生命周期中進(jìn)行可解釋的工具
- 機(jī)器學(xué)習(xí)模型的前后端的部署。
- 模型開發(fā)者和最終使用者,兩者不同的關(guān)注點(diǎn)和側(cè)重點(diǎn)。
結(jié)語
終于,冗長的翻譯、理解過程結(jié)束了,對可解釋性有了一些新的理解。里面依然有很多我不懂、或者是大膽猜想的地方,有錯誤是在所難免的。但總體來說還是很開心的。
這個ppt的最后有說:
教程網(wǎng)頁:https://xaitutorial2020.github.io
可以去那里看看呀。