图神经网络 | GNN概念初理解

图神经网络-GNN

在理解GNN这个分支时,看到了深度revealer博主的《简单粗暴带你快速理解GNN》,该视频很好的带我在数学侧面理解了GNN网络的本质;耿直哥发布的《【GNN图神经网络】直观透彻理解》,结合盗梦空间理解GNN本质,在概念方面很好的帮助我入门,以及拜读了GNN领域相关论文。

一、原理介绍

计算机视觉这些年蓬勃发展,很多模型在图处理上取得了很大成功,但是归根结底是处理的是常见的欧几里得空间的数据:图像、语音等等。然而现实中,我们会面临很多非欧空间的数据,日常用的微信、抖音等APP悄然建立起了一张张社交网络,对于这种数据,我们显然不能够像处理图片一样,所以针对知识图的神经网络GNN就出现了。
图神经网络 | GNN概念初理解_第1张图片

图结构的矩阵化表示——邻接矩阵

对于社交网络这种知识图数据,需要在图上应用神经网络,怎么表示图数据呢?答案是邻接矩阵
不过矩阵表示面临两个问题:

  1. 邻接矩阵在面临大数据时,矩阵的size会超级大;
  2. 并且由于边的稀疏性,邻接矩阵也是稀疏矩阵,空白点太多;
    所以,针对知识图的表示,往往可能会采用邻接表来节省空间。
    图神经网络 | GNN概念初理解_第2张图片

层内与层间的消息传递——聚合

GNN在本质上是一种特征提取算法。
聚合的引入,是对节点自身信息不足的一个补充:对于知识图中的节点,它的信息不只与自己的信息有关,还与同它相连的节点相关,下图是GNN的经典图示:
图神经网络 | GNN概念初理解_第3张图片
聚合操作
对于一个节点的特征,通过聚合操作,将与它相关的节点特征加和得到新的节点信息,一层加和可以包含邻接节点的特征。
更新迭代
当多次进行该操作,节点可以包含其邻接节点的邻接节点的信息,即实现二阶聚合,多次重复操作可以包含更多阶邻接点信息。

通过如上操作,可以在一定程度上,表示知识图节点的信息不只是与自身的信息有关,还与邻接节点相关。

GNN与表示学习Embedding的区别

Graph Embedding通过将关系三元组编码表示为低维向量,可以保存网络结构和节点信息,可以应用于一些非深度学习的方法;
GNN是深度学习对图的研究,可以用端到端的方法解决很多问题,而不仅仅是对图信息的表示,可以在GNN的基础上与其他深度学习模型结合有更好创新。

二、GCN模型发展

GCN

特点:层间通过将邻域节点聚合,实现卷积特征提取(在GNN常规训练中引入了卷积操作)
图神经网络 | GNN概念初理解_第4张图片

基于谱的图卷积网络

特点:聚合操作发生在频域空间。

GraphSAGE

特点:聚合时没有用到所有节点,而是先对节点进行采样再聚合。
图神经网络 | GNN概念初理解_第5张图片
图神经网络 | GNN概念初理解_第6张图片

GAT 图注意网络

特点:聚合时考虑了邻域节点的权重,应用注意力机制,针对重要的节点增加权重,不重要的节点降低权重。
图神经网络 | GNN概念初理解_第7张图片

Variational Graph Auto-Encoder

特点:将图与变分自编码器相结合,非监督模型,此处用到了GCN
图神经网络 | GNN概念初理解_第8张图片

参考文献与博客

[1] https://www.bilibili.com/video/BV1nu411e7yb/?spm_id_from=333.337.search-card.all.click&vd_source=a01f3f1841e09f4b819a5808b8ec6c1d
[2] https://www.bilibili.com/video/BV1Tf4y1i7Go/?spm_id_from=333.337.search-card.all.click&vd_source=a01f3f1841e09f4b819a5808b8ec6c1d
[3] https://distill.pub/2021/gnn-intro/
[4] https://www.bilibili.com/video/BV1iT4y1d7zP/?from=search&seid=17425771631747736862&spm_id_from=333.337.0.0&vd_source=a01f3f1841e09f4b819a5808b8ec6c1d
[5] https://zhuanlan.zhihu.com/p/430518493
[6] Scarselli, Franco et al. “The Graph Neural Network Model.” IEEE Transactions on Neural Networks 20 (2009): 61-80.
[7] Kipf, Thomas N., and Max Welling. “Variational graph auto-encoders.” arXiv preprint arXiv:1611.07308 (2016).
[8] Hamilton, Will, Zhitao Ying, and Jure Leskovec. “Inductive representation learning on large graphs.” Advances in neural information processing systems 30 (2017).
[9] Veličković, Petar, et al. “Graph attention networks.” arXiv preprint arXiv:1710.10903 (2017).
[10] Kipf, Thomas N., and Max Welling. “Semi-supervised classification with graph convolutional networks.” arXiv preprint arXiv:1609.02907 (2016).

你可能感兴趣的:(AI,NLP,笔记,神经网络,人工智能,机器学习)