Deep Learning 101

Deep Learning 101, Taiwan’s pioneering and highest deep learning meetup, launched on 2016/11/11 @ 83F, Taipei 101

AI是一條孤獨且充滿惶恐及未知的旅程,花俏絢麗的收費課程或活動絕非通往成功的捷徑。
衷心感謝當時來自不同單位的AI同好參與者實名分享的寶貴經驗;如欲移除資訊還請告知。
TonTon Huang Ph.D. 發起,及其當時任職公司(台灣雪豹科技)無償贊助場地及茶水點心。

Deep Learning 101 Buy Me A Coffee

YouTube | Facebook | 回 GitHub Pages | 網站 | Hugging Face Space

2019/12/13, 何宗諭 (Jiero), Explainable Artificial Intelligence

可解釋性人工智慧

Explainable Artificial Intelligence (XAI)

2019/12/13 何宗諭 (Jiero)

Layer-wise Relevance Propagation (LRP) Understanding LRP

LRP 是一種模型歸因解釋方法,它的基本思想是將模型的最終預測相關性分數從輸出層反向傳播到輸入層 [1, 6, 7, 9]. 想像一下,模型的最後一層輸出一個分數(例如預測類別的機率),LRP 的目標是將這個分數的重要性或「相關性」一步步地分配回前一層的神經元,直到輸入層的每個特徵(例如圖片中的每個像素或文字中的每個詞)都獲得一個相關性分數 [7, 9]. 這個分數的大小代表了該輸入特徵對最終預測的貢獻程度 [7, 9].

LRP 的計算過程是層層回推的,需要知道模型的架構和權重 [6, 9]. 概念上是利用一個反向傳播的規則,將後一層的神經元相關性分配給前一層與其相連的神經元 [9, 12, 13]. 這個分配規則有多種變形,不同的規則會影響最終的解釋效果 [12-14]. 例如,它可以計算每個像素的貢獻值,並將其顯示在圖片上,通常用熱力圖 (heatmap) 的形式呈現,紅色表示正相關性(支持該預測),藍色表示負相關性(反對該預測),綠色或接近零的值表示影響較小 [7, 13].

然而,LRP 作為較早的方法,也存在一些限制。它對模型的架構比較敏感,有些非線性啟動函數可能會影響其反向傳播的計算 [9, 12]. 此外,如同 Sensitivity Analysis (SA) 這類基於梯度的早期方法一樣,LRP 的解釋效果也可能受到輸入雜訊的影響,有時生成的熱力圖可能比較分散或不夠聚焦 [7]. 儘管如此,LRP 在某些結構化的模型(如 CNN)上的應用已被證明是有效的 [9].

Local Interpretable Model-agnostic Explanations (LIME) Understanding LIME

LIME 是一種非常重要的後設解釋方法 [1, 6, 8, 15]. 它的核心思想是「局部近似」[1, 15]. 由於複雜模型在全域範圍內可能難以解釋,但 LIME 認為在一個特定預測的局部區域內,複雜模型的行為可以用一個簡單、可解釋的模型(如線性迴歸)來近似 [1, 15].

LIME 的工作原理如下:針對我們要解釋的特定輸入樣本和該樣本的預測結果,LIME 會在該樣本的「附近」生成一系列擾動過的樣本 [1, 15]. 例如,對於圖片,它可以將圖片分割成不同的區域(segments),然後隨機隱藏或保留這些區域來生成新的圖片 [10, 15]. 對於文本,它可以隨機移除或替換一些單詞或詞組 [1, 10]. 然後,將這些擾動後的樣本輸入到原始的「黑箱」模型中,獲取它們的預測結果 [15]. 接著,LIME 利用這些擾動樣本及其對應的預測結果,並根據擾動樣本與原始樣本的相似度給予不同的權重,來訓練一個簡單的可解釋模型(例如,一個基於少量特徵的線性模型)[1, 15]. 這個簡單模型學到的特徵權重就代表了原始模型在該局部區域內對該特定預測的決策邏輯 [1, 15].

LIME 的最大優點是它是模型無關的 (model-agnostic),可以用於解釋任何能夠給出預測概率或分數的模型 [1, 6, 15]. 並且它提供的是針對「單一預測」的「局部解釋」[3, 6, 15]. 這點非常重要,因為不同的輸入樣本即使被歸為同一類別,模型判斷的理由可能完全不同 [3, 16]. 例如,在 URL 惡意偵測案例中,LIME 可以幫助我們看到模型是基於 URL 中的哪些特定詞語或字串判斷其為惡意的 [5, 17, 18]. 這對於偵測資料集中的偏差尤其有效 [5, 8, 17-19]. 如果模型總是基於與惡意行為無關的詞語(如「login」)來判斷,我們就知道資料集中存在偏差,需要進行清洗或重新採樣 [5, 17, 18]. LIME 的視覺化通常會把對預測貢獻大的部分標示出來 [5, 15].

LIME 在應用於不同類型資料時,生成擾動樣本的方式是關鍵 [10]. 例如圖像分割 (segmentation) 的策略會影響解釋的結果 [15]. 對於結構化較弱或難以有意義地「擾動」的數據,LIME 的效果可能會受到影響 [10, 20].

SHapley Additive exPlanations (SHAP) Understanding SHAP

SHAP 是另一種強大的後設解釋方法 [1, 6, 8]. 它的理論基礎來自賽局理論中的 Shapley 值 (Shapley value) [1, 6, 20]. Shapley 值的概念源於合作賽局,用於公平地分配合作成果給每個參與者 [1]. 在 SHAP 中,模型對單一預測的總輸出被視為「合作成果」,而輸入特徵則被視為「參與者」[1]. SHAP 的目標是計算每個特徵對該預測的「邊際貢獻」或 Shapley 值,這個值代表了該特徵在考慮所有可能的特徵組合順序下,對預測結果的平均貢獻 [1, 20].

SHAP 也提供針對特定輸入樣本的個性化解釋 [6]. 它的優點在於其堅實的理論基礎,並且能夠反映特徵之間的交互作用 [1, 20]. SHAP 計算出的 Shapley 值可以量化每個特徵對預測結果的正面或負面影響 [1]. SHAP 與 LIME 一樣,也是模型無關的 [6]. 在實務應用中,SHAP 也常用來生成類似 LIME 的視覺化解釋,標示出對預測最重要的特徵 [5]. 例如,在 URL 惡意偵測中,SHAP 也能指出哪些詞語對惡意判斷的貢獻最大 [5].

與 LIME 類似,SHAP 的計算也可能涉及到對輸入特徵的處理(如對圖像進行分組或對文本進行詞語分割),並需要進行大量的模型預測來計算 Shapley 值,這在計算效率上可能是一個挑戰,特別是對於即時應用 [8, 10, 21]. 資料來源中提到 SHAP 在選擇特徵 (feature) 時會做一些設計,例如用 Shapley 的方式去選 [5, 10],這可能是指利用 Shapley 值來評估特徵的重要性以便進行處理或視覺化。

XAI 的應用與價值 Applications and Value of XAI

從研究和實務應用角度來看,XAI 的價值體現在多個方面:

  1. 模型除錯 (Debugging): 如同 URL 惡意偵測案例所示,XAI 可以幫助我們發現模型不是基於我們期望的特徵進行判斷,而是學到了資料中存在的偏差或 spurious correlation [1, 5, 6, 8, 17-19]. 這有助於我們理解模型犯錯的原因 [5, 17, 22].
  2. 資料集改善 (Dataset Improvement): 透過 XAI 揭示的偏差,我們可以回頭審視訓練資料集,進行清洗、過濾或重新採樣,以消除這些偏差或增加缺乏的數據多樣性 [1, 8, 17-19, 23]. 例如,如果發現模型過度依賴「login」這個詞來判斷惡意 URL,就可以分析資料集中帶有「login」的惡意和非惡意 URL 的分佈,並調整資料集 [17, 18].
  3. 建立使用者信任 (Building Trust): 對於終端使用者或領域專家,能夠理解模型決策的理由,即使模型偶爾出錯,也能提升對系統的信任度 [2, 8, 15, 22]. 在某些高風險應用(如醫療、金融)中,解釋性甚至是必須的 [2].
  4. 模型開發與優化 (Model Development and Optimization): XAI 工具可以作為模型開發者的輔助手段,幫助他們理解模型的學習行為,選擇合適的模型架構或超參數,甚至比較不同模型的決策邏輯 [8, 22]. 選擇一個解釋起來邏輯清晰、行為符合預期的模型,可能比僅僅追求最高準確率更重要 [5, 17, 22].

評估 XAI 方法的挑戰 Challenges in Evaluating XAI Methods

評估一個可解釋性模型本身的好壞並不像評估預測模型那樣有標準的客觀指標 [20]. 我們無法簡單地計算一個「解釋的準確率」 [20]. 評估通常需要綜合考量多個因素 [20]:

  • 直觀性/易理解性 (Intuitiveness/Understandability): 解釋是否容易被人類理解和信任 [20]. 這往往比較主觀。
  • 準確性 (Accuracy): 解釋是否真實地反映了模型實際的決策過程 [20]. 這點在黑箱模型中很難直接驗證。
  • 穩定性/一致性 (Stability/Consistency): 對於相似的輸入或相似的模型,產生的解釋是否相似和穩定 [20].
  • 完整性 (Completeness): 解釋是否涵蓋了對預測結果有顯著影響的所有關鍵因素 [20].
  • 理論性質 (Theoretical Properties): 一些研究提出了理想的可解釋性方法應滿足的公理或屬性,例如「敏感性 (Sensitivity)」和「實現不變性 (Implementation Invariance)」[1, 5, 11, 20]. 敏感性要求當輸入特徵發生微小變化時,解釋也應該相應地有變化;實現不變性要求對於實現細節不同但功能相同的兩個模型,它們對同一個輸入的解釋應該是一致的 [1, 5, 11, 20]. 雖然一些方法試圖滿足這些公理 [5, 11],但在實際應用中驗證或確保這些性質可能很困難 [5, 11].

此外,XAI 在處理複雜或「無意義」的輸入資料時會面臨挑戰 [20]. 例如,惡意 URL 可能由一堆隨機或難以理解的字元組成 [17, 20]. 即使解釋性模型標出了其中某個部分的重要性,如果人類無法從中獲得有意義的見解,那麼解釋的價值也會降低 [17, 20].

實務應用中的考量與挑戰 Practical Considerations and Challenges in XAI

在實際應用中部署 XAI 工具時,需要考慮多個因素 [1, 8, 24]:

  • 模型類型與資料類型 (Model and Data Type): 不同的 XAI 方法可能更適合特定的模型或資料類型 [1, 9, 24].
  • 解釋的目的 (Purpose of Explanation): 是為了除錯模型、改善資料集,還是為了向最終使用者解釋 [1, 24]? 不同的目的會影響我們選擇哪種方法以及解釋的呈現方式。
  • 計算效率 (Computational Efficiency): 尤其對於需要即時解釋的線上系統,解釋生成的速度和效率至關重要 [8, 21, 24]. LIME 和 SHAP 在生成解釋時可能需要多次運行原始模型,這可能對性能產生較大影響 [8, 10, 21].
  • 解釋的可靠性 (Reliability of Explanation): 即使生成了解釋,如何確定這個解釋是準確反映模型實際決策邏輯的,而非產生誤導性的解釋 [8, 20].

特別是在資安領域的 URL 惡意偵測這類應用中,誤報 (False Positive) 的嚴重性非常高 [5, 25]. 即使模型準確率很高,微小的偏差或對無關特徵的依賴都可能導致正常的 URL 被誤判為惡意,造成嚴重的後果 [5, 25]. 在這種場景下,XAI 作為一個診斷工具,幫助我們發現模型訓練數據中的隱藏偏差,從而改善模型和數據,是其核心價值所在 [5, 8, 17, 18, 23]. 這也是為什麼即使 XAI 在即時應用中可能存在效率問題,它在離線的模型開發、驗證和資料優化階段仍然是不可或缺的工具 [8, 21, 26].