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