Graph Convolutional Networks 圖卷積網(wǎng)絡(luò)

Semi-Supervised Classification with Graph Convolutional Networks 基于圖卷積網(wǎng)絡(luò)的半監(jiān)督分類

原文:https://arxiv.org/abs/1609.02907
參考:https://blog.csdn.net/w986284086/article/details/80270653
DGL 實(shí)現(xiàn):https://docs.dgl.ai/tutorials/models/1_gnn/1_gcn.html
DGL 實(shí)現(xiàn)(ZACHARY空手道俱樂(lè)部網(wǎng)絡(luò)): https://docs.dgl.ai/tutorials/basics/1_first.html

Graph and “Zachary’s karate club” problem

圖的基本概念
  • 頂點(diǎn)(vertex)
  • 邊(edge)
  • 有向/無(wú)向圖(Directed Graph / Undirected Graph)
  • 邊的權(quán)重(weight)
  • 路徑/最短路徑(path / shortest path)
空手道俱樂(lè)部數(shù)據(jù)集
  • 頂點(diǎn):一個(gè)俱樂(lè)部成員
  • 邊:成員之間在俱樂(lè)部以外的關(guān)系
  • 無(wú)向忆畅,所有權(quán)重相同
  • 問(wèn)題:以教練(0)和主席(33)兩個(gè)人為首衡未,將整個(gè)俱樂(lè)部分為兩個(gè)派別

對(duì)一個(gè)節(jié)點(diǎn)的卷積

  1. 與某節(jié)點(diǎn)相鄰的所有節(jié)點(diǎn),對(duì)所有特征向量求和橄镜,表示為:
  2. 線性+非線性變換:

Graph Attention Networks 圖注意力網(wǎng)絡(luò)

原文:https://arxiv.org/abs/1710.10903
參考:https://www.cnblogs.com/chaoran/p/9720708.html
參考:https://www.cnblogs.com/wangxiaocvpr/p/7889307.html
參考:https://blog.csdn.net/b224618/article/details/81407969
DGL 實(shí)現(xiàn):https://github.com/dmlc/dgl/tree/master/examples/pytorch/gat

線性變換

所有 node 共用一個(gè) W 作 feature 的線性變換,變換后 F 和 F‘ 可以不同
N 為node 數(shù)量, F 為每個(gè)node 的 feature 數(shù)(feature vector 長(zhǎng)度)

  1. 輸入:
  2. 輸出:

計(jì)算 attention coefficients

表示 node j 的 feature 對(duì) node i 的重要性:


函數(shù)a:一個(gè)單層前饋網(wǎng)絡(luò) torch.bmm(head_ft, self.attn_l)

卷積

多頭注意力

設(shè)置 K 個(gè)函數(shù)梗搅,計(jì)算出 K 組attention coefficient禾唁,連接K個(gè)輸出:



對(duì)于最后一個(gè)卷積層,連接改為求平均:


Modeling Relational Data with Graph Convolutional Networks

原文:https://arxiv.org/abs/1703.06103
參考:https://lanzhuzhu.github.io/2017/04/30/IE/RelationExtraction/Modeling%20Relational%20Datawith%20Graph%20Convolutional%20Networks/
DGL 實(shí)現(xiàn):https://docs.dgl.ai/tutorials/models/1_gnn/4_rgcn.html

普通GCN(本文第一種)利用圖的結(jié)構(gòu)來(lái)提取每個(gè)節(jié)點(diǎn)的特征无切,沒(méi)有利用圖的邊荡短。知識(shí)圖譜以三元組(主體、客體和主客體之間的關(guān)系)為單位組成哆键,因此圖的邊編碼了重要的關(guān)系信息掘托。而且每對(duì)節(jié)點(diǎn)之間可能存在多條邊(對(duì)應(yīng)多種關(guān)系)。

在統(tǒng)計(jì)關(guān)系學(xué)習(xí)(statistical relational learning, SRL)中籍嘹,有兩種任務(wù)闪盔,都需要從圖的相鄰結(jié)構(gòu)中恢復(fù)丟失的信息:

  • 實(shí)體分類(Entity classification),例如將實(shí)體分為某種類別辱士,并賦予該類別中的一些特征
  • 連接預(yù)測(cè)(Link prediction)泪掀,例如推斷某個(gè)缺失的三元組

例如知道了“小明在北京大學(xué)讀書(shū)”,就能知道“小明”應(yīng)該被歸類為“人類”颂碘,而且知識(shí)圖譜中一定有(小明异赫,住在,中國(guó))這樣一個(gè)三元組凭涂。

R-GCN用一個(gè)圖卷積網(wǎng)絡(luò)同時(shí)解決了上述兩種問(wèn)題:

  • 實(shí)體分類:每個(gè)節(jié)點(diǎn)最后使用softmax輸出
  • 連接預(yù)測(cè):利用自編碼器結(jié)構(gòu)重建圖的邊

回憶一下祝辣,普通GCN的卷積操作如下:


R-GCN的卷積操作如下:



其區(qū)別在于R-GCN中,通往一個(gè)節(jié)點(diǎn)的不同邊可以代表不同的關(guān)系切油。在普通GCN中蝙斜,所有邊共享相同的權(quán)重 W ;在R-GCN中澎胡,不同類型的邊(關(guān)系)使用不同的權(quán)重 Wr 孕荠,只有同一種邊(關(guān)系)才會(huì)使用同一個(gè)權(quán)重娩鹉。

“不同關(guān)系對(duì)應(yīng)不同權(quán)重”的做法大大增加了模型的參數(shù)量,原文使用了基分解(basis decomposition)來(lái)降低參數(shù)量和防止過(guò)擬合:



此處的 V 為基稚伍, a 為coefficient弯予,基的數(shù)目 B 遠(yuǎn)小于數(shù)據(jù)中的關(guān)系數(shù)目

Supervised Community Detection with Line Graph Neural Networks

原文:https://arxiv.org/abs/1705.08415
DGL 實(shí)現(xiàn):https://docs.dgl.ai/tutorials/models/1_gnn/6_line_graph.html

開(kāi)頭的GCN完成了對(duì)每個(gè)節(jié)點(diǎn)的分類,這里的LGNN則是對(duì)圖中的節(jié)點(diǎn)進(jìn)行聚類(“社區(qū)發(fā)現(xiàn)”个曙,community detection)锈嫩。這個(gè)模型的一個(gè)亮點(diǎn)在于將普通GCN應(yīng)用在線圖(line graph)中

CORA:科技論文數(shù)據(jù)集
  • 節(jié)點(diǎn):2708篇論文,分為7個(gè)不同機(jī)器學(xué)習(xí)領(lǐng)域
  • 有向邊:論文之間的引用關(guān)系
  • 問(wèn)題:通過(guò)監(jiān)督學(xué)習(xí)對(duì)論文進(jìn)行分類


線圖

將一個(gè)老圖的邊垦搬,作為一個(gè)新圖的節(jié)點(diǎn)呼寸,畫(huà)出來(lái)的圖。下圖中的藍(lán)點(diǎn)和黑線是一個(gè)老有向圖猴贰,紅點(diǎn)既是老圖的邊对雪、也是新圖的節(jié)點(diǎn)。將相鄰的紅點(diǎn)按老邊的方向有方向地連起來(lái)米绕,就得到一個(gè)線圖瑟捣。

LGNN(這里的計(jì)算我沒(méi)有看懂)

在LGNN中有若干層,每一層的圖(x)和其線圖(y)在數(shù)據(jù)流中的變化過(guò)程如下圖:


在圖表征(x)中栅干,第 k 層迈套、第 l 個(gè)通道的第 i 個(gè)節(jié)點(diǎn)按以下公式進(jìn)行 k+1 層的更新:



類似地,線圖(y)中的運(yùn)算為:


等號(hào)的右邊可分為五部分:

  1. x的線性變換
  2. a linear projection of degree operator ( linear map D:F→DF where (Dx)i:=deg(i)·xi, D(x) =diag(A1)x .)on x,
  3. a summation of 2j adjacency operator (linear map given by the adjacency matrix Ai,j= 1if f(i,j)∈E.) on x
  4. fusing another graph’s embedding information using incidence matrix {Pm,Pd}, followed with a linear projection
  5. skip-connection:將前面的非線性函數(shù)ρ換為線性變換


Stochastic Steady-state Embedding (SSE)

原文:http://proceedings.mlr.press/v80/dai18a/dai18a.pdf
DGL 實(shí)現(xiàn):https://docs.dgl.ai/tutorials/models/1_gnn/8_sse_mx.html

Flood-fill / Infection algorithm(Steady-state algorithms)

在圖 G=(V,E) 中非驮,有 起始節(jié)點(diǎn) s ∈ V交汤,
設(shè) V = {1,...,n},yv 為節(jié)點(diǎn) v 是否被標(biāo)記劫笙,N(v) 為 v 的所有相鄰節(jié)點(diǎn)(包括v本身)
對(duì)圖中可以到達(dá) s 的所有節(jié)點(diǎn)進(jìn)行標(biāo)記:


當(dāng)(2)迭代足夠次數(shù)后芙扎,所有可以到達(dá) s 的節(jié)點(diǎn)都被標(biāo)記,我們說(shuō)達(dá)到了穩(wěn)態(tài)(steady state)

Steady-state operator

上述過(guò)程可抽象為:



其中

在 flood-fill 算法中填大,T^=max
因?yàn)楫?dāng)且僅當(dāng) y?=T(y?) 時(shí)戒洼,y 在 T 下達(dá)到穩(wěn)態(tài),所以稱 T 為 steady-state operator

Neural flood-fill algorithm(Steady-state embedding)

用神經(jīng)網(wǎng)絡(luò)模擬 flood-fill algorithm

  • 用圖神經(jīng)網(wǎng)絡(luò) TΘ ,來(lái)代替 T
  • 用向量 hv(維度為H)允华,來(lái)代替 布爾值yv
  • 為節(jié)點(diǎn) v 賦予一個(gè)特征向量 xv(在 flood-fill 算法中圈浇,xv為每個(gè)節(jié)點(diǎn)編號(hào)的 one-hot code,用于區(qū)分不同節(jié)點(diǎn))
  • 只迭代有限次數(shù)靴寂,不一定達(dá)到穩(wěn)態(tài)
  • 迭代結(jié)束后磷蜀,以 hv 為輸入,每個(gè)節(jié)點(diǎn)可以被到達(dá)的概率為輸出百炬,訓(xùn)練另一個(gè)神經(jīng)網(wǎng)絡(luò)

上述過(guò)程可寫成:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末褐隆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子剖踊,更是在濱河造成了極大的恐慌庶弃,老刑警劉巖衫贬,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異歇攻,居然都是意外死亡固惯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門缴守,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)葬毫,“玉大人,你說(shuō)我怎么就攤上這事屡穗」┏#” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵鸡捐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我麻裁,道長(zhǎng)箍镜,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任煎源,我火速辦了婚禮色迂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘手销。我一直安慰自己歇僧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布锋拖。 她就那樣靜靜地躺著诈悍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪兽埃。 梳的紋絲不亂的頭發(fā)上侥钳,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音柄错,去河邊找鬼舷夺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛售貌,可吹牛的內(nèi)容都是我干的给猾。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼颂跨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼敢伸!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起毫捣,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤详拙,失蹤者是張志新(化名)和其女友劉穎帝际,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體饶辙,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹲诀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了弃揽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脯爪。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖矿微,靈堂內(nèi)的尸體忽然破棺而出痕慢,到底是詐尸還是另有隱情,我是刑警寧澤涌矢,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布掖举,位于F島的核電站,受9級(jí)特大地震影響娜庇,放射性物質(zhì)發(fā)生泄漏塔次。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一名秀、第九天 我趴在偏房一處隱蔽的房頂上張望励负。 院中可真熱鬧,春花似錦匕得、人聲如沸继榆。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)略吨。三九已至,卻和暖如春调塌,著一層夾襖步出監(jiān)牢的瞬間晋南,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工羔砾, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留负间,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓姜凄,卻偏偏與公主長(zhǎng)得像政溃,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子态秧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容