創(chuàng)澤機(jī)器人 |
CHUANGZE ROBOT |
廣義上的可解釋性指在我們需要了解或解決一件事情的時(shí)候,我們可以獲得我們所需要的足夠的可以理解的信息。比如我們?cè)谡{(diào)試bug的時(shí)候,需要通過變量審查和日志信息定位到問題出在哪里。比如在科學(xué)研究中面臨一個(gè)新問題的研究時(shí),我們需要查閱一些資料來了解這個(gè)新問題的基本概念和研究現(xiàn)狀,以獲得對(duì)研究方向的正確認(rèn)識(shí)。反過來理解,如果在一些情境中我們無法得到相應(yīng)的足夠的信息,那么這些事情對(duì)我們來說都是不可解釋的。比如劉慈欣的短篇《朝聞道》中霍金提出的“宇宙的目的是什么”這個(gè)問題一下子把無所不知的排險(xiǎn)者卡住了,因?yàn)樵俑叩鹊奈拿鞫紱]辦法理解和掌握造物主創(chuàng)造宇宙時(shí)的全部信息,這些終極問題對(duì)我們來說永遠(yuǎn)都是不可解釋的。
而具體到機(jī)器學(xué)習(xí)領(lǐng)域來說,以最用戶友好的決策樹模型為例,模型每作出一個(gè)決策都會(huì)通過一個(gè)決策序列來向我們展示模型的決策依據(jù):比如男性&未婚&博士&禿頭的條件對(duì)應(yīng)“不感興趣”這個(gè)決策,而且決策樹模型自帶的基于信息理論的篩選變量標(biāo)準(zhǔn)也有助于幫助我們理解在模型決策產(chǎn)生的過程中哪些變量起到了顯著的作用。所以在一定程度上,我們認(rèn)為決策樹模型是一個(gè)具有比較好的可解釋性的模型,在以后的介紹中我們也會(huì)講到,以決策樹為代表的規(guī)則模型在可解釋性研究方面起到了非常關(guān)鍵的作用。再以用戶最不友好的多層神經(jīng)網(wǎng)絡(luò)模型為例,模型產(chǎn)生決策的依據(jù)是什么呢?大概是以比如 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大于0.5為標(biāo)準(zhǔn)(這已經(jīng)是最簡(jiǎn)單的模型結(jié)構(gòu)了),這一連串的非線性函數(shù)的疊加公式讓人難以直接理解神經(jīng)網(wǎng)絡(luò)的“腦回路”,所以深度神經(jīng)網(wǎng)絡(luò)習(xí)慣性被大家認(rèn)為是黑箱模型。
17年ICML的Tutorial中給出的一個(gè)關(guān)于可解釋性的定義是:
Interpretation is the process of giving explanations to Human.
總結(jié)一下就是“說人話”,“說人話”,“說人話”,不以人類可以理解的方式給出的解釋都叫耍流氓,記住這三個(gè)字,你就差不多把握了可解釋性的精髓所在。
2. 我們?yōu)槭裁葱枰山忉屝裕?
廣義上來說我們對(duì)可解釋性的需求主要來源于對(duì)問題和任務(wù)了解得還不夠充分。具體到深度學(xué)習(xí)/機(jī)器學(xué)習(xí)領(lǐng)域,就像我們上文提到的多層神經(jīng)網(wǎng)絡(luò)存在的問題,盡管高度的非線性賦予了多層神經(jīng)網(wǎng)絡(luò)極高的模型表示能力,配合一些堪稱現(xiàn)代煉丹術(shù)的調(diào)參技術(shù)可以在很多問題上達(dá)到非常喜人的表現(xiàn),大家如果經(jīng)常關(guān)注AI的頭條新聞,那些機(jī)器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)不可思議的最新突破甚至經(jīng)常會(huì)讓人產(chǎn)生AI馬上要取代人類的恐懼和幻覺。但正如近日貝葉斯網(wǎng)絡(luò)的創(chuàng)始人Pearl所指出的,“幾乎所有的深度學(xué)習(xí)突破性的本質(zhì)上來說都只是些曲線擬合罷了”,他認(rèn)為今天人工智能領(lǐng)域的技術(shù)水平只不過是上一代機(jī)器已有功能的增強(qiáng)版。雖然我們?cè)斐隽藴?zhǔn)確度極高的機(jī)器,但最后只能得到一堆看上去毫無意義的模型參數(shù)和擬合度非常高的判定結(jié)果,但實(shí)際上模型本身也意味著知識(shí),我們希望知道模型究竟從數(shù)據(jù)中學(xué)到了哪些知識(shí)(以人類可以理解的方式表達(dá)的)從而產(chǎn)生了最終的決策。從中是不是可以幫助我們發(fā)現(xiàn)一些潛在的關(guān)聯(lián),比如我想基于深度學(xué)習(xí)模型開發(fā)一個(gè)幫助醫(yī)生判定病人風(fēng)險(xiǎn)的應(yīng)用,除了最終的判定結(jié)果之外,我可能還需要了解模型產(chǎn)生這樣的判定是基于病人哪些因素的考慮。如果一個(gè)模型完全不可解釋,那么在很多領(lǐng)域的應(yīng)用就會(huì)因?yàn)闆]辦法給出更多可靠的信息而受到限制。這也是為什么在深度學(xué)習(xí)準(zhǔn)確率這么高的情況下,仍然有一大部分人傾向于應(yīng)用可解釋性高的傳統(tǒng)統(tǒng)計(jì)學(xué)模型的原因。
不可解釋同樣也意味著危險(xiǎn),事實(shí)上很多領(lǐng)域?qū)ι疃葘W(xué)習(xí)模型應(yīng)用的顧慮除了模型本身無法給出足夠的信息之外,也有或多或少關(guān)于安全性的考慮。比如,下面一個(gè)非常經(jīng)典的關(guān)于對(duì)抗樣本的例子,對(duì)于一個(gè)CNN模型,在熊貓的圖片中添加了一些噪聲之后卻以99.3%的概率被判定為長(zhǎng)臂猿。
在熊貓圖片中加入噪聲,模型以99.3%的概率將圖片識(shí)別為長(zhǎng)臂猿
事實(shí)上其他一些可解釋性較好的模型面對(duì)的對(duì)抗樣本問題可能甚至比深度學(xué)習(xí)模型更多,但具備可解釋性的模型在面對(duì)這些問題的時(shí)候是可以對(duì)異常產(chǎn)生的原因進(jìn)行追蹤和定位的,比如線性回歸模型中我們可以發(fā)現(xiàn)某個(gè)輸入?yún)?shù)過大/過小導(dǎo)致了最后判別失常。但深度學(xué)習(xí)模型很難說上面這兩幅圖到底是因?yàn)槟男﹨^(qū)別導(dǎo)致了判定結(jié)果出現(xiàn)了如此大的偏差。盡管關(guān)于對(duì)抗樣本的研究最近也非;馃,但依然缺乏具備可解釋性的關(guān)于這類問題的解釋。
當(dāng)然很多學(xué)者對(duì)可解釋性的必要性也存有疑惑,在NIPS 2017會(huì)場(chǎng)上,曾進(jìn)行了一場(chǎng)非常激烈火爆的主題為“可解釋性在機(jī)器學(xué)習(xí)中是否必要”的辯論,大家對(duì)可解釋性的呼聲還是非常高的。但人工智能三巨頭之一的Yann LeCun卻認(rèn)為:人類大腦是非常有限的,我們沒有那么多腦容量去研究所有東西的可解釋性。有些東西是需要解釋的,比如法律,但大多數(shù)情況下,它們并沒有你想象中那么重要。比如世界上有那么多應(yīng)用、網(wǎng)站,你每天用Facebook、Google的時(shí)候,你也沒想著要尋求它們背后的可解釋性。LeCun也舉了一個(gè)例子:他多年前和一群經(jīng)濟(jì)學(xué)家也做了一個(gè)模型來預(yù)測(cè)房?jī)r(jià)。第一個(gè)用的簡(jiǎn)單的線性于猜測(cè)模型,經(jīng)濟(jì)學(xué)家也能解釋清楚其中的原理;第二個(gè)用的是復(fù)雜的神經(jīng)網(wǎng)絡(luò),但效果比第一個(gè)好上不少。結(jié)果,這群經(jīng)濟(jì)學(xué)家想要開公司做了。你說他們會(huì)選哪個(gè)?LeCun表示,任何時(shí)候在這兩種里面選擇都會(huì)選效果好的。就像很多年里雖然我們不知道藥物里的成分但一直在用一樣。
但是不可否認(rèn)的是,可解釋性始終是一個(gè)非常好的性質(zhì),如果我們能兼顧效率、準(zhǔn)確度、說人話這三個(gè)方面,具備可解釋性模型將在很多應(yīng)用場(chǎng)景中具有不可替代的優(yōu)勢(shì)。
3. 有哪些可解釋性方法?
我們之前也提到機(jī)器學(xué)習(xí)的目的是從數(shù)據(jù)中發(fā)現(xiàn)知識(shí)或解決問題,那么在這個(gè)過程中只要是能夠提供給我們關(guān)于數(shù)據(jù)或模型的可以理解的信息,有助于我們更充分地發(fā)現(xiàn)知識(shí)、理解和解決問題的方法,那么都可以歸類為可解釋性方法。如果按照可解釋性方法進(jìn)行的過程進(jìn)行劃分的話,大概可以劃分為三個(gè)大類:
1. 在建模之前的可解釋性方法
2. 建立本身具備可解釋性的模型
3. 在建模之后使用可解釋性方法對(duì)模型作出解釋
4. 在建模之前的可解釋性方法
這一類方法其實(shí)主要涉及一些數(shù)據(jù)預(yù)處理或數(shù)據(jù)展示的方法。機(jī)器學(xué)習(xí)解決的是從數(shù)據(jù)中發(fā)現(xiàn)知識(shí)和規(guī)律的問題,如果我們對(duì)想要處理的數(shù)據(jù)特征所知甚少,指望對(duì)所要解決的問題本身有很好的理解是不現(xiàn)實(shí)的,在建模之前的可解釋性方法的關(guān)鍵在于幫助我們迅速而全面地了解數(shù)據(jù)分布的特征,從而幫助我們考慮在建模過程中可能面臨的問題并選擇一種最合理的模型來逼近問題所能達(dá)到的最優(yōu)解。
數(shù)據(jù)可視化方法就是一類非常重要的建模前可解釋性方法。很多對(duì)數(shù)據(jù)挖掘稍微有些了解的人可能會(huì)認(rèn)為數(shù)據(jù)可視化是數(shù)據(jù)挖掘工作的最后一步,大概就是通過設(shè)計(jì)一些好看又唬人的圖表或來展示你的分析挖掘成果。但大多數(shù)時(shí)候,我們?cè)谡嬲芯恳粋(gè)數(shù)據(jù)問題之前,通過建立一系列方方面面的可視化方法來建立我們對(duì)數(shù)據(jù)的直觀理解是非常必須的,特別是當(dāng)數(shù)據(jù)量非常大或者數(shù)據(jù)維度非常高的時(shí)候,比如一些時(shí)空高維數(shù)據(jù),如果可以建立一些一些交互式的可視化方法將會(huì)極大地幫助我們從各個(gè)層次角度理解數(shù)據(jù)的分布,在這個(gè)方面我們實(shí)驗(yàn)室也做過一些非常不錯(cuò)的工作。
還有一類比較重要的方法是探索性質(zhì)的數(shù)據(jù)分析,可以幫助我們更好地理解數(shù)據(jù)的分布情況。比如一種稱為MMD-critic方法中,可以幫助我們找到數(shù)據(jù)中一些具有代表性或者不具代表性的樣本。
使用MMD-critic從Imagenet數(shù)據(jù)集中學(xué)到的代表性樣本和非代表性樣本(以兩種狗為例)
5. 建立本身具備可解釋性的模型
建立本身具備可解釋性的模型是我個(gè)人覺得是最關(guān)鍵的一類可解釋性方法,同樣也是一類要求和限定很高的方法,具備“說人話”能力的可解釋性模型大概可以分為以下幾種:
1. 基于規(guī)則的方法(Rule-based)
2. 基于單個(gè)特征的方法(Per-feature-based)
3. 基于實(shí)例的方法(Case-based)
4. 稀疏性方法(Sparsity)
5. 單調(diào)性方法(Monotonicity)
基于規(guī)則的方法比如我們提到的非常經(jīng)典的決策樹模型。這類模型中任何的一個(gè)決策都可以對(duì)應(yīng)到一個(gè)邏輯規(guī)則表示。但當(dāng)規(guī)則表示過多或者原始的特征本身就不是特別好解釋的時(shí)候,基于規(guī)則的方法有時(shí)候也不太適用。
基于單個(gè)特征的方法主要是一些非常經(jīng)典的線性模型,比如線性回歸、邏輯回歸、廣義線性回歸、廣義加性模型等,這類模型可以說是現(xiàn)在可解釋性最高的方法,可能學(xué)習(xí)機(jī)器學(xué)習(xí)或計(jì)算機(jī)相關(guān)專業(yè)的朋友會(huì)認(rèn)為線性回歸是最基本最低級(jí)的模型,但如果大家學(xué)過計(jì)量經(jīng)濟(jì)學(xué),就會(huì)發(fā)現(xiàn)大半本書都在討論線性模型,包括經(jīng)濟(jì)學(xué)及相關(guān)領(lǐng)域的論文其實(shí)大多數(shù)也都是使用線性回歸作為方法來進(jìn)行研究。這種非常經(jīng)典的模型全世界每秒都會(huì)被用到大概800多萬次。為什么大家這么青睞這個(gè)模型呢?除了模型的結(jié)構(gòu)比較簡(jiǎn)單之外,更重要的是線性回歸模型及其一些變種擁有非常solid的統(tǒng)計(jì)學(xué)基礎(chǔ),統(tǒng)計(jì)學(xué)可以說是最看重可解釋性的一門學(xué)科了,上百年來無數(shù)數(shù)學(xué)家統(tǒng)計(jì)學(xué)家探討了在各種不同情況下的模型的參數(shù)估計(jì)、參數(shù)修正、假設(shè)檢驗(yàn)、邊界條件等等問題,目的就是為了使得在各種不同情況下都能使模型具有有非常好的可解釋性,如果大家有時(shí)間有興趣的話,除了學(xué)習(xí)機(jī)器學(xué)習(xí)深度模型模型之外還可以盡量多了解一些統(tǒng)計(jì)學(xué)的知識(shí),可能對(duì)一些問題會(huì)獲得完全不一樣的思考和理解。
基于實(shí)例的方法主要是通過一些代表性的樣本來解釋聚類/分類結(jié)果的方法。比如下圖所展示的貝葉斯實(shí)例模型(Bayesian Case Model,BCM),我們將樣本分成三個(gè)組團(tuán),可以分別找出每個(gè)組團(tuán)中具有的代表性樣例和重要的子空間。比如對(duì)于下面第一類聚類來說,綠臉是具有代表性的樣本,而綠色、方塊是具有代表性的特征子空間。
使用BCM學(xué)到的分類及其對(duì)應(yīng)的代表性樣本和代表性特征子空間
基于實(shí)例的方法的一些局限在于可能挑出來的樣本不具有代表性或者人們可能會(huì)有過度泛化的傾向。
基于稀疏性的方法主要是利用信息的稀疏性特質(zhì),將模型盡可能地簡(jiǎn)化表示。比如如下圖的一種圖稀疏性的LDA方法,根據(jù)層次性的單詞信息形成了層次性的主題表達(dá),這樣一些小的主題就可以被更泛化的主題所概括,從而可以使我們更容易理解特定主題所代表的含義。
Graph-based LDA 中的主題層次結(jié)構(gòu)
基于單調(diào)性的方法:在很多機(jī)器學(xué)習(xí)問題中,有一些輸入和輸出之間存在正相關(guān)/負(fù)相關(guān)關(guān)系,如果在模型訓(xùn)練中我們可以找出這種單調(diào)性的關(guān)系就可以讓模型具有更高的可解釋性。比如醫(yī)生對(duì)患特定疾病的概率的估計(jì)主要由一些跟該疾病相關(guān)聯(lián)的高風(fēng)險(xiǎn)因素決定,找出單調(diào)性關(guān)系就可以幫助我們識(shí)別這些高風(fēng)險(xiǎn)因素。
6. 在建模之后使用可解釋性性方法作出解釋
建模后的可解釋性方法主要是針對(duì)具有黑箱性質(zhì)的深度學(xué)習(xí)模型而言的,主要分為以下幾類的工作:
1. 隱層分析方法
2. 模擬/代理模型
3. 敏感性分析方法
這部分是我們接下來介紹和研究的重點(diǎn),因此主要放在后續(xù)的文章中進(jìn)行講解,在本篇中不作過多介紹。
除了對(duì)深度學(xué)習(xí)模型本身進(jìn)行解釋的方法之外,也有一部分工作旨在建立本身具有可解釋性的深度學(xué)習(xí)模型,這和我們前面介紹通用的可解釋性模型有區(qū)別也有聯(lián)系,也放到后面的文章中進(jìn)行介紹。
參考文獻(xiàn)
[1] Google Brain, Interpretable Machine Learning: The fuss, the concrete and the questions.
[2] Kim B, Koyejo O, Khanna R, et al. Examples are not enough, learn to criticize! Criticism for Interpretability[C]. neural information processing systems, 2016: 2280-2288.
[3] Kim B, Rudin C, Shah J. The Bayesian Case Model: A Generative Approach for Case-Based Reasoning and Prototype Classification[J]. Computer Science, 2015, 3:1952-1960.
[4] Doshi-Velez F, Wallace B C, Adams R. Graph-sparse LDA: a topic model with structured sparsity[J]. Computer Science, 2014.
機(jī)器人招商 Disinfection Robot 機(jī)器人公司 機(jī)器人應(yīng)用 智能醫(yī)療 物聯(lián)網(wǎng) 機(jī)器人排名 機(jī)器人企業(yè) 機(jī)器人政策 教育機(jī)器人 迎賓機(jī)器人 機(jī)器人開發(fā) 獨(dú)角獸 消毒機(jī)器人品牌 消毒機(jī)器人 合理用藥 地圖 |