2019-2020review3-圖神經(jīng)網(wǎng)絡(luò)入門篇(Graph Neural Networks )

graph embeddiing 發(fā)展脈絡(luò):

一、初期出現(xiàn)的算法:deep walk、line、node2vec、sdne、eges等,詳見2019-2020review5-embedding入門(http://www.itdecent.cn/p/993f80d1b959

二、進(jìn)一步深化算法:圖神經(jīng)網(wǎng)絡(luò)

1、從綜述說起哈:

(1)圖神經(jīng)網(wǎng)絡(luò)的大致分類【1】:

圖神經(jīng)網(wǎng)絡(luò)(GNN) 被分成了 5 個(gè)類別:圖卷積網(wǎng)絡(luò)、圖注意力網(wǎng)絡(luò)、圖自編碼器、圖生成網(wǎng)絡(luò)和圖時(shí)空網(wǎng)絡(luò)。圖卷積網(wǎng)絡(luò)在捕捉架構(gòu)依存關(guān)系上扮演著核心角色:

圖神經(jīng)網(wǎng)絡(luò)分類

(2)我們關(guān)注的是圖神經(jīng)網(wǎng)絡(luò)和網(wǎng)絡(luò)嵌入:

圖神經(jīng)網(wǎng)絡(luò)?vs. 網(wǎng)絡(luò)嵌入。對(duì)圖神經(jīng)網(wǎng)絡(luò)的研究與圖嵌入或網(wǎng)絡(luò)嵌入緊密相關(guān),這也是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)社區(qū)日益關(guān)注的一個(gè)話題 。網(wǎng)絡(luò)嵌入旨在通過保留網(wǎng)絡(luò)拓?fù)浼軜?gòu)和節(jié)點(diǎn)內(nèi)容信息,將網(wǎng)絡(luò)頂點(diǎn)表示到低維向量空間中,以使任何后續(xù)的圖分析任務(wù)(如分類、聚類和推薦)都可以通過使用簡單的現(xiàn)成機(jī)器學(xué)習(xí)算法(如用于分類的支持向量機(jī))輕松執(zhí)行。許多網(wǎng)絡(luò)嵌入算法都是無監(jiān)督算法,它們大致可分為三組 ,即矩陣分解 、隨機(jī)游走和深度學(xué)習(xí)方法。用于網(wǎng)絡(luò)嵌入的深度學(xué)習(xí)方法同時(shí)還屬于圖神經(jīng)網(wǎng)絡(luò),包括基于圖自編碼器的算法(如 DNGR 和 SDNE)和具有無監(jiān)督訓(xùn)練的圖卷積神經(jīng)網(wǎng)絡(luò)(如 GraphSage)。下圖描述了網(wǎng)絡(luò)嵌入和圖神經(jīng)網(wǎng)絡(luò)的區(qū)別。

網(wǎng)絡(luò)嵌入和圖神經(jīng)網(wǎng)絡(luò)

圖嵌入的無監(jiān)督學(xué)習(xí)。如果圖中無可用類別標(biāo)簽,我們可以在一個(gè)端到端框架中以完全無監(jiān)督的方式學(xué)習(xí)圖嵌入。這些算法通過兩種方式利用邊級(jí)(edge-level)信息。一種簡單的方法是采用自編碼器框架,其中編碼器使用圖卷積層將圖嵌進(jìn)潛在表征中,然后使用解碼器重構(gòu)圖結(jié)構(gòu) 。另一種方法是利用負(fù)采樣方法,采樣一部分節(jié)點(diǎn)對(duì)作為負(fù)對(duì)(negative pair),而圖中已有的節(jié)點(diǎn)作為正對(duì)(positive pair)。然后在卷積層之后應(yīng)用 logistic 回歸層,以用于端到端學(xué)習(xí)。

2、接下來開始重頭戲GCN:

(1)先從直觀上感受GCN

什么是圖卷積神經(jīng)網(wǎng)絡(luò)【2】

圖卷積網(wǎng)絡(luò)圖示

如何理解圖卷積算法?

第一步:發(fā)射(send)每一個(gè)節(jié)點(diǎn)將自身的特征信息經(jīng)過變換后發(fā)送給鄰居節(jié)點(diǎn)。這一步是在對(duì)節(jié)點(diǎn)的特征信息進(jìn)行抽取變換。

第二步:接收(receive)每個(gè)節(jié)點(diǎn)將鄰居節(jié)點(diǎn)的特征信息聚集起來。這一步是在對(duì)節(jié)點(diǎn)的局部結(jié)構(gòu)信息進(jìn)行融合。

第三步:變換(transform)把前面的信息聚集之后做非線性變換,增加模型的表達(dá)能力。

(2)再從框架圖感受GCN

來自論文的原汁原味的框架圖【3】:

帶有一階濾波器的多層圖卷積神經(jīng)網(wǎng)絡(luò)

具體來說,我們先看這個(gè)框架的大致idea:輸入一張圖,經(jīng)過一層層特征抽取以及變換,最后輸出一張圖。

GCN框架

(3)最后從公式上感受GCN

GCN,圖卷積神經(jīng)網(wǎng)絡(luò),實(shí)際上跟 CNN 的作用一樣,就是一個(gè)特征提取器,只不過它的對(duì)象是圖數(shù)據(jù)。GCN 精妙地設(shè)計(jì)了一種從圖數(shù)據(jù)中提取特征的方法,從而讓我們可以使用這些特征去對(duì)圖數(shù)據(jù)進(jìn)行節(jié)點(diǎn)分類(node classification)、圖分類(graph classification)、邊預(yù)測(link prediction),還可以順便得到圖的嵌入表示(graph embedding),可見用途廣泛。

從論文原文原汁原味感受公式:

公式詳解

公式的直觀感受:

公式直觀感受

用我們通俗的話翻譯一下:

公式詳解

公式特點(diǎn)說明:

公式特點(diǎn)說明

GCN的一大特點(diǎn):

node embedding基本自動(dòng)聚類

前期了解完畢,下面是詳細(xì)了解圖卷積算子~

圖卷積算子

待補(bǔ)充論文公式詳細(xì)推導(dǎo)過程。。。

參考文獻(xiàn)

1、圖神經(jīng)網(wǎng)絡(luò)概述第三彈:來自IEEE Fellow的GNN綜述

https://www.jiqizhixin.com/articles/2019-01-07-8

2、淺析圖卷積神經(jīng)網(wǎng)絡(luò)

https://zhuanlan.zhihu.com/p/37091549

3、論文原文 GRAPH CONVOLUTIONAL NETWORKS

https://tkipf.github.io/graph-convolutional-networks/

4、跳出公式,看清全局,圖神經(jīng)網(wǎng)絡(luò)(GCN)原理詳解

https://www.chainnews.com/articles/216961050590.htm

其他參考文獻(xiàn):
1、深度學(xué)習(xí)新星 | 圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)有多強(qiáng)大?

https://zhuanlan.zhihu.com/p/37894842

2、如何理解 Graph Convolutional Network(GCN)?

https://www.zhihu.com/question/54504471

3、卷積運(yùn)算是什么?

https://www.zhihu.com/question/339496491

4、如何理解 Graph Convolutional Network(GCN)

https://www.zhihu.com/question/54504471

5、從圖(Graph)到圖卷積(Graph Convolution):漫談圖神經(jīng)網(wǎng)絡(luò)模型 (一)

https://www.cnblogs.com/SivilTaram/p/graph_neural_network_1.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容