今天学习的是新加坡国立大学和中国科技大学同学合作的论文《Neural Graph Collaborative Filtering》,发表于 2019 年 ACM SIGIR 会议。
构建了一个GNN,并对其进行了详细地解释。 提供了一个GNN的playground,用户可以在其中选择参数在线训练GNN。 1.图是什么? 计算机专业的同学由于学过数据结构,对图肯定很熟悉了。 一句话概括GNN:GNN是对图的所有属性(节点、边、全局上下文)进行的可优化的一种变换,它保留了图的对称性(置换不变性)。 三个MLP组成了GNN的一层,经过GNN的一层后,原图的节点、边以及全局的状态向量都被更新过,但整个图的结构并没有发生变化。 7.2 采样和批处理 GNN存在邻居爆炸的问题,即:GNN会不断地聚合图中相邻节点的信息,第L层GNN中的每个目标节点都需要聚合原图中L层以前的所有节点信息。 而在GNN中,则具有图对称性:也就是排列无关性,即使交换了顶点的顺序,GNN对其的作用都保持不变。
今天学习的是 MIT 同学 2018 年的论文《Representation Learning on Graphs with Jumping Knowledge Networks》,发表于 ICML,目前共有 140 多次引用。
近年来比较经典的研究图神经网络的主体包括: 2009年,Scarselli 等人提供了早期 GNN 方法的权威概述; 2017 年,Bronstein 等人提供了关于非欧空间中深度学习的调研,并探索了 GNN、GCN 和相关的谱方法; 2017 年,Gilmer 等人引入了消息传递神经网络(MPNN),统一了各种 GNN 和 GCN 方法; 2018 年,Wang 等人引入了非局部神经网络(NLNN) GN 框架可以概括和扩展各种 GNN、MPNN 和 NLNN 方法,并支持用简单的组建(building blocks)来构建复杂的网络结构(architectures)。 5.Discussion 本文作者分析了关系归纳偏置在深度学习架构中存在的程度,如 MLP、GNN 和 RNN,并得出结论:虽然 CNN 和 RNN 存在关系归纳偏差,但是它们并不能处理更结构化的表示,
时晴,本文大多摘自引文Rishabh Anand的文章 GNN的可视化解释! 简 介 近来发现非常多的建模问题中都使用了GNN方法,便去学习了一番,后来发现了一篇非常不错的GNN的可视化解释文章,便将其翻译整理和大家一起分享。 下面我们就一起来看看GNN是如何工作的。 GNN 1.关于图 图一般由两个核心模块组成,分别是:节点和边。 ? 如上图所示,黑色的箭头是边的指向,表示一种关系,注意此处我们表示的是有向图。 从上面GNN的直观解释中,我们知道了图形神经网络是如何工作的,那什么时候使用它会更为方便或者什么时候可以直接使用它呢? follow和被follow的信息构建图,然后学习每个用户的embeddings信息聚类; 内容推荐,依据用户流量内容的关联关系,对用户进行内容推荐; 当然,我觉得只要是能构建成图的数据,都可以尝试使用gnn
这篇论文的主要贡献主要有两点: 将 GNN 应用于带有 side information 的矩阵补全任务中,并证明基于消息传递的模型比之前的复杂模型具有更好的性能; 引入了 Dropout 正则化技术:
\pytorch-GNN-1st-main\pytorch-GNN-1st-main\data\第9章28\第9章28\cora') 需要读取到的数据文件有两个: cora.content: 这个文件中的数据矩阵大小为
今天学习的是剑桥大学的同学 2017 年的工作《GRAPH ATTENTION NETWORKS》,目前引用数量超过 1100 次。
而在这篇文章中,本文作者提出了一个可以用于分析 GNN 能力的理论框架,通过对目前比较流行的 GNN 变体(如 GCN、GraphSAGE 等)进行分析,其结果表明目前的 GNN 变体甚至无法区分某些简单的图结构 GNN 的性质和局限性。 与 GNN 类似,WL-test 可以通过聚合邻居节点的特征向量来迭代给定的特征向量,但目前的 GNN 的表达能力都不如 WL-test。 本文有以下贡献: 「证明出 WL-test 是 GNN 的表达能力上限」; 「提出了一个可以用于分析 GNN 能力的理论框架」; 「设计了聚合函数和读出函数,使得 GNN 可与 WL-test 一样强大 「定理 1」:设 GNN 有 ,多于可以通过 WL-test 判断的两个图 G1 和 G2,在 GNN 层数多的情况下,满足以下情况时,GNN 也可以判断两个图: a)GNN 的节点聚合和更新函数通过以下公式进行迭代
Inductive learning v.s. Transductive learning
而在这篇文章中,本文作者提出了一个可以用于分析 GNN 能力的理论框架,通过对目前比较流行的 GNN 变体(如 GCN、GraphSAGE 等)进行分析,其结果表明目前的 GNN 变体甚至无法区分某些简单的图结构 GNN 的性质和局限性。 与 GNN 类似,WL-test 可以通过聚合邻居节点的特征向量来迭代给定的特征向量,但目前的 GNN 的表达能力都不如 WL-test。 本文有以下贡献: 「证明出 WL-test 是 GNN 的表达能力上限」; 「提出了一个可以用于分析 GNN 能力的理论框架」; 「设计了聚合函数和读出函数,使得 GNN 可与 WL-test 一样强大 「定理 1」:设 GNN 有 ,多于可以通过 WL-test 判断的两个图 和 ,在 GNN 层数多的情况下,满足以下情况时,GNN 也可以判断两个图: a)GNN 的节点聚合和更新函数通过以下公式进行迭代
原文链接:GNN 系列(三):GraphSAGE 作者:金良,杨开漠 Inductive learning v.s.
最近看到的几篇GNN论文,感觉还比较有意思~分享给大家~ On Explainability of Graph Neural Networks via Subgraph Explorations ? 本文提出了一种新的GNN解释性方法,称为SubgraphX,通过识别重要的子图来解释GNNs。 给定一个训练好的GNN模型和一个输入图,SubgraphX通过蒙特卡罗树搜索有效地探索不同的子图来解释它的预测。为了使树搜索更有效,本文提出使用Shapley值作为子图重要度的度量。 目前,GNN的优化特性还不太清楚。通过研究GNNs的梯度动力学,本文迈出了分析GNN训练的第一步。 首先,我们分析了线性化GNN,并证明了尽管训练具有非凸性,但在温和的假设下,以线性速率收敛到全局最小值是可以保证的。我们在实际图上验证了这一点。其次,研究了影响GNNs训练速度的因素。
一、关于GNN 不知不觉图神经网络已经大火了好几年了,然而还是有很多炼丹师没有涉足这块领域。作者知道 GNN 这个名词,还是因为 GCN 这篇论文大火。 相信还是有很多人和作者刚开始学习 GNN 一样,分不清 GNN 和 GCN的区别。作者希望这一系列的学习笔记,能帮助读者,即使 GNN 公式看不懂,也能灵活运用 GNN 去解决我们遇到的问题。 先简单介绍下GNN模型。 线性GNN 这样设计保证了在任意下能收缩到一个恒定的向量。 2. 非线性GNN 也使用mlp,但是这样无法保证了在任意下能收缩到一个恒定的向量,所以损失函数需要加正则项。 后续会分享GNN各种变体,graphsage,GCN以及代码实战。
文章分类在学习摘录和笔记专栏: 学习摘录和笔记(26)---《图神经网络(GNN)》 图神经网络(GNN) 1 图神经网络(GNN)介绍 图不但包含数据,也包含数据之间的依赖关系,因而图神经网络 (GNN)在自然语言处理(NLP)方面的表现有着非常大的潜力。 图神经网络(GNN)最擅长处理和建模图结构数据。 GNN的工作原理简单概况就是,聚合节点的邻居节点/边的信息,来更新节点的向量表征。 2 GNN面临的挑战 GNN4NLP面临诸多挑战: 如何自动地把文本数据转换成有效的图结构数据,并保留对下游任务有帮助的重要信息; 如何针对不同类型的图结构数据,开发出有效的GNN模型; 如何端到端地学习复杂类型数据之间的映射关系 常见的有基于元路径的(meta-path based),关系神经网络延伸的(R-GNN based)等等。
图神经网络(GNN)是一种学习图结构的神经网络。学习图结构允许我们在欧几里德空间中表示图的节点,这对于一些下游的机器学习任务非常有用。 最近关于GNN的工作在链接预测、图分类和半监督任务方面表现出了令人印象深刻的性能(Hamilton et al., 2017b)。 由于人们对机器学习社区越来越感兴趣,希望更多地了解这些技术,因此本文提供了关于GNN的介绍。 本文组织如下:首先,介绍了图和网络的基本概念。其次,我们描述了在GNNs中用于计算节点嵌入的主要步骤。 接下来,我们将介绍现有文献中经常提到的三种GNN技术。最后,我们对该领域的其他著名作品进行了有限的综述 ? ? ? ? ? ? ?
本文首先介绍Graph Embedding,为结构化的graph生成分布式表示;然后介绍Graph Convolutional Network(图卷积),接着简单介绍基于图的序列建模,最后简要总结了下GNN GNN应用简介 社交网络数据挖掘 社交广告(lookalike)/社区挖掘/link prediction CV领域,尤其是3D 例如:基于人体骨架关键点的人类动作识别——ST-GCN(AAAI 2018 Image Captioning(ECCV 2018) NLP GNN在NLP应用不多,这里就整体在high level上简单介绍GNN的应用吧: 在20NG/ohsumed/R52和R8/MR测试,其中
为什么使用GNN,因为相关性是一个网络。 邻接矩阵是GNN要得到的东西,但是相关性的邻接矩阵不就是相关性矩阵吗 所以可以直接计算相关性矩阵来实现,但是这种做法是十分耗时的。 思考:预训练编码器(信源编码),然后通过任意DNN预测模态间特征的邻接矩阵(融合指导),使用GNN预测每一个特征上的附加信息(信道编码)。
在这次综述中,我们对图神经网络进行了全面的时间序列分析(GNN4TS),包括四个基本维度:预测、分类、异常检测和插补。我们的目标是指导设计师和实践者理解,构建应用,并推进GNN4TS的研究。 首先,我们提供了一个全面的任务导向的GNN4TS分类。然后,我们介绍并讨论代表性的研究工作,最后讨论GNN4TS的主流应用。关于潜在的未来研究方向的全面讨论完整了这次综述。 第3节从不同的角度提出了GNN4TS的分类法,以及一个总体流程。第4节、第5节、第6节和第7节回顾了GNN4TS文献中的四个主要分析任务。 在这里,我们还提供了一个使用GNN分析时间序列数据的一般流程。这些视角的结合提供了对GNN4TS的全面概述。 最近,基于图神经网络(GNN)的方法在显式和有效地建模多变量时间序列数据的空间和时间依赖关系方面显示出了巨大的潜力,从而提高了预测性能。基于GNN的预测模型可以从多个角度进行分类和研究。
在工业界的应用,主要是下图所示:图片1.2 GNN起源GNN起源于两种动机,一种动机来自于卷积神经网络(CNN),另一种动机来自于图嵌入(graph embedding)。 GNN的输出会随着输入的不同而不同。 通常来说,GNN通过邻居节点的加权求和来更新节点的隐藏状态。 GNN尝试从非结构化数据比如情景图片和故事文本中产生结构化的图,并通过这些图来生成更高级的AI系统。 1.4 GNN分类GNN的模型分类如下:图卷积网络(Graph convolutional networks)和图注意力网络(graph attention networks),因为涉及到传播步骤(propagation