後置全局可解釋
機器學習模型從大量訓練數據中自動地學習有用模式,並將學到的知識保存到模型結構和參數中。後置全局可解釋旨在為預先訓練的模型所獲得的知識提供全局解釋,並以直觀的方式對模型參數或學習得到的表示進行說明。我們將現有的模型分為傳統機器學習和深度學習兩類,這樣分類是因為我們能夠從每個類別中提取一些類似的解釋範例。
1. 傳統機器學習解釋
傳統的機器學習流水線通常依賴於特徵工程它將原始數據轉換為更好地表示預測任務的特徵。這些特徵通常是可解釋的,機器學習的作用是將特徵表示映射到輸出。我們考慮了一種簡單有效的解釋方法,稱為特徵重要性(feature importance),適用於大多數傳統機器學習模型,它表明機器學習模型在進行決策時每個特徵的貢獻程度。
(1)模型無關解釋:與模型無關的特徵重要性廣泛適用於各種機器學習模型。它將模型視為黑盒,並且不檢查內部模型參數。
典型的方法是「置換特徵重要性」,其核心思想是,通過對給定特徵值置換後模型預測精度的變化進行計算,可以確定給定特徵對模型整體性能的重要性。更具體地說,給定一個具有n個特徵的預先訓練模型和一個測試集,該模型在測試集上的平均預測得分為p,即基線精度。我們將測試集上的特徵值重新排序,並在修改後的數據集上計算模型的平均預測得分。
每個特徵迭代執行上述過程,最終可以分別得到n個特徵的n個預測得分。然後,我們根據n個特徵相對於基線精度p的得分下降程度來對其重要性進行排序。這種方法有幾個優點:首先,我們不需要對人工特徵進行歸一化;其次,該方法可以推廣到幾乎所有以人工特徵為輸入的機器學習模型;最後,該策略在應用中被證明是穩健和有效的。
(2)模型相關解釋:針對不同模型也存在特定的解釋方法。模型相關解釋方法通常通過檢查內部模型的結構和參數來得到模型的解釋。下面,我們將介紹針對兩類機器學習模型計算特徵的重要性。
廣義線性模型(GLM)由一系列模型組成,這些模型是輸入特徵和模型參數的線性組合,然後輸入到一些轉換函數(通常是非線性的)構成的模型,如線性回歸和邏輯回歸。GLM的權重直接反映了特徵的重要性,因此用戶可以通過檢查權重並將其可視化來了解模型的工作方式。然而,當不同的特徵沒有被適當地歸一化且測量尺度變化時,通過權重進行模型解釋不再可靠。此外,當特徵維數過大時該方法所給出解釋的可理解性會下降,這可能超出了人類的理解能力。
基於樹的集成模型,如梯度提升算法、隨機森林和XGBoost,通常人類是難以理解的。有幾種方法可以測量每個特徵的貢獻度。第一種方法是計算在樹分支中採用某特徵時的精度提升。如果不為某個特徵的分支添加額外分支,則可能存在一些錯誤分類的元素。在增加額外分支之後,會存在兩個分支,使得每個分支都更準確。第二種方法測量特徵覆蓋率,即計算與一個特徵相關的樣本的相對數量。第三種方法是計算一個特徵用於數據分割的次數。
2. DNN表徵解釋
DNNs不僅要研究從表徵到輸出的映射,而且還要從原始數據中進行表徵學習。學習到的深層表徵通常是人類無法解釋的,因此對DNNs模型的解釋主要集中在理解DNNs中間層神經元捕獲的表徵。在這裡,我們介紹兩類主要的DNN模型,即CNN和RNN的表徵解釋方法。
(1)CNN表徵解釋:針對CNN不同層上神秘表徵的理解和解釋吸引了越來越多的關注。在CNN表徵解釋的不同策略中,最為有效和廣泛使用的策略是針對特定層上的神經元確定首選輸人。該策略通常是通過激活最大化(AM)框架進行描述。從隨機初始化圖像開始,我們對圖像進行優化,以最大化激活神經元。通過迭代優化,利用神經元響應值相對於圖像的導數對圖像做出調整。最後,對生成的圖像進行可視化,就可以知道單個神經元在其感受野中探索的是什麼。事實上,我們可以對任意神經元進行此類操作,從第一層神經元一直到最後一層輸出神經元,以此來理解各層上的編碼表示。
雖然框架很簡單,但實際運用中卻面臨著一些挑戰,其中最大的挑戰是會產生奇怪的偽影。優化過程中可能會產生包含噪聲和高頻模式的不真實圖像。由於圖像搜索空間大,如果沒有進行合適的正則化,即使有滿足條件的圖像激活神經元,圖像也無法辨識。為了解決這一問題,需要利用自然圖像先驗知識對優化過程進行約束,以生成和自然圖像類似的合成圖像。一些研究者啟發式地提出了一些人為先驗,包括總變差範數、α範數和高斯模糊。此外,可以通過生成模型(如GAN或VAE)生成更為強大的自然圖像先驗,此類生成模型可將隱空間中的編碼映射到圖像空間。這些方法不是直接對圖像進行優化,而是對隱空間編碼進行優化,以找到能夠激活指定神經元的圖像。實驗結果表明,由生成模型產生的先驗信息顯著改善了可視化效果。
模型可視化的結果揭示了CNN表徵的一些有趣的性質。首先,神經網絡在多個抽象層次上進行表徵學習,從第一層到最後一層,逐漸從一般特徵學到了任務相關特徵。其次,神經元可以對存在語義關聯的不同圖像做出響應,展示了神經元具有多面性。注意,這種現象並不局限於高層神經元,所有層級的神經元都具有多面性,只是高層神經元比低層神經元更具多面性,即高層神經元對某類輸入的變化具有更強的不變性。第三,CNN可以學到對象的分布式編碼,可以使用基於部件的表示來描述對象,這些部件可以跨類別共享。
(2)RNN表徵解釋:在對CNN解釋進行了大量研究後,揭示RNN表徵(包括GRUs和LSTMS)所編碼的抽象知識近年來也引起了人們濃厚的興趣。語言模型常被用於對RNN表徵學習的分析,語言模型的目標是根據前一個標識來預測下一個標識。研究表明RNN確實能學習到一些有用的表徵。
首先,一些研究通過對能夠最大化激活某個單元響應的實際輸入標識進行分析,檢測了RNN最後的隱藏層的表徵,並對該層上不同單元的功能進行研究。研究表明,一些RNN表徵單元能夠捕獲複雜的語言特性,如語法、語義和長期依賴關係。另外一項研究通過字符級語言模型對RNN的響應模式進行分析。該研究發現,雖然大多數神經單元很難找到特定的含義,但在RNN隱層表徵中確實存在某些維度,能夠關注於某些特定的語言結構,如引號、括號及文本中的行長度。在另外一項研究中,採用詞級語言模型對RNN各個隱層單元所編碼的語言特徵進行分析。可視化結果表明,一些神經元主要對特定的語義類別產生響應,而另外一些神經單元則會對特定的語法類型或依賴關係產生響應。值得一提的是,一些隱層神經單元可以將響應值傳遞到後續的時間步,這就解釋了為什麼RNN可以學習長期依賴關係和複雜的語義特徵。
其次,通過對不同隱藏層學習到的表徵進行比對,發現RNN可以學習到對象的層次化表徵。該研究表明,RNN表徵與CNN表徵之間存在相似之處。例如,採用多層LSTM構建的雙向語言模型,分析此模型不同層上的表徵可知,模型的下層捕獲了上下文無關的語義信息,較高層次的LSTM表徵則可對語義上下文進行編碼。深度上下文表徵層可以通過上下文進行詞義消歧,因此可以用於需要考慮上下文的詞義理解任務中。