20.4.29更新
寫在前頭,由於畢設的需要,我一直在學習圖神經網絡,看了很多文章解析,以及頂會使用上了gcn的各個領域開源代碼,我還是不太懂它為什么會有作為,現在的方法大多數是 第一步查看自己任務怎么能表示成圖,一般就是有節點特征和鄰接矩陣后,直接上gcn,我感覺 論文的 why部分,講的不是很好,感覺有一種為了 gcn而gcn的感覺,所以到底為什么好呢??gcn,它推理能力真的強嗎。可能現在的我水平還不到家,希望gcn的火熱能直到我很好的用上它,並完全理解它把!(●'◡'●)
一、加更 gnn 的基礎理解篇,反正我感覺我能看懂= =,其他的我真的...沒時間的科研人員只想知道,這玩意到底為什么能有用和怎么用....
1.如果你時間很多,建議看 survey 按照下面連接順序看
知乎——綜述|從10篇研究綜述看圖神經網絡GNN的最新研究進展
2.圖卷積神經網絡基礎理解篇
1)看得懂的:(個人觀點,不喜勿噴)
知乎——何時能懂你的心——圖卷積神經網絡(GCN) 他的第二篇也建議康康
GCN,圖卷積神經網絡,實際上跟CNN的作用一樣,就是一個特征提取器,只不過它的對象是圖數據。GCN精妙地設計了一種從圖數據中提取特征的方法,從而讓我們可以使用這些特征去對圖數據進行節點分類(node classification)、圖分類(graph classification)、邊預測(link prediction),還可以順便得到圖的嵌入表示(graph embedding),可見用途廣泛。因此現在人們腦洞大開,讓GCN到各個領域中發光發熱。
如何理解 Graph Convolutional Network(GCN)?
========================================================================以下是高贊回答=========================================================================
由於高贊答案說的太好,我很怕萬一作者想不開刪去怎么辦,所以我決定copy下來。(●'◡'●)
鳥瞰圖卷積
圖卷積的核心思想是利用『邊的信息』對『節點信息』進行『聚合』從而生成新的『節點表示』。
有的研究在此基礎上利用『節點表示』生成『邊表示』或是『圖表示』完成自己的任務
羅馬是六天建成的
這里從簡單到復雜講解幾種我們常用的圖卷積公式(有時候簡單的效果也不錯)。在開始前先說明幾個符號的含義:



有很多工作都是在研究如何更巧妙的構建有權圖(比如用節點間的相似度等等)。一般看過的論文都會需要自己構建,畢竟很多任務都不是標准的圖結構

看到的第一眼,想到的是 利用 殘差網絡 。
Nothing is all you need
當然,聚合的方法有很多種,CNN 已經為我們提供了很多參(照)考(抄)。
Attention 的思路很棒,有 GAT 和 AGNN。——attention這個很多用上,但不是gat
Pooling 的思路很棒,有 GraphSAGE。——拓展 graph pooling 也是一個很有研究價值的課題
Deep 的思路很棒,有 DeepGCN。—— 今年cvpr有人用上了
擴大感受野的思路也很棒,比如 High-Order GCN(矩陣式)和 PinSAGE(消息式)。
2)看的不懂,但是感覺有干貨的
萬字長文入門gcn ——知乎自己搜哈
3)視頻類的
北京智源——里面第三個老師講的,中科院的老師,講的非常好。
二、記錄了想看還未看,但覺得有意思的圖文章:
1.Graph Sequential Network for Reasoning over Sequences
為什么說Transformer就是圖神經網絡?
A Comprehensive Survey on Graph Neural Networks
摘要:將現有最好的圖神經網絡分成四類:recurrent graph neural networks, convolutional graph neural networks, graph autoencoders, and spatial-temporal graph neural networks。
1.介紹:
可以用歐幾里得空間中的規則網格來表示圖像。所以CNN可以用來提取特征,可是在現有的世界中,很多數據都是圖類的數據。
2.對比:
文中進行了和network embedding以及 graph kernel methods 的對比
3.符號的對應:
4.GNN的分類:
1. 循環gnn是covgnn的前任。
2.covGNN分類:譜圖和空間。節點上的分類 和 圖的分類
3. GAE:
4. 時空圖:一般用在探究下一個時間段node的狀態,在交通用的比較多,我還看到過 行人的預測。
5.現有的方法及其復雜度:
6.CovGNN 和 RecGNN 的 對 比
7.Graph Pooling Modules :
我這里跳過了一節,這節是pool操作
Pooling的好處: (1) the pooling operation aims to reduce the size of parameters by down-sampling the nodes to generate smaller representations and thus avoid overfitting, permutation invariance, and computational complexity issues; (2) the readout operation is mainly used to generate graph-level representation based on node representations.
8.總體來說:
整個文章其實是從四個類的GNN來進行闡述,每個類分別有分支,這篇博客記錄有一些亂,主要是給自己看的。我覺得感興趣的地方。還有 諸如,圖的生成(自編碼)、時序圖等。目前還沒有了解 , 主要是感興趣的。.... 大家有機會還是直接看原文。
圖神經網絡 GNN 包括了兩個關鍵詞,圖和神經網絡。圖是一種由節點和邊組成的數據結構。從簡單的地鐵路線圖,到RB Tree,到社交網絡,知識網絡,再到復雜的化學分子結構都可以看作是一種圖。神經網絡是一種由參數權重組成,能基於反向傳播端到端訓練學習的模型統稱。