![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GNN
阿泽的学习笔记
微信公众号:阿泽的学习笔记
展开
-
【Code】OGB:图机器学习的基准测试数据集
1.OGB1.1 OverviewOpen Graph Benchmark(以下简称 OGB)是斯坦福大学的同学开源的 Python 库,其包含了图机器学习(以下简称图 ML)的基准数据集、数据加载器和评估器,目的在于促进可扩展的、健壮的、可复现的图 ML 的研究。OGB 包含了多种图机器学习的多种任务,并且涵盖从社会和信息网络到生物网络,分子图和知识图的各种领域。没有数据集都有特定的数据拆分和评估指标,从而提供统一的评估协议。OGB 提供了一个自动的端到端图 ML 的 pipeline,该 pip原创 2020-06-09 22:31:24 · 6988 阅读 · 1 评论 -
【GNN】NGCF:捕捉协同信号的 GNN
今天学习的是新加坡国立大学和中国科技大学同学合作的论文《Neural Graph Collaborative Filtering》,发表于 2019 年 ACM SIGIR 会议。Embedding 向量是现代推荐系统的核心,但是目前的方法无法捕捉到 user-item 交互中潜在的协作信号。因此,由此产生的 Embedding 向量可能不足以捕获到协同过滤的内容。为此,作者提出神经网络协同过滤(Neural Graph Collaborative Filtering,NGCF),旨在将 user-it原创 2020-06-09 22:30:13 · 1388 阅读 · 0 评论 -
【GNN】WL-test:GNN 的性能上界
今天学习斯坦福大学同学 2019 年的工作《HOW POWERFUL ARE GRAPH NEURAL NETWORKS?》,这也是 Jure Leskovec 的另一大作。我们知道 GNN 目前主流的做法都是通过迭代地对邻居进行聚合(aggreating)和转换(transforming)来更新节点的表示向量。而在这篇文章中,本文作者提出了一个可以用于分析 GNN 能力的理论框架,通过对目前比较流行的 GNN 变体(如 GCN、GraphSAGE 等)进行分析,其结果表明目前的 GNN 变体甚至无法区分原创 2020-06-09 22:28:31 · 7310 阅读 · 3 评论 -
【GNN】PinSAGE:GCN 在工业级推荐系统中的应用
今天学习的是 Pinterest 和斯坦福大学 2018 年合作的论文《Graph Convolutional Neural Networks for Web-Scale Recommender Systems》,目前有 200 多次引用。论文中提出的 PinSAGE 结合了随机游走和 GCN 来生成节点的 Embedding 向量。同时考虑了图结构和节点的特征信息。此外,PinSAGE 也设计了一种新颖的训练策略,该策略可以提高模型的鲁棒性并加快模型的收敛。这篇论文是 GraphSAGE 一次成功的应原创 2020-06-09 22:26:50 · 2658 阅读 · 1 评论 -
【GNN】NLNN:self-Attention 的泛化框架
今天学习的是 CMU 和 Facebook 的同学 2017 年的工作《Non-local Neural Networks》,发表于 CVPR 18,作者王小龙,导师是何凯明老师,这篇论文的截止目前的引用量有 1100 多次。这篇论文的应用领域最初是在计算机视觉,作者提出的非局部神经网络(non-local neural network,NLNN)来捕获深度神经网络的长依赖关系,这种非局部运算是对所有位置特征的加权计算,因此也可以被看作是不同“self-attention”的方法的统一。1.Intro原创 2020-06-09 22:25:59 · 1329 阅读 · 0 评论 -
【GNN】JK-Net:深层 GNN 架构
今天学习的是 MIT 同学 2018 年的论文《Representation Learning on Graphs with Jumping Knowledge Networks》,发表于 ICML,目前共有 140 多次引用。目前的图表示学习都遵循着领域聚合的方式,但这种方式的层数无法增加,kipf 的 GCN 使用了两层模型,随着深度增加会出现 over-smooth 的问题,导致性能下降。为了更好的学习邻居的结合和属性,作者提出了一种叫跳跃知识的网络(Jumping Knowledge Netwo原创 2020-06-09 22:23:51 · 4361 阅读 · 0 评论 -
【GNN】GN:更通用的 GNN 架构
今天学习的是 DeepMind 2018 年的工作《Relational inductive biases, deep learning, and graph network》,目前超 500 次引用。这篇论文是 DeepMind 联合谷歌大脑、MIT、爱丁堡大学等 27 名同学发表的重磅论文,同时提出了“图网络”的框架,将端到端学习与归纳推理相结合,并有望解决深度学习无法进行关系推理的问题。这篇论文一部分是对过去的工作进行回顾,另一部分是过去的工作进行总结与统一。作者指出组合泛化能力(combinato原创 2020-06-09 22:22:46 · 2105 阅读 · 0 评论 -
【GNN】GCMC:GNN 在推荐系统中的应用
今天学习的是 KDD18 的一篇论文《Graph Convolutional Matrix Completion》,作者是阿姆斯特大学的同学,Thomas N. Kipf 大佬是二作。前面我们介绍了 Kipf 大佬利用变分自编码器(VGAE)来完成链接预测问题,链接预测问题放在矩阵中可以被认为是矩阵补全。这篇论文在 VGAE 的基础上提出了 GCMC 模型,设计了一个可微的基于消息传递的图自编码框架进行矩阵补全(matrix completion),同时考虑边信息和网络结构,并分析了边信息在推荐系统冷启动原创 2020-06-09 22:21:34 · 3763 阅读 · 0 评论 -
【GNN】GAT:Attention 在 GNN 中的应用
今天学习的是剑桥大学的同学 2017 年的工作《GRAPH ATTENTION NETWORKS》,目前引用数量超过 1100 次。Attention 机制在 NLP CV 等领域被广泛应用,其可以帮助模型对输入数据赋予不同的权重信息。同样的,Attention 也可以应用于网络图中,它可以对邻居中不同的节点指定不同的权重,既不需要进行矩阵运算,也不需要事先了解图的全局结构。通过这种方式,作者解决了基于频谱的图神经网络的几个关键问题,并使得模型更方便的应用于归纳和转换问题。1.Introduction原创 2020-06-09 22:20:28 · 2469 阅读 · 1 评论 -
【GNN】Diff Pool:网络图的层次化表达
今天学习的是斯坦福大学的同学 2018 年的工作《Hierarchical Graph Representation Learning with Differentiable Pooling》,目前共有 140 多次引用。目前,GNN 在图分类任务中的处理方法本质上是平面的(Flat),无法学习图形的层次化表达。对于一个包含多个标签的图来说,传统的方法都是为图中每个节点生成一个 Embedding 向量,然后利用这些 Embedding 向量来做全局池化或者输入到 MLP 中来预测图标签,但这种方法忽视了原创 2020-06-09 22:19:24 · 1467 阅读 · 0 评论 -
【GNN】R-GCN:GCN 在知识图谱中的应用
关注公众号跟踪最新内容:阿泽的学习笔记。今天学习的是阿姆斯特丹大学 Michael Schlichtkrull 大佬和 Thomas N. Kipf 大佬于 2017 年合作的一篇论文《Modeling Relational Data with Graph Convolutional Networks》,目前引用超 400 次,虽然这篇文章只是发到了 C 类会议,但论文中提出的 R-GCN 无疑开创了使用 GCN 框架去建模关系网络的先河。(只发到 C 可能是因为 R-GCN 表现不太好)这篇论文主要原创 2020-06-09 22:18:11 · 13842 阅读 · 2 评论 -
【GNN】MPNN:消息传递神经网络
今天学习的是谷歌大脑的同学 2017 年的工作《Neural Message Passing for Quantum Chemistry》,也就是我们经常提到的消息传递网络(Message Passing Neural Network,MPNN),目前引用数超过 900 次。严格来说,MPNN 不是一个模型,而是一个框架。作者在这篇论文中主要将现有模型抽象其共性并提出成 MPNN 框架,同时利用 MPNN 框架在分子分类预测中取得了一个不错的成绩。1.Introduction深度学习被广泛应用于图像、原创 2020-06-08 16:30:01 · 12415 阅读 · 1 评论 -
【GNN】VGAE:利用变分自编码器完成图重构
今天学习的是 Thomas N. Kipf 的 2016 年的工作《Variational Graph Auto-Encoders》,目前引用量为 260 多。VGAE 属于图自编码器,是图神经网络细分类别的一大类。Kipf 同学也非常厉害,其影响力最大的一篇论文莫过于 2017 年提出的 GCN 模型。VGAE 全称为 Variational Graph Auto-Encoders,翻译过来就是变分图自编码器,从名字中我们也可以看出 VGAE 是应用于图上的变分自编码器,是一种无监督学习框架。看到这原创 2020-05-21 21:14:22 · 4659 阅读 · 2 评论 -
【Code】GraphSAGE 源码解析
1.GraphSAGE本文代码源于 DGL 的 Example 的,感兴趣可以去 github 上面查看。阅读代码的本意是加深对论文的理解,其次是看下大佬们实现算法的一些方式方法。当然,在阅读 GraphSAGE 代码时我也发现了之前忽视的 GraphSAGE 的细节问题和一些理解错误。比如说:之前忽视了 GraphSAGE 的四种聚合方式的具体实现,对 Alogrithm 2 的算法理解也有问题,再回头看那篇 GraphSAGE 的推文时,实在惨不忍睹= =。进入正题,简单回顾一下 GraphSAG原创 2020-05-21 21:09:31 · 4960 阅读 · 3 评论 -
【GNN】GraphSAGE:GCN 可能没我强
今天看的论文是斯坦福大学的同学的论文《Inductive Representation Learning on Large Graphs》,于 2017 年发表于 NIPS,目前被引次数超过 1200 次。对于大规模网络图来说,低维的分布编码具有举足轻重的意义,但现有的诸多模型都属于直推式学习(transductive),其可以解决参与训练的节点的编码问题,但无法泛化到未知节点(即,如果有新节点加入需要重新训练)。针对这一痛点,斯坦福大学的同学提出了归纳式学习算法(inductive)——GraphSAG原创 2020-05-21 21:07:58 · 836 阅读 · 0 评论 -
【Code】关于 GCN,我有三种写法
本篇文章主要基于 DGL 框架用三种不同的方式来实现图卷积神经网络。1. DGLDGL(Deep Graph Library)框架是由纽约大学和 AWS 工程师共同开发的开源框架,旨在为大家提供一个在图上进行深度学习的工具,帮助大家更高效的实现算法。用现有的一些框架比如 TensorFlow、Pytorch、MXNet 等实现图神经网络模型都不太方便,同样现有框架实现图神经网络模型的速度不够快。DGL 框架设计理念主要在于将图神经网络看作是消息传递的过程,每一个节点会发出它自己的消息,也会接收来自其原创 2020-05-21 21:06:23 · 2647 阅读 · 1 评论 -
【GNN】万字长文带你入门 GCN
断断续续写了一个多星期,期间找了很多同学讨论学习,感谢指导过点拨过我的同学们,为了精益求精本着不糊弄别人也不糊弄自己的原则在本文中探讨了很多细节。当然,还有很多细节没提到,包括总变差(Total Variation)、空域和频域视角下的图信号等,有兴趣的同学可以深入了解下图信号处理,本人才疏学浅还希望抛砖引玉引出更多的 GCN 的文章。非常感谢知乎 @superbrother 同学和蘑菇先生的精彩笔记才使得我能够入门 GCN,当然我也将公开我的笔记希望能帮助更多的同学。1. Convolutional原创 2020-05-21 21:03:13 · 1689 阅读 · 0 评论