通俗易懂 | 图神经网络入门笔记
作者|Rosey拜读了Jure Leskovec的《Representation Learning on Networks》才明白图神经网络到底在学什么,是如何学的,不同GNN模型之间...
作者 | Rosey
拜读了Jure Leskovec的《Representation Learning on Networks》才明白图神经网络到底在学什么,是如何学的,不同GNN模型之间的关系是什么。总的来说,不同类型的模型都是在探讨「如何利用图的节点信息去生成节点(图)的embedding表示」。
图表示学习的两大主流思想
-
线性化思想
-
-
Deepwalk,Node2vec,LINE
-
-
图神经网络
-
-
GCN,GraphSAGE,Gated GNN,subgraph embedding
-
Node embedding
「目标」:编码节点使其在embedding空间的相似性「近似」为在原网络的相似性
-
定义编码器encoder
-
定义节点相似性函数
-
优化参数使
可以看出,前两步是node embedding的核心。
第一个问题:如何映射节点到低维空间?
参考word2vec,借助embedding-lookup就可以


第二个问题:如何定义节点相似性?
「1. Adjacency-based similarity」
-
Similarity function 定义为原网络中两节点之间的边的权重
-
用点积近似边是否存在

-
找到使损失最小化的 embedding matrix
「2. Multi-hop similarity」
考虑 k-hop 节点
上述方法的大致思想都是:
-
定义节点对的相似性
-
优化embedding去近似它们的相似性
「3.Random walk approaches」
DeepWalk,Node2vec等,具体可参见之前的文章
Graph neural networks
图G定义为:
-
V 顶点集
-
A 邻接矩阵
-
为节点特征矩阵
-
-
文本、图像,例如社交网络中人口学信息
-
节点的度,聚类系数等
-
「如何表示节点」
-
核心思想:根据邻居节点生成节点的embedding
每个节点拥有独立的计算图
-
how to aggregate information across the layers
-
-
最简单的方法就是 求均值


-
其他方法......
-
-
定义loss训练模型
-
-
无监督
-
有监督
-
下面不同的GNN算法都是在「探索如何利用邻域节点生成当前节点的embedding表示」
-
「GNN基础思想」
-
「GCN」
-
「GraphSAGE」
AGG函数可以定义为:
-
-
Mean
-
Pool
-
LSTM
-
-
「Gated Graph Neural Networks」
「上述方法都是nodel-level embeddings」,如何embedding图?
-
Subgraph Embeddings

-
-
可以对子图的节点求和
-
引入“虚拟节点”表示子图
-
以上内容仅是对图神经网络初步了解的学习,《Representation Learning on Networks》[1]非常适合入门GNN,推荐大家阅读,有问题欢迎交流。
一起交流
想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定要备注信息才能通过)

本文参考资料
[1]
《Representation Learning on Networks》: http://snap.stanford.edu/proj/embeddings-www/
[2]Graph Representation Learning: https://jian-tang.com/files/AAAI19/aaai-grltutorial-part0-intro.pdf
- END -



更多推荐

所有评论(0)