首頁>科技>

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

隨著深度學習模型在人們日常生活中的許多場景下扮演著越來越重要的角色,模型的「可解釋性」成為了決定使用者是否能夠「信任」這些模型的關鍵因素(尤其是當我們需要機器為關係到人類生命健康、財產安全等重要任務給出預測和決策結果時)。在本章,我們將從深度學習 可解釋性的定義 、 研究意義 、 分類方法 3 個方面對這一話題展開討論。

1.1何為可解釋性

對於深度學習的使用者而言,模型的可解釋性是一種較為主觀的性質,我們無法透過嚴謹的數學表達方法形式化定義可解釋性。通常,我們可以認為深度學習的可解釋性刻畫了「 人類對模型決策或預測結果的理解程度 」,即使用者可以更容易地理解解釋性較高的模型做出的決策和預測。

從哲學的角度來說,為了理解何為深度學習的可解釋性,我們需要回答以下幾個問題: 首先,我們應該如何定義對事務的「解釋」,怎樣的解釋才足夠好?許多學者認為,要判斷一個解釋是否 足 夠好,取決於這個解釋需要回答的問題是什麼。對於深度學習任務而言,我們最感興趣的兩類問題是「為什麼會得到該結果」和「為什麼結果應該是這樣」。而理想狀態下,如果我們能夠透過溯因推理的方式恢復出模型計算出輸出結果的過程,就可以實現較強的模型解釋性。

實際上,我們可以從「可解釋性」和「完整性」這兩個方面來衡量一種解釋是否合理。「可解釋性」旨在透過一種人類能夠理解的方式描述系統的內部結構,它與人類的認知、知識和偏見息息相關;而「完整性」旨在透過一種精確的方式來描述系統的各個操作步驟(例如,剖析深度學習網路中的數學操作和引數)。然而,不幸的是,我們很難同時實現很強的「可解釋性」和「完整性」,這是因為精確的解釋術語往往對於人們來說晦澀難懂。同時,僅僅使用人類能夠理解的方式進行解釋由往往會引入人類認知上的偏見。

此外,我們還可以從更宏大的角度理解「可解釋性人工智慧」,將其作為一個「人與智慧體的互動」問題。如圖 1 所示,人與智慧體的互動涉及人工智慧、社會科學、人機互動等領域。

圖 1:可解釋的人工智慧

1.2

為什麼需要可解釋性

在當下的深度學習浪潮中,許多新發表的工作都聲稱自己可以在目標任務上取得良好的效能。儘管如此,使用者在諸如醫療、法律、金融等應用場景下仍然需要從更為詳細和具象的角度理解得出結論的原因。為模型賦予較強的可解釋性也有利於確保其公平性、隱私保護效能、魯棒性,說明輸入到輸出之間個狀態的因果關係,提升使用者對產品的信任程度。下面,我們從「完善深度學習模型」、「深度學習模型與人的關係」、「深度學習模型與社會的關係」3 個方面簡介研究機器深度學習可解釋性的意義。

(1)完善深度學習模型大多數深度學習模型是由資料驅動的黑盒模型,而這些模型本身成為了知識的來源,模型能提取到怎樣的知識在很大程度上依賴於模型的組織架構、對資料的表徵方式,對模型的可解釋性可以顯式地捕獲這些知識。儘管深度學習模型可以取得優異的效能,但是由於我們難以對深度學習模型進行除錯,使其質量保證工作難以實現。對錯誤結果的解釋可以為修復系統提供指導。(2)深度學習模型與人的關係在人與深度學習模型互動的過程中,會形成經過組織的知識結構來為使用者解釋模型複雜的工作機制,即「心理模型」。為了讓使用者得到更好的互動體驗,滿足其好奇心,就需要賦予模型較強的可解釋性,否則使用者會感到沮喪,失去對模型的信任和使用興趣。人們希望協調自身的知識結構要素之間的矛盾或不一致性。如果機器做出了與人的意願有出入的決策,使用者則會試圖解釋這種差異。當機器的決策對人的生活影響越大時,對於這種決策的解釋就更為重要。當模型的決策和預測結果對使用者的生活會產生重要影響時,對模型的可解釋性與使用者對模型的信任程度息息相關。例如,對於醫療、自動駕駛等與人們的生命健康緊密相關的任務,以及保險、金融、理財、法律等與使用者財產安全相關的任務,使用者往往需要模型具有很強的可解釋性才會謹慎地採用該模型。(3)深度學習模型與社會的關係由於深度學習高度依賴於訓練資料,而訓練資料往往並不是無偏的,會產生對於人種、性別、職業等因素的偏見。為了保證模型的公平性,使用者會要求深度學習模型具有檢測偏見的功能,能夠透過對自身決策的解釋說明其公平。深度學習模型作為一種商品具有很強的社會互動屬性,具有強可解釋性的模型也會具有較高的社會認可度,會更容易被公眾所接納。1.3可解釋性的分類

根據可解釋性方法的作用時間、可解釋性方法與模型的匹配關係、可解釋性方法的作用範圍,我們可以將深度學習的可解釋性方法分為:本質可解釋性和事後可解釋性、針對特定模型的可解釋性和模型無關可解釋性、區域性可解釋性和全域性可解釋性。

其中,本質可解釋性指的是對模型的架構進行限制,使其工作原理和中間結果能夠較為容易地為人們所理解(例如,結構簡單的決策樹模型);事後可解釋性則指的是透過各種統計量、視覺化方法、因果推理等手段,對訓練後的模型進行解釋。

由於深度模型的廣泛應用,本文將重點關注深度學習的可解釋性,並同時設計一些深度學習方法的解釋。

二、深度學習的可解釋性

對於深度學習模型來說,我們重點關注如何解釋「 網路對於資料的處理過程 」、「 網路對於資料的表徵 」,以及「 如何構建能夠生成自我解釋的深度學習系統 」。網路對於資料的處理過程將回答「輸入為什麼會得到相應的的特定輸出?」,這一解釋過程與剖析程式的執行過程相類似;網路對於資料的表徵將回答「網路包含哪些資訊?」,這一過程與解釋程式內部的資料結構相似。下文將重點從以上三個方面展開討論。

2.1深度學習過程的可解釋性

常用的深度網路使用大量的基本操作來得出決策:例如,ResNet使用了約5×107個學習引數,1010個浮點運算來對單個影象進行分類。解釋這種複雜模型的基本方法是降低其複雜度。這可以透過設計表現與原始模型相似但更易於解釋的代理模型來完成( 線性代理模型 、 決策樹模型 等),或者也可以構建顯著性圖( salience map ),來突出顯示最相關的一部分計算,從而提供可解釋性。

(1)線性代理模型(Proxy Models)

目前被廣泛採 用的深度學習模型,大多仍然是「黑盒模型」。在根據預測結果規劃行動方案,或者選擇是否部署某個新模型時,我們需要理解預測背後的推理過程,從而評估模型的可信賴程度。一種可能的方法是,使用線性可解釋的模型近似“黑盒模型”。

Marco et. al [1]提出了一種新的模型無關的模型解釋技術「LIME」,它可以透過一種可解釋的、準確可靠的方式,透過學習一個圍繞預測結果的可解釋模型,解釋任意的分類器或迴歸模型的預測結果。本文作者還透過簡潔地展示具有代表性的個體預測結果及其解釋,將該任務設計成了一種子模組最佳化問題。

文中指出,一種優秀的解釋方法需要具備以下幾點特質:

(1)可解釋性:給出對輸入變數和響應的關係的定性理解,可解釋性需要考慮使用者自身的限制。

(2)區域性保真:解釋方法至少需要在區域性是可靠的,它必須與模型在被預測例項附近的表現相對應。需要指出的是,在全域性上重要的特徵不一定在區域性環境下仍然重要,反之亦然。

(3)模型無關:解釋方法需要能夠解釋各種各樣的模型。

(4)全域性視角:準確度有時並不是一個很好的模型評價指標,直譯器旨在給出一些具有代表性的對樣本的解釋。

文中的方法可以基於對分類器區域性可靠的可解釋表徵,來鑑別器模型的可解釋性。LIME 會對輸入樣本進行擾動,識別出對於預測結果影響最大的特徵(人類可以理解這些特徵)。

圖 2

如圖 2 所示,加粗的紅色十字樣本有待解釋。從全域性來看,很難判斷紅色十字和藍色圓圈對於帶解釋樣本的影響。我們可以將視野縮小到黑色虛線周圍的區域性範圍內,在加粗紅色十字樣本週圍對原始樣本特徵做一些擾動,將擾動後的取樣樣本作為分類模型的輸入,LIME 的目標函式如下:

其中,f 為分類器,g 為直譯器,π_x 為臨近度度量,Ω(g) 為直譯器 g 的複雜度,L 為損失函式。

圖 3

因為代理模型提供了模型複雜度與可信度之間的量化方法,因此方法間可以互相作為參考,吸引了許多研究工作。

(2)決策樹方法

另一種代理模型的方法是決策樹。將神經網路分解成決策樹的工作從1990年代開始,該工作能夠解釋淺層網路,並逐漸泛化到深度神經網路的計算過程中。

一個經典的例子是Makoto et. al [2]。文中提出了一種新的規則抽取(Rule Extraction)方法CRED,使用決策樹對神經網路進行分解,並透過c/d-rule演算法合併生成的分支,產生不同分類粒度,能夠考慮連續與離散值的神經網路輸入輸出的解釋。具體演算法如下:

一.將網路輸入變數按設定的特徵間隔大小分成不同類別,並劃分網路的目標輸出和其他輸出。

二.建立輸出隱藏決策樹(Hidden-Output Decision Tree)每個結點使用預測目標的特徵做區分,以此分解網路,建立網路的中間規則。

三.對於2建立的每個節點,對其代表的每個函式建立輸入隱藏決策樹(Hidden-Input Decision Tree),對輸入的特徵進行區分,得到每個節點輸入的規則。

四.使用3中建立的輸入規則替換結點的輸出規則,得到網路整體的規則。

五.合併結點,根據設定的規則,使表達簡潔。

圖 4 :CRED演算法

DeepRED [3]將CRED的工作拓展到了多層網路上,並採用了多種結構最佳化生成樹的結構。另一種決策樹結構是ANN-DT[4],同樣使用模型的結點結構建立決策樹,對資料進行劃分。不同的是,判斷節點是採用正負兩種方法判斷該位置的函式是否被啟用,以此劃分資料。決策樹生成後,透過在樣本空間取樣、實驗,獲得神經網路的規則。

這階段的工作對較淺的網路生成了可靠的解釋,啟發了很多工作,但由於決策樹節點個數依賴於網路大小,對於大規模的網路,方法的計算開銷將相應增長。

(3)自動規則生成

自動規則生成是另一種總結模型決策規律的方法,上世紀80年代, Gallant將神經網路視作儲存知識的資料庫,為了從網路中發掘資訊和規則,他在工作[4]中提出了從簡單網路中提取規則的方法,這可以被看作是規則抽取在神經網路中應用的起源。現今,神經網路中的規則生成技術主要講輸出看作規則的集合,利用命題邏輯等方法從中獲取規則。

Hiroshi Tsukimoto [6]提出了一種從訓練完成的神經網路中提取特徵提取規則的方法,該方法屬於分解法,可以適用在輸出單調的神經網路中,如sigmoid函式。該方法不依賴訓練演算法,計算複雜度為多項式,其計算思想為:用布林函式擬合神經網路的神經元,同時為了解決該方法導致計算複雜度指數增加的問題,將演算法採用多項式表達。最後將該演算法推廣到連續域,提取規則採用了連續布林函式。

Towell [7]形式化了從神經網路中提取特徵的方法,文章從訓練完成的神經網路中提取網路提取特徵的方法,MoFN,該方法的提取規則與所提取的網路的精度相近,同時優於直接細化規則的方法產生的規則,更加利於人類理解網路。

MoFN分為6步:1)聚類;2)求平均;3)去誤差;4)最佳化;5)提取;6)簡化。

聚類採用標準聚類方法,一次組合兩個相近的族進行聚類,聚類結束後對聚類的結果進行求平均處理,計算時將每組中所有鏈路的權重設定為每個組權重的平均值,接下來將連結權重較低的組去除,將留下的組進行單位偏差最佳化,最佳化後的組進行提取工作,透過直接將每個單元的偏差和傳入權重轉換成具有加權前因的規則來建立,最後對提取到的規則簡化。MOFN的演算法示例如下圖所示。

圖5:MOFN 演算法

規則生成可以總結出可靠可信的神經網路的計算規則,他們有些是基於統計分析,或者是從模型中推導,在保障神經網路在關鍵領域的應用提供了安全保障的可能。

(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:第二層學習邊緣,角落資訊;第三層學到了一些比較複雜的模式,網狀,輪胎;第四層展示了一些比較明顯的變化,但是與類別更加相關了,比如狗臉,鳥腿;第五層則看到了整個物體,比如鍵盤,狗。

同時,透過視覺化,我們也可以發現模型的缺陷,例如某些層學習到的特徵雜亂無章,透過單獨訓練,可以提升模型效果。另外的方法也被採用,例如使用遮擋的方法,透過覆蓋輸入的某部分特徵,分析輸出和模型計算的中間引數,得到模型對被遮擋部分的敏感性,生成敏感性圖,或者用梯度方法得到輸出對於輸入影象畫素的梯度,生成梯度熱力圖。

總結性的工作來自ETH Zurch的Enea Ceolini [9]證明了基於梯度的歸因方法(gradient-based Attribution methods)存在形式上\聯絡,文章證明了在一定情況下,諸如sigma-LRP[10]、DeepLIF[11]方法間存在的等價和近似關係,並基於統一的數學表達,提出了一個更普適的梯度歸因方法框架Sensitivity-n,用於解釋模型輸入輸出之間的關聯。

深度學習的歸因分析用於解釋輸入的每個變數對於神經網路的貢獻(contribution),或相關程度(relevance),嚴格來說,假設網路的輸入為x = [x1, ..., xN ],C個輸出神經元對應的輸出為S(x) = [S1(x), ..., SC (x)],歸因分析的目標便是找到xi對於每個神經元輸出的貢獻,Rc = [Rc 1 , ..., Rc N ]。

基於梯度的方法可以被看作直接使用輸出對輸出的特徵求梯度,用梯度的一定變換形式表示其重要性,工作中展示的考慮不同大小特徵區域熱力圖如下:

圖 8

文章分析了不同方法的效果差異:

圖 9

透過證明,得到通用的梯度方法表示為:

2.2

深度網路表示的可解釋性

儘管存在大量神經網路運算,深度神經網路內部由少數的子元件構成:例如,數十億個ResNet的操作被組織為約100層,每層計算64至2048資訊通道畫素。對深層網路表示的解釋旨在瞭解流經這些資訊瓶頸的資料的作用和結構。可以按其粒度劃分為三個子類: 基於層的解釋 ,將流經層的所有資訊一起考慮; 基於神經元的解釋 ,用來說明單個神經元或單個filter通道的情況; 此外基於(其他)表示向量的解釋 ,例如概念啟用向量(CAV)[12]是透過識別和探測與人類可解釋概念一致的方向來解釋神經網路表示,用單個單元的線性組合所形成的表示向量空間中的其他方向作為其表徵向量。

(1)基於層的解釋

Bengio等人[13]分析了在圖片分類任務中,不同層的神經網路的功能和可遷移性,以及不同遷移方法對結果的影響。從實驗的角度分析了神經網路不同層引數具有的一些性質,證明了模型遷移方法的普遍效果。作者驗證了淺層神經網路在特徵抽取功能上的通用性和可複用性,針對實驗結果提出了可能的解釋,表明影響遷移學習效果的因素有二:

1) 共同訓練變數的影響

透過反向傳播演算法訓練的神經網路,結點引數並非單獨訓練,其梯度計算依賴於一系列相關結點,因此遷移部分結點引數會引起相關結點的訓練困難。

2) 遷移引數的通用效能和專用性

網路中較淺層網路的功能較為通用,而高層網路與網路的訓練目標更加相關。若A、B任務不想關,則專用於A的引數遷移後會影響對B任務的學習。

圖10

實驗結果發現,在不同的實驗條件下,兩種因素會不同程度決定遷移學習的效果。例如,當遷移較深層網路並固定引數時,高層引數的專用性會導致在遷移到的任務上表現不佳,但這時共同訓練的變數影響會減小,因為大部分引數都被遷移獲得;當遷移自身的引數並固定時,在層數較小的情況下出現了效能下降,這說明了共同訓練的變數對錶現的影響。另外,實驗發現完全不相關的任務對應的遷移,在經過充分微調後仍然能提升模型的效能,這證明了引數遷移是一個通用的提升模型效能的方法。

牛津大學Karen Simonyan等人[14]為解決深層卷積神經網路分類模型的視覺化問題,提出了兩種方法:第一種生成影象使得類得分最大化,再將類視覺化;第二種計算給定影象和類的類顯著性對映,同時還證明了這種方法可以使用分類轉換網路的弱監督物件分類。整個文章主要有三個貢獻:證明了理解分類CNN模型可以使用輸入影象的數值最佳化;提出了一種在影象中提取指定類別的空間表徵資訊(image-specific class saliency map)的方法(只通過一次back-propagation),並且這種saliency maps可以用於弱監督的物體定位。證明gradient-based的視覺化方法可以推廣到deconvolutional network的重構過程。

在第一類方法中,文中採用公式(1)進行影象分類模型的視覺化操作,其中 表示c的分數,由ConvNet的分類層對影象I計算得到, 是正則化引數。視覺化過程與ConvNet訓練過程類似,不同之處在於對影象的輸入做了最佳化,權重則固定為訓練階段得到的權重。圖1所示為使用零影象初始化最佳化,然後將訓練集的均值影象新增到結果中的輸出圖。

(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編碼了給定影象中特定類別的物體位置資訊,所以它可以被用來進行物體定位(儘管它在分類任務上得到訓練,弱監督學習)。給定一張影象和其對應的Saliency Map,可以使用GraphCut顏色分割模型來得到物體分割mask。要使用顏色分割模型主要是因為Saliency Map只能捕捉到一個物體最具有區分性的部分,它無法highlight整個物體,因此需要將threshold map傳遞到物體的其他區域,本文使用colour continuity cues來達到這個目的。前景和背景模型都被設定為高式混合模型,高於影象Saliency distribution 95%的畫素被視為前景,Saliency低於30%的畫素被視為背景。標記了前景和背景畫素之後,前景畫素的最大連線區域即為對應物體的分割mask(使用GraphCut演算法),效果如圖3所示。

圖 13

此外,Zhang et. al. 的工作[15]發現網路淺層具有統計輸入資訊的功能,並發現其和共享的特徵資訊一樣,對遷移帶來的效能提升起到了幫助。透過從相同checkpoint訓練,發現引數遷移,可以使模型損失每次都保持在相同的平面內(basin),具有相似的地形,但隨機初始化的引數每次損失所在的訓練平面不同。文章支援了高層、低層網路具有的不同功能,發現高層網路對於引數的改變更加敏感。

(2)基於神經元的解釋

香港中文大學助理教授周博磊的工作[16]為 CAM 技術的奠定了基礎,發現了 CNN 中卷積層對目標的定位功能。在改文中,作者對場景分類任務中訓練 CNN 時得到的目標檢測器展開了研究。由於場景是由物體組成的,用於場景分類的 CNN 會自動發現有意義的目標檢測器,它們對學到的場景類別具有代表性。作者發現,單個網路可以支援多個級別的抽象(如邊緣、紋理、物件、場景),同一個網路可以在無監督環境下,在單個前向傳播過程中同時完成場景識別和目標定位。

圖 14:估計每個神經元的感受野

針對每個神經元,作者估計出了其確切地感受野,並觀察到啟用區域傾向於隨著層的深度增加而在語義上變得更有意義(這是啟發後來一系列計算機視覺神經網路框架的理論基礎)。

周博磊CVPR 2017 [17]提出了一種名為“Network Dissection”的通用框架,假設“單元的可解釋性等同於單元的隨機線性結合”,透過評估單個隱藏單元與一系列語義概念間的對應關係,來量化 CNN 隱藏表徵的可解釋性。

這種方法利用大量的視覺概念資料集來評估每個中間卷積層隱藏單元的語義。這些帶有語義的單元被賦予了大量的概念標籤,這些概念包括物體、組成部分、場景、紋理、材料和顏色等。該方法揭示 CNN 模型和訓練方法的特性,而不僅僅是衡量他們的判別能力。

論文發現:人類可解釋的概念有時候會以單一隱藏變數的形式出現在這些網路中;當網路未受限於只能用可解釋的方式分解問題時,就會出現這種內部結構。這種可解釋結構的出現意味著,深度神經網路也許可以自發學習分離式表徵(disentangled representations)。

眾所周知,神經網路可以學習某種編碼方式,高效利用隱藏變數來區分其狀態。如果深度神經網路的內部表徵是部分分離的,那麼檢測斷分離式結構並讀取分離因數可能是理解這種機制的一種方法。同時該論文指出可解釋性是與座標軸對齊(axis-aligned)的,對錶示(representation)進行翻轉(rotate),網路的可解釋能力會下降,但是分類效能不變。越深的結構可解釋性越好,訓練輪數越多越好。而與初始化無關dropout會增強可解釋性而Batch normalization會降低可解釋性。

圖 15

麻省理工大學CSAIL的Jonathan Frankle和Michael Carbin論文 [18]中指出神經網路剪枝技術可以將受過訓練的網路的引數減少90%以上,在不影響準確性的情況下,降低儲存要求並提高計算效能。

然而,目前的經驗是透過剪枝產生的稀疏架構很難從頭訓練,也很難提高訓練效能。作者發現標準的剪枝技術自然而然地可以得到子網路,它們能在某些初始化條件下有效地進行訓練。在此基礎之上,作者提出了彩票假設:任何密集、隨機初始化的包含子網路(中獎彩票)的前饋網路 ,當它們被單獨訓練時,可以在相似的迭代次數內達到與原始網路相當的測試精度。

具體而言,作者透過迭代式而定剪枝訓練網路,並剪掉最小的權重,從而得到「中獎彩票」。透過大量實驗,作者發現,剪枝得到的中獎彩票網路比原網路學習得更快,泛化效能更強,準確率更高。剪枝的主要的步驟如下:

(1)隨機初始化一個神經網路

(2)將網路訓練 j 輪,得到引數

(3)剪掉 中 p% 的引數,得到掩模 m

(4)將剩餘的引數重置為 中的值,生成中獎彩票

圖 16:虛線為隨機才應該能得到的稀疏網路,實現為中獎彩票。

此外, 加利福尼亞大學的ZHANG Quanshi和ZHU Song-chun 綜述了近年來神經網路可解釋性方面的研究進展[19]。文章以卷積神經網路(CNN)為研究物件,回顧了CNN表徵的視覺化、預訓練CNN表徵的診斷方法、預訓練CNN表徵的分離方法、帶分離表示的CNN學習以及基於模型可解釋性的中端學習。

最後,討論了可解釋人工智慧的發展趨勢,並且指出了以下幾個未來可能的研究方向:1)將conv層的混沌表示分解為圖形模型或符號邏輯;2)可解釋神經網路的端到端學習,其中間層編碼可理解的模式(可解釋的cnn已經被開發出來,其中高轉換層中的每個過濾器代表一個特定的物件部分);3)基於CNN模式的可解釋性表示,提出了語義層次的中端學習,以加快學習過程;4)基於可解釋網路的語義層次結構,在語義級別除錯CNN表示將建立新的視覺化應用程式。

網路模型自身也可以透過不同的設計方法和訓練使其具備一定的解釋性,常見的方法主要有三種:注意力機制網路;分離表示法;生成解釋法。基於注意力機制的網路可以學習一些功能,這些功能提供對輸入或內部特徵的加權,以引導網路其他部分可見的資訊。分離法的表徵可以使用單獨的維度來描述有意義的和獨立的變化因素,應用中可以使用深層網路訓練顯式學習的分離表示。在生成解釋法中,深層神經網路也可以把生成人類可理解的解釋作為系統顯式訓練的一部分。

2.3

生成自我解釋的深度學習系統

網路模型自身也可以 透過不同的設計方法和訓練使其具備一定的解釋性,常見的方法主要有三種:注意力機制網路;分離表示法;生成解釋法。基於注意力機制的網路可以學習一些功能,這些功能提供對輸入或內部特徵的加權,以引導網路其他部分可見的資訊。分離法的表徵可以使用單獨的維度來描述有意義的和獨立的變化因素,應用中可以使用深層網路訓練顯式學習的分離表示。在生成解釋法中,深層神經網路也可以把生成人類可理解的解釋作為系統顯式訓練的一部分。

(1)注意力機制網路

注意力機制的計算過程可以被解釋為:計算輸入與其中間過程表示之間的相互權重。計算得到的與其他元素的注意力值可以被直觀的表示。

在Dong Huk Park 發表於CVPR2018的[20]一文中,作者提出的模型可以同時生成影象與文字的解釋。其方法在於利用人類的解釋糾正機器的決定,但當時並沒有通用的包含人類解釋資訊與影象資訊的資料集,因此,作者整理了資料集ACT-X與VQA-X,並在其上訓練提出了P-JX(Pointing and Justification Explanation)模型,檢測結果如圖所示。

圖 17:P-JX模型檢測結果

模型利用「attention」機制得到影象畫素的重要性,並據此選擇輸出的視覺圖,同時,資料集中的人類解釋文字對模型的預測作出糾正,這樣模型可以同時生成視覺化的解釋,亦能透過文字說明描述關注的原因。例如在上圖中,對問題「Is this a healthy meal」,針對圖片,關注到了熱狗,因此回答「No」,圖片的注意力熱力圖給出了視覺化的解釋,同時文字亦生成了對應的文字解釋。作者認為,利用多模態的資訊可以更好地幫助模型訓練,同時引入人類的知識糾錯有利於提高模型的可解釋性。

由於類別之間只有透過細微區域性的差異才能夠被區分出來,因此「fine-grained」分類具有挑戰性,在Xiao et. al. 的[21]中,作者將視覺「attention」應用到「fine-grained」分類問題中,儘管注意力的單元不是出於可解釋性的目的而訓練的,但它們可以直接揭示資訊在網路種的傳播地圖,可以作為一種解釋。由於細粒度特徵不適用bounding box標註,因此該文章採用「弱監督學習」的知識來解決這一問題。

該文章中整合了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不同,使其功能和優勢也不同。在object-level中對產生的patches選出包含基本類別物件的patch,濾掉背景。 part-level分類器專門對包含有判別力的區域性特徵進行處理。

有的patch被兩個分類器同時使用,但該部分代表不同的特徵,將每幅圖片的object-level和part-level的分數相加,得到最終的分數,即分類結果。

(2)分離表示法

分離表示目標是用高低維度的含義不同的獨立特徵表示樣本,過去的許多方法提供瞭解決該問題的思路,例如PCA、ICA、NMF等。深度網路同樣提供了處理這類問題的方法。

Chen et. al. 在加州大學伯克利分校的工作[22]曾被 OpenAI 評為 2016 年 AI 領域的五大突破之一,在 GAN 家族的發展歷史上具有里程碑式的意義。對於大多數深度學習模型而言,其學習到的特徵往往以複雜的方式在資料空間中耦合在一起。如果可以對學習到的特徵進行解耦,就可以得到可解釋性更好的編碼。對於原始的 GAN 模型而言,生成器的輸入為連續的噪聲輸入,無法直觀地將輸入的維度與具體的資料中的語義特徵相對應,即無法得到可解釋的資料表徵。為此,InfoGAN 的作者以無監督的方式將 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模型取得了優異的效果,但是對於其包含豐富隱藏模式的卷積層編碼,仍然缺乏合理的解釋,要對 CNN 的卷積編碼進行解釋,需要解決以下問題:

CNN 的每個卷積核記憶了多少種模式?哪些模式會被共同啟用,用來描述同一個目標部分?兩個模式之間的空間關係如何?

圖 20:解釋圖結構示意圖

解釋圖結構示意圖表示了隱藏在 CNN 卷積層中的知識層次。預訓練 CNN 中的每個卷積核可能被不同的目標部分啟用。本文提出的方法是以一種無監督的方式將不同的模式從每個卷積核中解耦出來,從而使得知識表徵更為清晰。

具體而言,解釋圖中的各層對應於 CNN 中不同的卷積層。解釋圖的每層擁有多個節點,它們被用來表示所有候選部分的模式,從而總結對應的卷積層中隱藏於無序特徵圖中的知識,圖中的邊被用來連線相鄰層的節點,從而編碼它們對某些部分的共同啟用邏輯和空間關係。將一張給定的影象輸入給 CNN,解釋圖應該輸出:(1)某節點是否被啟用(2)某節點在特徵圖中對應部分的位置。由於解釋圖學習到了卷積編碼中的通用知識,因此可以將卷積層中的知識遷移到其它任務中。

圖 21:解釋圖中各部分模式之間的空間關係和共同啟用關係圖

解釋圖中各部分模式之間的空間關係和共同啟用關係。高層模式將噪聲濾除並對低層模式進行解耦。從另一個層面上來說,可以將低層模式是做高層模式的組成部分。

另外,張拳石[24]認為在傳統的CNN中,一個高層過濾器可能會描述一個混合的模式,例如過濾器可能被貓的頭部和腿部同時啟用。這種高卷積層的複雜表示會降低網路的可解釋性。針對此類問題,作者將過濾器的啟用與否交由某個部分控制,以達到更好的可解釋性,透過這種方式,可以明確的識別出CNN中哪些物件部分被記憶下來進行分類,而不會產生歧義。

模型透過對高卷積層的每個filter計算loss,種loss降低了類間啟用的熵和神經啟用的空間分佈的熵,每個filter必須編碼一個單獨的物件部分,並且過濾器必須由物件的單個部分來啟用,而不是重複地出現在不同的物件區域。

圖 22

Hinton的膠囊網路 [25],是當年的又一里程碑式著作。作者透過對CNN的研究發現CNN存在以下問題:1) CNN只關注要檢測的目標是否存在,而不關注這些元件之間的位置和相對的空間關係;2) CNN對不具備旋轉不變性,學習不到3D空間資訊;3)神經網路一般需要學習大量案例,訓練成本高。為了解決這些問題,作者提出了「膠囊網路」,使網路在減少訓練成本的情況下,具備更好的表達能力和解釋能力。

「膠囊(Capsule)」可以表示為一組神經元向量,用向量的長度表示物體「存在機率」,再將其壓縮以保證屬性不變,用向量的方向表示物體的「屬性」,例如位置,大小,角度,形態,速度,反光度,顏色,表面的質感等。

和傳統的CNN相比,膠囊網路的不同之處在於計算單位不同,傳統神經 網路以單個神經元作為單位,capsule以一組神經元作為單位。相同之處在於,CNN中神經元與神經元之間的連線 ,capsNet中capsule與capsule之間的連線,都是透過對輸入進行加權的方式操作。

膠囊網路在計算的過程中主要分為四步:

輸入向量ui的W矩陣乘法;輸入向量ui的標量權重c;加權輸入向量的總和;向量到向量的非線性變換。

網路結構如下圖所示,其中「ReLI Conv1」是常規卷積層;「PrimaryCaps」構建了32個channel的capsules,得到6*6*8的輸出;「DigiCaps」對前面1152個capules進行傳播與「routing」更新,輸入是1152個capsules,輸出是10個capules,表示10個數字類別,最後用這10個capules去做分類。

圖23:膠囊網路網路結構示意圖

(3)生成解 釋法

除了上文介紹的諸多方法外,在模型訓練的同時,可以設計神經網路模型,令其產生能被人類理解的證據,生成解釋的過程也可被顯式地定義為模型訓練的一部分。

Wagner 2019[26]首次實現了影象級別的細粒度解釋。文中提出的「FGVis」,避免了影象的可解釋方法中對抗證據的問題,傳統方法採用新增正則項的方式緩解,但由於引入了超參,人為的控制導致無法生成更加可信的,細粒度的解釋。文中的FGVis方法基於提出的「對抗防禦(Adversarial Defense)」方法,透過過濾可能導致對抗證據的樣本梯度,從而避免這個問題。該方法並不基於任何模型或樣本,而是一種最佳化方法,並單獨對生成解釋影象中的每個畫素最佳化,從而得到細粒度的影象解釋,檢測示意圖如圖[24] 所示。

圖24:FGVis檢測結果示意圖

另一個視覺的例子來自Antol et. 的Vqa[27],文章將視覺問題的「回答任務(Vqa)」定義為給定一個影象和一個開放式的、關於影象的自然語言問題,並提出了Vqa的「基準」和「回答方法」,同時還開發了一個兩通道的視覺影象加語言問題回答模型。

文章首先對Vqa任務所需的資料集進行採集和分析,然後使用baselines為「基準」對「方法」進行評估,基準滿足4個條件:1) 隨機,2)答案先驗, 3)問題先驗,4)最近鄰。

「方法」使用文中開發的兩個視覺(影象)通道加語言(問題)通道透過多層感知機結合的模型,結構圖如圖所示。視覺影象通道利用 VGGNet最後一層隱藏層的啟用作為 4096- dim 影象嵌入,語言問題通道使用三種方法嵌入:

構建「詞袋問題(BoW Q)」;「LSTM Q 」具有一個隱藏層的lstm對1024維的問題進行嵌入;「deeper LSTM Q」。 最終使用softmax方法輸出K個可能的答案。

圖 25:deeper LSTM Q + norm I 結構圖

三. 總結

為了使深度學習模型對使用者而言更加「透明」,研究人員近年來從「可解釋性」和「完整性」這兩個角度出發,對深度學習模型得到預測、決策結果的工作原理和深度學習模型本身的內部結構和數學操作進行了解釋。至今,可解釋性深度學習領域的研究人員在「網路對於資料的處理過程」、「網路對於資料的表徵」,以及「如何構建能夠生成自我解釋的深度學習系統」三個層次上均取得了可喜的進展:

就網路工作過程而言,研究人員透過設計線性代理模型、決策樹模型等於原始模型效能相當,但具有更強可解釋性的模型來解釋原始模型;此外,研究人員還開發出了顯著性圖、CAM 等方法將於預測和決策最相關的原始資料與計算過程視覺化,給出一種對深度學習模型的工作機制十分直觀的解釋。就資料表徵而言,現有的深度學習解釋方法涉及「基於層的解釋」、「基於神經元的解釋」、「基於表徵向量的解釋」三個研究方向,分別從網路層的設計、網路引數規模、神經元的功能等方面探究了影響深度學習模型效能的重要因素。就自我解釋的深度學習系統而言,目前研究者們從注意力機制、表徵分離、解釋生成等方面展開了研究,在「視覺-語言」多模態任務中實現了對模型工作機制的視覺化,並且基於 InfoGAN、膠囊網路等技術將對學習有不同影響表徵分離開來,實現了對資料表徵的細粒度控制。

然而,現有的對深度學習模型的解釋方法仍然存在諸多不足,面臨著以下重大的挑戰:

現有的可解釋性研究往往針對「任務目標」和「完整性」其中的一個方向展開,然而較少關注如何將不同的模型解釋技術合併起來,構建更為強大的模型揭示方法。缺乏對於解釋方法的度量標準,無法透過更加嚴謹的方式衡量對模型的解釋結果。現有的解釋方法往往針對單一模型,模型無關的解釋方法效果仍有待進一步提升。對無監督、自監督方法的解釋工作仍然存在巨大的探索空間。推薦閱讀

[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.

6
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 在使用谷歌地圖的情況下,人們獲取的7個神秘發現