模型可解釋性差?你考慮了各種不確定性了嗎?

2020-12-13 雷鋒網

雷鋒網(公眾號:雷鋒網) AI 科技評論按:本文作者是來自 Taboola 的數據科學家 Inbar Naor,她的研究領域是探索深度學習在推薦系統中的應用,在本文作者介紹了數據科學中模型不確定性的問題,並探索了如何利用不確定性來調試模型。雷鋒網 AI 科技評論根據原文進行了編譯。

當深度神經網絡(DNN)變得越來越強大的時候,它們的複雜性也在一併與日俱增,而這種複雜性也給研究員帶來了一系列新的挑戰,其中就包括模型的可解釋性。

可解釋性對於構建更加強大且具有抵抗對抗性攻擊能力的模型而言至關重要。此外,當我們需要為一個全新的、還未得到深入研究的領域設計模型時,如果我們能夠解釋模型的運行機制,這將有助於我們更好地去設計和分析模型。

在過去幾年裡,因為意識到了模型可解釋性的重要作用,研究員們已經研究出了好幾種方法,並且在去年的 NIPS 會議中也有一個專門的研究展示會(workshop) 負責討論相關主題。提供模型可解釋性的方法包括:

不過在開始深入探究如何使用不確定性來調試和解釋模型之前,讓我們先來理解為什麼不確定性如此重要。

為何我們需要關注不確定性?

一個顯著的例子就是高風險應用。假設你正在設計一個模型,用以輔助醫生決定患者的最佳治療方案。在這種情況下,我們不僅要關注模型預測結果的準確性,還要關注模型對預測結果的確定性程度。如果結果的不確定性過高,那麼醫生應該進行慎重考慮。

自動駕駛汽車是另外一個有趣的例子。當模型不確定道路上是否有行人時,我們可以使用此信息來減慢車速或者是觸發警報,以便於駕駛員進行處理。

不確定性也可以幫助我們解決因為數據樣本(Data examples)而導致的問題。如果模型沒有學習過與目標樣本相似的數據,那麼它對目標樣本的預測結果最好是「對不起,我不清楚」。這樣就可以避免諸如谷歌照片之前將非洲裔美國人誤認為大猩猩這樣的尷尬錯誤。這種錯誤有時是因為訓練集不夠多樣化而導致的。

不確定性的最後一種應用方式是,它可以作為從業者調試模型的工具,而這也是本文的重點。我們稍後會深入探討這個問題,但是在這之前,讓我們先來了解一下不同類型的不確定性。

不確定性的類型

當前存在有不同類型的不確定性和建模方式,並且每種都有不同的用途。

模型不確定性,也就是認知不確定性(Epistemic uncertainty):假設你只有一個數據點,並且你還想知道哪種線性模型最能解釋你的數據。但實際情況是,這時你是無法確定哪條線是正確的——我們需要更多的數據!

左邊:數據不足導致了高度不確定性。右邊:數據越多不確定性越小。

認知不確定性解釋了模型參數的不確定性。我們並不確定哪種模型權重能夠最好地描述數據,但是擁有更多的數據卻能降低這種不確定性。這種不確定性在高風險應用和處理小型稀疏數據時非常重要。

舉個例子,假設你想要建立一個能夠判斷輸入圖像中的動物是否有可能會吃掉你的模型。然後你的模型只在包含了獅子和長頸鹿的數據集上進行訓練,而現在給出一張殭屍的圖片作為輸入。由於該模型沒有學習過殭屍的圖片,因此預測結果的不確定性會很高。這種不確定性屬於模型的結果,然後如果你在數據集中給出了更多的殭屍圖片,那麼模型的不確定性將會降低。

數據不確定性或者稱為隨機不確定性(Aleatoric uncertainty),指的是觀測中固有的噪音。有時事件本身就是隨機的,所以在這種情況下,獲取更多的數據對我們並沒有幫助,因為噪聲屬於數據固有的。

為了理解這一點,讓我們回到判別食肉動物的模型中。我們的模型可以判斷出一張圖像中存在獅子,因此會預測出你可能被吃掉。但是,如果獅子現在並不餓呢?這種不確定性就來自於數據。另一個例子則是,有兩條看起來一樣的蛇,但是其中一條有毒,另一條則沒有毒。

隨機不確定性可以分為兩類:

  1. 同方差不確定性(Homoscedastic uncertainty):這時所有輸入具有相同的不確定性。

  2. 異方差不確定性(Heteroscedastic uncertainty):這種不確定性取決於具體的輸入數據。例如,對於預測圖像中深度信息的模型,毫無特徵的平面牆(Featureless wall)將比擁有強消失線(Vanishing lines)的圖像具有更高的不確定性。

測量不確定性(Measurement uncertainty):另一個不確定性的來源是測量本身。當測量存在噪聲時,不確定性將增加。在上述判別食肉動物的模型中,如果某些圖像是通過質量較差的攝像機拍攝的話,那麼就有可能會損害模型的置信度。或者在拍攝一隻憤怒河馬的過程中,由於我們是邊跑邊拍的,結果導致了成像模糊。

標籤噪聲(Noisy labels):在監督學習中我們使用標籤來訓練模型。而如果標籤本身帶有噪聲,那麼不確定性也會增加。

不過當前也存在許多方法可以實現對各種類型的不確定性進行建模。這些方法將在本系列的後續文章中進行介紹。現在,假設有一個黑盒模型暴露了自己對預測結果的不確定性,那我們該如果藉助這點來調試模型呢?

讓我們以 Taboola 中的一個模型為例,該模型可用於預測用戶點擊某個推薦內容的可能性。

使用不確定性調試模型

該模型具有許多由嵌入向量表示的分類特徵,然而它卻難以學習稀有值的通用嵌入向量(Generalized embedding)。解決此問題的常用方法是,使用特殊的 Out of  Vocabulary(OOV) 嵌入向量。

想想一篇文章的廣告客戶,如果所有稀有的廣告客戶都共享同一個 OOV 嵌入向量,那麼從模型的角度來看,它們基本上就是同一個廣告客戶。此 OOV 廣告客戶有許多不同的商品,每個商品都有不同的點擊通過率(CTR)。如果我們僅使用廣告客戶作為點擊通過率的預測因子,那麼 OOV 將產生很高的不確定性。

為了驗證模型輸出 OOV 的高度不確定性,我們採用了驗證集並將所有廣告客戶嵌入向量轉換為 OOV。接下來,我們檢查了向量轉換前後模型的不確定性。正如預期那樣,由於向量的轉換,模型的不確定性增加了。如果給予信息豐富的廣告客戶嵌入向量,該模型的不確定性將降低。

我們可以針對不同的特徵重複這一點,然後找出那些在採用 OOV 嵌入向量替換時導致較低不確定性的特徵。這些特徵都是不提供信息的,或者是因為我們將它們提供給模型的方式不對。

我們甚至可以採用更精細的粒度:某些廣告客戶在不同商品的點擊通過率之間存在著較高的可變性,而其他廣告客戶的點擊通過率則大致相同。我們希望該模型對第一類廣告客戶具有更高的不確定性。因此,一種有用的分析策略是,關注廣告客戶中不確定性和點擊通過率可變性之間的相關性。如果相關性不是正的,則意味著模型未能了解與每個廣告客戶相關聯的不確定性。該工具允許我們了解訓練過程或模型架構中是否出了問題,並指示我們是否應該進一步調試它。

我們可以執行類似的分析,然後看看與特定事項相關的不確定性是否會減少我們展示它的次數(即向更多的用戶/地方展示)。同樣,我們希望模型變得更加確定,如果模型依然不確定,我們將繼續調試。

另一個很酷的例子就是標題特徵:帶有罕見詞彙的獨特標題應該會帶來很高的模型不確定性。這是由於模型缺乏相關學習經驗的結果。我們可以從驗證集中找出那些含有罕見詞彙的標題,並估計模型在這些標題上的不確定性。然後我們將使用其中一個標題重新訓練模型,再觀察模型在這些標題上的不確定性是否有所降低。從下面圖表中我們能夠獲得更好的了解。

結束語

不確定性在許多領域都是一個大問題。在特定任務中明晰問題屬於哪種類型的不確定性很重要的。一旦你知道如何建模,就可以通過各種方式使用它們。在這篇文章中,我們討論了如何使用它們來調試模型。在下一篇文章中,我們將討論從模型中獲得不確定性估計的不同方法。

Via 《Using Uncertainty to Interpret your Model》,由雷鋒網 AI 科技評論編譯。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 憑什麼相信你,我的CNN模型?關於CNN模型可解釋性的思考
    大家不妨思考下,假如我們手裡現在有一家醫院所有醫生和護士的照片,我們希望訓練出一個圖片分類模型,能夠準確的區分出醫生和護士。當模型訓練完成之後,準確率達到了99%,你認為這個模型可靠不可靠呢?大家可以自己考慮下這個問題。好在學術界的一直有人關注著這個問題,並引申出一個很重要的分支,就是模型的可解釋性問題。
  • 深度|如何在 CV 模型的性能和可解釋性之間尋求平衡?
    先前我還沒有做過太多的關於可解釋性的工作,最近對這個問題很感興趣,在探索的過程中分享一下我的一些個人看法。首先我們考慮一個非常古老的視覺問題:從星圖預測天體的軌跡。可以說幾千年來我們的目標是構造一個可解釋模型去解釋天體的運動。
  • 相信你的模型:初探機器學習可解釋性研究進展
    如圖 1 的 output 所示,為一般網絡給出的決策,缺乏可解釋性的結果讓使用者感到困惑,嚴重限制了其在現實任務中的廣泛應用。圖 1 如今的深度學習 [1] 所以為了提高機器學習模型的可解釋性和透明性,使用戶和決策模型之間建立信任關係,近年來學術界進行了廣泛和深入的研究並提出了可解釋的機器學習模型。
  • 深度學習的可解釋性研究(一):讓模型「說人話」
    總結一下就是「說人話」,「說人話」,「說人話」,不以人類可以理解的方式給出的解釋都叫耍流氓,記住這三個字,你就差不多把握了可解釋性的精髓所在。我們為什麼需要可解釋性?從中是不是可以幫助我們發現一些潛在的關聯,比如我想基於深度學習模型開發一個幫助醫生判定病人風險的應用,除了最終的判定結果之外,我可能還需要了解模型產生這樣的判定是基於病人哪些因素的考慮。如果一個模型完全不可解釋,那麼在很多領域的應用就會因為沒辦法給出更多可靠的信息而受到限制。這也是為什麼在深度學習準確率這麼高的情況下,仍然有一大部分人傾向於應用可解釋性高的傳統統計學模型的原因。
  • 如何通過抽樣分布估計你的模型的不確定性
    雖然我們知道使用小數據集會導致模型在訓練期間快速過擬合,但還有一個經常很少討論的問題,即模型性能的不確定性問題。在這篇文章中,我將演示如何評估模型性能的不確定性,以及數據集的大小如何影響它。性能不確定性的出現是因為你在測試集上評估模型,而測試集通常是從初始數據集中隨機抽取的樣本。
  • 淺談機器學習模型的可解釋性和透明性
    打開APP 淺談機器學習模型的可解釋性和透明性 YuZhang 發表於 2021-01-05 14:02:28 XAI 主要解決以下問題
  • 一文讀懂可解釋機器學習簡史,讓你的模型再也不是「Black Box」
    最近,arXiv上的一篇論文簡要介紹了解釋機器學習(IML)領域的歷史,給出了最先進的可解釋方法的概述,並討論了遇到的挑戰。 當機器學習模型用在產品、決策或者研究過程中的時候,「可解釋性」通常是一個決定因素。
  • 【NIPS2019】Infidelity and Sensitivity:模型可解釋性方法的定量評估
    NIPS2019的一篇模型可解釋性文章,文章主要是提出了模型可解釋性方法的兩個定量評估指標Infidelity和Sensitivity,同時給出了Infidelity與Sensitivity約束下的最佳可解釋性方法。
  • 深度學習的可解釋性!
    當模型的決策和預測結果對用戶的生活會產生重要影響時,對模型的可解釋性與用戶對模型的信任程度息息相關。例如,對於醫療、自動駕駛等與人們的生命健康緊密相關的任務,以及保險、金融、理財、法律等與用戶財產安全相關的任務,用戶往往需要模型具有很強的可解釋性才會謹慎地採用該模型。
  • 用Skater來解讀預測性模型:解密模型的隱秘
    數據科學家Cathy O』Neil最近寫了一整本書,其中充滿了可解釋性差的例子作為警告,希望引起那些對不恰當模型可能會帶來的潛在的社會衝突的重視。這些模型的例子有在刑事判決中模型的偏見或在構建財務模型時使用帶有人為偏見的虛擬特徵。圖1 傳統的解釋預測模型的方法還不夠好。
  • 模型可解釋–SHAP
    「在當今的信息安全、醫療等數據挖掘的應用領域中,模型的可解釋性和精度是同等的重要。眾所周知,精度較高的模型,如集成模型,深度學習模型等,內部結構複雜多變,不能直觀理解。SHAP,作為一種經典的事後解釋框架,可以對每一個樣本中的每一個特徵變量,計算出其重要性值,達到解釋的效果。該值在 SHAP 中被專門稱為 Shapley Value。
  • ...一種考慮可再生能源不確定性的分布式儲能電站選址定容規劃方法
    【光伏儲能】一種考慮可再生能源不確定性的分布式儲能電站選址定容規劃方法北極星太陽能光伏網訊:摘要:當配電網的負荷峰谷差較大時可利用BESS實現削峰填谷,解決大規模可再生能源消納和儲能電站接入電網中其投資成本和運行成本過高的問題,有效提高配電系統整體的經濟性;且在電網中接入儲能系統在一定程度上可降低網絡損耗
  • 「精品」機器學習模型可解釋的重要及必要性
    導語:不管你是管理自己的資金還是客戶資金,只要你在做資產管理,每一步的投資決策都意義重大,做技術分析或基本面分析的朋友很清楚地知道每一個決策的細節,但是通過機器學習、深度學習建模的朋友可能就會很苦惱,因為直接產出決策信號的模型可能是個黑盒子,很難明白為什麼模型會產出某一個信號,甚至很多保守的私募基金把模型的可解釋性放入了事前風控。
  • 可解釋的深度學習模型N-BEATS
    從完整的名字中我留意到了一個很關鍵的詞「INTERPRETABLE」,也就是可解釋。神經網絡模型(以及深度學習),對其在回歸方面我一直比較慎用,主要還是難以解釋的緣故。這一點我在最近的關於鍾南山院士團隊新論文感觸的原創文章裡,就曾表達過關於神經網絡算法的態度:因為複雜且很難解釋,當要指導廣大沒有基礎的用戶使用的時候,還不如選擇更經典的可解釋的模型。
  • 谷歌大腦提出概念激活向量,助力神經網絡可解釋性研究
    可解釋性仍然是現代深度學習應用的最大挑戰之一。計算模型和深度學習研究領域近期取得了很大進展,創建了非常複雜的模型,這些模型可以包括數千個隱藏層、數千萬神經元。雖然創建高級深度神經網絡相對簡單,但理解如何創建這些模型以及它們如何使用知識仍然是一個挑戰。
  • 注意力機制可解釋嗎?
    這是最原始的Attention的形式,對其可解釋性的實驗測試也是在這一模型的基礎上進行的。關於可解釋性有多種定義,大部分相關文章論證的差異往往就從這裡開始,進而導出不同的結論。可解釋性的概念上的共識基本可以這樣描述:如果一個模型是可解釋的,人是可以理解這個模型的,分為兩個方面,一是模型對人是透明(transparency)[9]的,可以在模型對具體任務訓練之前就預測到對應的參數以及模型決策,二是模型做出一個決策之後,人類可以理解這一決策的原因。
  • 獨家 | 在R中使用LIME解釋機器學習模型
    現在,我意識到,能向一個對機器學習或其他領域的行話不太了解的外行解釋你的預測和模型才更有意義。考慮一下這個場景——你的問題陳述涉及預測患者是否患有癌症。千辛萬苦,你獲得和清理了數據、為它構建了模型,並經過大量的努力、實驗和超參數調整,你達到了90%以上的精度。太棒了!你走到醫生跟前告訴他,你可以90%肯定地預測病人是否得了癌症。
  • 【可解釋學習】利用SHAP對分子活性預測機器學習模型進行解釋
    文章利用可解釋學習方法SHAP(SHapley Additive exPlanation)對基於複雜機器學習模型的分子活性預測模型進行解釋,嘗試打開「黑箱」。但是,機器學習模型的難以解釋的特性一直為人們所詬病,尤其是預測精度高的模型往往複雜度更高和規模更大,解釋性(Interpretability)更差。而對於QSAR模型,其中分子結構與活性的關係比起普通的圖像識別任務中標籤和圖片關係更難以理解,這增加了解釋模型的難度。這些複雜的機器學習模型的解釋有著重要的意義,可以提高模型與真實實驗符合程度從而提升模型性能,以及輔助分子作用機理的探索等。
  • ML 模型不等於「黑盒」:explainable AI 可解釋的人工智慧
    通常,運用機器學習模型時,首先需要確定誤差函數或者損失函數,通過真實數據和預測數據之間的距離來反映模型的性能。但是誤差函數或者損失函數可以說明一切嗎?模型可能表現出較低誤差或損失,但是仍然具有一定的偏差,可能不時產生一些奇怪的預測結果。
  • LIME:一種解釋機器學習模型的方法
    現在很多前沿的機器學習模型還是一個黑盒,幾乎無法去感知它的內部工作狀態。這就給我們帶來了可信度的問題:我該相信那個模型的某個預測結果是正確的嗎?或者說我該相信那個模型的預測結果普遍都是合理的嗎?圍棋遊戲的賭注還是小事,如果讓計算機取代醫生可算一件大事了,或者讓計算機判斷我是不是恐怖分子嫌疑人(《疑犯追蹤》)。