本文爲 BIGSCity 的知乎專欄內容,做者王小賤。北航智慧城市興趣組 BIGSCITY是隸屬於北京航空航天大學計算機學院的一個學術研究小組,小組致力於研究機器學習與數據挖掘在城市科學、社會科學等領域的交叉應用技術。AI 科技評論得到 BIGSCity 受權轉載,敬請期待更多後續內容。安全
很是開心本文成爲 BIGSCity 興趣組的第一篇投稿,《深度學習的可解釋性研究》系列預計包含 3-4 篇內容,用盡量淺顯的語言帶領你們瞭解可解釋性的概念與方法以及關於深度學習可解釋性工做的研究成果,不按期更新內容(歡迎催更)。網絡
可解釋性是什麼?機器學習
廣義上的可解釋性指在咱們須要瞭解或解決一件事情的時候,咱們能夠得到咱們所須要的足夠的能夠理解的信息。好比咱們在調試 bug 的時候,須要經過變量審查和日誌信息定位到問題出在哪裏。好比在科學研究中面臨一個新問題的研究時,咱們須要查閱一些資料來了解這個新問題的基本概念和研究現狀,以得到對研究方向的正確認識。反過來理解,若是在一些情境中咱們沒法獲得相應的足夠的信息,那麼這些事情對咱們來講都是不可解釋的。好比劉慈欣的短篇《朝聞道》中霍金提出的「宇宙的目的是什麼」這個問題一會兒把無所不知的排險者卡住了,由於再高等的文明都沒辦法理解和掌握造物主創造宇宙時的所有信息,這些終極問題對咱們來講永遠都是不可解釋的。函數
而具體到機器學習領域來講,以最用戶友好的決策樹模型爲例,模型每做出一個決策都會經過一個決策序列來向咱們展現模型的決策依據:好比男性&未婚&博士&禿頭的條件對應「不感興趣」這個決策,並且決策樹模型自帶的基於信息理論的篩選變量標準也有助於幫助咱們理解在模型決策產生的過程當中哪些變量起到了顯著的做用。因此在必定程度上,咱們認爲決策樹模型是一個具備比較好的可解釋性的模型,在之後的介紹中咱們也會講到,以決策樹爲表明的規則模型在可解釋性研究方面起到了很是關鍵的做用。再以用戶最不友好的多層神經網絡模型爲例,模型產生決策的依據是什麼呢?大概是以好比 1/(e^-(2*1/(e^(-(2*x+y))+1) + 3*1/(e^(-(8*x+5*y))+1))+1) 是否大於 0.5 爲標準(這已是最簡單的模型結構了),這一連串的非線性函數的疊加公式讓人難以直接理解神經網絡的「腦回路」,因此深度神經網絡習慣性被你們認爲是黑箱模型。學習
17 年 ICML 的 Tutorial 中給出的一個關於可解釋性的定義是:人工智能
Interpretation is the process of giving explanations to Human.調試
總結一下就是「說人話」,「說人話」,「說人話」,不以人類能夠理解的方式給出的解釋都叫耍流氓,記住這三個字,你就差很少把握了可解釋性的精髓所在。日誌
咱們爲何須要可解釋性?圖片
廣義上來講咱們對可解釋性的需求主要來源於對問題和任務瞭解得還不夠充分。具體到深度學習/機器學習領域,就像咱們上文提到的多層神經網絡存在的問題,儘管高度的非線性賦予了多層神經網絡極高的模型表示能力,配合一些堪稱現代煉丹術的調參技術能夠在不少問題上達到很是喜人的表現,你們若是常常關注 AI 的頭條新聞,那些機器學習和神經網絡難以想象的最新突破甚至常常會讓人產生 AI 立刻要取代人類的恐懼和幻覺。但正如近日貝葉斯網絡的創始人 Pearl 所指出的,「幾乎全部的深度學習突破性的本質上來講都只是些曲線擬合罷了」,他認爲今天人工智能領域的技術水平只不過是上一代機器已有功能的加強版。雖然咱們造出了準確度極高的機器,但最後只能獲得一堆看上去毫無心義的模型參數和擬合度很是高的斷定結果,但實際上模型自己也意味着知識,咱們但願知道模型究竟從數據中學到了哪些知識(以人類能夠理解的方式表達的)從而產生了最終的決策。從中是否是能夠幫助咱們發現一些潛在的關聯,好比我想基於深度學習模型開發一個幫助醫生斷定病人風險的應用,除了最終的斷定結果以外,我可能還須要瞭解模型產生這樣的斷定是基於病人哪些因素的考慮。若是一個模型徹底不可解釋,那麼在不少領域的應用就會由於沒辦法給出更多可靠的信息而受到限制。這也是爲何在深度學習準確率這麼高的狀況下,仍然有一大部分人傾向於應用可解釋性高的傳通通計學模型的緣由。開發
不可解釋一樣也意味着危險,事實上不少領域對深度學習模型應用的顧慮除了模型自己沒法給出足夠的信息以外,也有或多或少關於安全性的考慮。好比,下面一個很是經典的關於對抗樣本的例子,對於一個 CNN 模型,在熊貓的圖片中添加了一些噪聲以後卻以 99.3% 的機率被斷定爲長臂猿。