機器學習的可解釋性
來源:《計算機研究與發展》,作者陳珂銳等
摘 要?近年來,機器學習發展迅速,尤其是深度學習在圖像、聲音、自然語言處理等領域取得卓越成效.機器學習算法的表示能力大幅度提高,但是伴隨著模型復雜度的增加,機器學習算法的可解釋性越差,至今,機器學習的可解釋性依舊是個難題.通過算法訓練出的模型被看作成黑盒子,嚴重阻礙了機器學習在某些特定領域的使用,譬如醫學、金融等領域.目前針對機器學習的可解釋性綜述性的工作極少,因此,將現有的可解釋方法進行歸類描述和分析比較,一方面對可解釋性的定義、度量進行闡述,另一方面針對可解釋對象的不同,從模型的解釋、預測結果的解釋和模仿者模型的解釋3個方面,總結和分析各種機器學習可解釋技術,并討論了機器學習可解釋方法面臨的挑戰和機遇以及未來的可能發展方向.
關鍵詞?機器學習;可解釋性;神經網絡;黑盒子;模仿者模型
縱觀機器學習的歷史發展進程,其最初的目標是從一系列數據中尋找出可以解釋的知識,因而在追求算法性能的同時,也很注重算法的可解釋性.典型的代表譬如線性感知機、決策樹、k近鄰算法等.進入20世紀80年代之后,伴隨神經網絡的復蘇,機器學習算法在設計時開始放棄可解釋性這一要求,強調提高算法泛化的性能.神經網絡的激活函數的選擇不再局限于線性函數,而采用非線性的譬如Sigmoid,tanh,Softmax,Relu等函數,一方面其表示能力大幅度提高,另一方面,隨著其模型復雜度的增加,算法的可解釋性就更差.
然而,機器學習解釋技術具有巨大的潛在應用空間.譬如科學家在知識發現的過程中,可解釋的機器學習系統可以幫助他們更好地理解輸出的知識,并尋找各種因素之間的相關性;對于一些復雜任務的端到端系統,幾乎無法完全測試,也無法創建系統可能失敗的完整場景列表,人類無法枚舉出所有可能出現的計算上或者邏輯上的不可行輸出,系統的可解釋性對于系統的理解則至關重要;需要防范可能產生某些歧視的場景,即使我們有意識將某些特定的受保護類編碼到系統中,也仍然存在考慮欠缺的先驗偏見,譬如種族歧視[1-3]、性別歧視等.
對機器學習的可解釋性需求不僅僅來源于上述的需求,同時還來源于法律法規.歐盟于2018年5月生效的GDPR(General Data Protection Regulation)中有條例明確規定,當機器針對某個個體作出決定時,該決定必須符合一定要求的可解釋性.
NIPS2017的工作組曾針對“可解釋性在機器學習中是否必要”這一問題展開激烈的討論[4].并非所有的機器學習系統都需要可解釋性,譬如郵政編碼分類、航空器防撞系統等都是在沒有人類干預的情況下運行,不需要解釋.但是在醫療保健、金融等行業而言,模型的可解釋性不僅重要而且非常必要.譬如在醫療保健方面,護理人員、醫生和臨床專家都依賴于新的醫療技術來幫助他們監控和決策患者護理,一個良好的可解釋性模型被證明可以提高臨床工作人員的解決問題的能力,從而提高患者護理質量[5-7].通常對于系統出現不可接受的結果且無法造成重大后果的情況下,或者在實際應用中,人們已經充分地研究和驗證出現的問題,即使系統表現不太完美,人們也愿意相信系統的決定.在類似的場景下,對可解釋性是沒有需求的.
近幾年來針對機器學習的可解釋性綜述性的工作陸續出現,每個學者從不同的研究角度和側重點進行概述說明.
Miller[8]從哲學、心理學和認知科學的角度對解釋的定義、生成、選擇、評估和呈現給予說明,展現人們在研究機器學習可解釋過程中的某種認知偏見和社會期望.Zhou等人[9]認為機器學習缺乏解釋既是實際問題也是道德問題,根據解釋的概念和黑盒子系統的類型不同,對目前的解釋技術進行了分類總結.
Gilpin等人[10]重點描述了可解釋技術在人機交互領域(human computer interaction, HCI)、黑盒模型和其他領域的應用說明.Carvalho等人[11]闡述可解釋性問題的重要性,并粗粒度地給出3種體系的分類歸納:Pre-Model VS In-Model VS Post-Model、內在(intrinsic)VS Hoc以及特異性模型(model-specific)VS不可知模型(model-agnostic).Brian等人[12]提出可解釋地預測與可解釋模型之間的區別,前者側重于解釋模型預測的結果,通常以個體特征的貢獻角度來詮釋,而后者從模型本身出發進行解釋.還有部分的研究者關注特定研究領域的可解釋性.譬如:Zhang等人[13]聚焦卷積神經網絡(convolutional neural networks, CNNs)的可解釋研究工作.Tjoa等人[14]則關注醫療領域的可解釋性工作.紀守領等人[15]側重可解釋技術的應用和安全領域的研究工作.
本文立足于機器學習的可解釋技術,借鑒和擴展Brian[12]提出的分類框架,對可解釋技術的最新研究進展進行綜述.一方面對可解釋性的定義、度量進行闡述,另一方面針對可解釋對象的不同,從模型的解釋、預測結果的解釋和模仿者模型3個方面,總結和分析各種機器學習可解釋技術.
1 基礎知識
1.1 可解釋定義
目前,關于機器學習的可解釋性沒有明確的定義,Liu等人[16]給出定義為:“解釋是指解釋給人聽的過程”.Doshi-Velez等人[17]也提出類似的定義.解釋意味著提供可理解的術語來說明一些概念.這些定義隱含地假設,解釋是由一些可理解的術語表達概念來構成,這些概念是自包含的,不需要進一步解釋.
目前文獻中用于描述可解釋性的英文單詞有解釋(interpretation)、解釋(explanation)和理解(under-standing).Montavon等人[18]給出了區別定義:Interpretation表示將抽象概念(例如預測類)映射到人類可以理解的領域中;Explanation是一個可解釋域的特征集合,用于解釋給定實例的決策(譬如分類、回歸等)處理過程;Understanding指對模型的功能性解釋.
1.2 形式化描述
令D={x1,x2,…,xm}表示包含m個示例的數據集,(xi,yi)表示第i個樣例,yi∈y是示例xi的標記,y表示輸出空間.給定一個數據集D={(x1,y1),(x2,y2),…,(xm,ym)}和一個預測器p.
1) 模型解釋
模型解釋的任務是從數據集D和預測器p中建立映射f:(xm→y)×(xn×m×yn)→(xm→y),解釋函數fE:(xm→y)→ε,ε表示人類能理解的邏輯值.
2) 預測結果解釋
預測結果解釋的任務是從數據集D和預測器
p中建立映射f:(xm→y)×(xn×m×yn)→(xm→y),解釋函數fE:(xm→y)×xm→ε,解釋過程中使用數據記錄xm的特征值.
3) 模仿者模型解釋
模仿者模型解釋的任務是從數據集D和預測器p中建立映射f:xm→y,解釋模型函數fE:(xm→y)→ε,且ε≈y.
2 主要研究方向和可解釋研究框架
2.1 主要研究方向
解釋技術最早出現在基于上下文規則的專家系統中,早在20世紀70年代,Shortliffe等人[19]就討論了解釋專家系統決策過程的必要性.
目前,可解釋技術的研究方向主要由表1所示,包括解釋理論和機器學習的可解釋.解釋理論的研究最早可以追溯到20世紀90年代,Chajewska等人[20]在通用的概率系統中提出解釋的正式定義.最近則是2017年,Doshi-Velez等人[21]提出的分別以應用為基礎、以人類為基礎、以功能為基礎的3種方法的分類,從而評估機器學習的人類可解釋性.其理論的發展伴隨應用場景的變化而發生改變.
Table 1 The Main Research Directions of Interpretation and Understanding Technology
表1 解釋技術的主要研究方向
Fig. 1 The framework of interpretation and understanding in machine leaning
圖1 機器學習的可解釋研究框架
對于機器學習的可解釋技術發展而言,早期主要關注傳統統計機器學習的方法,譬如基于規則的淺層模型的解釋、決策樹等.現階段大部分的研究聚焦于深度學習的可解釋性,無論是學界還是業界,越來越多的學者注意到深度模型可解釋的重要性和急迫性,未來在此方向將出現更多的研究思路和解決方案.
2.2 機器學習的可解釋研究框架
人類認知科學中,人類會根據詳細的邏輯推理來做決定,于是可以通過一步一步地展示推理過程來清楚地解釋決策是如何做出.在這種情況下,決策模型是透明的.另外,人類也會先做出直覺決策,然后尋求對決策的解釋,這屬于事后解釋法.依據這2種建模哲學構建機器學習的可解釋技術研究框架如圖1所示:機器學習處理流程通常將數據集劃分為訓練集和測試集,訓練數據集經過訓練模型得到預測模型,測試數據流入到預測模型,最終給出預測結果.圍繞機器學習的處理流程,可解釋工作主要圍繞在模型和結果解釋(result interpretation)兩個環節上,對于模型的解釋又分為模型解釋(model understanding)和模仿者模型解釋(mimic model understanding)兩種方式,因此,本文將現存在的可解釋技術按照上述的框架進行研究和總結分析.
3 機器學習模型的解釋技術
3.1 基于規則的解釋
基于規則的解釋通常使用容易被人類理解的規則模型,譬如決策樹和決策列表.Bastani等人[26]提出一種學習決策樹的模型提取算法,該算法對新輸入的數據主動采樣,并利用復雜模型對其進行標記,生成新的訓練數據集,最后使用決策樹作為全局解釋.該學習決策樹是非參數的,又高度的結構化,因此是可解釋的.Andrews等人[27]概括總結各種基于解釋規則的方式,提供對復雜模型的理解.
除了樹模型的規則解釋之外,還有針對神經網絡的規則提取.Bondarenko等人[28]總結基于神經網絡規則提取的分解法(decompositional rule extraction method),為網絡中每一個隱藏單元都映射一條規則,最終形成復合規則庫,并用于整個復雜網絡的解釋.
3.2 激活值最大化
激活值最大化思想主要是尋找能使一個給定的隱層單元的激活函數值最大的輸入模式,即理解哪些輸入會產生最大的模型響應.
Dumitru等人[29]將激活值最大化技術應用于受限玻爾茲曼機(restricted Boltzmann machines,RBMs)進行疊加和自編碼器去噪后所得到的網絡中,通過研究網絡中單個單元的響應,更好地深入理解該網絡的體系結構和表示.
激活值最大化可看作一個優化問題,假設θ表示神經網絡的參數(權重或者偏置),hij(θ,x)是給定層j對給定單元i的激活函數,x表示輸入樣本,ε是用于解釋的輸入特征值,激活最大化的目標變為
ε=arg max?hij(θ,x).
(1)
式(1)問題通常是非凸優化問題,也就是該問題存在諸多個局部最大值.目前最簡單易行的方法是通過梯度下降法(gradient descent)來尋找一個局部最大值.最終模型解釋借助于一個或者多個最大值進行描述解釋.
將上述的激活值最大化應用到深度置信網絡(deep belief network, DBN)中,可轉化為尋找
P(hij=1|x)的問題.進而推廣到深度神經網絡(deep neural network, DNN)框架下,假定DNN分類器映射一系列數據x到一組類ωc中,則轉化為求解maxx
該問題在優化的過程中有諸多的優化策略,可以采取類似于L2范數正則化或者Gaussian RBM的專家策略,或者進行特定抽樣,然后在decoding函數下映射到原始輸入域.Simonyan等人[30]將該方法推廣到卷積神經網絡上,構造了一個深度卷積網絡ConvNets,采取L2正則化進行優化.
激活值最大化方法相比于基于規則的解釋,其解釋結果更準確.但是該方法只適用于連續型數據,無法適用于自然語言處理模型.
3.3 隱層神經元分析
隱層神經元分析方法的主要思想是借助分析與可視化神經網絡模型中隱層神經元的局部特征,從而解釋深度神經網絡的預測行為.該方法常見于圖像處理領域.
對于隱層神經元的分析工作最初見于AlexNet,Krizhevsky直接可視化了神經網絡的第1個卷積層的卷積核,其重構出的圖像基本是關于邊緣、條紋及顏色的信息,因此該方法局限于可視卷積核的1層卷積層[43].
Zeiler等人[31]利用反卷積的方法對隱藏層的特征進行可視化,反卷積操作可看作卷積網絡的逆操作.該方法以各隱藏層得到的特征圖為輸入,進行反卷積操作,最終得到的結果再去驗證各個隱藏層提取到的特征圖.實驗結果表明經過CNN網絡的學習,各個卷積層學習到的特征是有辨別性的.對于圖像領域而言,隱藏層的最初幾層主要學習到背景信息,而隨著層數的提高,其學到的特征更加抽象.Zeiler的工作真正可以可視化多層卷積層.
上述2種方法都屬于無參數化的可視技術.提出的方法旨在可視化和理解具有最大池化和校正線性單元的卷積神經網絡的特征,從而形成一個可視化的解釋模式.
Yosinski等人[32]在之前的可視化技術基礎之上提出2種解釋工具:第1種可視化實時卷積激活,可看出用戶輸入后如何實時地影響卷積層的工作;第2種利用圖像空間中正則化優化技術,從而展示DNN每層的特征.Yosinski在數據集ImageNet上進行訓練,首先對所有的輸入訓練樣本減去ImageNet中每個像素的均值,得到網絡的輸入數據x看作以0為中心的輸入.然后構建一個目標函數:
(2)
其中,ε是可視化的結果,ai(x)是激活函數,而Rθ(x)是正則項.為了便于求解出結果,借助于公式
(3)
進行更新.經過正則項來更新x,Yosinski等人[32]給出4種正則化方法:L2衰變、高斯模糊、小范式裁剪像素(clipping pixels with small norm)和小貢獻裁剪像素(clipping pixels with small contribution).
Yosinski等人[32]提出的第2種工具屬于參數化的可視工具,需要簡單的配置安裝,即可對CNN模型的隱層神經元進行可視化.
除此之外,隱層神經元分析解釋的方法還可以借助重構圖像的方法來實現,并取得較好的效果.
Dosovitskiy等人[44]針對傳統的計算機視覺圖像特征HOG(histograms of oriented gradient)[45],SIFT(scale invariant feature transform)[46],LBP(local binary patterns)[47]和AlexNet網絡的每層特征2種類型進行圖像重建.
類似的工作還有Mahendran等人[48],給定一個輸入圖片x∈RC×H×W,其中C表示顏色通道,H表示圖片高度,W表示圖片的寬度,表征函數Φ:RC×H×W→Rd,特征值Φ0=Φ(x0),則重構圖像ε即可表示為如下的目標函數:
(4)
其中,正則項優化主要采用α范式和總變差(total variation, TV),該方法主要優化了特征向量間的誤差,并且需要借助人工設置的先驗知識,比較而言,Dosovitskiy等人?[44]的工作更多地考慮圖像重建誤差,再者是根據隱型的方式學習了圖像中的先驗知識.
區別于前面幾種圖像領域的隱層神經元分析方法,侯博建和周志華[33]對遞歸神經網絡(recursive neural network, RNN)進行解釋,其基于如下的觀察:如果RNN的每個隱藏層表示為一個向量或者一個點,向RNN中輸入多個序列后,將出現積累大量的隱藏狀態點,并且還傾向于構成集群的現象.這個觀察假設在最小門控單元(minimal gated unit,MGU)、簡版RNN(simple RNN, SRN)、門控循環單元(gated recurrent unit, GRU)和長短期記憶網絡(long short-term memory, LSTM)上通過實驗都得以驗證.于是,他們提出在訓練數據集上訓練RNN,然后將驗證數據集中所有隱藏層標注為一個點并執行聚類,最終學習到一個驗證數據集上的有限狀態機(finite state automaton, FSA),并用FSA對RNN做出解釋,闡述RNN的性能如何受到門控數量的影響,以及數值隱藏狀態轉換背后的語義含義.該方法借用FSA對RNN內部機制進行透視.
雖然隱層神經元分析的方法提供了每個隱藏神經元的定性分析,然而該做法并不能對每個神經網絡的整體機制提供太多可操作和定量的分析.
3.4 分離式表征
Zhou等人[34-35]認為對于大型的深度神經網絡而言,人類可理解的概念常常成為這些深度網絡中的個體潛在變量,而這些網絡可以自發學習分離式表征(disentangled representation),因而提出一種網路分割(network dissection)的方法來評估隱藏層和一系列語義概念之間的契合度,從而對深度網絡做出解釋.該方法處理如圖2所示:
Fig. 2 The processing of disentangled representation
圖2 分離式表征處理流程
分離式表征解釋方法大致可以分成3步:
Step1. 人工創建一個視覺語義概念數據集Broden,其中包含的每張圖片都富含像素(pixel-wise)標簽(顏色、紋理、場景、物體等),即對于每種語義概念都有一張標記映射(label map),圖2中Broden數據集中每張圖片標記成貓、自行車和塔等;
Step2. 對于一個訓練好的模型S,輸入Broden所有的圖片,收集神經網絡中某個隱藏單元在Broden所有圖片上的響應圖,這些響應較大的區域即是該隱藏層的語義表征,將得到一個二值的mask值;
Step3. 利用IoU量化隱層的語義表征mask和概念對標記映射之間的匹配程度,從而利用標記映射(label map)解釋神經網絡的某隱藏層所表示的含義.
分離式表征的方法和3.3節中介紹的隱層神經元分析是一個相反的過程,前者是利用給隱藏單元計算匹配度并打標簽的方式來正向解釋隱藏層學習的特征,而后者是通過反向機制,重構各隱藏層的提取特征.分離式表征的解釋方法效率較高,但是其準確度受限于語義概念數據集的大小以及其描述能力.
3.5 注意力機制
注意力機制(attention mechanism)[49]主要是在Encoder + Decoder模型框架下提出的,解決了該框架下輸入數據中的各個部分具有相同權重的問題,為模型賦于區分辨別關鍵重要信息的能力.
目前廣泛應用于圖像處理[50-53]、自然語言處理[54]、語音識別[55]等領域,并取得較好的結果.在這些應用中依據對齊算法為每個部分賦予不同的權重,注意力機制可以很好地解釋輸入與輸出之間的對齊關系,解釋說明模型學到的內容,可以為我們打開機器學習模型的黑箱提供了一種可視方法.
Xu等人[53]提出確定性軟注意力(deterministic “soft” attention)和隨機硬注意力(stochastic “hard” attention)兩種機制.確定性軟注意力是參數化的,可被嵌入到模型中直接訓練.而隨機硬注意力不會選擇整個Encoder的輸出為其輸入,以概率采樣的形式選擇Encoder端輸出的部分數據來進行計算,為了實現梯度的反向傳播,通常需要采用蒙特卡洛采樣的方法來估計模塊的梯度.2種注意力機制各有利弊,因為前者可直接求導,進行梯度反向傳播,因此,目前更多的研究和應用傾向于使用確定性軟注意力.
注意力模型中采用多種對齊函數[56]:
(5)
其中,
(6)
其中,f(mt,ms)表示源端到目標端的對齊程度,常見有點乘(dot)、權值網絡映射(general)和concat映射3種方式.
目前,注意力機制被用于解釋各類任務的預測.Xu等人[53],對于給定輸入數據為圖像,而輸出數據為該圖像的英文描述的任務,使用注意力機制來解釋輸出的英文描述中某個詞語與圖片中某個區域的高度依賴關系.
Chorowski等人[55]采用基于混合注意力機制的新型端到端可訓練語音識別方法,應用于基于注意力的遞歸序列生成器(attention-based recurrent sequence generator, ARSG)之上,借助內容和位置信息,選擇輸入系列中下一個位置用于解碼,并很好地解釋輸入端的聲音片段和輸出序列的音素之間的對應關系.Bahdanau等人[57]利用注意力機制表示輸出序列中每個單詞與輸入序列中的某個特定單詞的關聯程度,從而解釋法語到英語單詞之間的對應關系.
Rockt?schel等人[58]應用長短期記憶網絡LSTM的神經模型,可1次讀取2個句子來確定它們之間的蘊含關系,而非傳統地將每個句子獨立映射到一個語義空間方式.該模型利用逐詞(word-by-word)的注意力機制解釋了前提和假設中詞和詞之間的對應關系.
Rush等人[59]設計了基于注意力機制的神經網絡用于摘要抽取工作,注意力機制解釋了輸入句子和輸出摘要之間的單詞對應關系.
根據注意力的2種機制和對齊函數的分類標準,將各種神經網絡的注意力機制整理成表2所示:
Table 2 The Summary of Attention Mechanism Explanation Methods
表2 注意力機制解釋方法總結
注意力機制能否用于模型解釋,目前仍存在一些爭議.Jain等人[61]認為基于梯度的機制下,注意力機制學習到的注意力權重值不總能夠正確地解釋特征的重要性,同時不同的注意力分布可能也會得到相同的預測結果,因此認為注意力機制不能作為模型解釋的一種手段.部分學者認為其實驗設計有諸多不妥,例如基準的注意力權重值是隨意設置的,本應該由模型的其他圖層參數共同決定;模型預測結果的變化和注意力得分變化之間缺乏可比性等.本文認為注意力機制是可以被用來解釋模型決策,但是該方法缺乏解釋的一致性,相似的2個數據點,其解釋的注意力分布和注意力權重值可能會有變化.
4 預測結果和解釋技術
4.1 敏感度分析
敏感度分析[62]是研究如何將模型輸出不確定地分配給不同的模型輸入.該方法應用在預測結果的解釋上,多數是建立在模型的局部梯度估計或者其他的一些局部變量測量的基礎之上[63-65].該方法的理論基礎來源于Sundararajan等人[66]認為深度學習模型具有2個基本公理:敏感性和實現不變性.
敏感度分析常使用如下的公式來定義相關性分數:
(7)
其梯度的值在數據點x處估計,最終輸出那些最相關的輸入特征,也即是最敏感的特征.該方法并不能解釋函數f(x)本身,僅能解釋函數f(x)的變化.
Cortez等人[63-65]使用梯度和變量等因素來衡量敏感度的程度.另外,Baehrens等人[67]引入解釋向量來解釋分類器分類的行為,其定義貝葉斯分類器為
(8)
而解釋向量定義為
fE(x0)
(9)
其中,fE(x0)和x0維度相同,都是d,分類器g*(x)將數據空間Rd至多劃分成C份,g*是常量.解 釋向量fE(x0)在每個部分上都定義了1個向量場,該向量場表征是遠離相應類的流向,從而具有最大值的fE(x0)中的實體突出顯示了影響x0的類標簽決策特征,然后使用高亮技術可視化高度影響決策結果的那些特征,從而很好地解釋決策結果.
為了更好地量化類似梯度、變量等因素的影響,Datta等人[68]設計一套定量輸入影響(quantitative input influence, QII)用于衡量模型的輸入因素對預測輸出結果的影響.
4.2 泰勒分解
采用泰勒分解的方法來解釋預測結果,主要依靠分解函數值f(x)為相關分數之和[69].簡單的泰勒分解通過識別函數在某個根點
處的一階泰勒展開式的項,得到相關度的得分,該根點
是滿足
的點,則一階泰勒展開式為
?
(10)
其中,Ri(x)為相關度分數,d是輸入數據的尺寸大小,b表示二階或者更高階的多項式.對于多數的線性模型,譬如ReLU函數,其二階或者更高階的多項式趨向為0,因此可以將式(10)簡化為
Li等人[70]在泰勒展開式基礎上,還利用表示繪圖方法對自然語言處理(natural language process,NLP)領域中的文本進行解釋.Montavon等人[71]將其擴展為深度泰勒展開式,重新分配當前層和其下一層之間的相關度值.深度泰勒展開式為
?
(11)
其中,
表示當前層的所有神經元,
表示更低一層的神經元.通過將解釋從輸出層反向傳播到輸入層,有效地利用了網絡結構.該方法借助空間響應圖[72]來觀察神經網絡輸出,同時在像素空間中滑動神經網絡來構建熱圖.根據泰勒展開式的擬合特性,深度泰勒分解[71]準確度明顯高于簡單的泰勒分解[69],但前者比后者的計算量和復雜度更高.泰勒分解的方法適合神經網絡下的各種簡單或者復雜網絡.
4.3 相關度傳播
Bach等人[36]提出的分層優化的相關度傳播(layer-wise relevance propagation, LRP)從模型的輸出開始,反向移動,直到到達模型輸入為止,重新分配預測的分數或者相關度值,該方法常用于神經網絡的預測結果解釋.
1) 傳播定義
假設1個DNN網絡中具有2個神經元j和k,j和k所在的隱藏層是連續的,Rk表示較高層的神經元k的相關度得分,Rj←k表示神經元k到神經元j分享的相關度得分,則相關度的分配滿足:
(12)
Fig. 3 The sample diagram of LRP propagation mechanism
圖3 LRP傳播機制示例圖
具體傳遞流程如圖3所示.w13表示正向傳播神經元節點1到神經元節點3的權重,
表示神經元節點3到神經元節點1在1,2層之間傳播的相關得分.神經元之間的傳遞只能是連續層,不可跨層傳遞,即不可能出現類似
的情況.從傳遞機制可以看出,
(13)
(14)
(15)
(16)
2) 傳播規則
針對DNN網絡,使用α?β原則實現相鄰層之間的相關度傳遞.
假設DNN網絡的神經元激活函數為
(17)
其中,ak表示神經元k的激活值,j表示神經元k所在隱藏層的前一層的所有神經元之一,wjk表示權重,bk為偏置項.
則α?β原則定義為
(18)
其中,+表示正例,-表示負例,α和β滿足α-β=1,β≥0 約束.從而不同的α?β組合解釋預測結果的不同行為.
不同的任務、不同的網絡以及不同的數據上,各種α?β原則組合表現出不同的效果.Montavon等人[73]給出多種α?β組合,譬如α2β1,α1β0等,以及α?β組合選取的原則,并且在實驗中將敏感度分析、簡單泰勒分解以及相關度傳播的方法進行比較,明顯看出其預測結果解釋的準確度由大到小的排序為:相關度傳播的方法、簡單泰勒展開式、敏感度分析.
5 模仿者模型解釋技術
模仿者模型解釋方法的基本思想是通過訓練一個可解釋的模仿者模型M來解釋復雜的原模型S.相同的輸入x1,x2,…,xN,模仿者模型M和復雜的原模型S具有相似的輸出,即
5.1 線性分類器擬合
局部解釋法的主要思想是在一系列輸入實例中采樣獲得一組近鄰實例,然后訓練出一個線性模型來擬合神經網絡模型在該近鄰實例上的決策輸出,最后使用訓練好的線性模型來解釋復雜的神經網絡模型.該方法典型的代表是LIME[37],訓練出的模型可用于本地局部解釋預測結果,該方法適用于任何分類器的預測解釋,作者還通過文本處理的隨機森林模型和圖像分類應用的神經網絡數據集為例證明其方法的靈活性.
此類方法其優點在于模型設計訓練過程簡單,但由于近鄰實例的抽樣極具隨機性,訓練出的線性解釋模型是不穩定的,極易造成對于相似的輸入實例解釋不一致的問題,以及對同一輸入實例的多次解釋不一致的問題,同時,近鄰實例的選擇也極大地影響解釋結果的準確度.
Chu等人[38]研究了激活函數為分段線性函數的分段線性神經網絡(piecewise linear neural network, PLNN)的解釋問題,提出OpenBox的解釋模型.
以激活函數為PReLU的深度神經網絡為例,其激活單元可分為0和1 這2種情況,因為PReLU激活函數的線性性質,則可推導出無論神經元處于何種激活狀態,其輸入和輸出始終保持線性關系.
解釋模型OpenBox的處理流程如下所示:
給定一個輸入實例x,將隱藏層中所有神經元的激活狀態按逐層順序排列成一個向量conf(x),該向量的每一個元素為0或1,也稱為PLNN網中輸入實例x的配置.
那么,對于單個輸入實例的解釋使用PLNN網絡中輸入實例x的配置conf(x).當conf(x)的元素排列值不變時,PLNN中所有隱藏層的計算等價于一個簡單的線性運算Wx+b,即可構造F(x)=Softmax(Wx+b)的線性分類器.
為了解決解釋一致性的問題,為PLNN的每個隱層神經元的輸入z加上一組線性不等式約束r,因為輸入x和每個隱層神經元輸入z是線性關系,則等價于對每個輸入實例x加上一組線性不等式約束.因而,所有滿足r中線性不等式約束的實例x都具有相同的conf(x),這些實例共享著相同的線性分類器.
對于總體的決策行為解釋依靠一個線性分類器組來解釋,不同的隱層神經元激活狀態對應不同的conf(x),因此具有多個不同的線性分類器,這個分類器組可作為PLNN的解釋模型.
該方法時間復雜度為線性的,具有較好的解釋性能,但是局限性太強,僅能解釋PLNN類的網絡結構,對于其他復雜的網絡顯得無能為力.
5.2 模型壓縮
采取模型壓縮的方式模擬深度網絡,訓練出一個層數較少的淺層網絡,這個新的淺層網絡可以達到深度模型一樣的效果,實驗表明淺層神經網絡能夠學習與深度神經網絡相同的功能[74-75].基于上述思想,研究出一系列的模仿者模型用于解釋復雜的模型.
從原復雜的深度模型S到模仿者模型M,多數是通過模型壓縮途徑獲取.模型壓縮技術的研究動機主要是為了引入機器學習到移動終端,但是設備處理能力有限,因而設計各種算法減少隱藏層的節點數量和模型層數.Lei等人[76]通過減少隱藏層中節點的數量和輸出層中多元音素(senone)方式壓縮模型,最終在移動設備上安裝 CD-DNN-HMM(context-dependent deep neural network hidden Markov model).Li等人[77]利用最小化模型S和模型M輸出分布之間的KL(Kullback-Leibler)偏差進行層次壓縮,使用對數模型和高斯模型之間的等價關系對多元音素進行壓縮.多數學者利用壓縮模型簡單易解釋特性用于復雜模型的可解釋性工作.
5.3 知識蒸餾
知識蒸餾也稱為模型蒸餾或模型模擬學習方法,屬于模型壓縮方法的一種.其基本思想是從預先訓練好的大模型,蒸餾學習出性能較好的小模型.該方法有效地減小模型大小和計算資源.
Hinton等人[39]提供一種高效的知識蒸餾的方法,蒸餾主要通過軟性的Softmax概率來實現.對于Softmax的輸入z而言,其對于每個子類的輸出概率為
(19)
其中,當T=1時,即為普通的Softmax變換,當T?1時,即得到軟化的Softmax的概率分布.通過式(19)生成軟標簽,然后結合硬標簽同時用于新網絡的學習.
最后用KL散度來約束模仿者模型M和原模型S的概率分布較為相似,即:
(20)
其中,pM,pS分別表示模仿者模型M和原模型S的概率分布,Ak表示一組模仿者模型,q表示原模型S和模仿者模型M所包含所有類別的最小子集的概率分布.
Frosst等人[40]在Hinton提出的知識蒸餾方法的基礎之上,提出利用軟決策樹來模擬和解釋復雜的原深度神經網絡.
Balan等人[41]利用蒙特卡洛算法實現從教師模型S中蒸餾出學生模型M,并使M近似S的貝葉斯預測分布.該方法可簡化問題的復雜性,但是大量的抽樣將導致計算量較大.
Xu等人[78]設計了DarkSight解釋方法,利用蒸餾知識壓縮黑盒分類器成簡單可解釋的低維分類器,并借助可視化技術對提取的暗知識進行呈現.
5.4 其他方法
Che等人[42]利用梯度提升樹(gradient boosting trees)來學習深度模型中的可解釋特征,并構造出GBTmimic model 對模型進行解釋.其基本處理流程如圖4所示:
Fig. 4 The processing of GBTmimic model
圖4 GBTmimic模型處理流程
給定輸入特征x和目標y,輸入特征x進入原模型S后,輸出xnn和ynn.原模型S可能是多層降噪自動編碼機(stacked denoising autoencoder, SDAE)或者LSTM,都具有幾個隱藏層和一個預測層,xnn是選擇從最高隱藏層的激活函數中提出的特征,ynn是從預測層獲得軟預測分數.接下來,目標y和xnn同時進入Classifier,Classifier選擇Logistics回歸,在相同的分類任務上,xnn進入分類器獲得軟預測分值yc.最后,選擇yc或ynn以及特征x作為模仿者模型M的輸入,通過最小均方差得到最終輸出
模仿者模型即梯度提升回歸樹(gradient boosting regression trees).
Wu等人[79]提出樹規則化的方法,使用二分類決策樹模擬深度時間序列模型的預測,該模型比深度神經網絡更容易解釋,但是構造二分類決策樹開銷較大.
然而,由于模擬模型的模型復雜度降低,將無法保證具有超大維度的深神經網絡可以被更簡單的淺模型成功模擬,因此,模仿者模型不適合超深層的神經網路.同時,由于學習到一個更加簡單的神經網絡模型,解釋模型的復雜度則達到某種程度的降低,而效果是以犧牲部分模型的準確度為代價而取得.
6 性能評估
對于可解釋的評估因為任務的不同、解釋模型的不同等諸多因素造成目前無法使用普適的方法.多數的方法都采用熱力圖[29,31-32]、錯誤率、準確率或者AUC[42]等方法進行評估.為了考慮到可用性,Zhou等人[9,34]引入人類評估作為基線.本文試圖從可解釋研究框架的角度給出如下的評估標準:
給定數據集D={X,Y},對于任意的x∈X,得到原預測模型S的值
其解釋模型M的預測值是
6.1 解釋的一致性
一致性是指對于2個相似的數據點x和x′,其預測解釋M(x)和M(x′)也應該是接近相等的.解釋的一致性可表示為:
(21)
6.2 解釋的選擇性
Bach等人?[36]和Samek等人[80]提出解釋的選擇性可由相關度最高的特征移除時,激活函數f(x)降低的速度來評價.該方法也稱為像素翻轉(pixel-flipping),不僅適合圖像,同樣適用于文本數據.
其執行過程循環的執行步驟為:
Step1. 計算f(x)當前的值;
Step2. 找到最高相關度特征Ri(x);
Step3. 從特征集合中移除該特征x←x-{xi}.
6.3 解釋的準確性
準確性是指預測模型的準確度,可使用準確度值、F1指數等來衡量,構造一個可解釋性模型,該模型自身的準確度依舊需要保持高精度,可解釋模型的準確度為
6.4 解釋的保真度
解釋的保真度主要描述解釋模型在何種程度上準確模仿原模型.針對黑盒子結果而言,利用其準確度、F1指數進行評價.保真度即是評估
此外,除上述幾個與可解釋性嚴格相關的指標外,機器學習的模型具有其他的重要因素,例如可靠性、魯棒性、因果關系、可擴展性和通用性等,從而意味著模型能夠獨立于參數或者輸入數據保持一定的性能(可靠性與魯棒性),輸入的變化影響模型行為的變化(因果關系),此外要求能夠將模型擴展到更大的輸入空間(可擴展性).最后在不同的應用場景中,人們會使用相同的模型和不同的數據,因此需要能夠通用的解釋模型,而非定制的受限的,這也將為性能評估方法提出巨大的挑戰.
7 總結與展望
本文從機器學習模型的解釋技術、預測結果的解釋技術和模仿者模型技術3個方法總結了現有的關于機器學習的可解釋技術,并總結其相關信息如表3所示.
7.1 可解釋技術的內部問題
縱觀當前機器學習的可解釋技術,仍然面臨著3個方面的挑戰.
1) 準確性和解釋性的均衡.伴隨著模型的愈加復雜,提高最后預測的準確性,然后要求其預測的可解釋性,必將意味著模型的復雜度受到一定程度的制約,預測模型需要犧牲部分準確度來滿足可解釋性,預測精度的損失是一個令人擔憂的問題,因此,這一工作領域的中心重點是在保持可解釋性的同時將精度損失最小化.
2) 解釋一致性問題.輸入一系列數據,經過預測模型,其解釋機制給出一個解釋.當下次再次輸入相同或者類似的數據,解釋機制是否能給出相同或者一致的解釋是至關重要的,否則很難取得用戶的信任,并將其真正地應用于實際項目中.
3) 評估問題.如何評估機器學習的解釋質量的評價標準對于持續提升系統至關重要,因為只有這樣才能更明確地有針對性地設計技術方案進行改進.機器學習的評估指標除了第6節中提到的之外,還有待于深入研究.
Doshi-Velez等人[17]提出如何考慮評估機器學習模型的人類可解釋性方法.他們提出3種類型的方法:以應用為基礎,以幫助人類完成實際任務的程度來判斷解釋效果;以人類為基礎,以人類偏好或根據解釋對模型進行推理的能力來判斷解釋;以功能為基礎,以無人類輸入的情況下,來判斷代理模型的解釋效果.對于這3種方法,皆假設結果數據的矩陣因子法有利于識別出解釋性的常見潛在因素.
Mohseni等人[81]嘗試將機器學習的可解釋任務根據目標用戶分為數據新手(data novices)、數據專家、機器學習專家3類,在每個類別下分別給出用戶心智模型、用戶-機器任務性能、用戶解釋的滿意度、用戶信任和信賴度和計算性能4個維度的評估.Mohseni認為機器學習的可解釋性評估需要跨學科學者的共同努力,并充分考慮到人力和計算等要素.
7.2 安全和隱私性的問題
對模型研究得越透徹,意味著更大的風險,便于攻擊者的攻擊.無論是從數據上,還是從模型上,模型的可解釋性和安全存在某種程度的相沖突.譬如模型訓練階段的數據投毒攻擊[82]可造成模型的預測和解釋失敗;推理階段根據解釋技術中的激活值最大化和隱層神經元分析的方法,攻擊者可以依據模型的解釋機制而發起模型完整性攻擊的模型推測攻擊(model inversion attack)[83-85]和模型竊取攻擊(model extraction attack)[86].
Table 3 The Summary of Interpretation and Understanding Methods
表3 可解釋技術方法匯總表
目前,越來越多的人開始關注深度學習的隱私保護問題,該問題的目標是保護訓練數據集和訓練參數.主流的做法是Shokri等人[87]提出的分布式訓練方法,將噪聲注入到參數的梯度中進行訓練,以保護神經網絡中的隱私.在該方法中,注入噪聲的大小和隱私預算與共享參數的數量都將成比例地累積.因此,它可能消耗不必要的大部分隱私預算,多方之間的訓練時期的參數數量和共享參數的數量通常很大,可用性較差.
機器學習的可解釋方法是否可以提高深度學習的差分隱私的可用性?Phan等人[88]設計自適應拉普拉斯擾動機制,嘗試將“更多噪聲”注入到模型輸出“不太相關”的特征中.預測結果的解釋技術中的分層優化的相關度傳播LRP算法是不錯的解決方案,實驗表明在MNIST和CIFAR-10數據集上都取得不錯的效果.Papernot等人[89]提出的PATE(private aggregation of teacher ensembles)模型借鑒了模仿者模型解釋技術中的蒸餾知識技術,包含敏感信息的教師模型不能直接被訪問,蒸餾出的學生模型可以被查詢訪問,從而有效地保護模型和數據的隱私.綜上所述,將機器學習的可解釋技術和深度學習的隱私保護技術相結合,同時有效地解決機器學習的隱私和可解釋性2個問題成為一種可能.
7.3 研究視角的拓展
當前機器學習的可解釋框架主要從模型和結果2個角度進行解釋,具有一定的局限性.DeepMind 團隊的 Rabinowitz 等人[90]試圖以心智理論的視角來研究機器學習的可解釋性問題,其研究目標是讓觀察者在有限的數據集的基礎之上自動學習如何應對新的智能體建模,區別于以往的模仿算法,將學習如何像人理解人一樣來預測另一個智能體的行為.其團隊提出ToMnet模型改變以往嘗試設計能表述內在狀態的系統的做法,利用中轉系統、人機接口,縮小原系統的行為空間大小,從而以人類更好理解的形式轉述.同時,從訓練數據分析的視角來解釋機器學習的預測結果,也越來越被研究者所關注.譬如,Papernot等人[91]?提出的深度k近鄰(deep?k-nearest neighbors, DkNN) 混合分類器將k近鄰算法與DNN各層學習數據的表示形式相結合,有效地解決數據投毒攻擊和模型可解釋性2個問題.
目前,機器學習技術已滲入到數據庫、圖像識別、自然語言處理等多個研究領域,而機器學習的可解釋技術必將影響著這些領域產品由實驗室實驗階段走向工業實際應用的進程.
在數據庫領域,將機器學習融入到數據庫管理的索引結構[92]、緩沖區管理[93]和查詢優化[94-95]等多個環節中,出現一種機器學習化的數據庫系統趨勢.一方面可提高數據庫的處理速度;另一方面,數據庫系統可智能自動調配數據庫系統模塊.然而,機器學習的其可解釋性較差的缺點日趨凸顯,再者機器學習化的數據庫中重要的組成模塊事務處理要求事務處理過程具有可追溯性和可解釋性[96].因此,將可解釋性引入到機器學習化的數據庫中,可有效地幫助數據庫設計者和使用者更快、更好地設計和使用數據庫.
在自然語言理解領域,如何更好地利用知識和常識成為一個重要的研究課題.很多情況下,只有具備一定常識的情況下,才便于對機器做出更深入的解釋和理解.在人機交互系統中需要相關領域知識,從而能更加準確地完成用戶查詢理解、對話管理和回復生成等任務,受益于類似人機交互系統通常需要相關的領域知識這一特點,提高了基于知識和常識的可解釋性NLP的可能性.
多數學者將領域知識引入到機器學習中,主要出于處理小數據場景或者提高性能的考慮,極少考慮到領域知識也可看作解釋技術的重要組成部分.Rueden等人[97]首次提出知情機器學習(informed ML),對知識的類型、知識表示、知識轉換以及知識與機器學習的方法的融合做出詳細的分類說明.譬如知識類型可分為:自然科學、處理流程、世界知識和專家直覺.在該框架指導下,用戶可以逐步選擇合適的知識類型、知識表示和融合算法實現對機器學習模型的可解釋和預測結果的可解釋.
除此之外,知識圖譜具有海量規模、結構良好、語義豐富等優點,使其成為機器學習理解語言的重要背景知識成為可能.肖仰華團隊針對詞袋[98]、概念[99]、實體集[100]和鏈接實體[101]做出一系列的解釋工作,探索性地幫助機器理解和解釋概念.然而,大規模的常識獲取以及將符號化知識植入到數值化表示的神經網路都缺乏有效手段,這些問題將得到普遍的關注和研究.
再者不同的應用場景對于機器學習的可解釋性的要求不同,如果僅是作為技術安全審查而用,專業的解釋即可;如果當機器解釋成為人機交互的一部分時,其解釋必須通俗易懂.總之,機器學習的可解釋性解決方案源于實用性的需求.
審核編輯:符乾江
評論
查看更多