神經網路的圖結構

摘要
本文是對兩位機器學習領軍人物在2020年ICML上的文章Graph Structure of Neural Networks的再解析。該論文從神經網路連線關係的視角重新定義了一種圖結構來表達神經網路模型,並從圖結構本身的屬性來分析什麼樣的神經網路模型會具有好的預測效能。去年我們結合圖理論背景知識理解了文章的主要概念和重要意義。時隔半年,回頭再閱讀這篇文章,我們對文章整體有了一個更完整的理解。
介紹
透過探索不同網路結構及效能來得到最優的神經網路模型是目前機器學習的重要探索方向。主流的思路是用大算力暴力探索不同網路結構組合來達到目標。這對計算資源提出了巨大的挑戰。與這種歸納的方法不同,基於一定理論透過推演得到最優的模型設計可以降低計算的需求。
眾所周知,神經網路可以用計算圖來表示,其中神經元為節點,層與層之間的神經元有向連線為邊。同時許多研究也證實神經網路的效能與其結構相關。很自然,研究者會聯想到更進一步的問題:是否存在最佳化網路效能的結構特徵?是否可以透過網路結構判斷其效能?回答這些問題,則需要步系統性研究神經網路效能與其內含圖結構關係。
ICML2020收錄了一篇有趣的文章“Graph Structure of Neural Networks”[1],由Kaiming He和Jure Leskovec等合作完成。二位分別是機器視覺與圖網路領域的領軍人物。文章嘗試用圖結構而不是傳統的計算架構來分析上述問題,即:神經網路的結構與其效能的關係如何?根據提出的圖分析方法,作者進一步分析了好的模型應該具有什麼樣的結構特徵。
我們之前已經對文章的相關概念做了解讀。本文回顧了之前的理解,並對文章的不足做出點評。
用圖結構來表達神經網路
如前述,神經網路天然可以看作是一個圖結構,但目前缺乏一個有效的方法實現任意神經網路到圖結構間的對映。而通常用於神經網路表達的計算圖是有向無環圖,這限制了圖理論在神經網路結構分析中的應用。
針對現有計算圖表達的缺點,本文作者提出了”關係圖”(relational graph)的概念來表達層間組合神經元的互動,並設計了一種圖產生器將各類神經網路轉換為關係圖,進而系統性研究了神經網路結構與效能的關係。這篇文章直接運用了許多圖領域的知識,對於專注神經網路的人來說,需要了解一些Graph理論背景。
與計算圖類似,關係圖中包括多個節點,但不同的是,關係圖中的一個節點是神經網路兩層間的一對輸入與輸出通道,多個節點代表多個通道,如圖1所示。節點間的邊表達了神經元對於其它對之間的資料輸入輸出雙向關係:訊息交換(message exchange)。
圖1 關係圖(source: 原文圖1(a))
如圖所示,在關係圖中,多層神經網路並不表達為多層圖結構。對於結構類似的多層神經網路層,每層關係圖結構是一樣的。所不同的是每層的訊息交換。每一層神經網路完成一輪(round)訊息交換。對於深度網路,關係圖的結構不變,而進行多輪訊息交換。
因此作者將邊由訊息交換表達的圖結構定義為關係圖。更具體的,訊息交換有兩個函式組成:message function和aggregation function。Message function的輸入是節點特徵,輸出是message,而aggregation function的輸入是一組messages,輸出為更新的節點。
一般地,對於第r+1輪的節點x的特徵有:

其中,

是節點v的鄰域,即與其直接相連的節點的集合。
表1 不同神經網路結構的訊息函式與聚合函式(原文表1)
很顯然,對於不同神經網路,其訊息與聚合函式的定義有所不同。文中表1列出了幾種神經網路(多層感知器,Resnet)的訊息與聚合函式的定義,並重點介紹了由關係圖構建幾種DNN的方法。
1.固定寬度MLP
對於固定寬度MLP,每層輸入輸出維度不變時,關係圖所有節點均與其它節點連結,稱之為完全關係圖。此時節點為單個輸入輸出通道,message function是輸入節點的權積,聚合函式為訊息和的非線性變換,二者合併為訊息聚合函式:

對於完全關係圖,該函式與MLP神經元計算公式一致。
2.變寬MLP
對於變寬MLP,其關係圖的節點為向量代表多個通道,對應訊息函式的權重是矩陣,矩陣可以不為方陣,即節點輸入輸出通道可以不等。
作者採用了一個簡單策略來劃分神經網路層的節點。假定節點數為n, 神經網路層的維度為m,對於m mod n個數的節點分配 [m/n]+1維,其餘節點分配[m/n]維。相信其它方案也適用於節點劃分。
文中還提到其它幾種神經網路如Resnet,可參照表1的對映來構建,此處不再贅述。值得注意的是,儘管文章中沒有列出,作者提供的開原始碼還包括了對efficientnet的實驗。
基於關係圖的NN模型生成
在構建神經網路的關係圖後,作者也給出了一套利用關係圖生成NN模型的方法。其關鍵步驟有三:圖度量,圖生成和複雜度控制。
1.圖度量
作者列舉了多種用於graph的度量,選取全域性度量平均路徑長度(average path length)和局域度量聚合係數(clustering efficient)作為關係圖特性的度量。這是兩個圖網路理論的概念:
平均路徑長度(L):兩個節點間的路徑長度是連通兩節點的最少邊數。Graph的平均路徑長度是所有節點對路徑長度的平均。
網路聚合係數(C):一個節點的聚合係數定義為其鄰域節點間的實際邊數與所有可能邊數的比值。網路的聚合係數則是所有節點聚合係數的均值。
2.圖生成
圖生成器的目的是有給出的圖度量值產生對應的關係圖。在比較了現有多種圖生成方法後,作者提出放鬆約束的Watts-Strogatz(WS)模型產生期望的關係圖。
3.模型複雜度控制
如前述,透過改變節點對應的NN維度數量,同一結構的關係圖可以對應不同複雜度的神經網路。本文用NN模型的乘加次數作為複雜度度量,透過每次調整關係圖生成NN模型的維度數量(比如MLP中channel數)使得所有生成模型的複雜度與預設的基準模型保持一致。
簡單來說,透過這些準備工作,作者可以遍歷不同的graph度量組合,每個組合用WS-flex方法產生關係圖,由關係圖生成DNN模型,透過調整DNN模型複雜度,最終產生符合要求的DNN模型。
實驗及結果
作者在Cifar-10和imagenet這兩個資料集測試了關係圖生成的NN模型的效能。作者遍歷平均路徑長度(L)和聚合係數(C)的二維引數空間,每個引數根據網路型別(MLP, Resnet)生成相應DNN模型。每個模型一資料集訓練,並記錄每個模型的預測準確率(Top-1 Error)。針對每類模型結果,以L和C為座標展開,生成二維熱力圖。
圖2 NN模型效能熱力圖(source:原文圖4f)
由圖2可以看出本文的一個重要發現:a sweet spot for top NN。對所有測試的網路型別,熱力圖上均存在一個對應NN效能最佳區域(紅框區域),更進一步這個區域在不同型別模型和訓練集上位置基本是一致的。換句話說,效能好的神經網路的關係圖結構存在共性特徵。
這一現象也表現在單個度量與NN模型效能的圖上。如圖3,兩個度量上的效能都可擬合為U型曲線。在度量的中間某處的NN模型效能最佳。有趣的是在附件中作者還發現其它圖度量與NN模型效能也呈現U性曲線趨勢。
這個曲線似乎說明圖特徵度量太大太小的神經網路效能都不好。通俗理解,圖結構太簡單太複雜的神經網路效能不好。從直覺上來理解,似乎符合Occam’s razor原則,即所謂‘如無必要,勿增實體’。或者說效能好的神經網路的圖結構也符合過猶不及的中庸之道?

圖3 單個圖度量與NN模型的效能(source原文Appendix 圖1)
作者也研究瞭如何快速確定sweet spot的問題。透過實驗,他們發現將引數空間分為52塊,每塊取樣,得到分佈與3942個取樣的結果高度一致。此外,作者還發現關係圖上效能好的NN模型在訓練起始階段就已表現了這一趨勢。
圖神經網路與一般神經網路結構
圖神經網路是這兩年的研究熱點之一。文章也討論了圖神經網路與一般神經網路的關係。很顯然,文中定義的message exchange function與GNN中節點更新操作有相似之處。在關係圖表達的框架下,作者認為GNN是一類特殊的一般神經網路結構。特殊之處在於,在GNN中,圖結構是網路的輸入而不是網路結構本身的一部分,並且所有邊共享訊息函式以滿足圖結構不變的條件。
思考與總結
本篇介紹了由Kaiming He和Jure Leskovec等合作完成的新文章“Graph Structure of Neural Networks”。本篇主要分析了這篇文章的思路、提出的新概念、實現及結論。半年多後,我們回過頭在理解這篇文章,也能看到一些不足之處。
(1)由於計算量的限制,本文的結論來自於有限的小資料集。對於大尺度資料或非影像資料,“最佳點”是否成立是需要研究的。
(2)本文度量“平均度量長度”和“網路聚合函式”似乎是一種經驗的選擇,理論上是否可以證明這些度量和神經網路模型的相關性?是否存在其它合適的度量?
此外,本文嘗試了從神經網路分析最優結構。一個自然的推想就是:給定某個sweet spot,可否建立有效方法構建期望的神經網路模型?
本文的工作相對較新,目前尚未看到太多相關的後續工作。相信作者和其他研究者後續會有更詳實的分析與研究。
參考文獻
[1] Jiaxuan You, Jure Leskovec, Kaiming He and Saining Xie, Graph Structure of Neural Networks, ICML2020
關於壁仞科技研究院
壁仞科技研究院作為壁仞科技的前沿研究部門,旨在研究新型智慧計算系統的關鍵技術,重點關注新型架構,先進編譯技術和設計方法學,並將逐漸拓展研究方向,探索未來智慧系統的各種可能。壁仞科技研究院秉持開放的原則,將積極投入各類產學研合作並參與開源社群的建設,為相關領域的技術進步做出自己的貢獻。
掃碼關注我們

相關文章