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