Re: [閒聊] GNN

作者: Apache (阿帕契)   2020-01-11 22:21:31
https://zhuanlan.zhihu.com/p/76001080
GNN簡介
圖(graph)是一種數據結構,圖神經網絡(Graph Neural Network)應該是深度學習在圖結
構數據上的一些模型、方法和應用。常見的圖結構由節點(node)和邊(edge)構成,節點包
含了實體(entity)信息,邊包含實體間的關係(relation)信息。現在許多學習任務都需要
處理圖結構的數據,比如物理系統建模(physics system)、學習分子指紋(molecular
fingerprints)、蛋白質接口預測(protein interface)以及疾病分類(classify
diseases),這些都需要模型能夠從圖結構的輸入中學習相關的知識。
GNN起源
GNN起源於兩種動機,一種動機來自於卷積神經網絡(CNN),另一種動機來自於圖嵌入
(graph embedding)。
第一種來源於CNN,CNN能夠提取出多尺度的局部空間特徵,並將它們進行組合來構建更加
高級的表示(expressive representations)。如果深入研究CNN和圖結構的特點,可以發
現CNN的核心特點在於:局部連接(local connection),權重共享(shared weights)和多
層疊加(multi-layer)。這些同樣在圖問題中非常試用,因為圖結構是最典型的局部連接
結構,其次,共享權重可以減少計算量,另外,多層結構是處理分級模式(hierarchical
patterns)的關鍵。然而,CNN只能在歐幾里得數據(Euclidean data),比如二維圖片和一
維文本數據上進行處理,而這些數據只是圖結構的特例而已,對於一般的圖結構,可以發
現很難將CNN中的捲積核(convolutional filters)和池化操作(pooling operators)遷移
到圖的操作上。如下圖,左圖為圖像,是比較明顯的Euclidean數據,而右圖為普通的
graph結構。
另一種動機來源於圖嵌入(embedding),所謂嵌入,就是對圖的節點、邊或者子圖
(subgraph)學習得到一個低維的向量表示,傳統的機器學習方法通常基於人工特徵工程來
構建特徵,但是這種方法受限於靈活性不足、表達能力不足以及工程量過大的問題,詞嵌
入常見的模型有Skip-gram,CBOW等,圖嵌入常見模型有DeepWalk,Node2Vec等,然而,
這些方法方法有兩種嚴重的缺點,首先就是節點編碼中權重未共享,導致權重數量隨著節
點增多而線性增大,另外就是直接嵌入方法缺乏泛化能力,意味著無法處理動態圖以及泛
化到新的圖。
GNN和傳統NN的區別
首先,標準的神經網絡比如CNN和RNN不能夠適當地處理圖結構輸入,因為它們都需要節點
的特徵按照一定的順序進行排列,但是,對於圖結構而言,並沒有天然的順序而言,如果
使用順序來完整地表達圖的話,那麼就需要將圖分解成所有可能的序列,然後對序列進行
建模,顯然,這種方式非常的冗餘以及計算量非常大,與此相反,GNN採用在每個節點上
分別傳播(propagate)的方式進行學習,由此忽略了節點的順序,相當於GNN的輸出會隨著
輸入的不同而不同。
另外,圖結構的邊表示節點之間的依存關係,然而,傳統的神經網絡中,依存關係是通過
節點特徵表達出來的,也就是說,傳統的神經網絡不是顯式地表達中這種依存關係,而是
通過不同節點特徵來間接地表達節點之間的關係。通常來說,GNN通過鄰居節點的加權求
和來更新節點的隱藏狀態。
最後,就是對於高級的人工智能來說,推理是一個非常重要的研究主題,人類大腦的推理
過程基本上都是基於圖的方式,這個圖是從日常的生活經歷中學習得到的。GNN嘗試從非
結構化數據比如情景圖片和故事文本中產生結構化的圖,並通過這些圖來生成更高級的AI
系統。
作者: xxtuoo (浪費時間不好QQ)   2020-01-11 22:23:00
gnn能生小孩再叫我Zzz
作者: scmono (摸諾)   2020-01-11 22:25:00
答案是C
作者: moonoftree (月之樹)   2020-01-11 22:27:00
大師
作者: litcurler ( )   2020-01-11 22:37:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com