
使用這些基本 REST API 最佳實踐構建出色的 API
圖1 我們的方法概述。(a)神經網絡的一層可以視為一個關系圖,我們在其中連接交換消息的節點。(b)神經網絡層和關系圖的更多示例。(c)我們根據關系圖的圖度量(包括平均路徑長度和聚類系數)探索關系圖的設計空間,其中完整的圖對應于全連接層。(d)我們將這些關系圖轉化為神經網絡,并研究它們的預測性能如何取決于其相應關系圖的圖測量。
本節介紹了關系圖表示的概念及其實例化,展示了如何用統一的框架捕捉不同的神經網絡架構。在深度學習背景下使用圖語言有助于將兩個世界結合,并為研究奠定了基礎。
本文定義了神經網絡圖G=(V,E),其中V為節點集,E為邊集。假設節點v具有特征向量xv。當圖G與神經元消息交換相關時,稱為關系圖。消息交換由消息函數和聚合函數定義,每輪消息交換中,每個節點向鄰居發送消息,并聚合來自鄰居的傳入消息。每個消息在每個邊緣通過消息函數f(·)轉換,然后在每個節點通過聚合函數AGG(·)聚合。假設進行R輪消息交換,則節點v的第r輪消息交換可描述為
其中u,v是圖G中的節點,N(v)是節點v的鄰域,包含自邊。x(v)是輸入節點特征,x(v+1)是輸出節點特征。此方法可在任何圖G上定義,本文僅考慮無向圖。公式1定義了消息交換,下文討論如何將其應用于不同神經架構。表1總結了各種實例化,圖2展示了4層65維MLP的具體示例。
MLP多層感知器(MLP)由計算單元(神經元)層組成,每個神經元對標量輸入和輸出執行加權求和,然后進行非線性處理。假設MLP的第r層將x(r)作為輸入,x(r+1)作為輸出,則神經元計算:
其中w(r)ij是可訓練權重,x(r)j是輸入x(r)的第j維,x(r+1)i是輸出x(r+1)的第i維,σ是非線性。在特殊條件下,所有層x(r)的輸入和輸出具有相同特征維度。此時,全連接、固定寬度的MLP層可以用關系圖表示,每個節點xi連接所有其他節點。全連接固定寬度MLP層具有特殊消息交換定義,消息函數為fi(xj)=wijxi,聚合函數為AGG({xi})=σ(P{xi})。上述討論表明,固定寬度的MLP可視為具有特殊消息交換功能的完整關系圖,是更通用模型族下的特殊情況,其中消息函數、聚合函數和關系圖結構可變。這種見解將固定寬度MLP推廣到任何一般關系圖G,基于公式1中消息交換的一般定義:
其中i,j是G中的節點N(i)由G定義。
本節討論了如何將關系圖推廣到通用神經網絡,特別是可變寬度MLP。在CNN中,層寬度(特征通道數)會變化,因此需要將節點特征從標量x(r)i推廣到向量x(r)i,由MLP的輸入x(r)的某些維度組成,并將消息函數fi(·)從標量乘法推廣到矩陣乘法:
其中,W(r)ij是權重矩陣,允許不同層中同一節點和同一層中不同節點具有不同維度,導致神經網絡靈活圖形表示。例如,用4節點關系圖表示2層神經網絡,第一層寬度5,第二層寬度9,則4個節點在第一層的尺寸為{2,1,1,1},在第二層的尺寸為{3,2,2,2}。關系圖最大節點數受神經網絡中最窄層寬度限制,每個節點的特征維度至少為
1。作為關系圖的CNN。將節點特征從向量x(r)i推廣到由輸入圖像的一些通道組成的張量X(r)i。然后用卷積算子概括消息交換定義,具體來說:
其中?是卷積算子,W(r)ij是卷積濾波器。在這個定義下,廣泛使用的密集卷積再次被表示為完整圖。現代神經架構作為關系圖。我們使用關系圖來描繪復雜設計的現代神經架構,例如ResNet和具有瓶頸變換的神經網絡。ResNet的殘差連接被保留,瓶頸變換的神經網絡則交替應用3×3和1×1卷積的消息交換。在計算效率高的設置中,可分離卷積(交替應用3×3深度卷積和1×1卷積)被廣泛使用。關系圖是神經網絡的通用表示,通過定義節點特征和消息交換,可以表示各種神經架構,如表1所示。
本節探討如何設計并探索神經網絡圖結構與預測性能的關系,通過三個關鍵部分:(1)圖形測量以表征圖結構屬性;(2)圖形生成器以生成不同圖形;(3)控制計算預算的方法,以歸因于不同神經網絡性能的差異。
鑒于圖結構的復雜性,圖度量通常用于表征圖。本文主要介紹全局的平均路徑長度和局部的聚類系數這兩種度量。這兩種度量在神經科學和網絡科學中廣泛應用。平均路徑長度是測量任意一對節點之間的平均最短路徑距離;聚類系數則是測量給定節點的鄰居中的節點之間的邊的比例,并平均到所有節點上。附錄中還有其他圖形度量可供分析。
我們的目標是使用圖形生成器生成多樣化圖形,覆蓋大范圍圖形度量。然而,這需要精心設計生成器,因為經典圖生成器只能生成有限類別的圖,而基于學習的圖生成器旨在模仿給定示例圖。現有圖形生成器的局限性。我們研究了ER、WS、BA、Harary、環形圖和完整圖等經典圖生成器,發現它們生成的圖在平均路徑長度和聚類系數的空間中具有有限的跨度,這表明現有圖生成器存在局限性,如圖3。
WS-flex圖形生成器。WS-flex圖生成器能生成廣泛圖度量覆蓋的圖,幾乎涵蓋所有經典隨機生成器生成的圖,如圖3。WS-flex通過放寬WS模型中節點具有相同度數的約束實現。WS-flex由節點n、平均度k和重新布線概率p參數化,邊的數量為e=bn*k/2c。生成器首先創建環形圖,然后隨機選擇節點并連接到最近相鄰節點,最后以概率p隨機重新連接邊。WS-flex在聚類系數和平均路徑長度空間內平滑采樣,對3942個圖進行實驗,如圖1(c)。
為了比較不同圖轉換神經網絡的性能差異,我們確保所有網絡具有大致相同的復雜性,使用FLOPS作為衡量標準。首先計算基線網絡實例化的FLOPS作為參考復雜度,然后通過調整神經網絡的寬度以匹配參考復雜度,而無需更改關系圖結構。
我們研究了CIFAR-10和ImageNet數據集上MLP的圖結構,CIFAR-10包含50K訓練圖像和10K驗證圖像,ImageNet則由1K圖像類、128萬個訓練圖像和50K個驗證圖像組成。
對于CIFAR-10實驗,我們使用一個具有512個隱藏單元的5層MLP,其輸入為(32×32×3)圖像的3072維展平向量,輸出為10維預測。每一層都配備了ReLU非線性層和BatchNorm層。我們采用余弦學習率計劃,初始學習率為0.1,退火至0,不重新啟動,批量大小為128,訓練了200個epoch。我們使用5個不同的隨機種子訓練所有MLP模型,并報告平均結果。在ImageNet實驗中,我們使用了三種ResNet系列架構,包括ResNet-34、ResNet-34-sep和ResNet-50,以及EfficientNet-B0和8層CNN。所有模型都使用余弦學習率計劃進行100個時期的訓練,初始學習率為0.1。在NVIDIA Tesla V100 GPU上,訓練MLP模型需要5分鐘,訓練ImageNet上的ResNet模型需要一天。
我們使用表1中的定義將采樣關系圖實例化為神經網絡,替換所有密集層。保持輸入和輸出層不變,并保留其他設計。然后,我們匹配所有模型的參考計算復雜度,如第3.3節所述。在CIFAR-10 MLP實驗中,我們研究了64個節點的3942個采樣關系圖,如第3.2節所述。在ImageNet實驗中,由于計算成本較高,我們從3942個圖中均勻地子采樣了52個圖。對于EfficientNet-B0,我們重新采樣了48個具有16個節點的關系圖。
本節總結了實驗結果,包括不同任務和架構上的采樣關系圖top-1錯誤,以及每個采樣圖的圖度量(平均路徑長度L和聚類系數C)。結果以圖形測量與預測性能的熱圖形式呈現(圖4(a)(c)(f))。
圖4 關鍵結果。所有實驗的計算預算都受到嚴格控制。每個可視化結果都是至少3個隨機種子的平均值。將C=1且L=1(右下角)的完整圖視為基線。(a)(c)圖測量與神經網絡性能。最好的圖表明顯優于基線完整圖表。(b)(d)單圖測量與神經網絡性能。落在給定范圍內的關系圖顯示為灰點。整體平滑函數由藍色回歸線表示。(e)跨架構的一致性。顯示了同一組52個關系圖在轉換為不同神經架構時的性能相關性。(f)所有實驗的總結。在不同的設置中,最佳關系圖(紅叉)始終優于基線完整圖。此外,我們突出顯示了“最佳點”(紅色矩形區域),其中關系圖在統計上并不比最佳關系圖(帶有紅叉的區域)差。CIFAR-10上5層MLP的bin值是C和L落入給定bin的所有關系圖的平均值。
熱圖(圖4(f))顯示,某些圖結構可超越完整圖基線,提升性能。最佳關系圖在CIFAR-10和ImageNet上的top-1誤差分別比完整圖基線高1.4%和0.5%-1.2%。最佳圖聚集在C和L定義的空間中的最佳位置(圖4(f)中的紅色矩形)。通過下采樣、聚合、確定平均性能最佳bin、單尾t檢驗和記錄不明顯差的bin,確定最佳點。對于CIFAR-10上的5層MLP,最佳點是Cε[0.10,0.50],Lε[1.82,2.75]。
圖4(f)顯示,神經網絡預測性能與關系圖聚類系數和平均路徑長度呈平滑函數關系。在圖4(b)(d)中,固定一個圖測量值,根據其他測量值可視化網絡性能。使用二次多項式回歸可視化總體趨勢,發現聚類系數和平均路徑長度均顯示神經網絡性能呈平滑U形相關性。
關系圖定義了跨神經架構的共享設計空間,具有某些圖度量的關系圖可能始終表現良好,無論其如何實例化。質量的一致性。圖4(f)可以觀察到,不同架構的最佳點大致一致,跨架構的一致最佳點為C∈[0.43,0.50],L∈[1.82,2.28],圖4(b)(d)中測量值與神經網絡性能之間的U形趨勢一致。定量一致性。為了進一步量化跨任務和架構的一致性,在圖4(f)的熱圖中選擇了52個bin,其中bin值表示其圖度量落入該bin范圍的關系圖的平均性能。觀察到,具有某些圖度量的關系圖的性能在不同的任務和架構之間相關。
我們提出了一種方法,通過減少樣本圖數量和訓練周期數,以更低的計算成本識別最佳點。需要多少張圖表?CIFAR-10上5層MLP的熱圖(圖4(f))分析顯示,3942個圖形樣本計算得出的52個bin熱圖,僅使用52個樣本計算的bin值與使用完整3942個圖形樣本計算的bin值具有高達0.90的Pearson相關性,如圖5(左)所示。這表明,進行類似分析所需的圖表要少得多。
需要多少個訓練周期?我們以ImageNet上的ResNet-34為例,計算了部分訓練模型的驗證top-1誤差與訓練了100個epoch的模型的驗證top-1誤差之間的相關性,如圖5(右)所示。結果發現,在3個epoch后訓練的模型已經具有很高的相關性(0.93)。這一發現表明,良好的關系圖在早期的訓練epoch就表現良好,因此可以大大降低確定關系圖是否有前途的計算成本。
我們測量的平均路徑長度反映了信息在網絡中的交換程度,這與我們對關系圖的定義一致。圖4(b)(d)中的U形相關性可能表明消息交換效率和學習分布式表示能力之間的權衡。神經科學。我們研究發現,表現最佳的關系圖與生物神經網絡驚人地相似,如表2和圖6所示。頂級人工神經網絡的圖度量與生物神經網絡高度相似,且關系圖表示能將生物神經網絡轉化為5層MLP,優于基線完整圖。我們的方法為網絡科學、神經科學和深度學習的跨學科研究開辟了新可能性。
神經網絡連接模式設計主要關注宏觀結構和微觀結構。宏觀結構關注跨層連接,微觀結構關注層內連通性。Deep Expander Networks和RandWire分別采用擴展圖和圖形生成器生成結構,但未探討圖結構與網絡性能的統計關系。跨通道通信網絡則鼓勵神經元通過消息傳遞進行通信,僅考慮完整的圖結構。神經架構搜索。研究在微觀或宏觀層面改進學習/搜索算法,以學習連接模式。NAS-Bench-101通過枚舉具有約束大小的DAG定義圖搜索空間。新路徑是使用圖生成器和圖度量定義一個平滑空間,從而降低搜索成本,無需詳盡搜索所有可能的連接模式。
我們的工作重點是層級別的圖結構,這是神經網絡的基礎。雖然探索這個領域在計算上具有挑戰性,但我們希望我們的方法和發現能夠推廣。
高效實施。我們使用標準CUDA內核,導致性能低于基線完整圖。然而,我們正在研究塊稀疏內核和快速稀疏ConvNet,以縮小理論FLOPS與實際收益差距,并為新硬件架構設計提供信息。
先驗與學習。我們使用關系圖表示作為結構先驗,將圖結構硬連接到神經網絡上。深度ReLU神經網絡可以自動學習稀疏表示。問題是,在沒有圖先驗的情況下,訓練全連接神經網絡是否會出現任何圖結構。我們對經過訓練的神經網絡進行“逆向工程”,研究其關系圖結構。在CIFAR-10上訓練全連接的5層MLP,通過特定步驟推斷網絡底層關系圖結構。結果(圖7)發現,訓練收斂后提取的圖不再是E-R隨機圖,而是朝著最佳點區域移動。這些學習到的圖與作為結構強加的性能最佳圖之間仍然存在差距,這可能解釋了全連接的MLP性能較差的原因。
我們的實驗發現,在任務簡單且網絡容量豐富的情況下,學習圖結構可以更優越。這表明研究神經網絡的圖結構對于理解其預測性能至關重要。我們提出了圖神經網絡(GNN)和通用神經架構的統一視圖,將神經網絡定義為圖上的消息交換函數。我們指出GNN是通用神經架構的一類特殊形式,其中圖結構被視為輸入,而不是神經架構的一部分。我們的工作為GNN和通用神經架構設計的統一視圖提供了基礎,有望激發新的創新。
文章轉自微信公眾號@算法進階