對人工神經網路的隱式行為進行視覺化

2021-09-22 23:26:05 字數 3912 閱讀 5774

在許多機器學習任務中,人工神經網路尤其是近些年發展起來的深度學習網路,已經取得了十分矚目的結果。然而,以前研究者往往將神經網路的內部行為當作黑盒來看待,神經網路到底學習到了什麼並不了解。近些年來,研究者們逐漸開始關注這一問題,並通過了解其內部行為來幫助優化模型。而這篇工作則是從視覺化的角度出發來對待這個問題。

為了理解這篇工作的內容,我們首先需要對神經網路有一定的了解。神經元是神經網路中的最基本單元。乙個神經元 (neuron) 接受若干個輸入,計算它們的加權和,然後使用「啟用」函式對這個和進行處理後,得到輸出值。其中,這裡的權重就是這個神經元待學習的引數。若干個神經元可以組成乙個層 (layer),同一層的神經元之間沒有值的傳遞關係。而多個層可以依次排列起來,前一層中所有(或者部分)神經元的輸出作為下一層各個神經元的輸入。除了第一層的神經元不需要輸入,而直接輸出資料的某一分量;最後一層的神經元的輸出不再作為其他神經元的輸入,而直接用於相應的任務。圖1就是這樣一種典型的神經網路,它具有三層,第一層為輸入,最後一層為輸出,中間一層稱之為隱含層。我們可以將乙個神經網路看作依次對輸入資料進行處理的函式,每經過一層原始資料就得到一次變換,最後一層變換後的結果則直接用於處理對應任務。

圖1:乙個典型的神經網路結構

在這麼個神經網路中,可以用來視覺化的資料報含兩部分:一是每一層神經元的輸出,它們對應輸入資料在網路中的不同表示;二是每個神經元所學習到的權重,它們刻畫著各個神經元的行為,即如何對輸入進行響應的。這兩部分資料分別對應作者在這篇工作中研究者們提出的神經網路內部行為的兩個任務:任務一,研究資料表示間的關係;任務

二、研究神經元間的關係。

為了進行具體的研究,作者考慮了兩種神經網路模型:多層感知機mlp和卷積神經網路cnn。其中,多層感知機的結果類似於圖1,只是中間含有4個隱含層,各具有1000個神經元。而卷積神經網路在輸入層之後有若干卷積層、池化層等等,最後在輸出層之前會有全連線層,也就是類似圖1中的結構。作者採用這兩種模型在資料集mnist、svhn和cifar-10分別進行測試與比較。這三個資料集都是用於測試中數字或者物體的識別任務的。對應到所採用的兩種神經網路模型中,輸入層的每個神經元對應資料集中樣本的每個畫素,而輸出層的每個神經元則分別對應所屬的數字或者物體某乙個類別,輸出值表示屬於那一類別的概率。圖2中,展示了這兩種模型在三個資料集上的測試準確率。

圖2:兩種網路結構在三個資料集上的準確率

我們回到神經網路本身。前面提到的神經網路的內部行為實際上包含兩部分資料,並且均為高維資料。作者選擇採用降維投影的方式對它們進行視覺化。其中,對於第乙個任務,由於原始資料本身已經有所屬類別,那麼研究資料表示間的聚類關係就有必要性。作者選擇了能更好保留相鄰關係和聚類關係的t-sne投影來對這部分資料進行處理。而在第二個任務中,神經元的關係主要考察它們之間線性相關性的大小,那麼能盡量保持距離的mds投影被作者採用。

接下來,我們通過樣例分析來看看視覺化是如何在這兩個任務上發揮其作用的。

圖3:訓練前後mlp最後一層資料表示的投影圖

在第乙個例子中(圖3),左圖是針對mnist資料,未經訓練的mlp最後一層神經元輸出的投影結果。可以看到,即使模型還未經訓練,其內部表示中,已經有了比較好的類間區分性。這一現象儘管比較直接,但沒有被任何已有工作所記錄。這也意味著投影的方法可以用於研究模型的初始化策略。而右圖則是訓練後的資料表示投影結果,可以看到類間的視覺區分性大大增強了。同時,模型的**準確率也增強了。這就說明了根據內部表示的類間區分效能一定程度上**模型的準確率,同時也說明模型的訓練過程也是提高資料內部表示的類間區分性的過程。

圖4:訓練後mlp第一層和最後一層資料表示的投影圖

投影圖還可以用於比較同一模型不同層的表示區別。如圖4所示,左側是第一層的表示投影圖,右側是最後一層的投影圖。可以看到類間的可分性得到了明顯的提公升。這也就意味著後面的層通過抓住資料中更高層的特徵,對資料有了更具區分性的表示。

圖5:訓練後cnn最後一層資料表示的投影圖

在第二個例子中,作者將svhn資料集的mlp最後一層神經元輸出進行投影(圖5)。從投影圖中,可以容易地看到每個類別的點基本都形成了兩個聚類。經過對投影圖的探查,發現其中乙個聚類對應的是「淺色背景上的深色數字」,而另一類對應的是「深色背景上的淺色數字」。這種通過視覺化得到的語義知識可以進一步幫助理解和提高模型。例如,作者對測試資料進行邊緣提取操作,以移除深淺顏色帶來的影響,在完全相同的模型下,**準確率立即有了提公升。其實,已有的研究者也有提出類似的處理方式來提高模型效能,但是他們並沒有對這種做法的合理性進行解釋。這種聚類的語義還可以用來解釋模型的錯誤分類。例如,有乙個數字9的被錯分為數字2。但是,一般人可能比較疑惑:為什麼中的9如此清晰且沒有形變,但卻別錯分了呢?通過觀察投影圖,可以看到這個對應的點正好在「淺色背景上的深色數字2」附近,那就意味著是模型將中數字9右邊的邊框錯認為了乙個形變的數字2。

圖6:訓練後mlp模型中資料表示隨層次的演變視覺化

通過將多個投影圖聯合起來觀察,還可以研究模型中資料表示的動態變化過程。圖6中,左側4張小圖展示的是mlp在每個隱含層之後,資料表示的投影情況。右側大圖則將同一資料點不同層的表示用曲線連線了起來,用顏色表示層間先後關係。作者同時採用邊**技術來減少視覺混亂。從圖中可以很容易地看到隨著層次的演進,資料中類內部的一致性和類間的區分性得到了強化。在圖中還能看到一些異常的軌跡,他們的表示在模型中發生了比較劇烈的變化,可能對應一些錯分類的資料。通過類似的方法,還能看到在訓練過程中,每次迭代之後,資料的表示是如何變化的。從中也能觀察到類似的類內部的一致性和類間的區分性的強化效果,具體請參見原文。

圖7:訓練前後cnn網路的資料表示投影圖與神經元投影圖

接著,作者研究神經元間的關係,即第二個任務。圖7中,分別展示了訓練前、後資料表示的投影圖和神經元權重關係的投影圖。作者首先在訓練後的資料表示投影圖中選擇了對應數字8的資料點,在神經元投影圖中,對這部分資料具有高啟用的神經元被高亮。可以看到,這些神經元基本形成了乙個聚類,也就是說它們之間比較相似。而這些神經元在訓練前則是分散在了投影空間中。由此可見,隨著訓練的進行,這些神經元逐漸被特化成專門用於分辨數字8的「專家」,並且逐漸變得相似。

圖8:根據啟用類別和程度著色的神經元投影圖和資料表示投影圖

在圖8左側圖中,作者直接根據每個神經元最易啟用的類別對它們進行著色。其中,編號460的神經元最容易對數字3產生高啟用值。在對應的資料表示投影圖上,我們能看到被這個神經元啟用的資料點主要對應「淺色背景上的深色數字3」這一聚類。但同時,有一部分屬於數字5的資料點也有較高的啟用值。這意味著,儘管這個神經元比較擅長識別數字3,但在一些數字5的資料上也會產生錯誤。通過類似的分析方法,研究者可以了解神經元的行為與角色,這也是神經網路研究中的乙個非常重要的問題。

總結起來,作者使用降維的方法探索了深度神經網路中資料表達之間的關係和神經元之間的關係。作者使用的視覺化技術比較簡單與直接。但在面對這一類資料上還是取得了許多的發現,其中有些還是沒有被已有工作提高過的未知發現,並且還能間接幫助提高模型效能。 

fan hong

人工神經網路評價法案例 人工神經網路演算法的例子

大腦中的訊號以大約每秒118.872公尺的速度從乙個神經元跳到另乙個神經元。另一方面,光在一秒鐘內傳播的速度3.0 10 8m s 想象一下,如果人類大腦中想訊號傳播速度也有光那麼快,那將會發生什麼不可思議的事。加州大學洛杉磯分校 ucla 的研究人員周四公布了一種3d列印的光學神經網路,它能讓計算...

人工神經網路的特點

人工神經網路是由大量節點相互連線構成的具有資訊響應的網狀拓撲結構,可用於模擬人腦神經元的活動過程,它反映了人腦功能的基本特性,包括諸如資訊加工 處理和儲存等過程。到目前為止,已經發現的人工神經網路特徵主要有非線性 並行處理和容錯性,並具有聯想 自學習 自組織和自適應能力。一 非線性 人工神經網路可以...

迴圈神經網路 對RNN的理解

愛看 v電影 nn。有人就會說,這個任務可以交給普通的卷積神經網路來做,就是乙個簡單的分類任務。不否認這種方法是可以的,但是在乙個句子中,單詞的前後關聯性對詞性 是由很大影響的。比如說 電影的時候,由於前面乙個詞是動詞,那麼電影這個詞作為名詞的概率會大於作為動詞的概率,因為動詞後面接名詞的情況很常見...