適讀人群 :人工智能從業(yè)者、數(shù)據(jù)科學(xué)家、統(tǒng)計學(xué)家和所有對使機器學(xué)習(xí)模型具有可解釋性感興趣的人員。 第一部系統(tǒng)總結(jié)可解釋機器學(xué)習(xí)的著作
全面介紹了可解釋模型、黑盒模型的可解釋性、與模型無關(guān)的方法
包含各種解釋方法優(yōu)缺點,以及每種方法的軟件實現(xiàn)
本書沒有晦澀的語言與公式推導(dǎo),通過平實的語言、現(xiàn)實生活中的例子講解相關(guān)概念,通俗易懂
適合機器學(xué)習(xí)從業(yè)者、數(shù)據(jù)科學(xué)家、統(tǒng)計學(xué)家和任何對使機器學(xué)習(xí)模型可解釋的人閱讀
各種解釋方法是如何工作的?優(yōu)點和缺點分別是什么?如何解釋它們的輸出?
翻開本書都將一一找到答案!
阿里巴巴達摩院資深算法專家楊紅霞博士、復(fù)旦大學(xué)計算機學(xué)院謝志鵬教授,傾情作序!
浙江大學(xué)計算機科學(xué)與技術(shù)學(xué)院陳華鈞教授;同濟大學(xué)百人計劃特聘研究員、OpenKG創(chuàng)始人之一王昊奮教授;中國科學(xué)院人工智能聯(lián)盟標(biāo)準組成員、大海無量首席科學(xué)家吳焦蘇教授,聯(lián)袂推薦!
推薦序一
機器學(xué)習(xí)可解釋性(Interpretability)或XAI(Explainable Artificial Intelligence)是機器學(xué)習(xí)的研究者們始終存在的一個擔(dān)憂:目前主流的深度神經(jīng)網(wǎng)絡(luò)沒有辦法以一種從人類角度完全理解的模型和決策。對于可解釋性能要求較高的關(guān)鍵領(lǐng)域,例如交通、醫(yī)療、法律和財經(jīng)等,我們會發(fā)現(xiàn)仍然無法完全相信模型的預(yù)測能力。因此,廣大的機器學(xué)習(xí)研究者們希望探求出的是,我們有沒有辦法去解釋這些模型,從而真正建立人與模型之間的信任。
機器學(xué)習(xí)的一般流程包括:收集數(shù)據(jù)、清洗數(shù)據(jù)、訓(xùn)練模型、基于驗證或測試錯誤或其他評價指標(biāo)選擇最好的模型。第一步,選擇具有比較低的錯誤率和比較高的準確率的高精度模型。第二步,面臨準確率和模型復(fù)雜度之間的權(quán)衡,一個模型越復(fù)雜就越難以解釋。一個簡單的線性回歸非常好解釋,因為它只考慮了自變量與因變量之間的線性相關(guān)關(guān)系,但是也正因為如此,它無法處理更復(fù)雜的關(guān)系,模型在測試集上的預(yù)測精度也更可能比較低。而深度神經(jīng)網(wǎng)絡(luò)處于另一個極端,因為它們能夠在多個層次進行抽象推斷,所以它們可以處理因變量與自變量之間非常復(fù)雜的關(guān)系,并且達到非常高的精度。但是這種復(fù)雜性也使模型成為黑箱,我們無法獲知所有產(chǎn)生模型預(yù)測結(jié)果的特征之間的關(guān)系,所以我們只能用準確率、錯誤率等評價標(biāo)準來代替,進而評估模型的可信性。
然而事實上,每個分類問題的機器學(xué)習(xí)流程中都應(yīng)該包括模型理解和模型解釋。比如,在模型改進方面,通過理解指標(biāo)特征、分類、預(yù)測,進而理解為什么一個機器學(xué)習(xí)模型會做出這樣的決定、什么特征在決定中起最重要的作用,能讓我們判斷模型是否符合常理。再比如,在模型可信性與透明度,理解機器學(xué)習(xí)模型在提高模型可信度和提供審視預(yù)測結(jié)果透明度方面是非常有必要的。讓黑金模型來決定人們的生活是不現(xiàn)實的,比如貸款和監(jiān)獄刑法。機器學(xué)習(xí)的可解釋性也可以很好地幫助我們識別和防止偏差,比如用于招聘的機器學(xué)習(xí)模型,揭示了在特定職位上的性別偏差,比如男性軟件工程師和女性護士。
要做好可解釋性,需要將數(shù)據(jù)科學(xué)與機器學(xué)習(xí)有機地結(jié)合起來。機器學(xué)習(xí)模型本身由算法組成,該算法試圖從數(shù)據(jù)中學(xué)習(xí)潛在的模式和關(guān)系,而無須硬編碼固定規(guī)則;數(shù)據(jù)科學(xué)家通常致力于構(gòu)建模型并為業(yè)務(wù)提供解決方案。模型解釋作為一個概念,仍然主要是理論和主觀的。任何機器學(xué)習(xí)模型的核心都有一個響應(yīng)函數(shù),它試圖映射和解釋獨立(輸入)自變量和(目標(biāo)或響應(yīng))因變量之間的關(guān)系和模式。我們在建立模型時,需要考慮What、Why 及How,輸出的結(jié)果可以包括自變量的重要性、分類,模型的可解釋范圍、評估及其特性,包括準確性、保真性、可用性、可靠性、健壯性和通用性等。最后,輸出的結(jié)果可否有人性化解釋,這通?梢耘c自然語言生成相結(jié)合。
目前,關(guān)于可解釋性的圖書還比較有限,Christoph Molnar 在2018 年撰寫的Interpretable Machine Learning 給大家提供了很好的指導(dǎo)。你可以從這本書中學(xué)習(xí)簡單的、可解釋的模型,如線性回歸、決策樹和決策規(guī)則等。該書后面幾章重點介紹了解釋黑盒模型的與模型無關(guān)的一般方法,如特征重要性和累積局部效應(yīng),以及用Shapley 值和LIME 解釋單個實例預(yù)測。對各種解釋方法進行了深入的解釋和批判性的討論。它們是如何工作的?優(yōu)點和缺點是什么?如何解釋它們的輸出?本書使你能夠選擇并正確應(yīng)用最適合你的機器學(xué)習(xí)項目的解釋方法。這本書結(jié)合了各類現(xiàn)實生活中的例子來介紹相關(guān)的概念,同時搭配參考資料幫助讀者進一步學(xué)習(xí)了解。
隨著更多的深度學(xué)習(xí)模型框架的出現(xiàn),比如最近流行的語言模型Transformer,打開這些“黑盒子”的正確方式將變得越來重要。這也是一個多學(xué)科交叉的綜合性學(xué)科,需要機器學(xué)習(xí)從業(yè)者、數(shù)據(jù)科學(xué)家和統(tǒng)計學(xué)家一起努力!
楊紅霞博士
阿里巴巴達摩院資深算法專家
推薦序二
朱明超同學(xué)是2018 年作為推免研究生進入復(fù)旦大學(xué)計算機學(xué)院學(xué)習(xí)的。我作為他的導(dǎo)師,在兩年多工作和生活的接觸中,發(fā)現(xiàn)他是一位對生活積極樂觀、對學(xué)習(xí)認真專注的同學(xué)。
我們實驗室從事機器學(xué)習(xí)、深度學(xué)習(xí)和自然語言處理等方面的研究。在此次人工智能熱潮中,以深度學(xué)習(xí)為代表的大型復(fù)雜黑盒模型在不斷地大幅刷新各類學(xué)習(xí)任務(wù)SOTA 性能,同時也因缺乏解釋性而限制了其應(yīng)用范圍。研究和建立事前、事中和事后的全過程可解釋性機制具有重要的理論研究意義和應(yīng)用價值。結(jié)合實驗室的研究方向和朱明超同學(xué)的個人興趣,從入學(xué)開始,便選擇了可解釋機器學(xué)習(xí)作為他的研究課題,進行系統(tǒng)的學(xué)習(xí)和研究。
目前在可解釋機器學(xué)習(xí)方面的中文資料相當(dāng)稀缺,缺少相關(guān)的系統(tǒng)性教學(xué)及科研資料。朱明超所翻譯的Christoph Molnar 博士撰寫的《可解釋機器學(xué)習(xí)》一書恰好填補了這一空白。他在翻譯本書過程中極其認真,傾注了大量的時間和心血。這種認真的態(tài)度,保障了本書內(nèi)容的質(zhì)量。
本書覆蓋了可解釋機器學(xué)習(xí)最基本的概念和算法,條分縷析,通俗易懂。更可貴的是,本書將可解釋性算法的理論、優(yōu)缺點和實際使用過程結(jié)合起來,具有很強的實用性。在可解釋機器學(xué)習(xí)受到研究界高度關(guān)注、實踐需求快速增長的背景下,本書是一本很好的讀物,相信不同的讀者都會從中獲益。
謝志鵬
復(fù)旦大學(xué)計算機學(xué)院副教授
作者序
機器學(xué)習(xí)受到了很多研究人員和業(yè)內(nèi)人士的關(guān)注,有很多可落地且有影響的應(yīng)用。機器學(xué)習(xí)對于產(chǎn)品開發(fā)、科學(xué)研究和自動化來說是一種強大的技術(shù)。例如,機器學(xué)習(xí)可被用于金融交易欺詐檢測、電影推薦和圖像分類。機器學(xué)習(xí)模型是否具有可解釋性通常是至關(guān)重要的,因為可解釋性可以幫助開發(fā)人員調(diào)試和改進模型,建立對模型的信任,驗證模型預(yù)測并獲得洞察力。機器學(xué)習(xí)可解釋性需求的增加是機器學(xué)習(xí)使用量增加的自然結(jié)果。
撰寫本書一開始是我作為統(tǒng)計學(xué)家工作之余的副業(yè)。起初,我沒有寫書的打算,相反,我只是對尋找更多關(guān)于可解釋機器學(xué)習(xí)的信息感興趣,尋找好的資源來學(xué)習(xí)。鑒于機器學(xué)習(xí)的成功和可解釋性的重要性,我以為市面上會有大量關(guān)于這個主題的圖書和教程。但是,我只在網(wǎng)上找到了一些相關(guān)的研究論文和博客文章,沒有找到很好的綜述論文。甚至可以說,沒有圖書,沒有教程,沒有綜述論文。這種現(xiàn)狀啟發(fā)我開始寫這本書。當(dāng)我開始學(xué)習(xí)可解釋機器學(xué)習(xí)時,我希望這本書能夠出版。我寫這本書的意義是雙重的:既為了自己學(xué)習(xí),也為了與他人分享新知識。
我在德國慕尼黑大學(xué)獲得了統(tǒng)計學(xué)學(xué)士和碩士學(xué)位。我的機器學(xué)習(xí)知識大部分是通過網(wǎng)絡(luò)課程、競賽、項目和專業(yè)活動自學(xué)的。我的統(tǒng)計學(xué)背景是學(xué)習(xí)機器學(xué)習(xí)的極好基礎(chǔ),尤其是在可解釋性方面。在統(tǒng)計學(xué)中,一個主要的關(guān)注點是建立可解釋的回歸模型。在我取得統(tǒng)計學(xué)碩士學(xué)位后,我決定不去讀博士,因為我不喜歡寫論文,寫作給我的壓力太大了。因此,我在一家金融科技初創(chuàng)企業(yè)擔(dān)任數(shù)據(jù)科學(xué)家,并在臨床研究中擔(dān)任統(tǒng)計學(xué)家。在工業(yè)界工作三年之后,我開始寫這本書。幾個月后,我開始攻讀可解釋機器學(xué)習(xí)的博士學(xué)位。這本書讓我重新找到了寫作的樂趣,重新激發(fā)了我對研究的熱情。
本書主要內(nèi)容
這本書涵蓋了可解釋機器學(xué)習(xí)的許多技術(shù)。第1 章介紹了可解釋性的概念,并闡述了可解釋性的必要性,以及一些短篇故事。第2 章討論了解釋的不同性質(zhì),以及人類認為什么是好的解釋。第3 章介紹了本書中實驗用到的真實數(shù)據(jù)集。第4 章討論了內(nèi)在可解釋的機器學(xué)習(xí)模型,例如回歸模型和決策樹。第5 章討論了本書的主要焦點,即與模型無關(guān)的可解釋性方法。與模型無關(guān)意味著這些方法可以應(yīng)用于任何機器學(xué)習(xí)模型,并且是在模型訓(xùn)練完成后才應(yīng)用的。模型的獨立性使得這些與模型無關(guān)的方法非常靈活和強大。有些技術(shù)可以解釋單個實例預(yù)測是如何做出的,如局部代理和Shapley 值。還有一些技術(shù)描述模型在數(shù)據(jù)集的全局行為。我們將學(xué)習(xí)部分依賴圖、累積局部效應(yīng)圖、置換特征重要性和其他方法。第6 章討論了基于樣本的解釋方法,它生成數(shù)據(jù)點作為解釋,反事實解釋、原型、有影響力的實例和對抗樣本都是在本書中討論的基于樣本的解釋方法。第7 章提出了一些思考,即可解釋機器學(xué)習(xí)的未來可能會是什么樣子的。
如何閱讀本書
讀者不需要從頭到尾閱讀本書,可以集中精力在自己最感興趣的方法上。建議從引言和可解釋性開始閱讀。后面每一節(jié)著重于一種解釋方法:首先總結(jié)這種方法;然后試著不依賴數(shù)學(xué)公式直觀地描述它;最后詳細描述該方法的理論,得到一個深刻的理解。我認為,最好通過示例來理解一個新方法。因此,每種方法都運用在真實數(shù)據(jù)上。每一節(jié)還包含了對各自解釋方法優(yōu)缺點的討論,最后給出了每種方法的軟件實現(xiàn)。這本書可以幫助讀者選擇適合自己的應(yīng)用程序的解釋方法。
這本書已經(jīng)成為許多人的寶貴資源。教師使用這本書向?qū)W生介紹可解釋機器學(xué)習(xí)的概念。我收到了很多碩士研究生和博士生的郵件,告訴我這本書是他們論文的起點和重要的參考。這本書幫助生物、金融、心理等領(lǐng)域的應(yīng)用研究人員使用機器學(xué)習(xí)來理解他們的數(shù)據(jù)。工業(yè)界的數(shù)據(jù)科學(xué)家告訴我,他們在工作中使用并向同事推薦這本書。我很高興許多人能從本書中受益,成為模型解釋方面的專家。
我希望把這本書推薦給那些想要了解一些技術(shù)的從業(yè)者,以使他們的機器學(xué)習(xí)模型更具可解釋性。同時,也推薦給對這個主題感興趣的學(xué)生和研究人員。若要從這本書中受益,應(yīng)該對機器學(xué)習(xí)和數(shù)學(xué)公式有基本的了解,即使在沒有足夠數(shù)學(xué)知識的情況下,也應(yīng)該能夠理解每一節(jié)開頭對方法的直觀描述。
希望你能喜歡這本書!
Christoph Molnar
譯者序
機器學(xué)習(xí)的研究者們始終存在一種擔(dān)憂——人類無法理解現(xiàn)在的復(fù)雜模型的決策。即便機器學(xué)習(xí)在圖像、自然語言和語音等領(lǐng)域有了極高的性能,但我們?nèi)匀粚@些預(yù)測心存戒備。這正是因為我們不了解這些模型的預(yù)測依據(jù)是什么,也不知道它們會在什么時候出現(xiàn)錯誤。正因如此,這些復(fù)雜模型難以部署到高風(fēng)險決策的領(lǐng)域中,例如醫(yī)療、法律、軍事、金融,等等。因此,我們亟須找到方法去解釋這些模型,建立人與模型之間的信任。這便是可解釋機器學(xué)習(xí)如此重要的原因。
為什么翻譯本書
盡管可解釋性的重要性不言而喻,但相關(guān)書籍卻一直空缺。本書是少有的系統(tǒng)性地整理可解釋性工作的圖書。書中每節(jié)介紹一種解釋方法,既通過通俗易懂的語言直觀地描述這種方法,也通過數(shù)學(xué)公式詳細地介紹方法的理論,無論是對技術(shù)從業(yè)者還是對研究人員均大有裨益。同時,書中將每種方法都在真實數(shù)據(jù)上進行了測試,我認為這是本書最大的特色,因為只有將方法落實到數(shù)據(jù)上進行實驗,才能讓人們真正理解這種方法。最后,書中對每種方法的優(yōu)缺點都做了批判性討論,這同樣是非常值得閱讀的地方。
本書的英文版Interpretable Machine Learning由Christoph 所寫。英文版出版后就備受關(guān)注,廣受讀者喜愛。讓知識真正普及的方法一定是先讓知識能傳播,但這需要有人去推動才行。我看到這本書的原文后,覺得值得花時間去翻譯,不僅因為可解釋性領(lǐng)域的重要性以及它是第一本相關(guān)圖書,而且因為它符合我對好書的定義。我認為一本好書既能讓知識傳遞,又能讓讀者讀完后豁然開朗。從那之后,我便開始專注于譯本,翻譯過程耗時很久。在翻譯過程中,我與Christoph 一直保持交流。我沉浸于此書的譯本,既是因為可解釋性是我研究和喜歡的領(lǐng)域,也是因為我熱愛這件事,我喜歡將自己的時間和精力都專注在自己熱愛的事情上。
出版過程與致謝
完成本書譯稿后,我便將它放到了GitHub 上。在剛放出內(nèi)容時,便登上了GitHub 熱榜榜首,被諸多公眾號和媒體轉(zhuǎn)載。雖然我在翻譯時力求忠于原文、表達簡練,但譯稿中難免有不足與錯誤,因此我對譯稿進行了反復(fù)修訂。在完成譯稿的過程中,電子工業(yè)出版社博文視點的宋亞東編輯幫助了我,他的熱情和敬業(yè)真的感染了我。他對譯稿進行了全面細致的校對,提出了極多寶貴的意見,在此表示由衷的感謝。
感謝為本書做出貢獻的劉蕊,在翻譯過程中幫助了我。
感謝謝志鵬老師給我的指導(dǎo)和幫助。
感謝好友李映江全程給予我的支持和幫助。
感謝通過郵件等方式告訴我書中錯誤與疏漏之處的朋友們,因為有你們的幫助才能有本書最終的譯稿。
由于水平有限,書中不足之處在所難免,敬請專家和讀者批評指正。
朱明超