乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

       黃元章5533 2019-01-23

      由于高度復(fù)雜但信息豐富的圖形結(jié)構(gòu),圖形上的機器學(xué)習(xí)一直以來都是一項艱巨的任務(wù)。本文是關(guān)于如何使用圖形卷積網(wǎng)絡(luò)(GCN)進(jìn)行圖形深度學(xué)習(xí)的系列文章中的第二篇。GCN是一種強大的神經(jīng)網(wǎng)絡(luò),旨在利用圖形結(jié)構(gòu)信息并直接在圖形上工作。在本文開頭我將簡要回顧一下上一篇文章,你也可以直接點擊下方鏈接,進(jìn)行更加仔細(xì),詳細(xì)的閱讀。

      1.圖形卷積網(wǎng)絡(luò)的高級介紹(https:///how-to-do-deep-learning-on-graphs-with-graph-convolutional-networks-7d2250723780)

      2.譜圖卷積的半監(jiān)督學(xué)習(xí)(本文)

      簡要回顧

      在我之前關(guān)于GCN的文章中(https:///how-to-do-deep-learning-on-graphs-with-graph-convolutional-networks-7d2250723780),我們看到了在GCN中的一個簡單的數(shù)學(xué)框架。簡而言之,給定一個N×F?特性矩陣X和一個圖的矩陣表示結(jié)構(gòu),例如G的N×N鄰接矩陣A,GCN中的每個隱藏層可表示為H?= f(H?-1, A)其中H?= X且f是傳播規(guī)則。每個層H?對應(yīng)于N×F?特性矩陣,其中每一行是節(jié)點的特性表示。

      我們看到了這種形式的傳播規(guī)則

      1.f(H?,A)=σ(AH?W?)

      2.f(H?,A)=σ(D-1H?W?)其中?= A + I,I是單位矩陣,D -1是?的度矩陣。

      這些規(guī)則在通過應(yīng)用權(quán)重W?和激活函數(shù)σ進(jìn)行變換之前,將節(jié)點的特性表示計算為其鄰居的特性表示的集合。通過將上面的傳播規(guī)則1和2表示為f(H?,A)=transform(aggregate

      (A,H?),W?),我們可以使聚合和變換步驟更加明確,其中transform(M,W?)=σ(MW?)和規(guī)則1的aggregate(A,H?)=AH?,規(guī)則2的aggregate(A,H?)= D-1H?。

      正如我們在上一篇文章中所討論的,規(guī)則1中的聚合將節(jié)點表示為其鄰居特性表示的總和,這有兩個明顯的缺點:

      • 節(jié)點的聚合表示不包括其自身的特性。
      • 具有較大度數(shù)的節(jié)點將在其特性表示中具有較大值,而具有較小度數(shù)的節(jié)點將具有較小值,這會導(dǎo)致出現(xiàn)梯度爆炸的問題并使得使用對特性敏感的隨機梯度下降等算法進(jìn)行訓(xùn)練變得更加困難。

      為了解決這兩個問題,規(guī)則2首先通過向A添加單位矩陣來強制執(zhí)行自循環(huán),并使用變換后的鄰接矩陣?= A + I進(jìn)行聚合。接下來,通過乘以逆度矩陣D -1來對特性表示進(jìn)行標(biāo)準(zhǔn)化。將聚合轉(zhuǎn)換為聚合特性表示的規(guī)模對節(jié)點次數(shù)不變的均值。

      在下文中,我將規(guī)則1稱為求和規(guī)則,將規(guī)則2稱為均值規(guī)則。

      譜圖卷積

      Kipf和Welling最近的一篇論文提出了使用光譜傳播規(guī)則的快速近似譜圖卷積[1]:

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      與前一篇文章中討論的總和均值規(guī)則相比,譜學(xué)規(guī)律僅在聚合函數(shù)的選擇上有所不同。雖然它有點類似于均值規(guī)則,因為它使用提升到負(fù)冪的度矩陣D對聚合進(jìn)行標(biāo)準(zhǔn)化,但標(biāo)準(zhǔn)化是不對稱的。讓我們試一試,看看它的作用。

      作為加權(quán)和的聚合

      到目前為止,我們可以理解我所介紹的作為加權(quán)和的聚合函數(shù),其中每個聚合規(guī)則僅在它們的權(quán)重選擇上有所不同。我們先來看看如何用加權(quán)和來表示相對簡單的和與均值規(guī)則,然后再討論譜學(xué)規(guī)律。

      求和規(guī)則

      為了了解如何使用求和規(guī)則計算第i個節(jié)點的聚合特性表示,我們看到如何計算聚合中的第i行。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      求和規(guī)則作為加權(quán)和

      如等式1a所示,我們可以將第i個節(jié)點的聚合特性表示作為向量矩陣乘積來計算。我們可以將這個向量矩陣乘積表示為一個簡單的加權(quán)和,如公式1b所示,我們對X中的N行中的每一行求和。

      公式1b中第j個節(jié)點在聚合中的貢獻(xiàn)由A的第i行的第j列的值確定。由于A是鄰接矩陣,如果第j個節(jié)點是第i個節(jié)點的鄰居,則該值為1,否則為0。等式1b對應(yīng)于對第i個節(jié)點的相鄰的特性表示求和。這證實了上一篇文章的看法。

      總之,每個鄰居的貢獻(xiàn)僅取決于鄰接矩陣A定義的鄰域。

      均值規(guī)則

      要查看均值規(guī)則如何用聚合節(jié)點表示,我們再次查看如何計算聚合中的第i行。為簡單起見,我們只考慮'原始'鄰接矩陣的均值規(guī)則,而不考慮A和單位矩陣I之間的加法,這相當(dāng)于向圖形中添加自循環(huán)。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      均值規(guī)則作為加權(quán)和

      在等式2a中,我們現(xiàn)在首先通過將鄰接矩陣A乘以逆矩陣D來變換鄰接矩陣A。在等式2b中使該計算更明確。逆矩陣是一個區(qū)域矩陣,其中沿對角線的值是逆節(jié)點度s.t.的位置,(i,i)處的值是第i個節(jié)點的反度。因此,我們可以移除其中一個求和符號,得到等式2c。在等式2d和2e中可以進(jìn)一步減少等式2c。

      如等式2e所示,我們現(xiàn)在再次對鄰接矩陣A中的N行中的每一行求和。如在求和規(guī)則的討論期間所提到的,這相當(dāng)于對每個第i個節(jié)點的鄰居進(jìn)行求和。然而,等式2e中的加權(quán)和的權(quán)重與第i個節(jié)點的次數(shù)之和1。因此,等式2e對應(yīng)于第i個節(jié)點的相鄰特性表示均值。

      求和規(guī)則僅取決于鄰接矩陣A定義的鄰域,而均值規(guī)則也僅取決于節(jié)點度。

      譜學(xué)規(guī)律

      我們現(xiàn)在有一個有用的框架來分析譜學(xué)規(guī)律。讓我們看看它!

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      作為加權(quán)和的譜學(xué)規(guī)律

      與均值規(guī)則一樣,我們使用度矩陣D來變換鄰接矩陣A。但是,如等式3a所示,我們將度矩陣提高到-0.5的冪并將其乘以A的每一邊。此操作可以是分解如公式3b所示。再次回想一下,次數(shù)矩陣(及其冪)是對角線的。因此,我們可以進(jìn)一步簡化方程3b,直到達(dá)到方程3e中的表達(dá)式。

      公式3e很有趣。在計算第i個節(jié)點的聚合特性表示時,我們不僅要考慮第i個節(jié)點的度,還要考慮第j個節(jié)點的度。

      與均值規(guī)則類似,譜學(xué)規(guī)律對聚合s.t進(jìn)行標(biāo)準(zhǔn)化。聚合特性表示與輸入特性大致保持相同的比例。然而,如果譜學(xué)規(guī)律具有低度,則譜學(xué)規(guī)律將加權(quán)和中的鄰域加權(quán),如果它們具有高度則加權(quán)較低。當(dāng)?shù)痛螖?shù)鄰居提供比高次數(shù)鄰居更有用的信息時,這可能是有用的。

      GCN的半監(jiān)督分類

      除譜學(xué)規(guī)律外,Kipf和Welling還演示了GCN如何用于半監(jiān)督分類[1]。到目前為止,我們假設(shè)整個圖表是可用的,即我們處于轉(zhuǎn)換的環(huán)境中。換句話說,我們知道所有節(jié)點,但不知道所有節(jié)點標(biāo)簽。

      在我們看到的所有規(guī)則中,我們在節(jié)點鄰域上進(jìn)行聚合,因此共享鄰居的節(jié)點往往具有相似的特性表示。如果圖形表現(xiàn)出同質(zhì)性,即連接的節(jié)點傾向于相似(例如具有相同的標(biāo)簽),則該特性非常有用。同質(zhì)性發(fā)生在許多真實網(wǎng)絡(luò)中,尤其是社交網(wǎng)絡(luò)表現(xiàn)出非常強烈的同質(zhì)性。

      正如我們在上一篇文章中看到的那樣,即使是隨機初始化的GCN也可以通過使用圖形結(jié)構(gòu),在同構(gòu)圖中實現(xiàn)節(jié)點的特性表示之間的良好分離。通過在標(biāo)記節(jié)點上訓(xùn)練GCN,我們可以更進(jìn)一步,有效地將節(jié)點標(biāo)簽信息傳播到未標(biāo)記的節(jié)點。這可以通過以下方式完成:

      1.通過GCN執(zhí)行正向傳播。

      2.將sigmoid函數(shù)逐行應(yīng)用于GCN中的最后一層。

      3.計算已知節(jié)點標(biāo)簽上的交叉熵?fù)p失。

      4.反向傳播損失并更新每層中的權(quán)重矩陣W。

      Zachary空手道俱樂部的預(yù)測

      讓我們看看譜學(xué)規(guī)律如何使用半監(jiān)督學(xué)習(xí)將節(jié)點標(biāo)簽信息傳播到未標(biāo)記的節(jié)點。與前一篇文章一樣,我們將以Zachary的空手道俱樂部為例。

      Zachary的空手道俱樂部

      簡而言之,Zachary的空手道俱樂部是一個小型的社交網(wǎng)絡(luò),在這里,管理員和空手道俱樂部的教練之間會發(fā)生沖突。任務(wù)是預(yù)測空手道俱樂部的每個成員會選擇的沖突的哪一方。網(wǎng)絡(luò)的圖形表示如下圖所示。每個節(jié)點代表空手道俱樂部的成員,并且成員之間的鏈接表示他們在俱樂部外進(jìn)行交互。管理員和教練分別標(biāo)有A和I。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      Zachary的空手道俱樂部

      MXNet中的譜圖卷積

      我在MXNet中實現(xiàn)了譜學(xué)規(guī)律,這是一個易于使用且高效的深度學(xué)習(xí)框架。實施如下:

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      init將鄰接矩陣Aalong作為輸入,其中每個節(jié)點的特性表示的輸入和輸出維數(shù)分別來自圖卷積層。in_units和out_units分別為輸入和輸出維數(shù)。通過與單位矩陣I相加,將自循環(huán)添加到鄰接矩陣A,計算度矩陣D,并將鄰接矩陣A變換為由譜學(xué)規(guī)律指定的A_hat。這種變換不是嚴(yán)格必要的,但是計算效率更高,因為在層的每次前向傳遞期間都會執(zhí)行變換。

      最后,在init的with子句中,我們存儲了兩個模型參數(shù)A_hat存儲為常量,權(quán)重矩陣W存儲為可訓(xùn)練參數(shù)。

      在正向傳遞中,我們使用以下輸入執(zhí)行此方法:X,前一層的輸出,以及我們在構(gòu)造函數(shù)init中定義的參數(shù)A_hat和W。

      構(gòu)建圖形卷積網(wǎng)絡(luò)

      現(xiàn)在我們已經(jīng)實現(xiàn)了譜學(xué)規(guī)律,我們可以將這些層疊加在一起。我們使用類似于前一篇文章中的兩層架構(gòu),其中第一個隱藏層有4個單元,第二個隱藏層有2個單元。這種架構(gòu)可以輕松地顯示最終的二維嵌入。它與前一篇文章中的架構(gòu)有三點不同:

      • 我們使用譜學(xué)規(guī)律而不是均值規(guī)則。
      • 我們使用不同的激活函數(shù):tanh激活函數(shù)用于第一層,否則死亡神經(jīng)元的概率會非常高,第二層使用identity函數(shù),因為我們使用最后一層來對節(jié)點進(jìn)行分類。
      • 最后,我們在GCN頂部添加邏輯回歸層以進(jìn)行節(jié)點分類。

      上述體系結(jié)構(gòu)的Python實現(xiàn)如下。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      我已將包含圖形卷積層的網(wǎng)絡(luò)的特性學(xué)習(xí)部分分離為特性組件,將分類部分分離為分類器組件。單獨的特性組件使以后更容易可視化這些層的激活。用作分類器的邏輯回歸是一個分類層,它通過對最后一個圖形卷積層提供的每個節(jié)點的特性求和并對該和應(yīng)用sigmoid函數(shù)來執(zhí)行邏輯回歸。

      為了完整起見,構(gòu)造特性組件的代碼是

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      而邏輯回歸的代碼是

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      訓(xùn)練GCN

      訓(xùn)練GCN模型的代碼如下所示。簡而言之,我初始化了一個二進(jìn)制交叉熵?fù)p失函數(shù)cross_entropy和SGD優(yōu)化器、訓(xùn)練器來學(xué)習(xí)網(wǎng)絡(luò)參數(shù)。然后針對指定數(shù)量的紀(jì)元訓(xùn)練模型,其中針對每個訓(xùn)練示例計算損失,并且使用loss.backward()反向傳播錯誤。然后調(diào)用trainer.step來更新模型參數(shù)。在每個紀(jì)元之后,由GCN層構(gòu)建的特性表示存儲在feature_representations列表中。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      至關(guān)重要的是,只標(biāo)記了教練和管理員的標(biāo)簽,網(wǎng)絡(luò)中的其余節(jié)點是已知的,但它們未標(biāo)記!GCN可以在圖形卷積期間找到標(biāo)記和未標(biāo)記節(jié)點的表示,并且可以在訓(xùn)練期間利用這兩種信息源來執(zhí)行半監(jiān)督學(xué)習(xí)。

      可視化特性

      如上所述,存儲每個時期的特性表示,這允許我們在訓(xùn)練期間看到特性表示如何改變。在下面我考慮兩個輸入特性表示。

      表示1

      在第一種表示中,我們簡單地使用稀疏的34×34單位矩陣I作為特性矩陣X。該表示具有可以在任何圖中使用的優(yōu)點,但是會導(dǎo)致網(wǎng)絡(luò)中每個節(jié)點的輸入?yún)?shù)需要大量的記憶和計算能力,以便在大型網(wǎng)絡(luò)上進(jìn)行訓(xùn)練,并可能導(dǎo)致過度擬合。值得慶幸的是,空手道俱樂部網(wǎng)絡(luò)非常小。使用該表示對網(wǎng)絡(luò)進(jìn)行5000個歷元的訓(xùn)練。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      通過對網(wǎng)絡(luò)中的所有節(jié)點進(jìn)行分類,我們可以獲得上面顯示的網(wǎng)絡(luò)中的錯誤分布。在這里,黑色表示錯誤分類。盡管近一半(41%)的節(jié)點被錯誤分類,但與管理員或教練(但不是兩者都有)緊密相連的節(jié)點往往被正確分類。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      使用表示法1訓(xùn)練期間特性表示的變化

      在左側(cè),我已經(jīng)說明了在訓(xùn)練期間特性表示如何變化。節(jié)點最初是緊密地聚集在一起的,但隨著訓(xùn)練的進(jìn)行,教練和管理員被分開,用它們帶動一些節(jié)點。

      雖然管理員和教練的表示方式完全不同,但他們拖動的節(jié)點不一定屬于他們的社區(qū)。這是因為圖形卷積在特性空間中嵌入了共享鄰居的節(jié)點,但是共享鄰居的兩個節(jié)點可能無法同等地連接到管理員和教練。特別地,使用單位矩陣作為特性矩陣會導(dǎo)致每個節(jié)點的高度局部表示。即,屬于圖的相同區(qū)域的節(jié)點可能緊密地嵌入在一起。這使得網(wǎng)絡(luò)難以以歸納的方式在遠(yuǎn)程區(qū)域之間共享公共知識。

      表示2

      我們將通過添加兩個不特定于網(wǎng)絡(luò)的任何節(jié)點或區(qū)域的特性來改進(jìn)表示1。為此,我們計算從網(wǎng)絡(luò)中的每個節(jié)點到管理員和教練的最短路徑距離,并將這兩個特性連接到先前的表示。

      也許可能會認(rèn)為這種行為有點欺騙性,因為我們會在圖表中注入有關(guān)每個節(jié)點位置的全局信息,應(yīng)該(理想地)由特性組件中的圖卷積層捕獲的信息。但是,圖形卷積層始終具有局部視角,并且捕獲此類信息的能力有限。盡管如此,它仍然是理解GCN的有用工具。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      我們共同對網(wǎng)絡(luò)中的所有節(jié)點進(jìn)行分類,并繪制出上圖的網(wǎng)絡(luò)中的錯誤分布。這次,只有四個節(jié)點被錯誤分類,相對于表示1有顯著改進(jìn)!仔細(xì)檢查特性矩陣后,這些節(jié)點要么與教練和管理員等距(在最短路徑意義上),要么離管理員更近,但屬于教練社區(qū)。使用表示1訓(xùn)練GCN 250個時期。

      圖形卷積神經(jīng)網(wǎng)絡(luò)有多強大?一文讓你熟練掌握GCN

      使用表示2訓(xùn)練期間特性表示的變化

      如圖所示,節(jié)點最初再次非常緊密地聚集在一起,但在訓(xùn)練甚至開始之前,它們在某種程度上分成了社區(qū)!隨著訓(xùn)練的進(jìn)行,社區(qū)之間的距離也會增加。

      下一步是什么?

      在這篇文章中,我已經(jīng)深入解釋了GCN中的聚合如何執(zhí)行,展示了如何將其表示為加權(quán)和。并使用均值、求和、譜學(xué)規(guī)律作為示例。我真誠地希望你會發(fā)現(xiàn)這個框架對于在你自己的圖形卷積網(wǎng)絡(luò)中聚合期間可能需要哪些權(quán)重非常有用。

      我還展示了如何在MXNet中實施和訓(xùn)練GCN,使用Zachary的空手道俱樂部作為一個簡單的示例網(wǎng)絡(luò),使用譜圖卷積對圖形進(jìn)行半監(jiān)督分類。我們看到如何使用兩個標(biāo)記的節(jié)點,GCN仍然可以在表示空間中實現(xiàn)兩個網(wǎng)絡(luò)社區(qū)之間的高度分離。

      雖然有關(guān)圖形卷積網(wǎng)絡(luò)的更多信息,我希望將來有時間與你分享,但這是(目前)系列中的最后一篇文章。如果你有興趣進(jìn)一步閱讀,我想推薦一些我發(fā)現(xiàn)非常有趣的論文:

      1. Inductive Representation Learning on Large Graphs(https:///abs/1706.02216)

      在本文中,Hamilton等人提出了幾種新的聚合函數(shù),例如,使用最大/平均聚合或多層感知器。此外,他們還提出了一種簡單的方法來進(jìn)行GCN的小批量訓(xùn)練,大大提高了訓(xùn)練速度。

      2. FastGCN: Fast Learning with Graph Convolutional Networks via Importance Samping(https:///pdf/1801.10247.pdf)

      Hamilton等人提出的小批量方法的缺點在于,批量中的節(jié)點數(shù)量由于它們的遞歸而在執(zhí)行的聚合的數(shù)量中呈指數(shù)增長。Chen等人提出了他們的FastGCN方法,通過獨立地執(zhí)行圖卷積層的批量訓(xùn)練來解決這個缺點。

      3.N-GCN: Multi-scale Graph Convolution for Semi-supervised Node Classification(https:///pdf/1802.08888.pdf)

      在FastGCN解決訓(xùn)練遞歸圖卷積網(wǎng)絡(luò)問題的地方,N-GCN挑戰(zhàn)了GCN需要遞歸的前提! Abu-El-Haija等人提出了一種具有多個(N)GCN的平面架構(gòu),其輸出被連接在一起。每個GCN捕獲不同距離的鄰域,從而避免遞歸聚合。

      參考

      [1] Thomas Kipf和Max Welling撰寫的帶有圖形卷積網(wǎng)絡(luò)的半監(jiān)督分類論文。(https:///abs/1609.02907)

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多