【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)
【論文閱讀】A Gentle Introduction to Graph Neural Networks [圖神經網絡入門](1)
最近讀了一篇Distill網站上的一篇文章,講的是圖神經網絡的入門,我給翻譯了一下供大家參考。
?原文章閱讀請移步至A Gentle Introduction to Graph Neural Networks。非常推薦大家去原網址讀這篇文章,因為這個網站上的文章的圖都具有交互性,可讀性很高,非常便于大家理解。
?如果大家想看這篇文章的視頻解讀的話,非常推薦大家去聽,是李沐老師為大家講解,李沐老師講的很好。請移步至零基礎多圖詳解圖神經網絡(GNN/GCN)【論文精讀】
注:1. 我是一段一段翻譯的,所以會以一段原文一段翻譯的形式呈現;
? 2. 小一號的字體為原作者對文章的圖或者一段話的解釋;
? 3. 小一號的加粗字體為圖的名稱或者圖下面的翻譯;
? 4. 灰色字體為我自己對文章的一些粗淺的見解;
? 5. 斜體字為原文章的斜體字。
? 6. 大一號的加粗字體是文章每節的標題
Neural networks have been adapted to leverage the structure and properties of graphs. We explore the components needed for building a graph neural network - and motivate the design choices behind them.
神經網絡被用來利用圖的結構和屬性。我們將探索構建圖神經網絡所需的模塊,并解釋它們背后設計選擇的原因。
圖1-2
圖1-3
Hover over a node in the diagram below to see how it accumulates information from nodes around it through the layers of the network.
將鼠標懸停在下圖中的一個節點上,查看它是如何通過網絡層從周圍的節點收集信息的。
可以看到,每個節點是通過下一層與其的有聯系的節點來收集信息的。例如圖1-1中Layer 2中的一個節點就是通過Layer 3中與這個節點有聯系的節點來收集信息的。每一層都是通過下一層的節點來收集信息的。
This article is one of two Distill publications about graph neural networks. Take a look at Understanding Convolutions on Graphs1 to understand how convolutions over images generalize naturally to convolutions over graphs.
本文是兩篇Distill關于圖神經網絡的出版物之一。觀察一下圖的卷積操作1,以理解圖像上的卷積如何自然地泛化到圖上的卷積。
Graphs are all around us; real world objects are often defined in terms of their connections to other things. A set of objects, and the connections between them, are naturally expressed as a graph. Researchers have developed neural networks that operate on graph data (called graph neural networks, or GNNs) for over a decade.2 Recent developments have increased their capabilities and expressive power. We are starting to see practical applications in areas such as antibacterial discovery 3, physics simulations4 , fake news detection5 , traffic prediction6 and recommendation systems7 .
圖圍繞著我們的日常生活;現實世界的對象通常是根據它們與其他事物的聯系來定義的。一組對象,以及它們之間的聯系,可以自然地使用圖表示出來。十多年來,研究人員已經開發出基于圖數據的神經網絡(稱為圖神經網絡,或GNN)2。最近的發展提高了它們的功能和表達能力。我們開始看到它在抗菌發現3、物理模擬4、假新聞檢測5、交通預測6和推薦系統7等領域的實際應用。
This article explores and explains modern graph neural networks. We divide this work into four parts. First, we look at what kind of data is most naturally phrased as a graph, and some common examples. Second, we explore what makes graphs different from other types of data, and some of the specialized choices we have to make when using graphs. Third, we build a modern GNN, walking through each of the parts of the model, starting with historic modeling innovations in the field. We move gradually from a bare-bones implementation to a state-of-the-art GNN model. Fourth and finally, we provide a GNN playground where you can play around with a real-word task and dataset to build a stronger intuition of how each component of a GNN model contributes to the predictions it makes.
本文探討并解釋了現代圖神經網絡。我們把這項工作分成四個部分。首先,我們看看什么樣的數據可以自然地用圖來表達,以及列舉一些常見的例子。其次,我們將探討是什么使圖不同于其他類型的數據,以及在使用圖時必須做出的一些特殊的選擇。第三,我們將構建一個現代GNN模型,從該領域的歷史建模創新開始,遍歷模型的每個部分。我們逐步從一個最基本的實現過渡到最先進的GNN模型。第四,也是最后,我們提供了一個GNN playground,在這里您可以使用一個real word任務和相關數據集來對GNN有一個更好的理解,了解GNN模型的每個部分如何對其所做的預測發揮作用。
To start, let’s establish what a graph is. A graph represents the relations (edges) between a collection of entities (nodes).
首先,讓我們先定義什么是圖。圖表示實體(節點)集合之間的關系(邊)。
我們可以在圖中找到三種類型的屬性,將鼠標懸停以突出顯示每個屬性。其他類型的圖和屬性將在“其他類型的圖”一節中討論。
V: Vertex (or node) attributes.
e.g., node identity, number of neighbors
V: 頂點(或節點)屬性。例如,節點標識,鄰居的數量
E: Edge (or link) attributes and directions.
e.g., edge identity, edge weight
E: 邊(或連接)屬性和邊的方向。例如,邊標識,邊權值
U: Global (or master node) attributes.
e.g., number of nodes, longest path
U: 全局(或主節點)屬性。例如,節點數,最長路徑
To further describe each node, edge or the entire graph, we can store information in each of these pieces of the graph. 為了進一步描述每個節點、邊或者整個圖,我們可以在圖的每個部分中存儲信息。
標量或embeddings形式的信息可以存儲在每個圖節點(左)或邊(右)中。
可以看到,節點使用長度為6的向量來表示; 邊使用長度為8的向量來表示; 全局使用長度為5的向量來表示。這個圖的意思是怎樣把我們想要的信息表示成向量的形式進行存儲。
We can additionally specialize graphs by associating directionality to edges (directed, undirected).
我們還可以通過將方向性與邊(有向、無向)聯系起來來使圖具有特殊性。
這些邊可以是有方向的,其中邊eee有一個源節點vsrcv_{src}vsrc?,和一個目標節點vdstv_{dst}vdst?。在這種情況下,信息從vsrcv_{src}vsrc?流向vdstv_{dst}vdst?。它們也可以是無方向的,即沒有源節點或目標節點,信息是雙向流動的。請注意,擁有一條無向邊等價于擁有一條從vsrcv_{src}vsrc?到vdstv_{dst}vdst?的有向邊,以及另一條從vdstv_{dst}vdst?到vsrcv_{src}vsrc?的有向邊。
Graphs are very flexible data structures, and if this seems abstract now, we will make it concrete with examples in the next section.
圖是非常靈活的數據結構,如果現在看起來很抽象,我們將在下一節中通過示例使其具體化。
參考文獻
[1] Understanding Convolutions on Graphs Daigavane, A., Ravindran, B. and Aggarwal, G., 2021. Distill. DOI: 10.23915/distill.00032 ?? ??
[2] The Graph Neural Network Model Scarselli, F., Gori, M., Tsoi, A.C., Hagenbuchner, M. and Monfardini, G., 2009. IEEE Transactions on Neural Networks, Vol 20(1), pp. 61–80. ?? ??
[3] A Deep Learning Approach to Antibiotic Discovery Stokes, J.M., Yang, K., Swanson, K., Jin, W., Cubillos-Ruiz, A., Donghia, N.M., MacNair, C.R., French, S., Carfrae, L.A., Bloom-Ackermann, Z., Tran, V.M., Chiappino-Pepe, A., Badran, A.H., Andrews, I.W., Chory, E.J., Church, G.M., Brown, E.D., Jaakkola, T.S., Barzilay, R. and Collins, J.J., 2020. Cell, Vol 181(2), pp. 475–483. ?? ??
[4] Learning to simulate complex physics with graph networks Sanchez-Gonzalez, A., Godwin, J., Pfaff, T., Ying, R., Leskovec, J. and Battaglia, P.W., 2020. ?? ??
[5] Fake News Detection on Social Media using Geometric Deep Learning Monti, F., Frasca, F., Eynard, D., Mannion, D. and Bronstein, M.M., 2019. ?? ??
[6] Traffic prediction with advanced Graph Neural Networks *, O.L. and Perez, L… ?? ??
[7] Pixie: A System for Recommending 3+ Billion Items to 200+ Million Users in {Real-Time} Eksombatchai, C., Jindal, P., Liu, J.Z., Liu, Y., Sharma, R., Sugnet, C., Ulrich, M. and Leskovec, J., 2017. ?? ??
總結
以上是生活随笔為你收集整理的【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易有道:近期将推出教育场景下的Chat
- 下一篇: 【论文阅读】A Gentle Intro