蘇炯銘,劉鴻福,項鳳濤,吳建宅,袁興生
(國防科技大學 智能科學學院,長沙 410073)
當前以大數(shù)據(jù)和深度學習為基礎(chǔ)的人工智能技術(shù)在圖像識別、語音識別和自然語言處理等許多應用領(lǐng)域取得了巨大進展,然而深度神經(jīng)網(wǎng)絡(Deep Neural Networks,DNN)的不透明性、不可解釋和不可理解成為制約其理論發(fā)展和實踐應用的巨大障礙?;谏疃壬窠?jīng)網(wǎng)絡的智能系統(tǒng),其學習和預測過程不透明,對于模型學到何種有效特征以及如何做出預測和判斷,整個過程缺乏可解釋性,被稱為“算法黑盒”系統(tǒng)。
當面對環(huán)境動態(tài)變化、信息不完全、存在干擾或虛假信息的情況,智能系統(tǒng)的性能就會顯著下降,此時用戶如果選擇無條件相信系統(tǒng),則有可能產(chǎn)生嚴重后果[1],如在圖像中加入細小擾動[2-4]或采用生成對抗網(wǎng)絡(Generative Adversarial Networks,GAN)[5-6]生成的對抗樣本將造成分類決策錯誤。在軍事[7]、醫(yī)療[8-9]、金融投資貸款、交通[10]等高風險決策領(lǐng)域,用戶往往不能默認相信智能系統(tǒng)的決策結(jié)果,而是需要智能系統(tǒng)提供做出該決策的依據(jù)信息,交由用戶對智能系統(tǒng)的決策進行最終評估和判斷,如拒絕、接受或調(diào)整決策結(jié)果。當前,因基于深度神經(jīng)網(wǎng)絡的智能系統(tǒng)決策存在弱理解性,使其無法實現(xiàn)有效的人機交互,難以與人類協(xié)同工作,嚴重影響系統(tǒng)效能[11-13]。
可解釋性并沒有嚴格的數(shù)學定義。不同的學者給出了多種非數(shù)學上的定義,如人類對于決策原因理解的程度[14]、人類可以持續(xù)預測模型結(jié)果的程度[15]、向人類做出解釋的過程等??傊?機器學習模型的可解釋性越高,人們就越容易理解做出某些決策或預測的原因。如果一個模型的決策對于人類來說比另一個更容易理解,那么這個模型就更容易解釋。深度神經(jīng)網(wǎng)絡解釋方法的目標并不是讓用戶完全了解模型如何工作,通常這不是必要的,因為深度神經(jīng)網(wǎng)絡模型是一個黑盒模型,如同人類大腦也是一個黑盒模型一樣,其真正的目標是讓用戶覺得模型決策的結(jié)果和依據(jù)合理、可信。
理解和解釋深度神經(jīng)網(wǎng)絡是深度學習未來發(fā)展的主要目標,將使人類對智能的認識從“只知其然”轉(zhuǎn)變?yōu)椤爸渌匀弧?從感知走向認知,從而促進深度網(wǎng)絡理論和應用的發(fā)展[16-17],其也將成為人機互信、人機協(xié)同的關(guān)鍵技術(shù),使智能系統(tǒng)不僅解釋結(jié)果而且解釋過程。本文針對多種典型的深度神經(jīng)網(wǎng)絡結(jié)構(gòu),分別介紹其解釋方法,著重對近年來的研究工作進行分析和比較,并對該領(lǐng)域的發(fā)展趨勢加以展望。
深度神經(jīng)網(wǎng)絡的“黑盒”問題吸引了學術(shù)界、工業(yè)界甚至軍方學者廣泛的研究興趣,是當下人工智能研究的難點和熱點[16-18]?!禢ature》《Science》《MIT Technology Review》都撰文指出深度學習的發(fā)展需要打開這個黑盒[19]。美國軍方對智能系統(tǒng)“算法黑盒”的容忍度幾乎為零,美國國防部已將機器學習的可解釋性定性為“關(guān)鍵的絆腳石”。美國國防高級研究計劃局(Defense Advanced Research Projects Agency,DARPA)于2016年提出的可解釋的人工智能(eXplainable Artificial Intelligence,XAI)計劃[7],旨在建設(shè)一套全新或修改的具有很好可解釋性以及更易讓人理解的機器學習模型。
近年來,深度神經(jīng)網(wǎng)絡的可解釋問題已引起了國內(nèi)外眾多學者的廣泛關(guān)注。人工智能、機器學習和計算機視覺領(lǐng)域的頂級國際會議都開始舉辦相關(guān)的研討會。NIPS(Neural Information Processing Systems)分別于2016年和2017年以“Interpretable Machine Learning for Complex Systems”和“Interpretable ML Symposium”為題進行了研討;ICML(International Conference on Machine Learning)于2017年分別以“Visualization for Deep Learning”和“Human Interpretability in Machine Learning”為題進行了研討;IJCAI(International Joint Conference on Artificial Intelligence)/ECAI(European Conference on Artificial Intelligence)于2018年舉辦了以“Human Interpretability in Machine Learning”“Workshop on Interpretable & Reasonable Deep Learning and its Applications”和“Explainable Artificial Intelligence”為題的研討會;2019年,IJCAI和CVPR(Conference on Computer Vision and Pattern Recognition)分別舉辦了以“Explainable Artificial Intelligence”為題的研討會,AAAI(American Association for Artificial Intelligence)舉辦了以“Network Interpretability for Deep Learning”為題的研討會。
此外,隨著對可解釋深度神經(jīng)網(wǎng)絡研究的深入,出現(xiàn)了大量研究成果,如以“Interpretable deep neural networks”“Interpretable deep learning” “Interpretable Machine Learning”“Explainable Artificial Intelligence”為主題詞在Web of Science核心合集(WBSCI)中檢索到的SCI文章數(shù)逐年增加,僅在短短的4年時間內(nèi),論文數(shù)量就從2015年的65篇增加到2018年的233篇,如圖1所示。
圖1 WBSCI數(shù)據(jù)庫中可解釋深度神經(jīng)網(wǎng)絡論文數(shù)量變化Fig.1 Change of number of papers about interpretabledeep neural networks on WBSCI database
上述國際權(quán)威研討會的召開和研究成果的出現(xiàn),表明目前關(guān)于可解釋深度神經(jīng)網(wǎng)絡的研究處于早期階段,但隨著深度神經(jīng)網(wǎng)絡的廣泛應用,其重要性日益顯現(xiàn)。
國內(nèi)外學者對不同的深度神經(jīng)網(wǎng)絡提出了很多解釋理論和方法,相應的綜述性文章[12-14,20-25]對這些研究進行了總結(jié)。在已有的綜述文獻中,有些只針對特定深度神經(jīng)網(wǎng)絡或者部分方法進行了論述。文獻[12]主要綜述了敏感性分析方法[26]和LRP(Layer-wise Relevance Propagation)方法[27]。文獻[13]主要對卷積神經(jīng)網(wǎng)絡的視覺解釋方法進行綜述。文獻[14]從哲學、認知心理學/科學和社會心理學的角度對人工智能的可解釋性問題進行論述。部分文獻從黑盒模型、機器學習和人工智能可解釋性的角度進行綜述。文獻[20]對黑盒模型的解釋方法進行了分類和較為全面的論述,包括深度神經(jīng)網(wǎng)絡的可視化方法和任意類型黑盒模型的解釋方法等。文獻[21]對以往關(guān)于機器可解釋性的工作進行分類,分析其面臨的挑戰(zhàn)并提供模型解釋的可能方法。文獻[22]通過在機器學習的背景下定義可解釋性并引入預測性、描述性和相關(guān)性框架討論可解釋性。該框架為評估提供了3個總體需求,即預測準確性、描述準確性和相對于人類用戶的判斷相關(guān)性。文獻[23]綜述了現(xiàn)有提高機器學習模型可解釋性的技術(shù),并且討論了社區(qū)未來應當考慮的關(guān)鍵問題。
也有一些學者對深度神經(jīng)網(wǎng)絡的可解釋性進行了比較全面的分析和整理。文獻[24]介紹了一些近期提出的深度神經(jīng)網(wǎng)絡解釋技術(shù)以及理論、技巧和建議,以便在真實數(shù)據(jù)上最有效地使用這些技術(shù)。文獻[25]通過定義可解釋性對現(xiàn)有文獻進行分類,指出當前深度神經(jīng)網(wǎng)絡的方法研究還不夠充分,并展望了可解釋人工智能的未來研究方向。
隨著深度神經(jīng)網(wǎng)絡研究的深入和廣泛應用,新的網(wǎng)絡結(jié)構(gòu)和解釋方法不斷出現(xiàn)和發(fā)展,對這些工作進行梳理分析和總結(jié)有助于把握深度神經(jīng)網(wǎng)絡可解釋問題的最新研究進展和發(fā)展趨勢。因此,學術(shù)界和工業(yè)界學者都在各自領(lǐng)域內(nèi)針對深度神經(jīng)網(wǎng)絡的可解釋性問題進行深入研究和探索[12-13,20,22,24,28-29],如表1所示,當前深度神經(jīng)網(wǎng)絡解釋方法研究主要針對不同的網(wǎng)絡結(jié)構(gòu),其中卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)解釋方法成果較多,循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks,RNN)和生成對抗網(wǎng)絡隨著深入研究和廣泛應用,其解釋方法也逐漸引起了研究人員的注意,成為未來解釋方法研究的發(fā)展趨勢。從解釋的形式來看,多數(shù)方法提供視覺解釋,采用可視化的方法向用戶提供決策的依據(jù),如高亮圖像區(qū)域或文本的關(guān)鍵字符等。另外一些方法試圖提供自然語言描述語義的文本解釋,描述做出決策的關(guān)鍵特征。多模態(tài)的解釋方法同時提供視覺解釋和文本解釋,是一種較為完備的解釋模式。
表1 深度神經(jīng)網(wǎng)絡主要解釋方法分析Table 1 Analysis of the main interpretation methods for deep neural networks
深度神經(jīng)網(wǎng)絡本質(zhì)上是一個非線性非凸的函數(shù),對其進行純數(shù)學理論分析解釋非常困難,目前缺乏完備的理論和方法體系,深度神經(jīng)網(wǎng)絡解釋方法和實際應用也尚未成熟,還亟須進一步深入研究。
卷積神經(jīng)網(wǎng)絡(CNN)被廣泛應用于圖像識別、語音識別、語義識別、自動駕駛等系統(tǒng),其通常由一個或多個卷積層、池化層和頂端的全連接層組成,這一結(jié)構(gòu)使得卷積神經(jīng)網(wǎng)絡能夠有效利用輸入數(shù)據(jù)的二維結(jié)構(gòu)。與其他深度前饋神經(jīng)網(wǎng)絡相比,CNN大幅減少了網(wǎng)絡參數(shù),能夠更好地利用GPU做大規(guī)模并行處理,從而是一種極具吸引力的深度學習結(jié)構(gòu)。雖然CNN具有高精度的預測性能,但是在復雜的多層非線性網(wǎng)絡結(jié)構(gòu)中,理解和解釋卷積神經(jīng)網(wǎng)絡仍然面臨以下的挑戰(zhàn)和困難:
1)難以確定和限制卷積神經(jīng)網(wǎng)絡隱藏神經(jīng)元的語義。當前對卷積神經(jīng)網(wǎng)絡的可視化研究,可以讓用戶觀察神經(jīng)元學習到或激活的模式,但在高卷積層中仍不能自動映射到視覺的語義概念。高卷積層中同一個神經(jīng)元經(jīng)常能夠混合檢測多個模式,或者在不同的圖像上檢測不同的模式,這使得同一個神經(jīng)元具有多個語義的不確定性,難以確定卷積神經(jīng)網(wǎng)絡隱藏神經(jīng)元的明確語義,這種語義描述的復雜性使網(wǎng)絡的可解釋性大幅降低。
2)難以從視覺語義和文本解釋上綜合解釋卷積神經(jīng)網(wǎng)絡決策過程和結(jié)果。由于卷積神經(jīng)網(wǎng)絡隱藏神經(jīng)元語義的不確定性,從視覺語義和文本解釋解釋決策過程和結(jié)果更加困難。視覺語義解釋需要清晰地展示決策過程中卷積神經(jīng)網(wǎng)絡哪些視覺模式被激活、對應于哪些視覺概念以及這些模式對最終結(jié)果的權(quán)重如何,因此,需要將視覺表征用富含語義的自然語言描述方式進行輸出作為決策依據(jù)。視覺語義解釋和文本解釋相互對應和匹配,同時也互為補充。當前視覺語義解釋和文本解釋研究還處于獨立發(fā)展初期[8,31,53-54],從視覺語義和文本兩方面同時進行解釋的研究還比較少見[9-10,55-56]。
1.1.1 隱層表征解釋方法
CNN隱層表征解釋方法可使神經(jīng)網(wǎng)絡具有清晰的符號化的內(nèi)部知識表達,同時匹配人類自身的知識框架,人們可以在語義層面對神經(jīng)網(wǎng)絡進行診斷和修改。
CNN內(nèi)部可視化方法通過CNN內(nèi)部卷積核可視化的方法來解釋CNN內(nèi)部所學到的圖像表征。理解CNN內(nèi)部網(wǎng)絡的操作需要追蹤多層網(wǎng)絡中每一層的特征狀態(tài),而中間層的狀態(tài)可以通過反卷積網(wǎng)絡(Deconvolutional Network)[30]技術(shù)反向映射回輸入層的圖像像素空間。反卷積網(wǎng)絡可以理解成另一個反向的CNN,其具有同樣的網(wǎng)絡結(jié)構(gòu),包括卷積元、池化層等。反卷積網(wǎng)絡主要作用是把CNN從像素學會的特征還原成可以從任意一個輸出層或者中間層反推到輸入層的對應像素。反卷積網(wǎng)絡清楚地證明了CNN高效的學習能力:通過學習圖像中物體從小至大的特征而歸納出物體的整體特征,CNN網(wǎng)絡中海量的內(nèi)部隱藏特征元并不是隨機的。該結(jié)論極大地加深了使用者對于CNN模型的理解,從而進一步信任模型的結(jié)果。反卷積網(wǎng)絡除了可以觀察解釋CNN內(nèi)部結(jié)構(gòu)外,還可以用來解決模型建立和調(diào)試時遇到的問題,并通過分析內(nèi)部結(jié)果得到更好的模型。另一種替代方法是不使用簡單的反向傳播,而是使用導向反向傳播(Guided Back Propagation)算法[76]。這種技術(shù)不僅能夠識別一個修正線性單元(Rectified Linear Unit,ReLU)是否被激活,而且可以識別所有值為負的梯度。在此基礎(chǔ)上,把所有不被激活的修正線性單元ReLU關(guān)閉,并且把所有反向傳播時遇到的負信號設(shè)置為閾值0,更符合ReLU在前向傳播時的特性。通過去除所有負梯度對所選神經(jīng)元造成的影響,只保留正面的影響,反向傳播最后獲得的圖片更加清晰。
通過類激活映射(Class Activation Mapping,CAM)[31]方法發(fā)現(xiàn)CNN提取的特征包含位置信息,特定的卷積單元識別圖像中相對固定的部分,不同的卷積單元通過識別不同的部分,并在最后將不同的部分組合起來,從而可以識別物體。該方法可以確定每個卷積核所對應的特征圖的權(quán)重,但是每個卷積核特征圖的語義卻難以確定,如圖2所示。CAM方法只能解釋特定結(jié)構(gòu)的CNN網(wǎng)絡,如卷積特征圖到全局平均池化層再到Softmax層這類結(jié)構(gòu)。
圖2 類激活映射方法示意圖Fig.2 Schematic diagram of class activationmapping method
網(wǎng)絡剖析(Network Dissection)是一種解釋深度視覺表征并量化其可解釋性的方法[32]。首先構(gòu)建一個帶有不同語義概念的圖片數(shù)據(jù)庫,庫中每張圖都有像素級的標定(如顏色、紋理、場景、物體部分、物體等),對訓練好的模型提取出每張圖片的激活響應單元譜,然后利用交并比(Intersection over Union,IoU)來計算每一個卷積核所對應的一組語義概念的分割能力,當卷積核對某類語義概念的IoU超過一定閾值時,則認為該卷積核在檢測這個語義概念,如圖3所示。
圖3 網(wǎng)絡剖析方法語義分割示意圖Fig.3 Schematic diagram of semantic segmentationin network dissection method
通過優(yōu)化激活特定神經(jīng)元或一組神經(jīng)元生成圖像,可以可視化神經(jīng)元學到的內(nèi)容[33-34]。對于帶有隨機噪聲的圖像,可通過優(yōu)化像素來激活所訓練DNN中的特定神經(jīng)元,進而可視化神經(jīng)元學到的內(nèi)容。
1.1.2 敏感性分析方法
敏感性分析方法的基本原理是去掉或者改變組件(如圖像中的像素或語義分割區(qū)域)的值,觀察決策結(jié)果的變化情況,決策結(jié)果改變較大對應為重要的組件。應用靈敏度分析只能回答哪些特征影響了該輸入數(shù)據(jù)的分類結(jié)果,但不能回答“為什么是該分類結(jié)果”這類更為基本的問題。
1)一般敏感性分析方法
遮擋法采用一個灰色的方塊對圖像的不同部位進行遮擋來觀察對圖像分類結(jié)果標簽的影響。該方法的缺點在于方塊的大小、顏色和位置難以確定,選擇不同的參數(shù)可能會得到不同的解釋結(jié)果[30]。
樣本敏感性分析法[35]對訓練樣本做微小擾動改變,最后收斂的參數(shù)也會發(fā)生改變,然后得到參數(shù)的改變對微小擾動的導數(shù),這個導數(shù)稱為這個樣本的影響力函數(shù)。此方法也可以應用到對抗樣本的生成中,只需要在一部分影響力函數(shù)較大的樣本中添加一些肉眼不可見的擾動,就足以干擾其他樣本的判定結(jié)果。RISE[36]是一種黑盒方法,其通過對輸入多個圖像隨機屏蔽的模型進行探測,并獲得相應的輸出,從實驗上估計每個像素的重要性,實驗效果優(yōu)于遮擋法[30]、Grad-CAM[40]和LIME[47]。FIDO是一個計算和可視化分類器特征重要性的模型診斷框架,將遮擋區(qū)域邊緣化,對圖像非遮擋部分的生成模型進行調(diào)節(jié),以對改變或保留分類器行為的反事實輸入進行采樣,其通過利用一個強大的條件生成模型生成顯著圖,能夠較好地識別相關(guān)和集中的像素[37]。
2)基于梯度的敏感性分析方法
顯著圖方法通過在像素上進行微小擾動,觀察模型預測類別概率的變化,從而計算每個像素的梯度,得到每個像素的重要程度[26,38]。
LRP方法是一種計算逐像素貢獻的分解方法[77],自提出以來被廣泛應用于解釋圖像分類[27,78-79]、文本分類[80-81]和視頻中的人類行動識別[82]等計算機視覺任務。針對視頻分類任務解釋,LRP方法只能對人體動作識別中基于Fisher向量編碼和SVM分離器的壓縮域方法進行解釋[82],較少有對采用深度學習模型進行視頻分類解釋的研究。LRP方法使用前饋結(jié)構(gòu)圖,可以對模型預測值進行分解計算,從網(wǎng)絡的輸出開始,依據(jù)圖結(jié)構(gòu)進行反向傳播計算,逐步調(diào)整相關(guān)分數(shù),直到輸入層,調(diào)整相關(guān)分數(shù)的過程遵守局部相關(guān)性守恒原理。深度泰勒分解方法擴展了LRP,其核心思想是根據(jù)輸入的貢獻分解神經(jīng)元的激活函數(shù),通過在根點(Root Point)處的一階泰勒展開實現(xiàn)。深度泰勒展開的難處在于根點的選擇。此方法最先用于解釋分層網(wǎng)絡的預測結(jié)果[39],后被用于解釋卷積神經(jīng)網(wǎng)絡的預測結(jié)果[27]。
Grad-CAM[40]利用最后卷積層的梯度生成熱力圖,突出顯示輸入圖像中的重要像素用于分類,證明了采用全局平均池化(GAP)來生成CAM等價于利用梯度計算激活值的特殊情況。Grad-CAM可以在保持原有網(wǎng)絡結(jié)構(gòu)的基礎(chǔ)上生成類激活熱力圖。
針對梯度飽和問題,學者又提出了集成梯度法[41]和DeepLIFT方法[42]。DeepLIFT方法在MNIST等數(shù)據(jù)集上的效果優(yōu)于基于梯度的方法?;趯傩苑椒☉敐M足靈敏度公理和實現(xiàn)不變性公理的特點,學者提出的集成梯度法具有很強的理論合理性,但仍然沒有解決輸入特征與網(wǎng)絡所采用的邏輯之間的相互作用問題:反卷積網(wǎng)絡和導向反向傳播違反了靈敏度公理;DeepLift和LRP方法違反了實現(xiàn)不變性公理。此外,SmoothGrad[83]則是一種增強基于梯度的靈敏度圖可視化效果的簡單方法。
網(wǎng)絡梯度的顯著圖、反卷積網(wǎng)絡,導向反向傳播、LRP等流行的解釋方法不能在理論上正確解釋一個簡單的線性模型(可視為簡單的深度模型),更不能解釋非線性的深度神經(jīng)網(wǎng)絡[43]。在分析線性模型的基礎(chǔ)上提出的PatternNet和PatternAttribution方法對線性分類模型理論完備,從理論、定性和定量方面對理解深度神經(jīng)網(wǎng)絡都有所改進和完善,并且只需要一次反向傳播計算,可支持模型決策的實時可視化解釋[43]。PatternNet能夠估計出信號的正確方向從而改進了反卷積網(wǎng)絡和導向反向傳播的可視化過程。PatternAttribution擴展了深度泰勒分解方法,可以從數(shù)據(jù)中學習如何設(shè)置根點。不同解釋方法的圖像分類效果如圖4所示[43]。值得注意的是,對解釋方法進行攻擊是可能的,對此將形成錯誤的解釋[84]。
圖4 不同解釋方法的圖像分類效果Fig.4 Image classification effects of different interpretation methods
1.1.3 可解釋的CNN構(gòu)建方法
可解釋的CNN構(gòu)建方法通過對傳統(tǒng)的CNN進行改造,使其具有更好的可解釋性。ZHANG等人介紹了如何端對端地學習一個CNN,使得其內(nèi)部高層卷積層的每個卷積核自動表示某個對象部分。可解釋的卷積層結(jié)構(gòu)如圖5所示[44-45],可以看出,算法并不需要人為標注對象部分或紋理作為額外的監(jiān)督信號,而是為這些卷積核添加一個先驗約束,使得在訓練過程中自動回歸到某種對象部分。
圖5 可解釋的卷積層結(jié)構(gòu)Fig.5 Interpretable convolutional layer structure
YIN等人提出一種空間激活多樣性損失函數(shù)構(gòu)建可解釋的人臉識別網(wǎng)絡[85],使得可解釋的表征具有識別性,并且對遮擋具有魯棒性。BENGIO等人提出一種可直接處理語音時序信號的可解釋神經(jīng)網(wǎng)絡結(jié)構(gòu)SincNet[46],其只針對第一層網(wǎng)絡進行設(shè)計,意在學習更有意義的濾波器。通常來說,對于處理聲音時序信號,第一層網(wǎng)絡的提取能力至關(guān)重要,因為其提取的低維特征的有效性是高層網(wǎng)絡學習有意義的高維特征信息的前提。KUO等人提出一種可解釋的前饋設(shè)計,無需任何反向傳播作為參考,采用以數(shù)據(jù)為中心的方法,基于前一層的輸出數(shù)據(jù),以一次通過的方式導出當前層網(wǎng)絡參數(shù)。同時,其在數(shù)據(jù)集MNIST和CIFAR10上對基于反向傳播和前饋設(shè)計的CNN進行了分類性能和魯棒性比較[86]。
1.1.4 模型模仿解釋方法
模型模仿解釋方法使用可解釋的模型模仿深度神經(jīng)網(wǎng)絡模型,從而解釋深度神經(jīng)網(wǎng)絡模型的行為,如圖6所示。深度神經(jīng)網(wǎng)絡整體是一個非線性非凸模型,但是在局部區(qū)域可以用線性模型進行模仿和逼近,說明深度神經(jīng)網(wǎng)絡具有局部的線性特征,如圖7所示。在此基礎(chǔ)上,LIME算法利用線性模型分析深度神經(jīng)網(wǎng)絡的局部行為,使用稀疏線性模型逼近深度神經(jīng)網(wǎng)絡的預測[47]。LIME在做出圖像分類決策時,不考慮觸發(fā)神經(jīng)網(wǎng)絡中的哪個神經(jīng)元,而是在圖像本身中搜索解釋,將原始圖像的不同部分變黑,并將產(chǎn)生的擾動圖像反饋回來,以檢查哪些擾動將算法拋離最遠。通過這種方法,LIME 可以將初始網(wǎng)絡分類決策歸因于原始圖片的特定特征。例如對于青蛙的圖像,LIME 發(fā)現(xiàn)抹除部分臉部會讓初始網(wǎng)絡很難識別圖像,這表明最初的分類決策大多是基于青蛙的臉。
圖6 使用可解釋模型模仿深度神經(jīng)網(wǎng)絡行為示意圖Fig.6 Schematic diagram of imitating deep neural networksbehavior using interpretable models
圖7 深度神經(jīng)網(wǎng)絡的局部線性特征Fig.7 Local linear feature of deep neural networks
決策樹是另一種用于模仿深度神經(jīng)網(wǎng)絡的方法。文獻[87]通過一系列逐層梯度增強決策樹提取網(wǎng)絡,并用葉節(jié)點的指數(shù)編碼神經(jīng)元激活序列。文獻[48]采用決策樹模型分析深度神經(jīng)網(wǎng)絡的局部行為,通過樹規(guī)范化的方法訓練一個容易被決策樹解釋的網(wǎng)絡。文獻[49]采用決策樹和隨機森林作為元學習器來解釋圖像的分類過程,實現(xiàn)了隱藏層上所有測試實例的全局解釋,而不會犧牲原始CNN模型的精度。文獻[50]介紹了一種把CNN的卷積層內(nèi)部知識轉(zhuǎn)化成解釋圖模型的方法。算法自動學習出一個包含成千上萬個節(jié)點的知識圖去解釋CNN內(nèi)部的層次化的知識結(jié)構(gòu),解釋圖中每一個節(jié)點嚴格表示在CNN中某個卷積層的對象部分模式,從而把混亂的CNN的知識拆分成幾十萬對象部分的子模式。文獻[51]提出用決策樹量化解釋CNN的方法,使用決策樹在語義層次上來量化解釋CNN預測的邏輯。決策樹中的每個節(jié)點表示特定的決策模式,且該決策樹以由粗到細的方式組織所有的決策模式,接近頂部根節(jié)點表征許多樣本共享的通用決策模式,接近葉節(jié)點對應少數(shù)樣本的細粒模式,特別是每個葉節(jié)點對應于 CNN 的輸出關(guān)于圖像中不同物體部位的梯度。文獻[52]使用解釋網(wǎng)絡對訓練后的CNN中的卷積層特征圖進行分離。解釋網(wǎng)絡將輸入特征分解為對象部分特征圖,以解釋執(zhí)行者中的知識表示,使每個卷積核表示特定的對象部分。解釋網(wǎng)絡還可以反轉(zhuǎn)分離的對象部件特征,以重建CNN的高層特征,而不會損失太多信息。
1.1.5 文本解釋方法和多模態(tài)解釋方法
文本解釋方法是指為模型決策結(jié)果生成文本形式的自然語言描述來解釋決策的依據(jù),如目標所包含的特征。這與看圖說話(Image Captioning)方法不同,看圖說話是指對圖像中的內(nèi)容采用文本方式進行一般描述,并非對模型決策進行解釋和說明。文獻[53]提出一種基于抽樣和強化學習的損失函數(shù),該函數(shù)學習生成具有全局屬性的句子。對一個細粒度鳥類物種分類數(shù)據(jù)集的研究結(jié)果表明,其能夠在一定程度上產(chǎn)生與圖像一致的自然語言描述的文本解釋。InterpNET可以對分類任務生成自然語言解釋,并在細粒度鳥類物種分類數(shù)據(jù)集上進行了驗證,然而生成的解釋還不完善,如圖8所示[54]。
圖8 鳥類圖像分類的文本解釋方法示意圖Fig.8 Schematic diagram of text interpretation method forbird image classification
多模態(tài)解釋方法不但為模型決策生成文本解釋,而且在圖像上生成對應的視覺證據(jù)區(qū)域,如圖9所示。PJ-X模型使用注意力機制構(gòu)建模型生成決策結(jié)果的視覺解釋,對結(jié)果生成文本描述的自然語言解釋,并在視覺問題任務和活動識別任務上進行了驗證[55-56]。MDNet是一個能夠具有在語義上和視覺上為可解釋性的醫(yī)學圖像診斷網(wǎng)絡,給定一張醫(yī)學圖像,MDNet能夠自動生成完整的診斷報告同時在描述圖像時顯示圖像關(guān)注區(qū)[9]。文獻[10]針對自動駕駛?cè)蝿?采用視覺注意力模型訓練卷積神經(jīng)網(wǎng)絡端到端的學習圖像至控制命令,然后利用基于注意力的視頻轉(zhuǎn)文本模型生成模型行為的文本解釋。
圖9 多模態(tài)解釋方法示意圖Fig.9 Schematic diagram of multimodalinterpretation method
循環(huán)神經(jīng)網(wǎng)絡(RNN)是一類用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡,常見的RNN網(wǎng)絡有LSTM[88]、BLSTM[89]、GRU[90]等,被廣泛應用于語義分析、情感分析、圖像文本標注和語言翻譯等任務。
可視化的方法對理解RNN的特定方面非常有用。文獻[57]使用靜態(tài)可視化技術(shù)來幫助理解語言模型中的隱藏狀態(tài),研究結(jié)果表明,選定的單元格可以為明確的事件建模,例如括號和統(tǒng)一資源定位符(Uniform Resource Locator,URL)的開頭。文獻[58]基于梯度的顯著性來找到重要的單詞,使用表征標繪等傳統(tǒng)方法和簡單策略來評估神經(jīng)元對于語義構(gòu)建的貢獻度。文獻[57-60]證明了RNN學習攜帶語義信息的詞匯類別和語法功能。LSTMVis是用于遞歸神經(jīng)網(wǎng)絡的可視化分析工具,專注于了解這些隱藏的狀態(tài)的動力學過程[61]。LISA用于解釋決策并檢測網(wǎng)絡在決策制定時所依賴的最可能模式[62]。文獻[63]提出可視化存儲向量以理解LSTM和GRU在語音識別任務中的行為。RNNVis基于RNN對輸入的預期響應來可視化隱藏狀態(tài),當有負面詞如worst輸入時,將大量激活負面情感隱藏單元簇,對應于負面情感;當有正面詞如excellent輸入時,將大量激活正面情感隱藏單元簇,對應于正面情感,如圖10所示[64]。文獻[65]研究了深度雙向語言模型的內(nèi)部狀態(tài),以學習情境化的單詞表示,并觀察到更高級別的隱藏狀態(tài)捕獲單詞語義。LRP技術(shù)應用于基于單詞的雙向LSTM模型上的5類情感預測任務,并定性和定量地評估所得的相關(guān)性[81]。
圖10 基于GRU的語句情感分類解釋Fig.10 Sentence sentiment classification interpretationbased on GRU
此外,一些方法使用神經(jīng)注意力機制擴展RNN,通過改變底層模型結(jié)構(gòu),允許模型專注于輸入的特定方面,使其針對某些問題更易于解釋。文獻[66]在機器翻譯中使用注意力機制進行軟對齊。文獻[67]使用注意力機制來識別圖像的重要方面以用于圖像描述生成。文獻[68]使用注意力機制來提取文檔的重要方面。文獻[69]在人類活動識別任務中采用時間注意力和傳感器注意力模型來理解和改進RNN。結(jié)構(gòu)演化的LSTM通過隨機地合并沿著堆疊的LSTM層具有高兼容性的圖節(jié)點來逐漸演化多級圖表征,在每個LSTM層中,估計兩個連接節(jié)點與其對應的LSTM門輸出的兼容性,用于生成合并概率,相應地生成候選圖結(jié)構(gòu),學習中層可解釋的多級圖結(jié)構(gòu)[70]?;陧樞虻涢撝邓惴⊿ISTA的可解釋RNN,也可用于求解序列稀疏恢復問題[71]。
生成對抗網(wǎng)絡(GAN) 是一種生成式模型[91],其基本設(shè)計思想源自博弈論的二人零和博弈。GAN由一個生成器和一個判別器構(gòu)成,通過對抗學習的方式來訓練,目的是估測數(shù)據(jù)樣本的潛在分布并生成新的數(shù)據(jù)樣本。此后,各種基于GAN的衍生模型被提出,如CGAN[92]、DCGAN[72]、InfoGAN[93]、StackGAN[94]、WGAN[95]、SeqGAN[96]和PPGN[97]等,以改進模型結(jié)構(gòu),進一步進行理論擴展及應用。GAN在圖像和視覺計算、語音和語言處理、信息安全、棋類比賽等領(lǐng)域,具有廣闊的應用前景。
當前GAN解釋方法主要采用可視化方法。文獻[72-74]采用操縱潛在向量并觀察如何相應地改變結(jié)果的方法來理解和解釋GAN的過程。GAN剖析方法是一個分析框架,用來可視化理解單位、對象和場景級別的GAN,即解釋GAN如何生成一張圖像[75]。首先用一種基于語義分割的網(wǎng)絡分割方法識別出一組與對象概念密切相關(guān)的可解釋單元,如圖11所示;然后通過測量干預控制輸出對象的能力來量化可解釋單位的因果效應,并將發(fā)現(xiàn)的對象概念插入到新的圖像中來檢查這些單元與其周圍環(huán)境之間的上下文關(guān)系。在實際應用場景中,采用此框架比較不同層、模型和數(shù)據(jù)集的內(nèi)部表示,通過定位和刪除相關(guān)的單元來改進生成對抗網(wǎng)絡,以交互操作場景中的對象。
圖11 使用GAN剖析方法尋找語義類(樹)生成單元示意圖Fig.11 Schematic diagram of finding generator unitsthat match meaningful object classes (like trees)using GAN dissection method
如何評價各種解釋方法的優(yōu)劣可以從認知科學[98]、定性和定量的角度[25]分別描述。由于人類本身在哲學、心理學、認知科學等層面,對于人類的理解和解釋的認知還十分有限,因此本文的主要方法不涉及人類的認知心理過程。
深度神經(jīng)網(wǎng)絡解釋方法的定性評價需要由人來進行主觀評價最終的解釋結(jié)果,主要包括深度神經(jīng)網(wǎng)絡的多數(shù)可視化解釋方法,如通過高亮敏感圖像區(qū)域的敏感性分析方法、RNN和GAN的可視化解釋方法等。由于定性評價存在內(nèi)在的復雜性和主觀性,因此下文主要從定量方面來描述和定義解釋評價指標。
定量評價方法主要采用基于數(shù)據(jù)驅(qū)動的方式。在特定的數(shù)據(jù)集上評價各種方法的優(yōu)劣,其評價指標主要包括濾波器可解釋性指標[99]、位置不穩(wěn)定性指標[44-45,50]和文本解釋性指標[54,100]等。針對卷積神經(jīng)網(wǎng)絡學習到的語義模式,可以采用單元可解釋性指標和位置不穩(wěn)定性指標進行評價;針對文本解釋方法,可以采用METEOR指標進行評價[100]。
1)濾波器可解釋性指標Pf
濾波器可解釋性指標用于評價神經(jīng)元對于某個視覺概念的客觀得分。設(shè)x為輸入圖像,Af(x)為內(nèi)部卷積濾波器f的激活圖,Lc為原圖像對于視覺概念c的掩碼,Sf(x)是Af(x)通過雙線性差值后放大到原圖像大小的激活圖。二值分割掩碼Mf(x)≡Sf(x)≥Tf,Tf是激活的閾值。濾波器f對于視覺概念c的交并比If,c為:
(1)
其中,|·|表示集合的大小。當If,c大于某個閾值ε時,可以認為濾波器f在檢測視覺概念c,即該濾波器f檢測視覺概念c的概率為Pf,c=Ex1(If,c>ε)。值得注意的是,一個濾波器可能檢測多個視覺概念,需要選擇得分最大的視覺概念,即Pf=maxcPf,c。檢測到的視覺概念數(shù)量可作為網(wǎng)絡層可解釋性的衡量標準,因為它更好地衡量了出現(xiàn)的可解釋概念的多樣性和覆蓋范圍。
(2)
定義濾波器f和第k個地標的相對位置標準差Df,k:
(3)
3)文本解釋性指標METEOR
METEOR為對應最佳候選譯文和參考譯文之間的準確率和召回率的調(diào)和平均。METEOR對于每個匹配器mi計算假設(shè)(hc,hf)和參考(rc,rf)所覆蓋的內(nèi)容和功能詞的數(shù)量(mi(hc),mi(hf))和(mi(rc),mi(rf)),其中,α、β、γ、δ和w1,w2,…,wn∈{wexact,wstem,wsyn,wpar}均為用于評價的默認參數(shù),如α=0.7、β=1.4、γ=0.3、δ=0.7和wexact=1、wstem=0、wsyn=0、wpar=0.6。
METEOR計算方法如下:
(4)
(5)
(6)
(7)
METEOR=(1-Q)F
(8)
其中,懲罰因子Q表示候選譯文詞序與參考譯文詞序不同的程度,該值越小越好,ch表示既在候選譯文中相鄰又在參考譯文中相鄰的能夠匹配的字符串數(shù)量,m表示候選譯文中能夠匹配的一元組數(shù)量。
表2 評價數(shù)據(jù)集及其特點描述Table 2 Evaluation datasets and their characteristics description
表3 VOC Part數(shù)據(jù)集上CNN 濾波器可解釋性Pf均值Table 3 Mean interpretability Pf of CNN filters on VOC Part dataset
表4 CNN濾波器位置不穩(wěn)定性均值Table 4 Mean location instability of CNN filters
表5 CUB200-2011數(shù)據(jù)集上文本解釋性值Table 5 Explanatory index of text on CUB200-2011 dataset
從使用者的角度,深度神經(jīng)網(wǎng)絡解釋方法有兩方面作用:一是針對模型開發(fā)者,用于增強模型的魯棒性,設(shè)計開發(fā)更好的模型,對應于解釋方法理論研究;二是針對模型最終使用者,如醫(yī)生、指揮員等決策人員,用于更好地信任和應用模型,對應于解釋方法的應用研究。
深度神經(jīng)網(wǎng)絡解釋方法的理論研究,首先能夠驗證深度神經(jīng)網(wǎng)絡模型的有效性、可靠性和魯棒性。數(shù)據(jù)驅(qū)動訓練的模型具有良好性能,但是模型很有可能存在數(shù)據(jù)偏見,或利用數(shù)據(jù)中不合理的模式進行決策或者受到欺騙和干擾,通過決策解釋可以對模型進行各方面驗證;其次能夠診斷模型,設(shè)計更好的網(wǎng)絡結(jié)構(gòu),改善模型性能。調(diào)試機器學習模型,改善系統(tǒng)性能的第一步就是了解系統(tǒng)的弱點和缺陷。弱點分析黑盒模型比可解釋模型更困難,并且當模型可解釋時,檢測模型或者數(shù)據(jù)的偏差也會更容易。在設(shè)計和比較不同模型或者架構(gòu)時,模型的可解釋性也會有所幫助。
針對模型開發(fā)者,深度神經(jīng)網(wǎng)絡解釋方法的進一步研究可以從以下4個方面展開:
1)模型結(jié)構(gòu)的可解釋性
模型結(jié)構(gòu)的可解釋性回答為何這樣設(shè)計模型可以得到更好的結(jié)果,如深度學習中的各種網(wǎng)絡結(jié)構(gòu)、損失函數(shù)、激活函數(shù)以及參數(shù)設(shè)置。模型結(jié)構(gòu)的可解釋性往往和神經(jīng)網(wǎng)絡的優(yōu)化理論相關(guān)。LI等人在此方向進行了探索,采用可視化的方法研究了網(wǎng)絡結(jié)構(gòu)對損失函數(shù)曲面的影響,探索神經(jīng)網(wǎng)絡損失函數(shù)的非凸結(jié)構(gòu)如何影響可訓練性,以及神經(jīng)網(wǎng)絡的極小點的幾何形狀如何影響模型的泛化性能[106]。
2)知識與深度神經(jīng)網(wǎng)絡相結(jié)合
知識圖譜的表示學習旨在學習知識圖譜組成元素的實值向量化表示。連續(xù)的向量化表示可以作為神經(jīng)網(wǎng)絡的輸入,從而使得神經(jīng)網(wǎng)絡模型能夠充分利用知識圖譜中大量存在的先驗知識。采用知識圖譜技術(shù)將人類的知識引入到數(shù)據(jù)驅(qū)動的深度學習模型中,可以減少模型對樣本數(shù)量的依賴,大幅提高模型的性能,突破深度學習模型效果的天花板,同時對基于深度神經(jīng)網(wǎng)絡的決策過程和結(jié)果進行解釋。文獻[107-108]開始探索利用知識圖譜進行解釋概念、實體和詞袋等。
3)RNN和GAN的解釋方法
當前對CNN的解釋方法研究較多,成果較為豐富,而對RNN和GAN的解釋方法研究較少。RNN存在隱藏狀態(tài)及所用參數(shù)多、處理的文本等序列數(shù)據(jù)本身語義信息繁多難以解釋、單詞與隱藏狀態(tài)的多對多影響關(guān)系等諸多困難,其內(nèi)部機制目前仍然沒有得到清晰理解,RNN的性能如何受到門控單元數(shù)量和類型的影響、數(shù)值隱藏狀態(tài)轉(zhuǎn)換的語義含義等問題亟需進一步深入研究。GAN可以生成高質(zhì)量的圖像,但是仍然缺乏理解GAN工作機制的方法,難以知道生成的結(jié)果在網(wǎng)絡內(nèi)部如何表示。不同GAN的改進變種在各文獻的實驗部分都顯示其比作為實驗基準的其他GAN效果好,但是無法從內(nèi)部的結(jié)構(gòu)來理解為何會造成效果的顯著性提升。因此,如何合理地可視化和理解GAN成為了另一個亟需解決的問題。
4)高層神經(jīng)元的語義穩(wěn)定性
對于CNN的普遍共識是底層的濾波器學習紋理等簡單信息、高層的濾波器學習語義信息,但高層神經(jīng)元構(gòu)成整個空間包含語義信息,而非單個神經(jīng)元。深度神經(jīng)網(wǎng)絡學習的輸入輸出映射在很大程度上是不連續(xù)的,這造成可以通過應用某種人類難以察覺的擾動使深度神經(jīng)網(wǎng)絡實現(xiàn)圖像錯誤分類[1]。簡單的隨機擾動往往沒有作用,而需要精心設(shè)計找到對抗樣本。在加入對抗噪聲時,網(wǎng)絡高層神經(jīng)元將不能描述表征圖像的高層語義,喪失語義性,這使得在對抗樣本攻擊時,不僅會使模型失效,并且會使得對應的解釋方法失效。因此,如何建立具有穩(wěn)定高層語義的深度神經(jīng)網(wǎng)絡還有待進一步深入研究。
深度神經(jīng)網(wǎng)絡解釋方法在從模型中學習、遵守法律與保護人權(quán)方面以及軍事、醫(yī)療和金融投資等高風險決策領(lǐng)域有著以下廣闊的應用前景:
1)能夠便于人類從模型中學習。深度神經(jīng)網(wǎng)絡模型基于大量的數(shù)據(jù)進行學習和訓練,人類只能學習有限數(shù)量的樣本,此時系統(tǒng)可能發(fā)現(xiàn)人類難以發(fā)現(xiàn)的模式。應用可解釋的智能系統(tǒng),人類很容易從中抽取系統(tǒng)學到的知識。
2)能夠更容易遵守法律與保護人權(quán)。深度神經(jīng)網(wǎng)絡模型正在影響人類日常生活的方方面面,模型決策錯誤的責任該如何分配等法律問題引起了人們的廣泛關(guān)注。依賴黑盒模型很難給出滿意的答案,而可解釋的模型給出的決策依據(jù)可以支持應對相關(guān)的法律問題。歐盟于2018年5月生效的《通用數(shù)據(jù)保護條例》(General Data Protection Regulation)規(guī)定,受算法決策影響的人有權(quán)要求自動決策系統(tǒng)提供解釋,這說明模型有必要變得更加可以向用戶解釋。
3)在軍事智能分析決策領(lǐng)域應用前景巨大。目前,基于深度神經(jīng)網(wǎng)絡的智能決策正在快速應用至各種軍事領(lǐng)域。軍事情報分析人員利用機器學習對大量的監(jiān)控數(shù)據(jù)進行智能分析,各國也在開發(fā)、測試無人車、無人機和水下無人裝備等智能無人作戰(zhàn)系統(tǒng)。在軍事等高風險的任務中,默認情況下用戶不能直接信任“黑盒”系統(tǒng),用戶需要通過模型給出決策依據(jù)信息。情報分析人員不愿意在缺乏推理過程時采取進一步行動,指揮員可能會抵觸無法解釋其作戰(zhàn)行為的機器人和智能決策系統(tǒng)。因為這些智能決策系統(tǒng)的本質(zhì)決定了系統(tǒng)決策易受干擾,通常不可避免地會產(chǎn)生假警報或者誤判,用戶需要理解系統(tǒng)如何決策,以便采取下一步行動,如接受、拒絕、調(diào)整這些決策結(jié)果。因此,在未來情報分析、有人-無人系統(tǒng)協(xié)同作戰(zhàn)甚至全自主無人作戰(zhàn)系統(tǒng)等軍事應用和場景中,基于可解釋的深度神經(jīng)網(wǎng)絡的智能決策系統(tǒng)都有著巨大的應用前景。
由于當前深度神經(jīng)網(wǎng)絡的解釋技術(shù)尚不成熟,離實際應用還有較大差距,因此針對模型使用者,下一步研究將主要從以下兩方面展開:
1)采用解釋方法開發(fā)深度神經(jīng)網(wǎng)絡模型的評價工具,從內(nèi)部學習到的知識表征、輸入輸出、模型模仿等多個角度來評估模型的魯棒性和泛化能力,進一步確定用戶對模型的信任水平。
2)在模型評價工具的基礎(chǔ)上,與具體行業(yè)應用相結(jié)合,開發(fā)其決策解釋系統(tǒng)。決策解釋系統(tǒng)可以分為兩種類型:一種是在決策之前,系統(tǒng)給出決策結(jié)果和決策依據(jù),供用戶進行最終判斷,如軍事、金融投資、醫(yī)學診斷等決策領(lǐng)域;另一種是針對事后分析,對錯誤決策進行解釋,分析錯誤發(fā)生的原因,如自動駕駛事故分析等。
在高風險決策領(lǐng)域,理解深度神經(jīng)網(wǎng)絡的決策結(jié)果和過程對于建立人機互信、人機協(xié)同的智能系統(tǒng)至關(guān)重要。本文針對當前深度神經(jīng)網(wǎng)絡存在的弱解釋性問題,分析卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡和生成對抗網(wǎng)絡的各類解釋方法,并結(jié)合深度神經(jīng)網(wǎng)絡的發(fā)展趨勢對解釋方法未來研究方向進行展望。從當前研究進展可以看到,各類深度神經(jīng)網(wǎng)絡層出不窮,但理解和解釋其內(nèi)部機理依然面臨諸多困難和挑戰(zhàn)。下一步將主要對軍事智能感知和分析決策領(lǐng)域內(nèi)廣泛應用的深度神經(jīng)網(wǎng)絡進行解釋理論和方法研究,幫助建立基于深度神經(jīng)網(wǎng)絡的可解釋且魯棒的軍事智能決策系統(tǒng),為指揮員/決策人員提供決策結(jié)果、依據(jù)和解釋。