王光波,孫仁誠,隋 毅,邵峰晶
(青島大學計算機科學技術學院,山東 青島 266071)
近年來,以深度學習為主導的人工神經網絡模型結構日趨復雜,網絡的層次不斷加深、鏈接關系更加繁雜。如何設計有效的人工神經網絡以提升深度學習的效果尚無有效的指導方法。已有研究表明神經網絡的拓撲結構會對神經網絡的性能產生較大的影響。Simard[1]驗證了小世界神經網絡比規則網絡和隨機網絡具有更快的收斂速度。在2019年Saining Xie[2]分別對ER,BA,以及WS三種模型生成的隨機連邊神經網絡進行了探索,在計算域相同的情況下WS(4,0.75)生成的隨機網絡在ImageNet上具有最高的準確率。因此,應用復雜網絡的“小世界”、“無標度”等復雜網絡性質來指導深度學習網絡結構設計或許為深度學習模型設計提供理論依據。然而可以體現網絡結構的復雜網絡性質有很多,其中包括平均度,網絡直徑,圖密度,模塊化,平均聚集系數,平均路徑長度等。平均聚集系數可以體現網絡中節點聚集成團的程度,網絡直徑可以體現網絡中任意兩個節點的最大距離。具體哪些性質所體現的網絡結構與神經網絡的準確率有關尚不能明確。
因此,本文首先分析了先進的卷積神經網絡的復雜性質,之后設計出了多組拓撲結構不同的卷積神經網絡,通過在標準數據集的訓練和公式計算獲得了它們的準確率和拓撲復雜性質數據。通過相關數據探究了神經網絡性能和拓撲結構復雜性質的關系。這為進一步設計出更好的卷積神經網絡提供了指導。
復雜網絡是對復雜系統的抽象和描述方式,任何包含大量組成單元(或子系統)的復雜系統,當把構成單元抽象成節點、單元之間的相互關系抽象為邊時,都可以當作復雜網絡來研究。
前饋神經網絡(Feedforward Neural Network,FNN)[3],簡稱前饋網絡,是人工神經網絡的一種。前饋神經網絡采用一種單向多層結構。其中每一層包含若干個神經元。在此種神經網絡中,各神經元可以接收前一層神經元的信號,并產生輸出到下一層。第0層叫輸入層,最后一層叫輸出層,其他中間層叫做隱含層(或隱藏層、隱層)。隱層可以是一層。也可以是多層。整個網絡中無反饋,信號從輸入層向輸出層單向傳播,可用一個有向無環圖表示。
卷積神經網絡(Convolutional Neural Networks,CNN)是一類包含卷積計算且具有深度結構的前饋神經網絡。
如圖1所示,圖中卷積神經網絡的灰色節點由大量的卷積層、池化層等操作函數組成,這些操作函數便是卷積神經網絡這一系統的組成單元。在卷積神經網絡中,每一個操作函數會將特征圖進行處理,處理完成后將特征圖傳遞給下一個操作函數。由此可得,操作函數之間具有傳遞信息的關系。結合復雜網絡的定義可得一組對特征圖進行操作的函數就可以抽象為復雜網絡中的一個節點。特征圖在函數之間的傳遞便可以抽象為節點之間的連邊。卷積神經網絡可以轉換為復雜網絡。
卷積神經網絡的拓撲結構會影響網絡的性能。要探究網絡性能與對應復雜網絡性質的關系,就需要借助復雜網絡,對實際卷積神經網絡的拓撲結構進行分析,在此基礎上對網絡性能與對應復雜網絡性質的關系進行探究。
卷積神經網絡的網絡結構由最初從左到右的鏈式結構LeNet[3],AlexNet[4],VGGNet[5]等,發展到了如今的含有跨層連邊的多樣化布線結構Inception-v4[6],ResNet[7],DenseNet[8],NASNet[9]等。參數數量越來越多,準確率越來越強大。
最初的卷積神經網絡都是鏈式結構的,網絡的卷積核會對特征圖進行卷積操作。特征圖在網絡內部的流動使得神經網絡可以看作一種有向的復雜網絡。如圖2所示6層的卷積神經網絡,因為卷積神經網絡的權重共享,網絡的對應復雜網絡可以看成是一種規則網絡。
如圖3從左到右是3種先進卷積神經網絡的一部分,以及k=4的最近鄰耦合網絡。ResNet的每一個節點都會與后面一個相鄰節點有一條連邊,對于后面的第三個節點也會有一條連邊,可以稱這樣的連邊為跨層連邊。所以ResNet的對應復雜網絡是一個規則網絡。NASNet的每一個節點都會與后面一個相鄰節點有一條連邊,對于后面的第二個節點也有一條連邊。在較大的粒度來看NASNet的對應復雜網絡是一個k=4的有向最近鄰耦合網絡。DenseNet中的每一個節點都會與這個節點后面的每一個節點有一條連邊,這種網絡也是一種規則網絡。

圖1 復雜網絡與卷積神經網絡的轉換

圖2 6層的卷積神經網絡
通過分析發現,如今卷積神經網絡的對應復雜網絡都是規則網絡,規則網絡會有較大的聚集系數和較大的平均路徑長度。卷積神經網絡的準確率與對應復雜網絡的較大的聚集系數和較大的平均路徑長度的關系需要進一步通過實驗驗證。
經過上述分析,需要進一步驗證卷積神經網絡準確率與網絡聚集系數和平均路徑長度的關系。網絡的復雜性質有很多,除了聚集系數[10]和平均路徑長度[11],平均度、網絡直徑、圖密度、模塊化[12]等也可以在一定程度上反應卷積神經網絡拓撲結構的一些特性。
希望通過實際模型探究卷積神經網絡的準確率與復雜性質的關系。這就要求設計出多組拓撲結構不同的卷積神經網絡。為了更好地設計拓撲結構和描述問題,給出如下定義:
定義1基線網絡模型記為Bnet(Vb,Eb),其中,Vb={vi|vi為節點,0
定義2交叉網絡模型為在基線網絡的基礎上,添加m條跨層連邊得到,記為Cnet(Vc,Ec),其中,Vc=Vb,Ec=Eb∪El,這里El={〈vsj,vwj〉j|vsj,vwj∈Vb,0≤sj 圖3 卷積神經網絡和最近鄰耦合網絡 圖4 交叉網絡 圖4給出了交叉網絡的示意圖,交叉網絡有兩種連邊。第一種連邊是相鄰節點之間的連邊,用Eb表示,第二種連邊是跨層連邊,用El表示。根據定義2,可以通過人工設計不同的跨層連邊,將跨層連邊添加到基線網絡中得到不同拓撲結構的交叉網絡。 得到不同拓撲結構的交叉網絡之后,需要進一步將只有節點和連邊的網絡擴展為完整的卷積神經網絡。這需要給出卷積神經網絡的相關定義,然后在定義的基礎上,通過算法建立完整并有較高性能表現的卷積神經網絡,命名為交叉卷積神經網絡。因為交叉網絡的拓撲結構是多樣性的,所以對應得到的卷積神經網絡的拓撲結構也是多樣性的。在正式進行實驗之前,需要進行一下卷積神經網絡的拓撲復雜性分析,之后通過交叉卷積神經網絡這一實際模型探究卷積神經網絡準確率與網絡復雜性質之間理論上存在的關系,最后通過實驗進一步驗證這一關系。 影響卷積神經網絡準確率的因素有很多,實驗中需要注意控制單一變量。以交叉網絡為基礎,在節點數量和連邊數量一定的條件下,人工設計出不同拓撲結構的交叉網絡。然后將不同拓撲結構的交叉網絡轉換成對應的卷積神經網絡。為了將網絡轉換成卷積神經網絡,這里給出卷積神經網絡的相關定義。 考慮圖像X0在卷積神經網絡中前向傳遞,卷積神經網絡包括L層卷積層,每一層都是復合卷積層Hi(x)或Ti(x),i表示第i層。Hi(x),Ti(x)是一種由批量歸一化(BN)[13],激活函數(ReLU)[14],池化或卷積(Conv)組成的連續操作。BN函數可以加速網絡收斂,ReLU是一種激活函數操作,Conv是卷積操作,Pooling是池化操作,可以減小特征圖尺寸。 定義3復合卷積層指對特征圖x依次進行批歸一化、ReLu激活及卷積窗口為r×t的卷積運算過程,記為H(x)=Conv(ReLU(BN(x)),r,t)。 定義4傳輸層,指對特征圖x依次進行批歸一化、ReLu激活及池化運算過程,記為Transition layerT(x)=Pooling(ReLU(BN(x)))。 定義5復合函數層,傳輸層或復合卷積層統稱為復合函數層。 定義6特征圖鏈接指復合函數層將新產生的特征圖傳遞到下一個復合函數層的過程。這一過程會將前面傳遞過來的特征圖與已有特征圖進行拼接,形成一個較大的特征圖。記為cat(x0,x1)=[x0,x1],x1是源復合函數層傳遞過來的特征圖,x0是已有特征圖。 定義7交叉卷積神經網絡是將b個交叉網絡串行連接得到的網絡,在交叉網絡的基礎上通過應用算法1可以得到。它的拓撲結構與交叉網絡大致相同。 算法1交叉卷積神經網絡生成算法: Input:(Cnet(Vc,Ec)),b,r,t Output: (Cross convolutional neural network(Vc,Ec)) Initialise Composite function setH(x)=Conv(ReLU(BN(x)),r,t)T(x)=Pooling(ReLU(BN(x))) foreachvinVcdo: If v is last node: replacevwithT(x) Else : replacevwithH(x) foreinEcdo: replace e withcat(x0,x1) {x0,x1is the feature map produced byT(x) orH(x)} Cross convolutional neural network(Vc,Ec){Initialize the Cross convolutional neural network} fori=0;i vi=Cnet(Vc,Ec);vi+1=Cnet(Vc,Ec) 〈vi,vi+1〉=cat(x0,x1) {x1is produced byvi,x0is produced by other node} Vc=Vc∪vi∪vi+1;Ec=Ec∪〈vi,vi+1〉 result= Cross convolutional neural network(Vc,Ec)-T(x)+Classification layer {Replace the final Transition layer with the classification layer} Output= result 交叉卷積神經網絡的拓撲結構不同,復雜性質也會不同。特征圖在不同拓撲結構的交叉卷積神經網絡中流動時會產生不同的結果,所以,交叉卷積神經網絡的復雜性質在一定程度上會對交叉卷積神經網絡的準確率造成影響。 網絡的復雜性質包括:平均度,網絡直徑,模塊化,平均聚集系數,平均路徑長度等。這里通過平均路徑長度和平均聚集系數[12]分析網絡的復雜性質如何對網絡的準確率造成影響。 復雜網絡中的平均路徑長度是任意兩個節點之間距離的平均值。根據交叉卷積神經網絡生成算法可知兩個節點之間的距離在卷積神經網絡中便是特征圖從一個網絡層到另一個網絡層經過的H(X)或T(X)次數。網絡的平均路徑長度可以在一定程度反映出交叉卷積神經網絡特征圖的卷積細化程度。 根據復雜網絡的相關理論,交叉卷積神經網絡的拓撲結構中如果一個節點i的度為ki,那么節點i的聚集系數[10]Ci定義為 (1) 在拓撲結構上ejk表示節點j有一條指向節點k的連邊。Ni表示節點i的鄰居節點的集合。式(1)中的分子是節點i的ki個鄰居節點之間實際存在的邊數。分母是點i的ki個鄰居節點之間至多存在的邊數。分子和分母的比值便可以反映節點聚集成團的程度。根據式(1)描述,在ki一定的情況下,ki個鄰居節點之間實際存在的邊數,就會直接影響節點i聚集系數的值。 在交叉卷積神經網絡中,這ki個節點對應的卷積層都接收到了卷積層i產生的特征圖,這ki個卷積層之間如果互相傳遞的特征圖較多,聚集系數就會較大,如果傳遞的特征圖較少,聚集系數就會較小。因此,網絡的平均聚集系數可以反映網絡中各個卷積層特征圖聚集成團的程度。 經過以上分析,交叉卷積神經網絡的復雜性質可以反映交叉卷積神經網絡每一個卷積層或傳輸層產生的特征圖之間的傳遞與融合的某些特性,從而在一定程度反應交叉卷積神經網絡的準確率。接下來通過實驗進一步驗證交叉卷積神經網絡復雜性質與交叉卷積神經網絡準確率的關系。 為了驗證交叉卷積神經網絡復雜性質與網絡準確率的關系,需要設計多組復雜性質不同的模型。為了實現這一目標,首先通過定義1和定義2人工設計出模型的拓撲結構。之后通過應用算法1,生成多組拓撲結構不同的卷積神經網絡。具體實施方案如下: 根據定義1,設參數n=6,初始化基線網絡,網絡中有標號為0-5的6個節點。人工預設7組拓撲結構不同的跨層連邊,如表1所示。為了進行對照實驗,標號(1,2),(3,4),(5,6,7)是3組對照實驗,它們的連邊既有相同又有不同,使得它們的復雜性質一定不同。 設參數m=5,在基線網絡的基礎上,根據定義2將表1中每一組跨層連邊添加到基線網絡中,得到7組拓撲結構不同的交叉網絡。為了使拓撲結構具有多樣性,將其中2組交叉網絡的拓撲進行修改。去掉了連邊〈4,5〉,增加了連邊〈0,2〉。最終結果如表2所示。 表1 人工預設的7組跨層連邊 表2 不同拓撲結構的7組網絡 最后將設計出的拓撲結構轉換為完整可訓練的卷積神經網絡。設定參數r=3,t=3,b=3通過應用算法1,由表2中這7組交叉網絡生成對應的交叉卷積神經網絡。根據算法1可知交叉卷積神經網絡的拓撲結構與對應交叉網絡的拓撲結構相同。因為通過m,n控制了節點數量和連邊數量,所以生成的7組模型的參數數量基本相同。 通過訓練7組交叉卷積神經網絡和計算它們的復雜性質獲得實驗數據。 訓練交叉卷積神經網絡,數據集分別使用了Cifar10和Cifar100。訓練的超參數設置如下:學習率lr=0.001,設置學習率每隔80個訓練輪次衰減為原來的10%,batch_size=64,優化器使用Adam[15],每個模型訓練300個輪次,為了降低隨機性,取后200個輪次準確率的平均值作為模型的評價。收集了這兩個數據集上的準確率表現和網絡參數數量后制作成了表3。 交叉卷積神經網絡的拓撲結構與交叉網絡的拓撲結構相同,根據網絡復雜性質的相關公式,直接計算交叉網絡的平均度,網絡直徑,圖密度,模塊化,平均聚集系數,平均路徑長度,得到了交叉卷積神經網絡的復雜性質,將結果進行匯總制作成了表4。 通過對比表3和表4的數據后發現,表4中的7個復雜網絡的性質只有平均聚集系數會和卷積神經網絡的準確率有一定的關系。具體表現為在參數量相同的情況下,聚集系數小的網絡,卷積神經網絡準確率會高。模型3,4參數數量相同,模型4的平均聚集系數比模型3稍微小一些,模型4的卷積神經網絡準確率表現比模型3也高一些。模型1,2,5,6,7的參數數量相同,模型5有最高卷積神經網絡準確率的同時平均聚集系數也是最小的。 表3 7組模型的參數數量以及在Cifar10和Cifar100上的準確率表現 表4 7組模型的復雜性質 經實驗數據可得到結論:在統計意義和參數數量一定的情況下,卷積神經網絡對應復雜網絡的平均聚集系數越小,卷積神經網絡的準確率越高。這就要求在設計新的卷積神經網絡時,在網絡拓撲結構上減少節點聚集成團的特性,降低平均聚集系數的值。 本文通過理論分析和對照實驗,利用設計出的拓撲結構不同的卷積神經網絡進行準確率和復雜性質的對比。得到了網絡拓撲的聚集系數會影響卷積神經網絡準確率的結論。具體表現為在統計意義上,聚集系數越小,卷積神經網絡的準確率越高。這為卷積神經網絡拓撲結構的設計進一步提供了理論依據。在今后的研究中,需要進一步探究聚集系數與卷積神經網絡的準確率相關性。

2.2 復雜網絡拓撲到卷積神經網絡的生成算法
2.3 卷積神經網絡拓撲復雜性分析
3 實驗過程與分析
3.1 實驗設計


3.2 實驗數據
3.3 結果分析


4 結論