概述
作者 | 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等,具体可参见之前的文章
DeepWalk:图网络与NLP的巧妙融合
Node2Vec:万物皆可Embedding
LINE:不得不看的大规模信息网络嵌入
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 -
业务,工程和算法的互殴现场
2021-03-03
如何将用户行为和属性用于推荐系统?
2021-03-02
SDNE:深度模型图网络
2021-03-01
FLAT——中文NER该怎么做
2021-02-19
最后
以上就是魁梧舞蹈为你收集整理的通俗易懂 | 图神经网络入门笔记的全部内容,希望文章能够帮你解决通俗易懂 | 图神经网络入门笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复