深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

十三 發自 凹非寺
量子位 報道 | 公眾號 QbitAI

深度神經網絡這個黑箱子,似乎有了更清晰的輪廓。

我們都知道深度神經網絡性能十分強大,但具體效果為什麼這麼好,權重為什麼要這麼分配,可能連“設計者”自己都不知道如何解釋。

最近,一項來自UC伯克利和波士頓大學的研究,就對這個黑箱子做了進一步的解密:

經過訓練和權重修剪的多層感知器 (MLP),與具有相同權重分佈的隨機網絡相比,通常模塊化程度更高。

也就是說,在特定條件下,深度神經網絡是模塊化(modularity)的

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

研究人員認為:

瞭解神經網絡的模塊化結構,可以讓研究工作者更容易理解神經網絡內部的工作原理。

這項研究已提交ICML 2020,也已在GitHub開源(見文末“傳送門”)。

將神經網絡模塊化

為什麼要用模塊化來研究深度神經網絡呢?

首先,模塊化系統允許分析系統的研究人員,檢查單個模塊的功能,並將他們對單個模塊的理解合併為對整個系統的理解。

其次,神經網絡由不同的層(layer)組成,在定義網絡時,不同的層可以單獨配置。

而通過實驗,研究人員發現:

一個深度神經網絡是模塊化的,它可以被分割成神經元集合,其中每個神經元集合內部高度連接,但集合之間的連接度很低。

更具體點來說,研究人員使用圖聚類(graph clustering)算法

將訓練好的網絡分解成集群,並將每個集群視為一個“模塊”。

採用的聚類算法叫做譜聚類 (spectral clustering),用它來計算一個劃分(partition)以及評估一個聚類的n-cut。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

將神經網絡模塊化

通俗點來說,就是:

先把數據轉換為圖,所有的數據看做是空間中的點,點和點之間用邊相連。距離較遠的兩個點,它們之間邊的權重值較低,距離較近的兩點之間邊的權重值較高。

接下來,進行n-cut操作,也就是切圖。目標就是要讓切圖後不同的子圖間“邊權重和”儘可能的低,而子圖內的“邊權重和”儘可能的高。

那麼,實驗結果又如何呢?

實驗主要採用了3個數據集,分別是MNISTFashion-MNISTCIFAR10,並在每個數據集上訓練了10次。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

在每個數據集上訓練10次後的結果

可以看到,對MNIST測試的正確率為98%,Fashion-MNIST的正確率為90%,而CIFAR-10的正確率為40%。修剪後的網絡通常比隨機網絡具有更好的聚類性。

下圖顯示了在剪枝前和剪枝後,所有受訓練網絡的n-cut和測試精度結果。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

每個訓練網絡的n-cut和精度的散點圖

為了幫助解釋這些n-cut值,研究人員還對200個隨機初始化的網絡進行了聚類,n-cut的分佈如下圖所示。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

200個隨機初始化網絡n-cut分佈的直方圖和核密度估計

當然,作者也指出一點,這項研究的定義只涉及到網絡的學習權值(learned weight),而不是數據分佈,更不是模型的輸出或激活的分佈。

模塊之間的重要性和依賴性

那麼,這些模塊之間的又有怎樣的關聯呢?

研究人員進一步評估了不同模塊之間的重要性和關係

在神經科學領域中,要想確定大腦某個區域的功能,有一種方法是研究這個區域意外受損的患者的行為,叫做損傷實驗 (lesion experiment)。

類似的,研究人員也採用了這樣的方法:

通過將模塊的神經元激活設置為0,來研究模塊的重要性,並觀察網絡如何準確地對輸入進行分類。

在這項實驗中,“損傷”的原子單位是每個模塊與每個隱含層的交集,稱之為“子模塊”。

重要性

對於每個子模塊,將傳入組成神經元的所有權重設置為0,並保持網絡的其餘部分不變。

然後,確定受損網絡的測試集精度,特別是它比整個網絡的精度低了多少。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

使用剪枝和dropout在Fashion-MNIST上訓練後,不同子模塊的繪圖

如上圖所示,重要的子模塊會先標記它的層號,然後再標記模塊號。橫軸表示該層神經元在子模塊中的比例,縱軸表示由於子模塊受損而導致精度的下降。

這項實驗表明,許多子模塊太小,不能算作重要模塊,而許多子模塊在統計上有顯著影響,但在實際中卻不顯著。然而,有些子模塊顯然對網絡的運作具有實質的重要性。

依賴性

既然已經知道了哪些子模塊是重要的,那麼最好還能夠理解這些重要的子模塊是如何相互依賴的。

為了做到這一點,研究人員在不同的層中破壞兩個不同的重要子模塊,稱之為X和Y。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

通過實驗,研究人員得到了如下結論:

如果X在Y上不是重要條件,且Y在X上也不是重要條件,那麼來自X上的所有信息都傳遞給了Y。

如果X不是以Y為重要條件,而Y是以X為重要條件,則X將其所有信息發送給Y,並且Y還從其他子模塊中接收到了信息。

如果Y不是以X為條件的重要條件,而是X是以Y為條件的重要條件,則認為Y從X接收其所有信息,然後X將信息發送到其他子模塊。

如果X和Y都是彼此重要的條件,則無法得出任何結論。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

Daniel Filan

Daniel Filan,加州大學伯克利分校的博士生。本科就讀於澳大利亞國立大學,學習強化學習理論、數學和理論物理。

深度神經網絡竟然是模塊化的?圖聚類算法解密“黑箱子”權重結構

Shlomi Hod

Shlomi Hod,波士頓大學計算機系博士生。感興趣的領域是 responsible AI,尤其是算法和機器學習系統對社會的影響。

傳送門

論文地址:https://arxiv.org/abs/2003.04881

GitHub項目地址:https://github.com/nn-surprisingly-modular-icml-2020/nn_modularity

— 完 —

量子位 QbitAI · 頭條號簽約

關注我們,第一時間獲知前沿科技動態


分享到:


相關文章: