使用拓撲數據分析理解卷積神經網絡模型的工作過程

摘要: 神經網絡功能強大,但內部複雜且不透明,被稱為黑匣子工具。使用拓撲數據分析以緊湊且可理解的方式描述卷積神經網絡的功能和學習過程。

1.簡介

神經網絡在各種數據方面處理上已經取得了很大的成功,包括圖像、文本、時間序列等。然而,學術界或工業界都面臨的一個問題是,不能以任何細節來理解其工作的過程,只能通過實驗來檢測其效果,而無法做出合理的解釋。相關問題是對特定數據集經常存在某種過擬合現象,這會導致對抗行為的可能性。出於這些原因,開發用於發展對神經網絡的內部狀態的一些理解的方法是非常值得嘗試的。由於網絡中神經元的數量非常龐大,這成為使得對其進行數據分析顯得比較困難,尤其是對於無監督數據分析。

在這篇文章中,將討論如何使用拓撲數據分析來深入瞭解卷積神經網絡(CNN)的工作過程。本文所舉示例完全來自對圖像數據集進行訓練的網絡,但我們確信拓撲建模可以很容易地解釋許多其他領域卷積網絡的工作過程。

首先,對於神經網絡而言,一般是由節點和有向邊組成。一些節點被指定為輸入節點,其他節點被指定為輸出節點,其餘節點被指定為內部節點。輸入節點是數據集的特徵。例如,在處理圖像時,輸入節點將是特定圖像格式的像素。在文本分析時,它又可能是單詞。假設給定一個數據集和一個分類問題,比如手寫數字MNIST數據集,試圖將每個圖像分類為數字0到9中的某一個數字。網絡的每個節點對應於一個變量值(激活值)。因此,每個數據點為神經網絡中的每個內部和輸出節點生成值。網絡每個節點的值由分配給每個邊的權重系統決定。節點節點Z上的值由與之連接的節點A,B,C,D節點的激活函數來確定。

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖1 神經網絡節點示例

基於分配給四條邊的的權重值,計算最右邊節點Z的激活值。一種可能的函數形式就是

(wAxA+wBxB+wCxC+wDxD)

(wAxA+wBxB+wCxC+wDxD)

其中wA,wB,wC和wD是與邊緣AZ,BZ,CZ和DZ的權重值,xA,xB,xC和xD分別是節點A,B,C和D處的激活值,取值範圍通常在0和1之間,並且通常是單調的。權重的選擇是通過輸出函數來進行優化的,給定輸入的特定輸出函數(代價函數或損失函數),然後使用優化過程來選擇所有權重,以便最佳地適合給定的輸出函數,對這方面感興趣的讀者可以查閱梯度下降算法和反向傳播算法相關資料。

2.理解訓練網絡的權重

有一類神經網絡在圖像處理領域取得了很好的成績,即卷積神經網絡。在這種情況下,輸入節點被佈置在對應於像素矩陣的方形網格中,用於構成圖像的數據。網絡模型由一系列圖層組成,且每層之間都有連接,即第i層的節點與位於第(i + 1)層的節點之間有連接。不同於一般的神經網絡,典型的卷積神經網絡由卷積層(convolutional layers )、採樣層(Pooling layer)以及全連接層(fully-connected)組成,其中卷積層主要是用於提取圖像特徵,採樣層用於降低特徵的維度,全連接層用於最後的分類目的,隨著層與層之間的處理,特徵圖會變得越來越小,從圖中也可以看見這種現象:

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖2 卷積神經網絡的典型結構

為了理解卷積神經網絡的潛在行為,需要對權重矩陣進行了解。假設一個數據集,其中每個數據點是與隱藏層中的神經元相關聯的權重矩陣。從固定層的所有網格中收集數據,並在同一網絡模型對同一數據集進行許多次的訓練。最後,對權重矩陣進行拓撲數據分析。

通過對權重矩陣執行TDA,我們首次瞭解了卷積神經網絡的行為,獨立證明卷積神經網絡完全地表示自然圖像中發生的潛在分佈,這是如何完成的呢?

首先,需要從拓撲角度找到有用的結構。為了實現這個目標,只考慮密度足夠高的點。首先看一下兩層卷積神經網絡中的第一個卷積層,它產生圖3所示的拓撲模型。

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖3 根據過濾器的密度著色的TDA Mapper模型

從圖中可以看到,該模型是循環的。右側顯示的條形碼為持久性同源條形碼,它們是拓撲形狀的簽名,表明數據集實際具有這種形狀,並且它不是使用Mapper構建模型的構建。通過用相應權重矩陣的平均值標記部分模型,圖像中也顯示了對形狀的解釋。此外,這個模型的有趣之處在於灰度自然圖像中統計3×3圖像塊的研究中發現的內容與在所謂的初級視覺皮層中發現的內容完全一致。

更簡單地說,拓撲模型以這樣一種方式描述CNN,即可以獨立地確認它與人類看待世界的方式相匹配,並與自然圖像的密度分析相匹配。

圖3中的分析是在MNIST數據集上進行的,對CIFAR 10數據集上執行的相關分析獲得下圖:

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖4 CIFAR 10數據集的額外複雜性顯示在水平線和垂直線上

上圖是對第一個卷積層進行分析,該模型在區域中間以及邊緣包含線條。觀察到這些線條塊的神經元也存在於哺乳動物的初級視覺皮層中,這為我們提供了與視覺相關的質量方面的量化視角。

3.理解權重在訓練過程中的變化

從上面的發現可以看到,使用TDA,卷積神經網絡可以模擬自然圖像中數據集的分佈,因此可以將注意力轉向研究學習過程中發生的事情。圖5是通過在CIFAR10數據集上計算卷積神經網絡的第一層和第二層中的拓撲模型,然後在不同次數的學習迭代中顯示模型的第一層和第二層而獲得。

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖5 神經網絡模型各個階段的拓撲模型

對模型進行著色來獲取模型進行處理的信息,顏色反映了節點中數據點的數量,因此可以將紅色部分視為實際模型,其餘部分包含不常出現的權重矩陣。

圖像中的第一行反映第一層的信息,並且觀察到,優化算法進行400和500次迭代後快速發現上述圓形模型。然而,隨著迭代的過程,圓形變為更復雜,其中包括與水平和垂直補丁相對應的補丁,1000次迭代後,模型中心變得更復雜。另一方面,對於第二層,在迭代的第一輪中可以看到,只有一個弱模式,但是在2000次迭代之後,似乎具有一個明確定義的圓形模型。我們對其進行假設——第二層已經“接管”了第一層,而第一層已經轉移到捕獲更復雜的補丁,這是未來潛在研究的一個領域。這也證明了使用拓撲數據分析來監控和提供對神經網絡學習過程的洞察力的能力。

4.更高層的權重矩陣

這種方法也適用於更深的網絡,更深的網絡的組織方式類似於人類或靈長類動物視覺通路的組織。應理解,該通路具有許多組分,包括視網膜,以及各種較高組分。初級視覺皮層充當邊緣和線檢測器,並且更高的組件用來檢測更為複雜的形狀,更為抽象。下圖是對已經訓練好VGG 16網絡中各層的研究結果。這裡顯示第2到第13卷積層的拓撲數據分析,給出對應的拓撲模型。

使用拓撲數據分析理解卷積神經網絡模型的工作過程

圖6 以拓撲數據分析為代表的13層神經網絡

注意到,第二層和第三層顯然非常類似於在MNIST數據集上訓練的模型中獲得的圓形模型。第四層有一個圓形模型,但也包含一些背景中的一些線條。然而,在更高層次上,開發出了非常有趣的模式,包括線條交叉和“牛眼”。

從這些拓撲模型可以發現,卷積神經網絡不僅模仿真實世界數據集的分佈,而且還能夠模擬哺乳動物視覺皮層的發展。

雖然卷積神經網絡像一個黑匣子一樣讓人難以理解,但拓撲數據分析提供了一種在宏觀尺度上理解神經網絡中計算是如何被執行的方法。雖然這項工作適用於圖像數據集,但使用拓撲數據分析來解釋其他領域神經網絡的計算同樣也適用。

通過將大量狀態壓縮成更小更易理解的模型,拓撲數據分析可用於理解寬範圍神經網絡的行為和功能。

作者信息

Gunnar Carlsson,機器學習研究者

本文由阿里云云棲社區組織翻譯。


分享到:


相關文章: