使用拓撲數(shù)據(jù)分析理解卷積神經(jīng)網(wǎng)絡模型的工作過程
1.簡介
神經(jīng)網(wǎng)絡在各種數(shù)據(jù)方面處理上已經(jīng)取得了很大的成功,包括圖像、文本、時間序列等。然而,學術界或工業(yè)界都面臨的一個問題是,不能以任何細節(jié)來理解其工作的過程,只能通過實驗來檢測其效果,而無法做出合理的解釋。相關問題是對特定數(shù)據(jù)集經(jīng)常存在某種過擬合現(xiàn)象,這會導致對抗行為的可能性。出于這些原因,開發(fā)用于發(fā)展對神經(jīng)網(wǎng)絡的內(nèi)部狀態(tài)的一些理解的方法是非常值得嘗試的。由于網(wǎng)絡中神經(jīng)元的數(shù)量非常龐大,這成為使得對其進行數(shù)據(jù)分析顯得比較困難,尤其是對于無監(jiān)督數(shù)據(jù)分析。
在這篇文章中,將討論如何使用拓撲數(shù)據(jù)分析來深入了解卷積神經(jīng)網(wǎng)絡(CNN)的工作過程。本文所舉示例完全來自對圖像數(shù)據(jù)集進行訓練的網(wǎng)絡,但我們確信拓撲建??梢院苋菀椎亟忉屧S多其他領域卷積網(wǎng)絡的工作過程。
首先,對于神經(jīng)網(wǎng)絡而言,一般是由節(jié)點和有向邊組成。一些節(jié)點被指定為輸入節(jié)點,其他節(jié)點被指定為輸出節(jié)點,其余節(jié)點被指定為內(nèi)部節(jié)點。輸入節(jié)點是數(shù)據(jù)集的特征。例如,在處理圖像時,輸入節(jié)點將是特定圖像格式的像素。在文本分析時,它又可能是單詞。假設給定一個數(shù)據(jù)集和一個分類問題,比如手寫數(shù)字MNIST數(shù)據(jù)集,試圖將每個圖像分類為數(shù)字0到9中的某一個數(shù)字。網(wǎng)絡的每個節(jié)點對應于一個變量值(激活值)。因此,每個數(shù)據(jù)點為神經(jīng)網(wǎng)絡中的每個內(nèi)部和輸出節(jié)點生成值。網(wǎng)絡每個節(jié)點的值由分配給每個邊的權重系統(tǒng)決定。節(jié)點節(jié)點Z上的值由與之連接的節(jié)點A,B,C,D節(jié)點的激活函數(shù)來確定。

圖1 神經(jīng)網(wǎng)絡節(jié)點示例
基于分配給四條邊的的權重值,計算最右邊節(jié)點Z的激活值。一種可能的函數(shù)形式就是

其中wA,wB,wC和wD是與邊緣AZ,BZ,CZ和DZ的權重值,xA,xB,xC和xD分別是節(jié)點A,B,C和D處的激活值,取值范圍通常在0和1之間,并且通常是單調(diào)的。權重的選擇是通過輸出函數(shù)來進行優(yōu)化的,給定輸入的特定輸出函數(shù)(代價函數(shù)或損失函數(shù)),然后使用優(yōu)化過程來選擇所有權重,以便***地適合給定的輸出函數(shù),對這方面感興趣的讀者可以查閱梯度下降算法和反向傳播算法相關資料。
2.理解訓練網(wǎng)絡的權重
有一類神經(jīng)網(wǎng)絡在圖像處理領域取得了很好的成績,即卷積神經(jīng)網(wǎng)絡。在這種情況下,輸入節(jié)點被布置在對應于像素矩陣的方形網(wǎng)格中,用于構成圖像的數(shù)據(jù)。網(wǎng)絡模型由一系列圖層組成,且每層之間都有連接,即第i層的節(jié)點與位于第(i + 1)層的節(jié)點之間有連接。不同于一般的神經(jīng)網(wǎng)絡,典型的卷積神經(jīng)網(wǎng)絡由卷積層(convolutional layers )、采樣層(Pooling layer)以及全連接層(fully-connected)組成,其中卷積層主要是用于提取圖像特征,采樣層用于降低特征的維度,全連接層用于***的分類目的,隨著層與層之間的處理,特征圖會變得越來越小,從圖中也可以看見這種現(xiàn)象:

圖2 卷積神經(jīng)網(wǎng)絡的典型結(jié)構
為了理解卷積神經(jīng)網(wǎng)絡的潛在行為,需要對權重矩陣進行了解。假設一個數(shù)據(jù)集,其中每個數(shù)據(jù)點是與隱藏層中的神經(jīng)元相關聯(lián)的權重矩陣。從固定層的所有網(wǎng)格中收集數(shù)據(jù),并在同一網(wǎng)絡模型對同一數(shù)據(jù)集進行許多次的訓練。***,對權重矩陣進行拓撲數(shù)據(jù)分析。
通過對權重矩陣執(zhí)行TDA,我們***了解了卷積神經(jīng)網(wǎng)絡的行為,獨立證明卷積神經(jīng)網(wǎng)絡完全地表示自然圖像中發(fā)生的潛在分布,這是如何完成的呢?
首先,需要從拓撲角度找到有用的結(jié)構。為了實現(xiàn)這個目標,只考慮密度足夠高的點。首先看一下兩層卷積神經(jīng)網(wǎng)絡中的***個卷積層,它產(chǎn)生圖3所示的拓撲模型。

圖3 根據(jù)過濾器的密度著色的TDA Mapper模型
從圖中可以看到,該模型是循環(huán)的。右側(cè)顯示的條形碼為持久性同源條形碼,它們是拓撲形狀的簽名,表明數(shù)據(jù)集實際具有這種形狀,并且它不是使用Mapper構建模型的構建。通過用相應權重矩陣的平均值標記部分模型,圖像中也顯示了對形狀的解釋。此外,這個模型的有趣之處在于灰度自然圖像中統(tǒng)計3×3圖像塊的研究中發(fā)現(xiàn)的內(nèi)容與在所謂的初級視覺皮層中發(fā)現(xiàn)的內(nèi)容完全一致。
更簡單地說,拓撲模型以這樣一種方式描述CNN,即可以獨立地確認它與人類看待世界的方式相匹配,并與自然圖像的密度分析相匹配。
圖3中的分析是在MNIST數(shù)據(jù)集上進行的,對CIFAR 10數(shù)據(jù)集上執(zhí)行的相關分析獲得下圖:

圖4 CIFAR 10數(shù)據(jù)集的額外復雜性顯示在水平線和垂直線上
上圖是對***個卷積層進行分析,該模型在區(qū)域中間以及邊緣包含線條。觀察到這些線條塊的神經(jīng)元也存在于哺乳動物的初級視覺皮層中,這為我們提供了與視覺相關的質(zhì)量方面的量化視角。
3.理解權重在訓練過程中的變化
從上面的發(fā)現(xiàn)可以看到,使用TDA,卷積神經(jīng)網(wǎng)絡可以模擬自然圖像中數(shù)據(jù)集的分布,因此可以將注意力轉(zhuǎn)向研究學習過程中發(fā)生的事情。圖5是通過在CIFAR10數(shù)據(jù)集上計算卷積神經(jīng)網(wǎng)絡的***層和第二層中的拓撲模型,然后在不同次數(shù)的學習迭代中顯示模型的***層和第二層而獲得。

圖5 神經(jīng)網(wǎng)絡模型各個階段的拓撲模型
對模型進行著色來獲取模型進行處理的信息,顏色反映了節(jié)點中數(shù)據(jù)點的數(shù)量,因此可以將紅色部分視為實際模型,其余部分包含不常出現(xiàn)的權重矩陣。
圖像中的***行反映***層的信息,并且觀察到,優(yōu)化算法進行400和500次迭代后快速發(fā)現(xiàn)上述圓形模型。然而,隨著迭代的過程,圓形變?yōu)楦鼜碗s,其中包括與水平和垂直補丁相對應的補丁,1000次迭代后,模型中心變得更復雜。另一方面,對于第二層,在迭代的***輪中可以看到,只有一個弱模式,但是在2000次迭代之后,似乎具有一個明確定義的圓形模型。我們對其進行假設——第二層已經(jīng)“接管”了***層,而***層已經(jīng)轉(zhuǎn)移到捕獲更復雜的補丁,這是未來潛在研究的一個領域。這也證明了使用拓撲數(shù)據(jù)分析來監(jiān)控和提供對神經(jīng)網(wǎng)絡學習過程的洞察力的能力。
4.更高層的權重矩陣
這種方法也適用于更深的網(wǎng)絡,更深的網(wǎng)絡的組織方式類似于人類或靈長類動物視覺通路的組織。應理解,該通路具有許多組分,包括視網(wǎng)膜,以及各種較高組分。初級視覺皮層充當邊緣和線檢測器,并且更高的組件用來檢測更為復雜的形狀,更為抽象。下圖是對已經(jīng)訓練好VGG 16網(wǎng)絡中各層的研究結(jié)果。這里顯示第2到第13卷積層的拓撲數(shù)據(jù)分析,給出對應的拓撲模型。

圖6 以拓撲數(shù)據(jù)分析為代表的13層神經(jīng)網(wǎng)絡
注意到,第二層和第三層顯然非常類似于在MNIST數(shù)據(jù)集上訓練的模型中獲得的圓形模型。第四層有一個圓形模型,但也包含一些背景中的一些線條。然而,在更高層次上,開發(fā)出了非常有趣的模式,包括線條交叉和“牛眼”。
從這些拓撲模型可以發(fā)現(xiàn),卷積神經(jīng)網(wǎng)絡不僅模仿真實世界數(shù)據(jù)集的分布,而且還能夠模擬哺乳動物視覺皮層的發(fā)展。
雖然卷積神經(jīng)網(wǎng)絡像一個黑匣子一樣讓人難以理解,但拓撲數(shù)據(jù)分析提供了一種在宏觀尺度上理解神經(jīng)網(wǎng)絡中計算是如何被執(zhí)行的方法。雖然這項工作適用于圖像數(shù)據(jù)集,但使用拓撲數(shù)據(jù)分析來解釋其他領域神經(jīng)網(wǎng)絡的計算同樣也適用。
通過將大量狀態(tài)壓縮成更小更易理解的模型,拓撲數(shù)據(jù)分析可用于理解寬范圍神經(jīng)網(wǎng)絡的行為和功能。
作者:Gunnar Carlsson,機器學習研究者