背景

在之前深度学习主要关注例如文字的序列结构、图片的二维平面结构,处理的对象是序列或者二维图片 这种简单的排列。而现实中诸多数据表现为更为复杂的图结构,如社交网络、分子结构等。因此GNN就是深度学习在图数据结构上的一些模型、方法和应用。

GNN

GNN为什么能如此成功

  • GNN能够表示图这一非欧几里得的数据结构,并且不考虑节点的输入顺序。也就是说对于不同顺序的节点输入,输出是不变的。
  • GNN通过一个节点的邻居状态的权重和来更新这个节点的隐藏状态。
  • GNN能够从场景图片和故事文档等非结构化的数据中生成图片,而传统的NN并不能。

    概念

    GNN 的目标就是学习每个节点v的隐藏状态,而每个节点的表示由该节点的特征GNN(图神经网络) - 图1、与该节点连接的边的特征GNN(图神经网络) - 图2、该节点的邻居的隐藏状态GNN(图神经网络) - 图3及邻居的特征GNN(图神经网络) - 图4计算得到:
    GNN(图神经网络) - 图5
    节点的输出GNN(图神经网络) - 图6(例如节点的标签):
    GNN(图神经网络) - 图7

对于关注节点的任务,可以直接拿GNN(图神经网络) - 图8的表示去完成特定任务;而对于关注整个图的任务,可以通过将所有的节点的表示做 Pooling 或其他方法获得一个全局的表示信息然后去做相应的任务。