深度學習的可解釋性!

一、深度學習的可解釋性研究概述

隨著深度學習模型在人們日常生活中的許多場景下扮演著越來越重要的角色,模型的「可解釋性」成為了決定用戶是否能夠「信任」這些模型的關鍵因素(尤其是當我們需要機器為關系到人類生命健康、財產安全等重要任務給出預測和決策結果時)。在本章,我們將從深度學習可解釋性的定義、研究意義、分類方法 3 個方面對這一話題展開討論。
1.1
?何為可解釋性
對于深度學習的用戶而言,模型的可解釋性是一種較為主觀的性質,我們無法通過嚴謹的數學表達方法形式化定義可解釋性。通常,我們可以認為深度學習的可解釋性刻畫了「人類對模型決策或預測結果的理解程度」,即用戶可以更容易地理解解釋性較高的模型做出的決策和預測。
?
從哲學的角度來說,為了理解何為深度學習的可解釋性,我們需要回答以下幾個問題:首先,我們應該如何定義對事務的「解釋」,怎樣的解釋才足夠好?許多學者認為,要判斷一個解釋是否足夠好,取決于這個解釋需要回答的問題是什么。對于深度學習任務而言,我們最感興趣的兩類問題是「為什么會得到該結果」和「為什么結果應該是這樣」。而理想狀態(tài)下,如果我們能夠通過溯因推理的方式恢復出模型計算出輸出結果的過程,就可以實現較強的模型解釋性。
?
實際上,我們可以從「可解釋性」和「完整性」這兩個方面來衡量一種解釋是否合理?!缚山忉屝浴怪荚谕ㄟ^一種人類能夠理解的方式描述系統(tǒng)的內部結構,它與人類的認知、知識和偏見息息相關;而「完整性」旨在通過一種精確的方式來描述系統(tǒng)的各個操作步驟(例如,剖析深度學習網絡中的數學操作和參數)。然而,不幸的是,我們很難同時實現很強的「可解釋性」和「完整性」,這是因為精確的解釋術語往往對于人們來說晦澀難懂。同時,僅僅使用人類能夠理解的方式進行解釋由往往會引入人類認知上的偏見。
?
此外,我們還可以從更宏大的角度理解「可解釋性人工智能」,將其作為一個「人與智能體的交互」問題。如圖 1 所示,人與智能體的交互涉及人工智能、社會科學、人機交互等領域。
? ? ? ?
? ? ?
圖 1:可解釋的人工智能?
?
1.2
為什么需要可解釋性
在當下的深度學習浪潮中,許多新發(fā)表的工作都聲稱自己可以在目標任務上取得良好的性能。盡管如此,用戶在諸如醫(yī)療、法律、金融等應用場景下仍然需要從更為詳細和具象的角度理解得出結論的原因。為模型賦予較強的可解釋性也有利于確保其公平性、隱私保護性能、魯棒性,說明輸入到輸出之間個狀態(tài)的因果關系,提升用戶對產品的信任程度。下面,我們從「完善深度學習模型」、「深度學習模型與人的關系」、「深度學習模型與社會的關系」3 個方面簡介研究機器深度學習可解釋性的意義。
(1)完善深度學習模型
大多數深度學習模型是由數據驅動的黑盒模型,而這些模型本身成為了知識的來源,模型能提取到怎樣的知識在很大程度上依賴于模型的組織架構、對數據的表征方式,對模型的可解釋性可以顯式地捕獲這些知識。
盡管深度學習模型可以取得優(yōu)異的性能,但是由于我們難以對深度學習模型進行調試,使其質量保證工作難以實現。對錯誤結果的解釋可以為修復系統(tǒng)提供指導。
(2)深度學習模型與人的關系
在人與深度學習模型交互的過程中,會形成經過組織的知識結構來為用戶解釋模型復雜的工作機制,即「心理模型」。為了讓用戶得到更好的交互體驗,滿足其好奇心,就需要賦予模型較強的可解釋性,否則用戶會感到沮喪,失去對模型的信任和使用興趣。
人們希望協調自身的知識結構要素之間的矛盾或不一致性。如果機器做出了與人的意愿有出入的決策,用戶則會試圖解釋這種差異。當機器的決策對人的生活影響越大時,對于這種決策的解釋就更為重要。
當模型的決策和預測結果對用戶的生活會產生重要影響時,對模型的可解釋性與用戶對模型的信任程度息息相關。例如,對于醫(yī)療、自動駕駛等與人們的生命健康緊密相關的任務,以及保險、金融、理財、法律等與用戶財產安全相關的任務,用戶往往需要模型具有很強的可解釋性才會謹慎地采用該模型。
(3)深度學習模型與社會的關系
由于深度學習高度依賴于訓練數據,而訓練數據往往并不是無偏的,會產生對于人種、性別、職業(yè)等因素的偏見。為了保證模型的公平性,用戶會要求深度學習模型具有檢測偏見的功能,能夠通過對自身決策的解釋說明其公平。
深度學習模型作為一種商品具有很強的社會交互屬性,具有強可解釋性的模型也會具有較高的社會認可度,會更容易被公眾所接納。
1.3
可解釋性的分類
根據可解釋性方法的作用時間、可解釋性方法與模型的匹配關系、可解釋性方法的作用范圍,我們可以將深度學習的可解釋性方法分為:本質可解釋性和事后可解釋性、針對特定模型的可解釋性和模型無關可解釋性、局部可解釋性和全局可解釋性。
?
其中,本質可解釋性指的是對模型的架構進行限制,使其工作原理和中間結果能夠較為容易地為人們所理解(例如,結構簡單的決策樹模型);事后可解釋性則指的是通過各種統(tǒng)計量、可視化方法、因果推理等手段,對訓練后的模型進行解釋。
?
由于深度模型的廣泛應用,本文將重點關注深度學習的可解釋性,并同時設計一些深度學習方法的解釋。
二、深度學習的可解釋性

對于深度學習模型來說,我們重點關注如何解釋「網絡對于數據的處理過程」、「網絡對于數據的表征」,以及「如何構建能夠生成自我解釋的深度學習系統(tǒng)」。網路對于數據的處理過程將回答「輸入為什么會得到相應的的特定輸出?」,這一解釋過程與剖析程序的執(zhí)行過程相類似;網絡對于數據的表征將回答「網絡包含哪些信息?」,這一過程與解釋程序內部的數據結構相似。下文將重點從以上三個方面展開討論。
?
2.1
深度學習過程的可解釋性
?
常用的深度網絡使用大量的基本操作來得出決策:例如,ResNet使用了約5×107個學習參數,1010個浮點運算來對單個圖像進行分類。解釋這種復雜模型的基本方法是降低其復雜度。這可以通過設計表現與原始模型相似但更易于解釋的代理模型來完成(線性代理模型、決策樹模型等),或者也可以構建顯著性圖(salience map),來突出顯示最相關的一部分計算,從而提供可解釋性。
?
(1)線性代理模型(Proxy Models)
?
目前被廣泛采用的深度學習模型,大多仍然是「黑盒模型」。在根據預測結果規(guī)劃行動方案,或者選擇是否部署某個新模型時,我們需要理解預測背后的推理過程,從而評估模型的可信賴程度。一種可能的方法是,使用線性可解釋的模型近似“黑盒模型”。
?
Marco et. al [1]提出了一種新的模型無關的模型解釋技術「LIME」,它可以通過一種可解釋的、準確可靠的方式,通過學習一個圍繞預測結果的可解釋模型,解釋任意的分類器或回歸模型的預測結果。本文作者還通過簡潔地展示具有代表性的個體預測結果及其解釋,將該任務設計成了一種子模塊優(yōu)化問題。
?
文中指出,一種優(yōu)秀的解釋方法需要具備以下幾點特質:
(1)可解釋性:給出對輸入變量和響應的關系的定性理解,可解釋性需要考慮用戶自身的限制。
(2)局部保真:解釋方法至少需要在局部是可靠的,它必須與模型在被預測實例附近的表現相對應。需要指出的是,在全局上重要的特征不一定在局部環(huán)境下仍然重要,反之亦然。
(3)模型無關:解釋方法需要能夠解釋各種各樣的模型。
(4)全局視角:準確度有時并不是一個很好的模型評價指標,解釋器旨在給出一些具有代表性的對樣本的解釋。
?
文中的方法可以基于對分類器局部可靠的可解釋表征,來鑒別器模型的可解釋性。LIME 會對輸入樣本進行擾動,識別出對于預測結果影響最大的特征(人類可以理解這些特征)。
?
? ? ? ?
? ? ??
圖 2
如圖 2?所示,加粗的紅色十字樣本有待解釋。從全局來看,很難判斷紅色十字和藍色圓圈對于帶解釋樣本的影響。我們可以將視野縮小到黑色虛線周圍的局部范圍內,在加粗紅色十字樣本周圍對原始樣本特征做一些擾動,將擾動后的采樣樣本作為分類模型的輸入,LIME 的目標函數如下:
? ? ? ?
? ? ??
?
其中,f 為分類器,g 為解釋器,π_x 為臨近度度量,Ω(g) 為解釋器 g 的復雜度,L 為損失函數。
? ? ? ?
圖 3
因為代理模型提供了模型復雜度與可信度之間的量化方法,因此方法間可以互相作為參考,吸引了許多研究工作。
?
(2)決策樹方法
?
另一種代理模型的方法是決策樹。將神經網絡分解成決策樹的工作從1990年代開始,該工作能夠解釋淺層網絡,并逐漸泛化到深度神經網絡的計算過程中。
?
一個經典的例子是Makoto et. al [2]。文中提出了一種新的規(guī)則抽?。≧ule Extraction)方法CRED,使用決策樹對神經網絡進行分解,并通過c/d-rule算法合并生成的分支,產生不同分類粒度,能夠考慮連續(xù)與離散值的神經網絡輸入輸出的解釋。具體算法如下:
?
? ? ? ?
? ??
圖 4 :CRED算法
DeepRED [3]將CRED的工作拓展到了多層網絡上,并采用了多種結構優(yōu)化生成樹的結構。另一種決策樹結構是ANN-DT[4],同樣使用模型的結點結構建立決策樹,對數據進行劃分。不同的是,判斷節(jié)點是采用正負兩種方法判斷該位置的函數是否被激活,以此劃分數據。決策樹生成后,通過在樣本空間采樣、實驗,獲得神經網絡的規(guī)則。
?
這階段的工作對較淺的網絡生成了可靠的解釋,啟發(fā)了很多工作,但由于決策樹節(jié)點個數依賴于網絡大小,對于大規(guī)模的網絡,方法的計算開銷將相應增長。
?
(3)自動規(guī)則生成
?
自動規(guī)則生成是另一種總結模型決策規(guī)律的方法,上世紀80年代, Gallant將神經網絡視作存儲知識的數據庫,為了從網絡中發(fā)掘信息和規(guī)則,他在工作[4]中提出了從簡單網絡中提取規(guī)則的方法,這可以被看作是規(guī)則抽取在神經網絡中應用的起源?,F今,神經網絡中的規(guī)則生成技術主要講輸出看作規(guī)則的集合,利用命題邏輯等方法從中獲取規(guī)則。
?
Hiroshi Tsukimoto [6]提出了一種從訓練完成的神經網絡中提取特征提取規(guī)則的方法,該方法屬于分解法,可以適用在輸出單調的神經網絡中,如sigmoid函數。該方法不依賴訓練算法,計算復雜度為多項式,其計算思想為:用布爾函數擬合神經網絡的神經元,同時為了解決該方法導致計算復雜度指數增加的問題,將算法采用多項式表達。最后將該算法推廣到連續(xù)域,提取規(guī)則采用了連續(xù)布爾函數。
?
Towell [7]形式化了從神經網絡中提取特征的方法,文章從訓練完成的神經網絡中提取網絡提取特征的方法,MoFN,該方法的提取規(guī)則與所提取的網絡的精度相近,同時優(yōu)于直接細化規(guī)則的方法產生的規(guī)則,更加利于人類理解網絡。
?
MoFN分為6步:1)聚類;2)求平均;3)去誤差;4)優(yōu)化;5)提??;6)簡化。
聚類采用標準聚類方法,一次組合兩個相近的族進行聚類,聚類結束后對聚類的結果進行求平均處理,計算時將每組中所有鏈路的權重設置為每個組權重的平均值,接下來將鏈接權重較低的組去除,將留下的組進行單位偏差優(yōu)化,優(yōu)化后的組進行提取工作,通過直接將每個單元的偏差和傳入權重轉換成具有加權前因的規(guī)則來創(chuàng)建,最后對提取到的規(guī)則簡化。MOFN的算法示例如下圖所示。
? ? ? ?
圖5:MOFN 算法
規(guī)則生成可以總結出可靠可信的神經網絡的計算規(guī)則,他們有些是基于統(tǒng)計分析,或者是從模型中推導,在保障神經網絡在關鍵領域的應用提供了安全保障的可能。
?
(4)顯著性圖
?
顯著性圖方法使用一系列可視化的技術,從模型中生成解釋,該解釋通常表達了樣本特征對于模型輸出的影響,從而一定程度上解釋模型的預測。常見方法有反卷積、梯度方法等。Zeiler [8]提出了可視化的技巧,使用反卷積觀察到訓練過程中特征的演化和影響,對CNN內部結構與參數進行了一定的“解讀”,可以分析模型潛在的問題,網絡深度、寬度、數據集大小對網絡性能的影響,也可以分析了網絡輸出特征的泛化能力以及泛化過程中出現的問題。
?
利用反卷積實現特征可視化
?
為了解釋卷積神經網絡如何工作,就需要解釋CNN的每一層學習到了什么東西。為了理解網絡中間的每一層,提取到特征,論文通過反卷積的方法,進行可視化。反卷積網絡可以看成是卷積網絡的逆過程。反卷積可視化以各層得到的特征圖作為輸入,進行反卷積,得到反卷積結果,用以驗證顯示各層提取到的特征圖。
Eg:假如你想要查看Alexnet的conv5提取到了什么東西,就用conv5的特征圖后面接一個反卷積網絡,然后通過:反池化、反激活、反卷積,這樣的一個過程,把本來一張13*13大小的特征圖(conv5大小為13*13),放大回去,最后得到一張與原始輸入圖片一樣大小的圖片(227*227)。
反池化過程
?
池化是不可逆的過程,然而可以通過記錄池化過程中,最大激活值的坐標位置。然后在反池化的時候,只把池化過程中最大激活值所在的位置坐標的值激活,其它的值置為0,當然這個過程只是一種近似,因為在池化的過程中,除了最大值所在的位置,其它的值也是不為0的。
? ? ? ?
? ?
圖 6?
?
反激活
?
在Alexnet中,relu函數是用于保證每層輸出的激活值都是正數,因此對于反向過程,同樣需要保證每層的特征圖為正值,也就是說這個反激活過程和激活過程沒有什么差別,都是直接采用relu函數。
?
另一些可視化方法可視化方法主要是通過deconv的方法將某一層特征圖的Top-k激活反向投射到原圖像上,從而判斷該激活值主要識別圖像的什么部分。這就要求針對每一層都必須有對應的逆向操作。
具體而言,對于MaxPooling層,在前饋時使用switch變量來記錄最大值來源的index,然后以此近似得到Unpooling。對于Relu層,直接使用Relu層。而對于conv層,使用deconv,即使用原來卷積核的轉置作為卷積核。通過可視化方法,對訓練完成的模型在ImageNet的數據各層可視化后,可以得到不同結構的重建特征圖,與原圖進行對比能夠直觀地看到網絡各層學習到的信息:
? ? ? ?
?
圖 7:第二層學習邊緣,角落信息;第三層學到了一些比較復雜的模式,網狀,輪胎;第四層展示了一些比較明顯的變化,但是與類別更加相關了,比如狗臉,鳥腿;第五層則看到了整個物體,比如鍵盤,狗。
同時,通過可視化,我們也可以發(fā)現模型的缺陷,例如某些層學習到的特征雜亂無章,通過單獨訓練,可以提升模型效果。另外的方法也被采用,例如使用遮擋的方法,通過覆蓋輸入的某部分特征,分析輸出和模型計算的中間參數,得到模型對被遮擋部分的敏感性,生成敏感性圖,或者用梯度方法得到輸出對于輸入圖像像素的梯度,生成梯度熱力圖。
總結性的工作來自ETH Zurch的Enea Ceolini [9]證明了基于梯度的歸因方法(gradient-based Attribution methods)存在形式上\聯系,文章證明了在一定情況下,諸如sigma-LRP[10]、DeepLIF[11]方法間存在的等價和近似關系,并基于統(tǒng)一的數學表達,提出了一個更普適的梯度歸因方法框架Sensitivity-n,用于解釋模型輸入輸出之間的關聯。
?
深度學習的歸因分析用于解釋輸入的每個變量對于神經網絡的貢獻(contribution),或相關程度(relevance),嚴格來說,假設網絡的輸入為x = [x1, ..., xN ],C個輸出神經元對應的輸出為S(x) = [S1(x), ..., SC (x)],歸因分析的目標便是找到xi對于每個神經元輸出的貢獻,Rc = [Rc 1 , ..., Rc N ]。
基于梯度的方法可以被看作直接使用輸出對輸出的特征求梯度,用梯度的一定變換形式表示其重要性,工作中展示的考慮不同大小特征區(qū)域熱力圖如下:
? ? ? ?
圖 8
文章分析了不同方法的效果差異:
? ? ? ?
?
圖?9
?
通過證明,得到通用的梯度方法表示為:
? ? ? ?
? ? ??
基于上述推導,作者得以提出了sensitivity-n方法,總結了相似的梯度方法,并使后續(xù)工作可以在更廣泛的框架下討論。
2.2
深度網絡表示的可解釋性
?
盡管存在大量神經網絡運算,深度神經網絡內部由少數的子組件構成:例如,數十億個ResNet的操作被組織為約100層,每層計算64至2048信息通道像素。對深層網絡表示的解釋旨在了解流經這些信息瓶頸的數據的作用和結構??梢园雌淞6葎澐譃槿齻€子類:基于層的解釋,將流經層的所有信息一起考慮;基于神經元的解釋,用來說明單個神經元或單個filter通道的情況;此外基于(其他)表示向量的解釋,例如概念激活向量(CAV)[12]是通過識別和探測與人類可解釋概念一致的方向來解釋神經網絡表示,用單個單元的線性組合所形成的表示向量空間中的其他方向作為其表征向量。
?
(1)基于層的解釋
Bengio等人[13]分析了在圖片分類任務中,不同層的神經網絡的功能和可遷移性,以及不同遷移方法對結果的影響。從實驗的角度分析了神經網絡不同層參數具有的一些性質,證明了模型遷移方法的普遍效果。作者驗證了淺層神經網絡在特征抽取功能上的通用性和可復用性,針對實驗結果提出了可能的解釋,表明影響遷移學習效果的因素有二:
?
1)?共同訓練變量的影響
通過反向傳播算法訓練的神經網絡,結點參數并非單獨訓練,其梯度計算依賴于一系列相關結點,因此遷移部分結點參數會引起相關結點的訓練困難。
?
2)?遷移參數的通用性能和專用性
網絡中較淺層網絡的功能較為通用,而高層網絡與網絡的訓練目標更加相關。若A、B任務不想關,則專用于A的參數遷移后會影響對B任務的學習。
? ? ? ?
圖10
實驗結果發(fā)現,在不同的實驗條件下,兩種因素會不同程度決定遷移學習的效果。例如,當遷移較深層網絡并固定參數時,高層參數的專用性會導致在遷移到的任務上表現不佳,但這時共同訓練的變量影響會減小,因為大部分參數都被遷移獲得;當遷移自身的參數并固定時,在層數較小的情況下出現了性能下降,這說明了共同訓練的變量對表現的影響。另外,實驗發(fā)現完全不相關的任務對應的遷移,在經過充分微調后仍然能提升模型的性能,這證明了參數遷移是一個通用的提升模型性能的方法。
?
牛津大學Karen Simonyan等人[14]為解決深層卷積神經網絡分類模型的可視化問題,提出了兩種方法:第一種生成圖像使得類得分最大化,再將類可視化;第二種計算給定圖像和類的類顯著性映射,同時還證明了這種方法可以使用分類轉換網絡的弱監(jiān)督對象分類。整個文章主要有三個貢獻:證明了理解分類CNN模型可以使用輸入圖像的數值優(yōu)化;提出了一種在圖像中提取指定類別的空間表征信息(image-specific class saliency map)的方法(只通過一次back-propagation),并且這種saliency maps可以用于弱監(jiān)督的物體定位。證明gradient-based的可視化方法可以推廣到deconvolutional network的重構過程。
?
在第一類方法中,文中采用公式(1)進行圖像分類模型的可視化操作,其中
表示c的分數,由ConvNet的分類層對圖像I計算得到,
是正則化參數。可視化過程與ConvNet訓練過程類似,不同之處在于對圖像的輸入做了優(yōu)化,權重則固定為訓練階段得到的權重。圖1所示為使用零圖像初始化優(yōu)化,然后將訓練集的均值圖像添加到結果中的輸出圖。
? ? ? ?
? ? ? ? (1)
? ? ? ?
圖 11?
在第二類方法中,給定一張圖像I0,在I0附近使用一階泰勒展開的線性函數來近似Sc(I):
,其中w即為Sc對于圖像I的導數在I0點的值:
。
?
在給定的圖像I0(m行n列)和對應的類別c中,要求得它對應saliency map M (M∈Rmxn),首先按照上述公式利用back-propagation 可以求得導數w,然后對w元素進行重新排列即可得到Saliency Map。Saliency Map是利用訓練好的CNN直接提取的,無需使用額外的標注,而且對于某個特定類別的image-specific saliency map的求解是很快的,只需要一次back-propagation。可視化結果如圖2所示
? ? ? ?
圖 12
在第二類方法中得到的Saliency Map編碼了給定圖像中特定類別的物體位置信息,所以它可以被用來進行物體定位(盡管它在分類任務上得到訓練,弱監(jiān)督學習)。給定一張圖像和其對應的Saliency Map,可以使用GraphCut顏色分割模型來得到物體分割mask。要使用顏色分割模型主要是因為Saliency Map只能捕捉到一個物體最具有區(qū)分性的部分,它無法highlight整個物體,因此需要將threshold map傳遞到物體的其他區(qū)域,本文使用colour continuity cues來達到這個目的。前景和背景模型都被設置為高式混合模型,高于圖像Saliency distribution 95%的像素被視為前景,Saliency低于30%的像素被視為背景。標記了前景和背景像素之后,前景像素的最大連接區(qū)域即為對應物體的分割mask(使用GraphCut算法),效果如圖3所示。
?

圖 13
此外,Zhang et. al. 的工作[15]發(fā)現網絡淺層具有統(tǒng)計輸入信息的功能,并發(fā)現其和共享的特征信息一樣,對遷移帶來的性能提升起到了幫助。通過從相同checkpoint訓練,發(fā)現參數遷移,可以使模型損失每次都保持在相同的平面內(basin),具有相似的地形,但隨機初始化的參數每次損失所在的訓練平面不同。文章支持了高層、低層網絡具有的不同功能,發(fā)現高層網路對于參數的改變更加敏感。
?
(2)基于神經元的解釋
?
香港中文大學助理教授周博磊的工作[16]為 CAM 技術的奠定了基礎,發(fā)現了 CNN 中卷積層對目標的定位功能。在改文中,作者對場景分類任務中訓練 CNN 時得到的目標檢測器展開了研究。由于場景是由物體組成的,用于場景分類的 CNN 會自動發(fā)現有意義的目標檢測器,它們對學到的場景類別具有代表性。作者發(fā)現,單個網絡可以支持多個級別的抽象(如邊緣、紋理、對象、場景),同一個網絡可以在無監(jiān)督環(huán)境下,在單個前向傳播過程中同時完成場景識別和目標定位。
? ? ? ?
圖 14:估計每個神經元的感受野
針對每個神經元,作者估計出了其確切地感受野,并觀察到激活區(qū)域傾向于隨著層的深度增加而在語義上變得更有意義(這是啟發(fā)后來一系列計算機視覺神經網絡框架的理論基礎)。
?
周博磊CVPR 2017[17]提出了一種名為“Network Dissection”的通用框架,假設“單元的可解釋性等同于單元的隨機線性結合”,通過評估單個隱藏單元與一系列語義概念間的對應關系,來量化 CNN 隱藏表征的可解釋性。
這種方法利用大量的視覺概念數據集來評估每個中間卷積層隱藏單元的語義。這些帶有語義的單元被賦予了大量的概念標簽,這些概念包括物體、組成部分、場景、紋理、材料和顏色等。該方法揭示 CNN 模型和訓練方法的特性,而不僅僅是衡量他們的判別能力。
論文發(fā)現:人類可解釋的概念有時候會以單一隱藏變量的形式出現在這些網絡中;當網絡未受限于只能用可解釋的方式分解問題時,就會出現這種內部結構。這種可解釋結構的出現意味著,深度神經網絡也許可以自發(fā)學習分離式表征(disentangled representations)。
眾所周知,神經網絡可以學習某種編碼方式,高效利用隱藏變量來區(qū)分其狀態(tài)。如果深度神經網絡的內部表征是部分分離的,那么檢測斷分離式結構并讀取分離因數可能是理解這種機制的一種方法。同時該論文指出可解釋性是與坐標軸對齊(axis-aligned)的,對表示(representation)進行翻轉(rotate),網絡的可解釋能力會下降,但是分類性能不變。越深的結構可解釋性越好,訓練輪數越多越好。而與初始化無關dropout會增強可解釋性而Batch normalization會降低可解釋性。
?
?圖 15
麻省理工大學CSAIL的Jonathan Frankle和Michael Carbin論文[18]中指出神經網絡剪枝技術可以將受過訓練的網絡的參數減少90%以上,在不影響準確性的情況下,降低存儲要求并提高計算性能。
然而,目前的經驗是通過剪枝產生的稀疏架構很難從頭訓練,也很難提高訓練性能。作者發(fā)現標準的剪枝技術自然而然地可以得到子網絡,它們能在某些初始化條件下有效地進行訓練。在此基礎之上,作者提出了彩票假設:任何密集、隨機初始化的包含子網絡(中獎彩票)的前饋網絡 ,當它們被單獨訓練時,可以在相似的迭代次數內達到與原始網絡相當的測試精度。
?
具體而言,作者通過迭代式而定剪枝訓練網絡,并剪掉最小的權重,從而得到「中獎彩票」。通過大量實驗,作者發(fā)現,剪枝得到的中獎彩票網絡比原網絡學習得更快,泛化性能更強,準確率更高。剪枝的主要的步驟如下:
?
(1)隨機初始化一個神經網絡?
? ? ? ?
(2)將網絡訓練 j 輪,得到參數
? ? ??
(3)剪掉
?中 p% 的參數,得到掩模 m
(4)將剩余的參數重置為
中的值,生成中獎彩票
?

圖 16:虛線為隨機才應該能得到的稀疏網絡,實現為中獎彩票。
?
此外,加利福尼亞大學的ZHANG ?Quanshi和ZHU ?Song-chun 綜述了近年來神經網絡可解釋性方面的研究進展[19]。文章以卷積神經網絡(CNN)為研究對象,回顧了CNN表征的可視化、預訓練CNN表征的診斷方法、預訓練CNN表征的分離方法、帶分離表示的CNN學習以及基于模型可解釋性的中端學習。
最后,討論了可解釋人工智能的發(fā)展趨勢,并且指出了以下幾個未來可能的研究方向:1)將conv層的混沌表示分解為圖形模型或符號邏輯;2)可解釋神經網絡的端到端學習,其中間層編碼可理解的模式(可解釋的cnn已經被開發(fā)出來,其中高轉換層中的每個過濾器代表一個特定的對象部分);3)基于CNN模式的可解釋性表示,提出了語義層次的中端學習,以加快學習過程;4)基于可解釋網絡的語義層次結構,在語義級別調試CNN表示將創(chuàng)建新的可視化應用程序。
?
網絡模型自身也可以通過不同的設計方法和訓練使其具備一定的解釋性,常見的方法主要有三種:注意力機制網絡;分離表示法;生成解釋法。基于注意力機制的網絡可以學習一些功能,這些功能提供對輸入或內部特征的加權,以引導網絡其他部分可見的信息。分離法的表征可以使用單獨的維度來描述有意義的和獨立的變化因素,應用中可以使用深層網絡訓練顯式學習的分離表示。在生成解釋法中,深層神經網絡也可以把生成人類可理解的解釋作為系統(tǒng)顯式訓練的一部分。
2.3
生成自我解釋的深度學習系統(tǒng)
網絡模型自身也可以通過不同的設計方法和訓練使其具備一定的解釋性,常見的方法主要有三種:注意力機制網絡;分離表示法;生成解釋法?;谧⒁饬C制的網絡可以學習一些功能,這些功能提供對輸入或內部特征的加權,以引導網絡其他部分可見的信息。分離法的表征可以使用單獨的維度來描述有意義的和獨立的變化因素,應用中可以使用深層網絡訓練顯式學習的分離表示。在生成解釋法中,深層神經網絡也可以把生成人類可理解的解釋作為系統(tǒng)顯式訓練的一部分。
(1)注意力機制網絡
?
注意力機制的計算過程可以被解釋為:計算輸入與其中間過程表示之間的相互權重。計算得到的與其他元素的注意力值可以被直觀的表示。
在Dong Huk Park 發(fā)表于CVPR2018的[20]一文中,作者提出的模型可以同時生成圖像與文本的解釋。其方法在于利用人類的解釋糾正機器的決定,但當時并沒有通用的包含人類解釋信息與圖像信息的數據集,因此,作者整理了數據集ACT-X與VQA-X,并在其上訓練提出了P-JX(Pointing and Justification Explanation)模型,檢測結果如圖所示。
? ? ? ?
圖 17:P-JX模型檢測結果
模型利用「attention」機制得到圖像像素的重要性,并據此選擇輸出的視覺圖,同時,數據集中的人類解釋文本對模型的預測作出糾正,這樣模型可以同時生成可視化的解釋,亦能通過文字說明描述關注的原因。例如在上圖中,對問題「Is this a healthy meal」,針對圖片,關注到了熱狗,因此回答「No」,圖片的注意力熱力圖給出了可視化的解釋,同時文本亦生成了對應的文本解釋。作者認為,利用多模態(tài)的信息可以更好地幫助模型訓練,同時引入人類的知識糾錯有利于提高模型的可解釋性。
?
由于類別之間只有通過細微局部的差異才能夠被區(qū)分出來,因此「fine-grained」分類具有挑戰(zhàn)性,在Xiao et. al. 的[21]中,作者將視覺「attention」應用到「fine-grained」分類問題中,盡管注意力的單元不是出于可解釋性的目的而訓練的,但它們可以直接揭示信息在網絡種的傳播地圖,可以作為一種解釋。由于細粒度特征不適用bounding box標注,因此該文章采用「弱監(jiān)督學習」的知識來解決這一問題。
?
該文章中整合了3種attention模型:「bottom-up」(提供候選者patch),「object-level top-down」(certain object相關patch),和「part-level top-down 」(定位具有分辨能力的parts),將其結合起來訓練「domain-specific深度網絡」。
? ? ? ?
? ? ?
圖 18:Domain-specific深度網絡結構示意圖
domain-specific深度網絡結構示意圖如圖 18 所示:實現細粒度圖像分類需要先看到物體,然后看到它最容易判別的部分。通過bottom-up生成候選patches,這個步驟會提供多尺度,多視角的原始圖像。
如果object很小,那么大多數的patches都是背景,因此需要top-down的方法來過濾掉這些噪聲patches,選擇出相關性比較高的patches。尋找前景物體和物體的部分分別采用「object-level」和「part-level」兩個過程,二者由于接受的patch不同,使其功能和優(yōu)勢也不同。在object-level中對產生的patches選出包含基本類別對象的patch,濾掉背景。part-level分類器專門對包含有判別力的局部特征進行處理。
有的patch被兩個分類器同時使用,但該部分代表不同的特征,將每幅圖片的object-level和part-level的分數相加,得到最終的分數,即分類結果。
?
(2)分離表示法
?
分離表示目標是用高低維度的含義不同的獨立特征表示樣本,過去的許多方法提供了解決該問題的思路,例如PCA、ICA、NMF等。深度網絡同樣提供了處理這類問題的方法。
?
Chen et. al. 在加州大學伯克利分校的工作[22]曾被 OpenAI 評為 2016 年 AI 領域的五大突破之一,在 GAN 家族的發(fā)展歷史上具有里程碑式的意義。對于大多數深度學習模型而言,其學習到的特征往往以復雜的方式在數據空間中耦合在一起。如果可以對學習到的特征進行解耦,就可以得到可解釋性更好的編碼。對于原始的 GAN 模型而言,生成器的輸入為連續(xù)的噪聲輸入,無法直觀地將輸入的維度與具體的數據中的語義特征相對應,即無法得到可解釋的數據表征。為此,InfoGAN 的作者以無監(jiān)督的方式將 GAN 的輸入解耦為兩部分:
(1)不可壓縮的 z,該部分不存在可以被顯式理解的語義信息。
(2)可解釋的隱變量 c,該部分包含我們關心的語義特征(如 MNIST 數據集中數字的傾斜程度、筆畫的粗細),與生成的數據之間具有高相關性(即二者之間的互信息越大越好)。
? ? ??
?
若 c 對生成數據 G(z,c)的可解釋性強,則 c 與 G(z,c) 之間的交互信息較大。為了實現這一目標,作者向原始 GAN 的目標函數中加入了一個互信息正則化項,得到了如下所示的目標函數:
? ? ??
?
然而,在計算新引入的正則項過程中,模型難以對后驗分布 P(C|X) 進行采樣和估計。因此,作者采用變分推斷的方法,通過變分分布 Q(C|X) 逼近 P(C|X)。最終,InfoGAN 被定義為了如下所示的帶有變分互信息正則化項和超參數 λ 的 minmax 博弈:

? ? ? ?
圖 19:InfoGAN 框架示意圖
張拳石團隊的[23]一文中,提出了一種名為「解釋圖」的圖模型,旨在揭示預訓練的 CNN 中隱藏的知識層次。
?
在目標分類和目標檢測等任務中,端到端的「黑盒」CNN模型取得了優(yōu)異的效果,但是對于其包含豐富隱藏模式的卷積層編碼,仍然缺乏合理的解釋,要對 CNN 的卷積編碼進行解釋,需要解決以下問題:
CNN 的每個卷積核記憶了多少種模式?
哪些模式會被共同激活,用來描述同一個目標部分?
兩個模式之間的空間關系如何?
? ? ? ?
?
圖 20:解釋圖結構示意圖
?
解釋圖結構示意圖表示了隱藏在 CNN 卷積層中的知識層次。預訓練 CNN 中的每個卷積核可能被不同的目標部分激活。本文提出的方法是以一種無監(jiān)督的方式將不同的模式從每個卷積核中解耦出來,從而使得知識表征更為清晰。
?
具體而言,解釋圖中的各層對應于 CNN 中不同的卷積層。解釋圖的每層擁有多個節(jié)點,它們被用來表示所有候選部分的模式,從而總結對應的卷積層中隱藏于無序特征圖中的知識,圖中的邊被用來連接相鄰層的節(jié)點,從而編碼它們對某些部分的共同激活邏輯和空間關系。將一張給定的圖像輸入給 CNN,解釋圖應該輸出:(1)某節(jié)點是否被激活(2)某節(jié)點在特征圖中對應部分的位置。由于解釋圖學習到了卷積編碼中的通用知識,因此可以將卷積層中的知識遷移到其它任務中。
? ? ? ?
??
圖 21:解釋圖中各部分模式之間的空間關系和共同激活關系圖
?
解釋圖中各部分模式之間的空間關系和共同激活關系。高層模式將噪聲濾除并對低層模式進行解耦。從另一個層面上來說,可以將低層模式是做高層模式的組成部分。
?
另外,張拳石[24]認為在傳統(tǒng)的CNN中,一個高層過濾器可能會描述一個混合的模式,例如過濾器可能被貓的頭部和腿部同時激活。這種高卷積層的復雜表示會降低網絡的可解釋性。針對此類問題,作者將過濾器的激活與否交由某個部分控制,以達到更好的可解釋性,通過這種方式,可以明確的識別出CNN中哪些對象部分被記憶下來進行分類,而不會產生歧義。
模型通過對高卷積層的每個filter計算loss,種loss降低了類間激活的熵和神經激活的空間分布的熵,每個filter必須編碼一個單獨的對象部分,并且過濾器必須由對象的單個部分來激活,而不是重復地出現在不同的對象區(qū)域。
? ? ? ?
圖 22
Hinton的膠囊網絡 [25],是當年的又一里程碑式著作。作者通過對CNN的研究發(fā)現CNN存在以下問題:1) CNN只關注要檢測的目標是否存在,而不關注這些組件之間的位置和相對的空間關系;2) CNN對不具備旋轉不變性,學習不到3D空間信息;3)神經網絡一般需要學習大量案例,訓練成本高。為了解決這些問題,作者提出了「膠囊網絡」,使網絡在減少訓練成本的情況下,具備更好的表達能力和解釋能力。
?
「膠囊(Capsule)」可以表示為一組神經元向量,用向量的長度表示物體「存在概率」,再將其壓縮以保證屬性不變,用向量的方向表示物體的「屬性」,例如位置,大小,角度,形態(tài),速度,反光度,顏色,表面的質感等。
和傳統(tǒng)的CNN相比,膠囊網絡的不同之處在于計算單位不同,傳統(tǒng)神經網絡以單個神經元作為單位,capsule以一組神經元作為單位。相同之處在于,CNN中神經元與神經元之間的連接,capsNet中capsule與capsule之間的連接,都是通過對輸入進行加權的方式操作。
膠囊網絡在計算的過程中主要分為四步:
輸入向量ui的W矩陣乘法;
輸入向量ui的標量權重c;
加權輸入向量的總和;
向量到向量的非線性變換。
網絡結構如下圖所示,其中「ReLI Conv1」是常規(guī)卷積層;「PrimaryCaps」構建了32個channel的capsules,得到6*6*8的輸出;「DigiCaps」對前面1152個capules進行傳播與「routing」更新,輸入是1152個capsules,輸出是10個capules,表示10個數字類別,最后用這10個capules去做分類。
? ? ? ?
圖23:膠囊網絡網絡結構示意圖
(3)生成解釋法
?
除了上文介紹的諸多方法外,在模型訓練的同時,可以設計神經網絡模型,令其產生能被人類理解的證據,生成解釋的過程也可被顯式地定義為模型訓練的一部分。
?
Wagner 2019[26]首次實現了圖像級別的細粒度解釋。文中提出的「FGVis」,避免了圖像的可解釋方法中對抗證據的問題,傳統(tǒng)方法采用添加正則項的方式緩解,但由于引入了超參,人為的控制導致無法生成更加可信的,細粒度的解釋。文中的FGVis方法基于提出的「對抗防御(Adversarial Defense)」方法,通過過濾可能導致對抗證據的樣本梯度,從而避免這個問題。該方法并不基于任何模型或樣本,而是一種優(yōu)化方法,并單獨對生成解釋圖像中的每個像素優(yōu)化,從而得到細粒度的圖像解釋,檢測示意圖如圖[24] 所示。
? ? ? ?
圖24:FGVis檢測結果示意圖
?
另一個視覺的例子來自Antol et. 的Vqa[27],文章將視覺問題的「回答任務(Vqa)」定義為給定一個圖像和一個開放式的、關于圖像的自然語言問題,并提出了Vqa的「基準」和「回答方法」,同時還開發(fā)了一個兩通道的視覺圖像加語言問題回答模型。
文章首先對Vqa任務所需的數據集進行采集和分析,然后使用baselines為「基準」對「方法」進行評估,基準滿足4個條件:1) 隨機,2)答案先驗, 3)問題先驗,4)最近鄰。
「方法」使用文中開發(fā)的兩個視覺(圖像)通道加語言(問題)通道通過多層感知機結合的模型,結構圖如圖所示。視覺圖像通道利用 VGGNet最后一層隱藏層的激活作為 4096- dim 圖像嵌入,語言問題通道使用三種方法嵌入:
構建「詞袋問題(BoW Q)」;
「LSTM Q 」具有一個隱藏層的lstm對1024維的問題進行嵌入;
「deeper LSTM Q」。最終使用softmax方法輸出K個可能的答案。
? ? ? ?
圖 25:deeper LSTM Q + norm I 結構圖
?
三. 總結

為了使深度學習模型對用戶而言更加「透明」,研究人員近年來從「可解釋性」和「完整性」這兩個角度出發(fā),對深度學習模型得到預測、決策結果的工作原理和深度學習模型本身的內部結構和數學操作進行了解釋。至今,可解釋性深度學習領域的研究人員在「網絡對于數據的處理過程」、「網絡對于數據的表征」,以及「如何構建能夠生成自我解釋的深度學習系統(tǒng)」三個層次上均取得了可喜的進展:
就網絡工作過程而言,研究人員通過設計線性代理模型、決策樹模型等于原始模型性能相當,但具有更強可解釋性的模型來解釋原始模型;此外,研究人員還開發(fā)出了顯著性圖、CAM 等方法將于預測和決策最相關的原始數據與計算過程可視化,給出一種對深度學習模型的工作機制十分直觀的解釋。
就數據表征而言,現有的深度學習解釋方法涉及「基于層的解釋」、「基于神經元的解釋」、「基于表征向量的解釋」三個研究方向,分別從網絡層的設計、網絡參數規(guī)模、神經元的功能等方面探究了影響深度學習模型性能的重要因素。
就自我解釋的深度學習系統(tǒng)而言,目前研究者們從注意力機制、表征分離、解釋生成等方面展開了研究,在「視覺-語言」多模態(tài)任務中實現了對模型工作機制的可視化,并且基于 InfoGAN、膠囊網絡等技術將對學習有不同影響表征分離開來,實現了對數據表征的細粒度控制。
?
然而,現有的對深度學習模型的解釋方法仍然存在諸多不足,面臨著以下重大的挑戰(zhàn):
現有的可解釋性研究往往針對「任務目標」和「完整性」其中的一個方向展開,然而較少關注如何將不同的模型解釋技術合并起來,構建更為強大的模型揭示方法。
缺乏對于解釋方法的度量標準,無法通過更加嚴謹的方式衡量對模型的解釋結果。
現有的解釋方法往往針對單一模型,模型無關的解釋方法效果仍有待進一步提升。
對無監(jiān)督、自監(jiān)督方法的解釋工作仍然存在巨大的探索空間。
推薦閱讀
[0]?Gilpin, Leilani H., et al. "Explaining explanations: An overview of interpretability of machine learning." 2018 IEEE 5th International Conference on data science and advanced analytics (DSAA). IEEE, 2018.
[1] Ribeiro, Marco Tulio, Sameer Singh, and Carlos Guestrin. "'Why should I trust you?'?Explaining the predictions of any classifier."?Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining. 2016.
[2] Sato, Makoto, and Hiroshi Tsukimoto. "Rule extraction from neural networks via decision tree induction."?IJCNN'01. International Joint Conference on Neural Networks. Proceedings (Cat. No. 01CH37222). Vol. 3. IEEE, 2001.
[3] Zilke, Jan Ruben, Eneldo Loza Mencía, and Frederik Janssen. "Deepred–rule extraction from deep neural networks."?International Conference on Discovery Science. Springer, Cham, 2016.
[4] Schmitz, Gregor PJ, Chris Aldrich, and Francois S. Gouws. "ANN-DT: an algorithm for extraction of decision trees from artificial neural networks."?IEEE Transactions on Neural Networks?10.6 (1999): 1392-1401.
[5] Gallant, Stephen I. "Connectionist expert systems."?Communications of the ACM?31.2 (1988): 152-169.
[6] Tsukimoto, Hiroshi. "Extracting rules from trained neural networks."?IEEE Transactions on Neural networks?11.2 (2000): 377-389.
[7] Towell, Geoffrey G., and Jude W. Shavlik. "Extracting refined rules from knowledge-based neural networks."?Machine learning?13.1 (1993): 71-101.
[8] Zeiler, Matthew D., and Rob Fergus. "Visualizing and understanding convolutional networks."?European conference on computer vision. Springer, Cham, 2014.
[9] Ancona, Marco, et al. "Towards better understanding of gradient-based attribution methods for deep neural networks."?arXiv preprint arXiv:1711.06104?(2017).
[10] Bach, Sebastian, et al. "On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation."?PloS one?10.7 (2015): e0130140.
[11] Shrikumar, Avanti, Peyton Greenside, and Anshul Kundaje. "Learning important features through propagating activation differences."?arXiv preprint arXiv:1704.02685?(2017).
[12] Kim, Been, et al. "Tcav: Relative concept importance testing with linear concept activation vectors." (2018).
[13] Yosinski, Jason, et al. "How transferable are features in deep neural networks?."?Advances in neural information processing systems. 2014.
[14] Simonyan, Karen, Andrea Vedaldi, and Andrew Zisserman. "Deep inside convolutional networks: Visualising image classification models and saliency maps."?arXiv preprint arXiv:1312.6034?(2013).
[15] Neyshabur, Behnam, Hanie Sedghi, and Chiyuan Zhang. "What is being transferred in transfer learning?."?Advances in Neural Information Processing Systems?33 (2020).
[16] Zhou, Bolei, et al. "Object detectors emerge in deep scene cnns."?arXiv preprint arXiv:1412.6856?(2014).
[17] Bau, David, et al. "Network dissection: Quantifying interpretability of deep visual representations."?Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
[18] Frankle, Jonathan, and Michael Carbin. "The lottery ticket hypothesis: Training pruned neural networks."?arXiv preprint arXiv:1803.03635?2 (2018).
[19] Zhang, Quan-shi, and Song-Chun Zhu. "Visual interpretability for deep learning: a survey."?Frontiers of Information Technology & Electronic Engineering?19.1 (2018): 27-39.
[20] Huk Park, Dong, et al. "Multimodal explanations: Justifying decisions and pointing to the evidence."?Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
[21] Xiao, Tianjun, et al. "The application of two-level attention models in deep convolutional neural network for fine-grained image classification."?Proceedings of the IEEE conference on computer vision and pattern recognition. 2015.
[22] Chen, Xi, et al. "Infogan: Interpretable representation learning by information maximizing generative adversarial nets."?Advances in neural information processing systems. 2016.
[23] Zhang, Quanshi, et al. "Interpreting cnn knowledge via an explanatory graph."?arXiv preprint arXiv:1708.01785?(2017).
[24] Zhang, Quanshi, Ying Nian Wu, and Song-Chun Zhu. "Interpretable convolutional neural networks."?Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
[25] Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules."?Advances in neural information processing systems. 2017.
[26] Wagner, Jorg, et al. "Interpretable and fine-grained visual explanations for convolutional neural networks."?Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019.
[27] Antol, Stanislaw, et al. "Vqa: Visual question answering."?Proceedings of the IEEE international conference on computer vision. 2015.
? ? ??
