李凌敏,侯夢然,陳 琨,劉軍民
(西安交通大學 數學與統計學院,西安 710049)
近年來,深度神經網絡(Deep Neural Network,DNN)在計算機視覺、推薦系統、語義分割等眾多領域得到了廣泛的應用,并且表現出很好的性能。深度神經網絡的快速發展依賴于以下幾個因素[1]:1)數百萬有標簽的數據集的出現;2)圖形處理器(Graphics Processing Unit,GPU)性能的不斷提高;3)更好的模型調優策略。然而,隨著深度學習的飛速發展,模型預測錯誤的情況時有發生。如果不能從人類的角度對模型決策進行理解,尋找更好的模型最終將淪為純粹依靠經驗來不斷實驗以消除誤差的試錯法。
另一方面,在很多對性能要求較高的關鍵領域,對模型的透明性和可解釋性也提出了較高的要求。例如在醫療領域檢測心率失常方面,心臟病專家的診斷會依賴于機器學習方法的結果,但可解釋性的缺乏降低了臨床醫生對此類方法的信任;在無人駕駛領域,出于對高度安全性的需求,錯誤決策原因的未知性極大阻礙了深度學習模型的實際應用。由此可見,深度學習的可解釋性研究具有深遠意義。
目前已經有一些關于可解釋性的綜述文獻,如陳珂銳等[2]根據可解釋對象的不同,從模型、預測結果和模仿者3個方面對機器學習的可解釋技術進行了總結和分析;化盈盈等[3]根據可解釋性原理將現有方法分成模型內部可視化、特征統計分析和本質上可解釋的模型三類;曾春艷等[4]從自解釋模型、特定模型解釋、不可知模型解釋、因果可解釋性四個方面對深度學習的可解釋性進行了分析。本文對現有的一些可解釋性研究成果進行整理,加入了對深度學習的簡單介紹,使用新的分類標準,將可解釋性研究分成8 個方面,分別對其進行介紹。
深度學習是機器學習的一個子領域,指從已有的樣本中學習到一般性規律,并將其應用到新的未知樣本上的方法。早期的機器學習并不需要對世界的很多認知,就能得到異于常人的能力;然而,對于人臉識別、語音處理等任務,需要輸入人類掌握的相關特征,這是困難且復雜的。為了解決這個問題,表示學習出現了,即讓機器自主學習并獲得所需要的特征;但是現實世界是很復雜的,同一個物體在不同的光照下會有不同的顏色,在不同的觀察角度下又會有不同的形狀,表示學習無法習得這樣的高級特征。深度學習的出現解決了這個問題,深度學習具有多個線性或非線性映射,能夠層層遞進地學習到線條等簡單特征,再根據這些簡單特征構建復雜概念,達到近乎于人的識別能力。
多層感知機(MultiLayer Perceptron,MLP)基于生物神經元模型,最典型的MLP 包括3 層:輸入層、隱層和輸出層,不同層之間是全連接的。卷積神經網絡(Convolutional Neural Network,CNN)處理具有網格圖案的數據(如圖像),旨在自動學習特征的空間結構層次,通常包括3 種類型的層:卷積層、池化層和全連接層。循環神經網絡(Recurrent Neural Network,RNN)會對前面的信息進行記憶并應用于當前輸出的計算中,具有更強的學習能力。深度信念網絡(Deep Belief Network,DBN)使用概率和無監督學習生成輸出,從輸入層開始將網絡的相鄰兩層當作一個受限玻爾茲曼機(Restricted Boltzmann Machine,RBM)進行訓練,之后將上一個RBM 的隱藏層當作下一個RBM 的可見層。生成式對抗網絡(Generative Adversarial Network,GAN)[5],同時包含判別式模型和生成式模型,可以用于生成一個全新的不存在的圖像。
激活函數的主要作用是使網絡具有非線性建模能力,常用的激活函數為:
1)Sigmoid 函數。Sigmoid 函數又叫logistic 函數,可以作為二分類的一類激活函數。Sigmoid 函數易于求導,但是在反向傳播時容易出現“梯度消失”問題。
2)tanh 函數。tanh 函數也是一類常見的激活函數,與Sigmoid 函數相比,由于均值為0,具有更高的收斂速度,也會出現“梯度消失”的問題。
3)ReLU(Rectified Linear Unit)函數。ReLU 函數避免了“梯度爆炸”和“梯度消失”的問題,能有效地實現梯度下降和反向傳播,是目前常用的一種激活函數。ReLU 函數還有很多變種,如Leaky ReLU、RReLU(Randomized leaky ReLU)、Noisy ReLU 等。上述激活函數的具體形式如表1 所示。

表1 激活函數的形式Tab.1 Forms of activation functions
深度學習中,損失函數用來衡量真實值與預測值之間的不一致程度。訓練過程中通過使用梯度下降等優化方法來最小化損失函數的值,進而得到高精度的結果。常用的損失函數有CrossEntropy、均方誤差(Mean-Square Error,MSE)損失函數、log 損失函數、指數損失函數(Adaboost)、Hinge 損失函數等,它們的基本形式如表2 所示。

表2 損失函數的基本形式Tab.2 Basic forms of loss functions
目前,關于可解釋性并沒有清晰的定義和目標。最早關于可解釋性的定義是2017 年Kim 等[6]在ICML(International Conference on Machine Learning)上提出的“Interpretation is the process of giving explanations to Human”,也就是說,可解釋性是一個讓人類理解的過程。Doshi-Velez 等[7]定義其為“Interpretability is the ability to explain or to present in understandable terms to a human”。同年,Miller[8]給出了更進一步的定義,可解釋性是人們可以理解決策原因的程度。這表明,可解釋性的最終目的并非完全理解神經網絡中所有的內部特征,而是能夠定量地拆分出來多少比例的信息是可以解釋的、多少比例的信息是不可以解釋的、多少比例的信息是確實被網絡建模的、多少比例的信息是基于已有的信息進行合理猜測的。只要盡可能地把可以解釋的特征信息分離出來,得到一個定量分析,就可以建立相互信任的關系。
Molnar[9]詳細闡述了可解釋性的重要性??偨Y如下:
1)人類的好奇心。對于不透明的機器學習模型,人們會本能地思考為什么它的分類精度這么高?只有真正理解了它的機制,科技才能進一步發展。
2)人類對找到事物存在意義的渴望。當機器學習逐漸滲透到人們的生活中,解釋其發生的原因就顯得尤為重要。比如推薦系統,人們在被推薦某些產品時,渴望知道內部原因,從而對該推薦具有更高的認同感。
3)安全性。如果機器學習在安全系統的應用過程中發生失誤,帶來了巨大的危害;但人類卻不了解其內部機制,無法解釋機器學習的決策,那么對它的使用將是特別可怕的。
4)社會接受度。人們對于自己要使用的物品具有很強的防范性,只有一個能給出解釋并被人們理解的產品才會有更高的社會信任度,進而有更好的發展和應用。
5)倫理道德。機器可能在學習的過程中學到種族歧視等偏見,而可解釋性使得人們可以查找原因并及時對其進行修復。
近年來,學者們提出了很多解釋深度學習模型的方法。可解釋性的研究從大體范疇上可分為被動解釋、主動干預解釋以及補充解釋。根據是否需要改變網絡結構或優化過程可將相關研究分為被動解釋和主動干預解釋。
1)被動解釋方法。針對的是一個訓練過的網絡,所有的權值都是已經學習過的,該方法只是試圖從中提取邏輯規則或一些可理解的模式。
2)主動干預解釋方法。該方法需要在訓練前做一些小的改變,比如引入額外的網絡結構或者在訓練過程中施加可解釋性的限制,進而使網絡變得更易于解釋(如更像決策樹(Decision Tree,DT))。
3)補充解釋。將相關的領域知識(如信息論)整合到網絡中,得到更多信息的解釋和更好的可解釋性,是一種新興的解釋思路。
理解神經網絡的內部特征,一個自然的想法就是對隱層運用一些可視化方法生成有實際含義的人類能理解的圖像。Zeiler 等[1]在2014 年提出反卷積(Deconvolution)網絡模型,將中間層的特征圖作為輸入,經過解池-矯正-反卷積操作,逆向重構生成圖片,突出顯示輸入圖像中的哪些模式激活了特定的神經元,其中,由于卷積神經網絡中的最大池化操作是不可逆的,故而解池過程只能獲得一個近似的逆。具體方法為:執行池化操作時使用一組switch 變量記錄下每個區域最大值的位置;解池時生成的特征圖只需保證每個區域在之前記錄下的位置是最大值,其他位置置0,解池操作的示意圖如圖1 所示。

圖1 解池操作示意圖Fig.1 Schematic diagram of unpooling operation
2017 年Bau 等[10]提出了網絡切割(Network Dissection)方法,該方法可以自動化地標定任意給定的網絡內部帶有語義的神經元,并通過計算隱層-概念對的匹配程度,量化分析了不同卷積網絡內部神經元的語義特征。同年,Zhang 等[11-12]提出了解釋圖(Explanatory Graph)模型可視化濾波器。解釋圖中的每個節點嚴格表示某個子模式,每個邊表示不同模式的同時激活關系和空間關系,進而將高層卷積層的混亂的知識表達拆分開來,并且具備了更好的可遷移性。
另一方面,由于神經網絡在維數和觀測量上的可擴展性,維數降階也被應用于神經網絡的隱層可視化。Aubry等[13]為了了解神經網絡提取到的特征與自然圖像中場景因素(比如物體樣式、3D 視角、場景的照明配置等)之間的關系,使用主成分分析(Principal Component Analysis,PCA)對隱層的激活進行了可視化。Rauber 等[14]首次利用t-分布隨機近鄰嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)對神經網絡隱層的高維數據進行降維,探索了神經網絡學習到的觀察表示之間的關系和人工神經元之間的關系。
基于隱層可視化的可解釋性方法利用了網絡內部隱層的信息,解釋更有效;但有時隱層并沒有特定的含義,主觀性較強。
類激活映射(Class Activation Mapping,CAM)的本質是對特征圖進行線性加權來獲得類別熱力圖,與原圖疊加來可視化對預測輸出的貢獻分布。2015 年Zhou 等[15]提出了CAM,利用全局平均池化(Global Average Pooling)層代替全連接層,直接使用訓練后全連接層上的模型權重。Selvaraju等[16]利用梯度信息,提出了梯度加權類激活映射(Gradientweighted CAM,Grad-CAM),對特征圖的局部梯度求平均作為特征圖的權重。Chattopadhyay 等[17]則認為梯度圖上每個元素的貢獻是有差異的,故而增加了一個額外的權重對梯度圖的權重進行了二次加權,提出了Grad-CAM++模型。
以上3 種方法的內部機制如圖2 所示,其中:表示特定類C的熱力圖在(i,j)位置上的值;表示類C在第k層的模型權重;表示第k層特征圖的第(i,j)個元素;γC表示特定類C在全連接層的分數;Z表示歸一化因子,是一個常數;表示類別C在第k層特征圖的梯度圖上二次加權的權重。

圖2 三種類激活映射方法的內部機制Fig.2 Internal mechanisms of three class activation mapping methods
Wang 等[18]發現Grad-CAM 很容易找到錯誤置信度的樣本,即部分權重較低的特征圖獲得了很高的置信度,而且局部的梯度存在飽和問題,受噪聲影響很大,進而提出了一種不依賴梯度的權重表示方法(Score-weighted CAM,Score-CAM)。該方法定義權重為每個激活映射在目標類別上的前向傳遞分數。文中還提出了置信度提升(Channelwise Increase of Confidence,CIC),即:

其中:Al表示卷積層l的激活代表Al的第k個通道用Up(·)表示對上采樣,s(·)為歸一化 函數。式(1)表示將特征圖上采樣后,與原圖像進行點乘,用處理后的圖像響應與原圖像響應之差表示該特征圖的重要性。
同年,Desai 等[19]利用Ablation分析,提出了Ablation-CAM 方法。該方法遍歷地將每層特征圖置0 再進行網絡前向獲取目標類別得分,把該值與原始得分的相對大小作為權重。這5 種方法的優缺點如表3 所示。

表3 基于類激活映射的5種方法優缺點對比Tab.3 Advantages and disadvantages comparison among five methods based on class activation mapping
基于類激活映射的可解釋性方法通過對特征圖分配不同的權重來生成類激活圖,實現了區域級的可視化,可以進一步區別分類;但它們關于權重的分配缺乏對應的理論基礎。
敏感性分析(Sensitivity Analysis)是一類定量描述模型輸入變量對輸出變量的重要性程度的方法。神經網絡的敏感性分析方法可以分為變量敏感性分析和樣本敏感性分析。在變量敏感性分析中,基于偏導的敏感性分析方法利用不同隱層激活函數[20-22]的偏導數來評估輸入變量對輸出的影響。具體的細節如表4 所示。Dombi 等[23]提出了平均影響值(Mean Impact Value,MIV)方法,直接變動各個自變量的特征值,并按觀測樣本數進行平均,得到對應的輸出的變化值,其絕對值大小表示變量的重要性程度。

表4 基于偏導的敏感性分析方法Tab.4 Sensitivity analysis methods based on partial derivatives
在樣本敏感性分析中,Koh 等[24]利用影響力函數,刻畫了對訓練樣本施加輕微擾動后特定測試樣本損失函數的變化,來理解模型的預測效果。LIME(Local Interpretable Model-agnostic Explanation)方法[25]是一種與模型無關的局部近似。在關注的樣本點附近進行輕微擾動后,探測模型的輸出發生的變化,根據這種變化在興趣點附近擬合出一個可解釋的簡單模型(如線性模型、決策樹)。
Hui 等[26]認為負貢獻可能不等于負相關性,需要在關聯分解中分別處理正貢獻和負貢獻,提出了一種基于負特征和多數貢獻的分解規則,能夠同時提高網絡中各屬性的貢獻對最終網絡決策的敏感性和相關性,產生了良好的可解釋結果。
基于敏感性分析的可解釋性方法把解釋性歸因于輸入特征或者樣本,適合解釋個體輸入,但通常很難從中獲得對網絡的總體理解。
魯棒性即深度學習模型抵抗輸入擾動并給出正確判斷的能力。例如著名的對抗樣本實驗,將一個模型能正確識別的目標故意加上微小擾動后,深度學習模型就會給出錯誤的結論,這極大地增大了模型應用的安全隱患。因此,對模型的魯棒性進行評估是很必要的,由此也發展出了很多基于魯棒性擾動測試來解釋模型的方法。
Gowal 等[27]利用簡單的定界技術,即區間定向傳播(Interval Bound Propagation,IBP),通過省略神經網絡的最后一層線性層,提高了對單模型結構的驗證精度;并且,由于IBP 的計算成本僅相當于網絡的兩次前向傳遞,可以執行更廣泛的超參數搜索,進而訓練大型的神經網絡。
Pezeshkpour 等[28]提出了對鏈路預測模型的對抗性修改。通過對知識圖譜的修改,識別出添加到知識圖譜中的或者從知識圖譜中刪除的事實,這些事實能夠在模型經過重新訓練后更改對目標事實的預測。利用對圖的刪除,可以識別出對預測鏈接最有影響的事實來研究可解釋性;利用對圖的添加,評估模型的魯棒性。作者設計了一種能夠最小程度改變圖結構使得目標事實的預測結果在重新學習后發生變化最大的方法,稱為通過對抗性圖編輯完成魯棒性和可解釋性(Completion Robustness and Interpretability via Adversarial Graph Edits,CRIAGE)。
Moshkovitz 等[29]發現真實數據是接近線性可分的,這一隱含特性可以同時使模型具有可解釋性和魯棒性。在決策樹的背景下,提出了基于決策樹的風險評分算法BBM-RS(learning Risk Scores relying on Boost-By-Majority)算法,利用本身就具有可解釋性的風險評分模型,保證生成的分類器在具有較高的分類精度的同時,具有魯棒性和可解釋性。Koo等[30]探究了第一層的激活函數對模型的可解釋性的影響,發現指數激活函數可以產生魯棒的表示,而與網絡深度無關。通過設置CNN 第一層的激活函數為指數激活,可以在激活前抑制背景,只傳播有辨識性的信號,從而使第一層濾波器具有更好的可解釋性,同時顯著提高模型的魯棒性。
Chen 等[31]提出了一種具有非負約束的深度矩陣分解(Deep Denoising Non-negative Matrix Factorization,DDNMF)模型,用于學習數據的魯棒可解釋的深度學習表示。具體地說,DDNMF 包含教師網絡和學生網絡兩個部分。每個網絡都包括一個編碼器和解碼器,其中:學生網絡的編碼器和解碼器間包括一個非負矩陣分解(Non-negative Matrix Factorization,NMF)模塊,接受并分解編碼后的表示,再通過矩陣乘法恢復表示,以進行后續的解碼,為模型帶來可解釋性;而教師網絡抑制輸入數據中的噪聲。此外,通過定義一個可解釋的損失,確保知識從教師網絡轉移到學生網絡,增強表示的魯棒性。
基于魯棒性擾動測試的可解釋性方法通過對精心設計過的新輸入對模型預測的影響程度進行解釋,為模型提供了安全保證,但這類舉例的方法解釋力最低。
對于傳統的神經網絡,參數越多,模型的訓練精度越高,對應的泛化能力越弱;但是對于深度神經網絡(DNN),其參數遠遠多于訓練數據,然而DNN 在保持高訓練精度的同時,泛化能力也很強。為了研究DNN 的泛化能力,2018 年,Xu等[32]提出使用頻率原理(Frequency principle,F-principle)來解釋神經網絡,即在訓練過程中,DNN 會先捕獲低頻分量,同時保持較小的高頻分量,之后再緩慢地捕獲高頻分量。因此,對低頻占優的目標函數及對象,DNN 往往具有較好的泛化能力;而對于高頻占優對象,DNN 則具有較差的表現。這也能解釋對低頻占優的目標函數為什么提前終止訓練能防止過擬合。
Xu 等[33]從傅里葉分析的角度,解釋了訓練好的DNN 在擬合奇偶函數時泛化能力差的原因。在理想條件下,從理論上證明了頻率原理是由于激活函數的平滑性導致的,并將DNN 低頻占優的原則和雅可比方法先收斂高頻的特性相結合,加快求解泊松方程,為求解微分方程的數值解提供了新思路。Xu 等[34]利用頻率原理,解釋了為什么更深層的前饋神經網絡訓練更快。對于一個從隱層到輸出層的子網絡,其等效目標函數由隱層上一層的輸出和真實標簽構成。文中將整個神經網絡分成pre-condition 和learning 兩個部分,并著重分析了learning 部分的表現,發現更深層的神經網絡的有效目標函數在訓練過程中會更趨近于低頻,再基于低頻先收斂的F-principle,為更深的神經網絡收斂更快提供了一種可能的解釋。
Zhang 等[35]類比熱力學系統,提出了線性頻率原理(Linear Frequency Principle,FLP)模型,用一個簡單的微分方程刻畫了神經網絡訓練過程中的關鍵特征,在一定情況下可以定量預測神經網絡的學習結果。FLP 模型只考慮網絡參數的一些宏觀統計量,忽略了單個參數的具體行為,這種刻畫方式對準確理解DNN 的學訓練過程提供了幫助,進而解釋了DNN 在參數極多的情況下依然強大的泛化能力的原因。后續,Zhang 等[36]又將頻率原理的內隱偏差作為兩層神經網絡的顯式懲罰加以明確,利用FLP 模型準確預測了大寬度的雙層ReLU 神經網絡的學習結果,給出了泛化誤差邊界的先驗估計,朝著定量理解一般神經網絡的學習和泛化邁進了一步。
Luo 等[37]對一般DNN 的訓練行為進行研究,通過一些適當的估計量刻畫初始階段、中間階段和最后階段的頻率原理,建立了傅里葉分析的理論框架,發現DNN 的正則性轉化為損失函數在頻域中的衰減率,驗證了頻率原理的通用性,為更好地理解DNN 的訓練過程奠定了頻率原理的理論基礎。Wang 等[38]注意到CNN 可以利用人類無法感知的圖像高頻信號,并探究了卷積核的平滑性和模型魯棒性之間的關系,提出了幫助CNN 提高對抗魯棒性的不需要訓練或者微調模型的防御方法。
基于頻率原理的可解釋性方法對模型體系結構沒有要求,但不容易合并特定領域的知識。
解釋深度學習的另一種方法是基于信息論的方法,其中著名的是由Tishby 等[39]在2000 年提出的信息瓶頸理論。文中把信號x中的相關信息定義為該信號提供的關于另一個信號y的信息,如面部圖像提供的關于人名的信息。將x中所有與y相關的信息捕獲,就可以任意壓縮x而不丟失預測y的能力,即為x尋找一個能最大限度地保留y信息的短代碼。理解信號x,不僅需要預測y,還需要知道x的哪些特征在預測中起作用,這與神經網絡可解釋的需求不謀而合。基于信息瓶頸理論,Tishby 等[40]在2015 年提出了信息平面,通過層間和輸入輸出變量之間的互信息來量化網絡結構,進而產生了網絡分層架構的一種可能的解釋——最優的架構、層數和每層的特征及連接都與信息瓶頸權衡的分岔點有關,即輸入層相對于輸出層的相關壓縮,層狀網絡的層次化表示對應于沿信息曲線的結構相變。
Schwartz-Ziv 等[41]發現深度學習訓練過程中包含“特征擬合”和“特征壓縮”兩個階段,并對信息平面中的DNN 進行了可視化。圖3 展示了tanh、ReLU、PReLU 這3 種激活函數在基于隨機梯度下降的訓練過程中的信息平面,其中:橫軸表示輸入X和隱層T的互信息;縱軸表示輸出Y和隱層T的互信息;不同位置表示了不同隱層保留的關于X和Y的信息的多少;一條線代表一輪迭代,隨著迭代輪次的增加,顏色逐漸由深色變為淺色;每條線上的點代表不同隱層,右上角代表第一個隱層,左下角代表最后一個隱層。從圖3 可以看出,第一層始終位于右上角,位置幾乎沒有變化,始終包含很多關于X和Y的信息,而深層最初包含X和Y的信息非常少,但隨著epoch 的增加,所包含X和Y的信息也逐漸增多。根據其位置的變化,該過程可分為兩個階段:第一個階段每個點都往右上角移動,表示隱層學習到了關于X和Y的信息,即“特征擬合”;第二個階段向左移動,表示隱層逐漸減少關于X的信息,即丟掉無關信息進行“特征壓縮”。

圖3 三種激活函數訓練過程中的信息平面Fig.3 Information planes in training process of three activation functions
針對難以通過增加網絡參數觀察到過擬合問題,Achille等[42]提出參數數量不能真正衡量神經網絡的復雜程度,真正起作用的是網絡參數中所含參數的信息量。利用權重中的信息來衡量學習模型的復雜性,為權重產生了一個新的信息瓶頸,并證明了網絡表示學習成分的不變性和獨立性是由權值中的信息限定的。Pimentel 等[43]將探針作為互信息的估計,引入了控制函數評估探針的有效性并進行了相應解釋,反駁了“為了避免探針學會了任務本身,應該使用更簡單探針模型”[44]的觀點,給出了如何選擇探針的建議。Bang等[45]以信息瓶頸原理為標準,提出了一種用于解釋的變分信息瓶頸(Variational Information Bottleneck for Interpretation,VIBI)。對于每個實例,解釋器返回一個概率,即是否將一個詞、短語或句子(自然語言處理領域)或者一組像素(計算機視覺領域)等特征塊作為解釋選擇,再將選定的特征塊作為信息瓶頸來最大限度地壓縮輸入和輸出之間的信息。該方法是系統無關的,可以解釋任何黑箱模型。
基于信息論的可解釋性方法將信息論領域的相關概念應用到神經網絡,可以獲得更多信息的解釋,但在泛化到不同的網絡結構時效果較差。
基于可解釋模塊的可解釋性研究構建了新的可解釋的深度學習模型,促進了深度學習模型可解釋性的進一步發展。
膠囊網絡(Capsule)由Sabour 等[46]在2017 年提出。膠囊是一種新型神經元,輸出一個有長度和方向的活動向量來表示一個整體或者整體部分,活動向量的范數(長度)代表它的置信度,方向代表實例化參數。膠囊神經元將輸入向量v1和v2先做仿射變換,得到u1和u2;然后做加權和s=c1u1+c2u2,之后通過一個擠壓方程(squashing function)v=得到輸出向量v,其中,做加權和的系數c1和c2是通過動態路由(Dynamic Routing)機制得到的。動態路由使得每個膠囊能夠編碼一個特定語義的概念,可以清晰地知道每一個“膠囊”所做的工作。
可解釋的基于候選區域的CNN(Region-CNN,R-CNN)是在2017 年由Wu 等[47]提出。R-CNN 由一個用于目標檢測的區域建議(region proposal)組件和一個興趣區域(Region of Interest,RoI)預測組件組成,其中RoI預測組件基于RoIPooling 算子對邊界框建議進行分類和回歸。為了使其實現弱監督自動化學習,作者提出了一個有向無環與或圖(directed acyclic And-Or Graph,AOG)解析算子,并用其代替RoIPooling 算子;因此,在檢測過程中,每個包圍框都可以由實時從AOG 派生的最佳解析樹進行解釋。
Chen 等[48]在2016 年提出了基于信息最大化的生成對抗網絡(Information-maximizing Generative Adversarial Network,Info-GAN)模型,能以完全無監督的方式學習解離化表征的生成對抗網絡的信息理論擴展。Info-GAN 改進了GAN,將輸入噪聲向量分解為兩部分,以此來最大化可以得到的互信息,從而實現更加具有可解釋性的表示。Info-GAN 的基本結構如圖4 所示,輸入的噪聲分為隨機噪聲Z和隱向量C,其中,隱向量C有先驗分布,包含了生成數據的特征;然后通過生成器G 可以得到生成數據G(Z,C)。Info-GAN 要求生成數據和隱向量C之間有盡可能多的互信息,從而保證在生成數據的過程中損失的隱向量C中包含的信息盡可能少。同時,真實數據(X_real)和生成數據(X_fake)要經過判別器D 判斷數據的真假,并根據互信息更新生成器G 和判別器D。

圖4 Info-GAN的基本結構Fig.4 Basic structure of Info-GAN
Gu[49]提出了可解釋圖膠囊網絡(Graph Capsule Networks,GraCapsNets),使用一個基于多頭注意力的圖池化操作替換基本路由部分。由于圖池化操作揭示了哪些輸入特征被池化為相關特征,故而可以很容易地解釋分類決策。
基于可解釋模塊的可解釋性方法可以更好地針對目標任務進行解釋,但需要網絡和解釋模塊之間的兼容性。
傳統的統計機器學習方法結構清晰,深度神經網絡性能優越,把現有的機器學習方法轉化成等價的神經網絡,就能兼具兩者的優點。
最早的工作是Daubechies 等[50]提出的迭代收縮閾值算法(Iterative Shrinkage Thresholding Algorithm,ISTA),它是求解稀疏編碼的優化方法中較著名的一個方法。在此之后,出現了很多對ISTA 的改進。Zhou 等[51]引入了一種新的自適應動量矢量到ISTA 中,并將其轉化為一個循環神經網絡,將對L1 范數的優化方法與LSTM 結合起來,提出了稀疏編碼網絡模型SC2Net(Sparse Coding to Network)。這種自適應的ISTA考慮了優化變量更新時每個維度之間的不同和歷史信息,彌補了常見的對L1 范數的優化的部分不足。Gregor 等[52]將ISTA 展開到循環神經網絡中,提出了學習的迭代收縮閾值算 法(Learned ISTA,LISTA)。Liu 等[53]提出了ALISTA(Analytic LISTA),只留下步長大小和閾值參數的數據驅動學習,大幅簡化了訓練,并具有與LISTA 相當的性能。
2015 年Zheng 等[54]把CNN 和條件 隨機場(Conditional Random Field,CRF)概率圖模型結合起來。具體地,將條件隨機場的求解表示成RNN 的相關運算,構造了名為CRFRNN 的基本單元,將其作為CNN 的一部分插入網絡結構中。在學習CRF 參數的同時,基于反向傳播對整個網絡進行端對端的訓練,避免了后向處理,在圖像語義分割上實現了突破。
Wang 等[55]提出了一種深度L0 編碼器對L0 范數的稀疏逼近問題進行了優化。該編碼器基于穩健迭代算法,通過引入新的神經元和池化函數,建模了一個前向式神經網絡,擁有更好的學習能力,在分類和聚類任務中有很好的表現。Zuo 等[56]針對盲反卷積問題,將lp范數最小化問題的解,即廣義閾值收縮(Generalized Shrinkage-Thresholding,GST)算子推廣到p<0 的情況,提出了能實現稀疏編碼的回復式神經網絡。通過迭代指定的GST 參數,可以動態地實現顯著性邊緣選擇和時變正則化,使得模糊核估計具有更好的魯棒性。
2017 年,E[57]在其發表的論文中將深度神經網絡視為離散的動力系統,通過數學推導,展示了使用微分方程解釋深度殘差網絡(Residual Network,ResNet)。Lu 等[58]進一步表示很多深度神經網絡都可以和常微分方程聯系起來,利用數值分析中的結論,提出了一種線性多步體系結構(Linear Multi-step architecture,LM-architecture),可以在 任何類 似ResNet 的網絡上使用,并且具有更高的精度。2018 年,Chen等[59]利用常微分方程(Ordinary Differential Equation,ODE)構造了一個新的深度神經網絡模型ODENet。2019 年Grathwohl 等[60]對算法進行進一步改進,提出了可逆動力學自由形式的雅可比矩陣(Free-Form Jacobian Of Reversible Dyanamics,FFJORD)方法,降低了算法的復雜性。總體來說,基于ODE 的可解釋方法中,將神經網絡對隱藏狀態的導數進行參數化,不需要再分層傳播梯度與更新參數,大幅降低了存儲成本。此外,由于網絡的輸出是通過計算常微分方程得到的,而現代ODE 的求解方法已經很成熟,這類模型的精度和速度也有較大提升。
另一方面,由于偏微分方程(Partial Differential Equation,PDE)在圖像處理、計算機視覺等方面的優異表現,很多學者將PDE 與深度神經網絡聯系起來,也取得了很好的成果。2009 年Lin 等[61]設計了一種基于PDE 的神經網絡模型,能較好地解決很多圖像處理問題。2017 年Haber等[62]提出了使用PDE 來解釋包括ResNet 在內的一類用于圖像、語音、視頻學習的高精度深度神經網絡的方法。2020 年Ruthotto 等[63]將神經網絡訓練與PDE 約束優化聯系起來,證明了PDE 約束優化中模型參數的正則化可以轉化為神經網絡輸出的正則化,提出了一種基于拉格朗日乘子法的前向傳播算法,使得模型在較少標簽的情況下也具有較高的預測精度。
基于優化方法的可解釋性方法擁有對目標任務更強的解釋性,但受限于優化方法自身的某些不足,如利用范數實現稀疏性所導致的高昂的計算代價、方程解的穩定性等。
本節從8 個方面對可解釋性的研究現狀進行整理,表5總結了這8 類方法的特點以及部分結合方法的描述。

表5 各類方法特點對比及結合方法描述Tab.5 Comparison of characteristics of various methods and description of combined methods
由于模型、規則和假設的多樣性,截至目前,還沒有出現一個統一且通用的可解釋性的標準化指標。由于決策樹方法是最具解釋性的機器學習方法,一些方法通過對模型加以改動,使之更像決策樹來增加模型的可解釋性。通過評價模型的解釋復雜性(Interpretation Complexity,IC),即模型中參數的數量來衡量這類模型的可解釋性是一種直觀且容易理解的指標。IC 值越低,模型越具有可解釋性。文獻[44]中采用了這種指標,表6 展示了其部分實驗結果。
表6 中,對比對象包括和標準的決策樹(DT)算法、魯棒的決策樹(Robust DT,RobDT)算法[65]、風險評分算法LCPA(Lattice Cutting Plane Algorithm)[66]和基于決策樹的風險評分BBM-RS(learning Risk Scores relying on Boost-By-Majority)。對于DT 和RobDT 算法,IC 是樹中內部節點的數量,對于風險評分(LCPA 和BBM-RS),它是權向量中非零項的數量。從表6 中可以看出,BBM-RS 算法在7 個數據集中的IC 值都是最低的,表明了結合決策樹的風險評分算法具有更好的可解釋性。

表6 不同算法的IC指標的部分實驗結果Tab.6 Some experimental results of IC index among different algorithms
隨著深度學習的可解釋性研究的發展,越來越多的領域運用可解釋的深度學習模型解決問題。
研究發現,攻擊者通??梢詮闹虚g層特征推斷出輸入信息。Xiang 等[67]提出了一種新型的隱私保護機制:將實值特征轉化為復值特征,將輸入信息編碼隱藏在復值特征的隨機相位,構建復值神經網絡。在不同的數據集和網絡結構上進行實驗,結果表明該方法可以有效抵御各種攻擊,保證用戶信息的安全性且幾乎沒有精度損失。
另外,2019 年郭文博等[68]認為現有的應用于網絡安全方面的深度學習模型可解釋性極低,與網絡安全本身需要的高透明度相矛盾,因此這些模型“不值得信任”;為此作者提出了非線性近似的局部解釋方法(Local Explanation Method using Nonlinear Approximation,LEMNA),引入Fused Lasso 處理特征間的依賴關系,并將其融入到一個混合線性模型中來擬合局部非線性的決策邊界,獲得聚類該樣本的重要特征作為解釋。
Xu 等[69]在2021 年提出一種支持解釋的軟件復用檢測(Interpretation-enabled Software Reuse Detection,ISRD)方法,從粗粒度到細粒度地捕獲程序語義,使用包含功能層、基本塊層和指令層的多層次標記模型來唯一標識程序,并構造函數調用圖分析程序行為,使軟件復用檢測結果具有可解釋性。
Lu 等[70]在2018 年提出了一種多任務推薦模型,可以從用戶的評論中共同學習評級預測和推薦解釋。具體地,使用矩陣因子分解模型進行評級預測,使用序列到序列學習模型進行解釋生成。該模型通過增強解釋生成過程,解釋了用戶對某一物品看法的潛在原因。
樹增強嵌入方法(Tree-enhanced Embedding Method,TEM)[71]結合了基于嵌入的模型和樹模型的優點。首先利用樹模型學習顯式的決策規則(又稱交叉特征),然后使用嵌入模型合并交叉特征進行預測。核心是引入嵌入技術和注意力機制代替原本的全連接層,保留了模型的可解釋性,從而使推薦過程是完全透明和可自我解釋的。
2019 年一種用于從用戶行為中學習非糾纏表示的宏觀-微觀解離化變分自動編碼器(Macro-micro Disentangled Variational Auto-Encoder,MacridVAE)[72]被提出。宏解離通過了解用戶意圖,推斷與其相關的高層次因素,捕獲用戶對不同高層次因素的偏愛。微解離通過VAE 對信息進行理論解釋,使每個維度可以獨立反映一個低層次因素。這一方法不僅在性能上取得了實質性的改進,并且是可解釋和可控制的。
Ye 等[73]在2021 年提出了一種基于XGBoost 和注意機制的可解釋推薦模型,解決了模型預測的自解釋問題。從基于XGBoost 的樹部分提取有效交叉特征,將結果輸入到基于注意機制的嵌入式模型中,捕捉用戶id、商品id 和交叉特征之間的不可見交互,用于預測用戶和推薦項目之間的匹配分數。最后根據得分為不同的用戶項目生成不同的推薦理由,在保證推薦性能的同時,提高了推薦理由的可解釋性。
Biffi 等[74]在2018 年提出了一個三維卷積變分自編碼器(Variational Auto-Encoder,VAE)模型,用于心臟病患者的醫療圖像分類。該模型利用從3D 分割中學習到的可解釋的任務相關解剖學模式(Anatomic Pattern),允許在圖像的原始輸入空間中可視化和量化所學習到的病理學特定重構模式。
2020 年Schaumberg 等[75]提出一種可解釋的深度學習模型,開發了一種社交媒體上的機器人,使用機器學習分類器來幫助病理學家獲得具有挑戰性病例的實時反饋。如果病理學家在社交媒體上發布了一個病例,并@該機器人,則它會使用帖子中的病理文本和圖像,生成疾病狀態的定量預測,并實時搜索社交媒體和PubMed 的類似案例;同時發布摘要,通知分享類似病例的病理學家,病理學家之間隨后展開更具價值的討論。
2020 年Wang 等[76]提出一種使用膠囊網絡的可解釋深度學習架構(single-cell Capsule Networks,scCapsNet)。該模型通過識別競爭性單細胞類型,執行特征選擇,進而識別編碼不同類型亞細胞的基因組。
2021 年Pintelas 等[77]提出一種可解釋的圖像分類框架,用于皮膚癌的預測問題。該框架結合了分割和聚類技術來提取紋理特征,并過濾了高度相關和不太重要的特征,最后構建了一個全局的基于向量的特征層次樹,用于為人類提供有意義和可理解的模型預測解釋。
對社交網絡中謠言的真實性進行判別,可以通過適當的神經網絡模型來實現。但由于神經網絡本身的不可解釋性,證據的發現過程也很難解釋。Wu 等[78]根據謠言傳播的“自證性”,即假消息的相關評論及轉發中會出現能佐證其真實性的內容,將決策樹模型整合到協同注意網絡中,提出了基于決策樹的協同注意網絡(Decision Tree-based Co-Attention network,DTCA)模型,基于決策樹發現證據并通過決策條件對證據的發現過程進行了解釋。Lu 等[79]為了準確檢測社交網絡上的假新聞,盡可能準確地刻畫其傳播模式,提出了圖感知協同注意網絡(Graph-aware Co-Attention Network,GCAN)模型,通過展示注意力權重分布,根據源文本內容和傳播用戶的序列,直觀地呈現出確定一篇報道為謠言時的證據——可疑轉發者及他們關注的詞語。
Ni 等[80]提出一個綜合模型來描述社會影響疫苗決策的過程,將多準則信念模型與社會網絡分析相結合,證明整個疫苗接種覆蓋率主要取決于個人的信念和判斷決策標準,從社會網絡中個體自愿的接種行為解釋了社會接種覆蓋率。
隨著深度學習的發展,人們意識到深度學習的不可解釋性帶來的應用瓶頸,因此越來越多的學者開始了深度學習可解釋性的研究。
本文從具體的文獻出發,從8 個方面總結了現有的關于深度學習的可解釋方法。其中,大部分的方法試圖理解已經訓練過的網絡,嘗試從中提取一些邏輯規則或人類可理解的模式,是被動的解釋方法。基于隱層可視化的方法解釋了隱藏層的意義,主要集中在計算機視覺領域,提供了全局的可解釋性;基于類激活映射的方法對特征圖分配不同權重生成類激活圖,來解釋個體的分類決策;基于敏感性分析的方法是一種模型無關的歸因,常用來評估特征的重要性;基于魯棒性擾動的方法是一種例子解釋,解釋一個新輸入(比如對抗樣本)對模型預測的影響程度。后3 類方法都提供的是局部的可解釋性。
主動方法則需要在訓練前做一些改變,例如引入額外的網絡結構或修改訓練過程。基于可解釋模塊的方法引入事前可解釋的神經元或組件;基于優化方法的可解釋方法利用傳統機器學習的先驗知識,修改網絡結構,促使網絡變得更加可解釋。
從現有的研究情況看,可解釋性仍有幾個可能的研究方向。首先,主動的可解釋性方法探索不足。對被動方法的一些分析也表明,神經網絡不一定學習那些容易被人類理解的表征,如基于頻率原理的方法,就研究了關于頻率信號的規律這一人類不易理解的信息。因此,如何在不損害網絡性能的前提下主動地使網絡具有可解釋性仍然是一個有待解決的問題。
另一個重要的研究方向是如何更好地將領域知識整合到網絡中??山忉屝允顷P于提供解釋的,而解釋建立在可理解的術語之上,這些術語針對特定的目標任務。現在已經有很多方法構造不同類型的解釋,但解釋中使用的與領域相關的術語仍非常簡單,像素和顏色、材料、紋理等視覺概念(計算機視覺領域)以及詞匯(自然語言處理領域)作為領域術語,構成了解釋的基本單位?;谛畔⒄摰姆椒☉眯畔⒄撓嚓P的術語解釋神經網絡,提供了一種新思路。如果可以利用更多的領域/任務相關的術語,將獲得更多信息的解釋和更好的可解釋性。