文章分类在学习摘录和笔记专栏: 学习摘录和笔记(26)---《图神经网络(GNN)》 图神经网络(GNN) 1 图神经网络(GNN)介绍 图不但包含数据,也包含数据之间的依赖关系,因而图神经网络 图神经网络(GNN)最擅长处理和建模图结构数据。 GNN的工作原理简单概况就是,聚合节点的邻居节点/边的信息,来更新节点的向量表征。 最后,清楚图的结构和转化后,该如何选择合适的图神经网络进行学习? 1. 对于同构图,总结了一类成为homogeneous GNN的图神经网络类型。 常见的有基于元路径的(meta-path based),关系神经网络延伸的(R-GNN based)等等。 语义角色标注(Semantic Role Labelling) 参考:新智元 《自然语言处理中图神经网络从入门到精通》 文章若有不当和不正确之处,还望理解与指出。
来源:百度Aistudio 图神经网络7日打卡营 图(graph)近来正逐渐变成机器学习的一大核心领域,在开始PGL框架学习之前,我们先简单学习一下图论的基本概念,图论的经典算法,以及近些年来图学习的发展 图是什么? 二. 如何存储图? 三. 图的类型和性质 四. 主要的图算法 五. 图机器学习的发展 一. 图是什么? 如果该图是无向图,则 A 是对称的。 ! 传统同构图(Homogeneous Graph)数据中只存在一种节点和边,因此在构建图神经网络时所有节点共享同样的模型参数并且拥有同样维度的特征空间。 图机器学习的发展 将在PGL系列前置教程:图与图学习(下)展示。
关于图的概念可以参考图论整理 ,这里不再赘述。 图神经网络Graph neural networks(GNNs)是深度学习在图领域的基本方法,它既不属于CNN,也不属于RNN。 这个是图神经网络核心的概念。 图任务(Graph Tasks) 上图是一个节点的分类任务,在左边的部分,有些节点有颜色,有些节点没颜色。 图神经网络很难可视化,它不像图像或者声音那样有可以确定的样子和波形,过于抽象,错综复杂。 在d图中,可以对图结构中的每一个节点也可以进行分类,我们可以把每一个节点类比于图像分割中每一个像素的分类。 GNN的应用 一切皆是图 图神经网络可以应用于物理上,也可以应用于化学上或者生物上。 图卷积神经网络(Graph Convolution Networks) GCN是一种可以直接作用于图上的卷积神经网络,它能够提取图的特征。
图神经网络基础 图神经网络用于挖掘事物的“普遍联系”,理解原理、应用技术。本文汇总图神经网络相关介绍和基础模型。 图及特性 图是由顶点和边组成的,如下图左所示。 图神经网络将图数据和神经网络进行结合,在图数据上进行端对端的计算。 现实生活中的大量的业务数据都可以用图来表示。万事万物皆有联系,顶点+关系这样一种表示覆盖很广。 图神经网络将深度神经网络从处理传统非结构化数据(如图像、语音和文本序列)推广至更高层次的结构化数据(如图结构)。 由此我们可以粗浅地给图神经网络模型下一个定义,针对图结构这一非欧几里得结构数据,利用神经网络来聚合邻域信息,从而更新节点或者边的表达的模型就可以称为是图神经网络。 [20190615211333542.png] 图神经网络的应用 图数据的结构普遍存在,所以图神经网络的应用场景丰富多样。
在这之后,图嵌入算法逐渐过渡到神经网络时代,涌现出一大批优质的图神经网络模型,包括 SDNE (2016) 与 GraphSAGE (2017) 等等,在工业界大放异彩。 无论是拟合能力还是泛化能力,都大大提升;部分图神经网络直接针对下游任务进行建模,已不再属于图嵌入的范畴。 依据 Wu et. al (2019) 的定义,图神经网络可分为五大类: 图卷积网络(Graph Convolution Networks):简称为 GCN,是目前最主流的图神经网络算法,其余四种图神经网络皆由 image.png 总结 图神经网络相对于传统的卷积神经网络和循环神经网络的不同之处,在于其高度的可塑性和多样性。 前沿探索 本文呈现的皆为 2018 年及以前,经受住实践考验的经典图神经网络。
公众号:尤而小屋作者:Peter编辑:Peter图神经网络GNN和传统深度学习网络的对比:循环神经网络(1997)和卷积神经网络(2012):擅长处理图像等欧式数据或者文本和信号等序列数据图神经网络:擅长处理社交网络 、推荐系统、药物发现和程序分析中的图和流行结构等数据图结构数据不适合高度规则化的神经网络结构,比如RNN或者CNN等。 图神经网络基础GNN方法GNN的理论理解GNN的可扩展性GNN的可解释性GNN的对抗鲁棒性GNN方法GNN是专门设计的用于在图结构数据上进行操作的神经网络架构,其目的是通过聚合邻居节点的表征及其前一次迭代中的表征来迭代更新节点表征 有监督的GNN无监督的GNN训练深度图神经网络的问题:过平滑问题(其中所有的节点都有类似的特征)GNN的理论理解GNN能够达到一维Weisfeiler-Lehman测试的表达能力,甚至超越该能力,包含附加随机属性 对抗性攻击对抗性训练图神经网络前沿图分类和预测链接图生成和图转换图匹配和图结构学习动态图神经网络异质图神经网络基于图神经网络的AutoML和自监督学习图神经网络应用图构建:具有显式或隐式图结构的输入数据图表征学习
image.png 二、图有两个基本特征: 每个节点都有自己的特征信息 图谱中的每个节点还具有结构信息 图神经网络相关: 在了解图神经网络之前,我们来复习一下与图神经网络相关的一些概念 一、Graph deep learning方法搭建的网络统称为图神经网络GNN 图神经网络 图神经网络(Graph Neural Network, GNN)是指神经网络在图上应用的模型的统称,根据采用的技术不同和分类方法的不同 图神经网络是一种直接作用在图结构上面的神经网络。 一、定义 在论文《Relational inductive biases, deep learning, and graph networks》中作者定义了图神经网络的通用结构,也就是现在的图神经网络的开山鼻祖 ,在这个框架中定义了和扩展了各种图神经网络,GN framework的主要计算单元是GN block,一个图到图的模块,它的输入是一个图 在图结构上进行计算然后得到的输出仍然是图结构的输出。
或多或少接触NLP的同学,应该比较清楚目前文本分类的模型众多,比如Text-RNN(LSTM),Text-CNN等,但是当时很少有关于将神经网络用于文本分类的任务中。 GCN属于一类图形神经网络,称为消息传递网络,其中消息(在这种情况下,边缘权重乘以节点表示形式)在邻居之间传递。 我们可以将这些消息传递网络视为帮助学习节点表示的方法,该节点表示法考虑了其图结构的附近邻居。因此,图的构造方式,即在哪些节点之间形成哪些边,非常重要。 Text-GCN:基于图神经网络的文本分类 ? 文本Graph的构建 构造“文本”图的细节如下。首先,节点总数是文档 ? 数加上不同词语 ? 的个数。节点特征矩阵是恒等矩阵 ? 总的来说,我认为本文显示了图神经网络的强大能力及其在我们可以定义和构建某种有用图结构的任何领域中的适用性。
从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络 (一) 作者: SivilTaram 编辑: Houye 作者最近看了一些图与图卷积神经网络的论文,深感其强大,但一些 因此,本文试图沿着图神经网络的历史脉络,从最早基于不动点理论的图神经网络(Graph Neural Network, GNN)一步步讲到当前用得最火的图卷积神经网络(Graph Convolutional 不过,因为图神经网络的发展分支非常之多,笔者某些叙述可能并不全面,一家之言仅供各位读者参考: 图神经网络的概念最早在2005年提出。 图神经网络(Graph Neural Network) 首先要澄清一点,除非特别指明,本文中所提到的图均指图论中的图(Graph)。 在下一篇中,我们将介绍图卷积神经网络。它摆脱了基于循环的方法,开始走向多层图神经网络。
return test_acc 输出: 正如我们看到的,效果很差,一个重要的原因就是有标签的节点数量过少,训练的时候会有一些过拟合 接下来我们介绍图卷积神经网络: 然后开始构建我们的图神经网络: : 通过visualize的函数处理,7维特征的节点被映射到2维的平面上,可以看到有点“同类节点群聚”的现象 接下来,构建我们的图神经网络: from torch_geometric.nn import test_acc test_acc=test() print(f"Test Accuracy:{test_acc:.4f}") 输出: 可以看到准确率已经提高到了80%,与前面获得59%的测准确率的MLP图神经网络相比 ,GCN图神经网络准确性要高的多,这表明节点的邻接信息再取得更好的准确率方面起着更关键的作用。 再来做个图看看吧: 通过上面这个图发现,同类节点群聚的现象更加明显了,这意味着在训练后,GCN图神经网络生成的节点表征质量更高了。 完
从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络 (二) 作者: SivilTaram 编辑: Houye 在从图(Graph)到图卷积(Graph Convolution ): 漫谈图神经网络 (一)中,我们简单介绍了基于循环图神经网络的两种重要模型,在本篇中,我们将着大量笔墨介绍图卷积神经网络中的卷积操作。 接下来,我们将首先介绍一下图卷积神经网络的大概框架,借此说明它与基于循环的图神经网络的区别。接着,我们将从头开始为读者介绍卷积的基本概念,以及其在物理模型中的涵义。 这两条实际上也是后续图卷积神经网络的设计原则,图卷积的本质是想找到适用于图的可学习卷积核。 图卷积框架(Framework) 上面说了图卷积的核心特征,下面我们先来一窥图卷积神经网络的全貌。 GraphSage采样过程 image.png 图结构序列化(PATCHY-SAN) 我们之前曾提到卷积神经网络不能应用在图结构上是因为图是非欧式空间,所以大部分算法都沿着找到适用于图的卷积核这个思路来走
从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络 (三) 作者: SivilTaram 编辑: Houye 恭喜你看到了本系列的第三篇! 前面两篇分别介绍了基于循环的图神经网络和基于卷积的图神经网络,那么在本篇中,我们则主要关注在得到了各个结点的表示后,如何生成整个图的表示。 图读出操作(ReadOut) 图读出操作,顾名思义,就是用来生成图表示的。它的别名有图粗化(翻译捉急,Graph Coarsening)/图池化(Graph Pooling)。 这就是典型的**图重构(Graph Isomorphism)**问题。比如下面左右两个图,其实是等价的: ? 图重构 为了使得同构图的表示能够保持一致,图读出的操作就需要对结点顺序不敏感。 基于学习的方法(Learning Category) 基于统计的方法的一个坏处大概是它没办法参数化,间接地难以表示结点到图向量的这个“复杂”过程。基于学习的方法就是希望用神经网络来拟合这个过程。
二、有哪些图神经网络 三、图神经网络的应用 一、什么是图神经网络? 在深度学习的成功推动下,研究人员借鉴了卷积网络、循环网络和深度自动编码器的思想,定义和设计了用于处理图数据的神经网络结构,由此一个新的研究热点——“图神经网络(Graph Neural Networks 同时图嵌入的深度学习方法也属于图神经网络,包括基于图自动编码器的算法(如DNGR和SDNE)和无监督训练的图卷积神经网络(如GraphSage)。下图描述了图嵌入和图神经网络在本文中的区别。 ? 二、有哪些图神经网络? 图卷积网络是许多复杂图神经网络模型的基础,包括基于自动编码器的模型、生成模型和时空网络等。下图直观地展示了图神经网络学习节点表示的步骤。 ?
图神经网络(GNN):理解复杂网络数据的有效工具 图神经网络(Graph Neural Network, GNN)是近年来机器学习领域的热门话题。 本文将深入探讨图神经网络的基本概念、主要模型及其应用,并通过代码示例展示如何从头实现一个 GNN。 1. 图神经网络基础 1.1 什么是图? 1.2 图神经网络的目标 图神经网络的主要目标是通过图的结构和节点的特征来进行学习。具体来说,GNN 可以用来解决以下问题: 节点分类:例如,在社交网络中预测用户的兴趣。 图分类:例如,判断一个分子是否具有某种化学性质。 2. 图神经网络的工作原理 GNN 的核心思想是通过迭代地聚合每个节点邻居的信息来更新节点的表示。 图神经网络的应用 4.1 社交网络分析 在社交网络中,GNN 可以用于节点分类(如用户兴趣预测)、边预测(如好友推荐)以及社区发现等任务。
从贝叶斯学派的代表方法——概率图模型的角度对图神经网络加以解释。它的强大之处在于生成的解释具有丰富的统计信息,能够以条件概率的形式自然的表达出节点之间的依赖关系。 ? Graphical Model Explanations for Graph Neural Networks 论文地址:https://arxiv.org/pdf/2010.05788.pdf 0.摘要 在图神经网络 给定一个要解释的预测,PGM-Explainer 能够识别关键的图组件,并以近似于该预测的概率图模型的形式生成一个解释。 在节点分类任务中, 是图 的所有节点预测的向量,其中 是目标预测(即本文中需要被解释的预测);在图分类任务中, 是在图 上的预测,简单的将 写成 。 对于解释域 的选取,可以选择图 的边子集、特征矩阵 的实例子集。本文采用了[17]中提出的神经网络的解释模型框架,并认为 是一个可解释模型家族。
图神经网络的研究已经成为今年机器学习领域 炙手可热 的话题之一。最近,图神经网络在生物学、化学、社会科学、物理学和许多其他领域的问题上,取得了一系列成功。 到目前为止,图神经网络模型主要是针对静态图而开发的,静态图不会随着时间而改变。然而,许多有趣的现实世界图都是动态的,并且会随着时间的推移而不断变化,突出的例子包括社交网络、金融交易和推荐系统。 该事件流由编码器神经网络接受,这个编码器神经网络为图的每个节点生成时间相关的嵌入。然后,可以将嵌入馈送到为特定任务而设计的解码器中。 这类似于在消息传递图神经网络【4】中计算的消息。该消息是在节点 i 和 j 在时刻 t 之前交互时的内存函数,交互时刻 t 和边特征为【5】: ? ? 内存更新程序 用于使用新消息更新内存。 我们证明了这些方法可以作为时间图网络的特殊配置来获得。由于这一原因,时间图网络似乎是目前在动态图学习上最为通用的模型。
这些结果对于设计神经网络结构,推进深度学习科学,提高对神经网络的理解具有重要的启示意义。 图1 我们的方法概述。(a)神经网络的一层可以视为一个关系图,我们在其中连接交换消息的节点。 2.3 作为关系图的通用神经网络 本节讨论了如何将关系图推广到通用神经网络,特别是可变宽度MLP。 我们研究发现,表现最佳的关系图与生物神经网络惊人地相似,如表2和图6所示。顶级人工神经网络的图度量与生物神经网络高度相似,且关系图表示能将生物神经网络转化为5层MLP,优于基线完整图。 表2 顶级人工神经网络可以类似于生物神经网络 图6 生物(左)和人工(右)神经网络图结构的可视化。 6 相关工作 神经网络连接。神经网络连接模式设计主要关注宏观结构和微观结构。 我们使用关系图表示作为结构先验,将图结构硬连接到神经网络上。深度ReLU神经网络可以自动学习稀疏表示。问题是,在没有图先验的情况下,训练全连接神经网络是否会出现任何图结构。
PGL图学习之图神经网络GraphSAGE、GIN图采样算法[系列七] 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5061984? contributionType=1 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二):https://aistudio.baidu.com/aistudio/projectdetail contributionType=1 在图神经网络中,使用的数据集可能是亿量级的数据,而由于GPU/CPU资源有限无法一次性全图送入计算资源,需要借鉴深度学习中的mini-batch思想。 传统的深度学习mini-batch训练每个batch的样本之间无依赖,多层样本计算量固定;而在图神经网络中,每个batch中的节点之间互相依赖,在计算多层时会导致计算量爆炸,因此引入了图采样的概念。 95.60% 94.8% Maxpool 94.95% 94.8% LSTM 95.13% 95.4% 4.2 Graph Isomorphism Network (GIN) 图同构网络(GIN)是一个简单的图神经网络
PGL图学习之图神经网络GraphSAGE、GIN图采样算法系列七 本项目链接:https://aistudio.baidu.com/aistudio/projectdetail/5061984? contributionType=1 图机器学习(GML)&图神经网络(GNN)原理和代码实现(前置学习系列二):https://aistudio.baidu.com/aistudio/projectdetail -------------------------------------------------------------------------------------------------- 在图神经网络中 传统的深度学习mini-batch训练每个batch的样本之间无依赖,多层样本计算量固定;而在图神经网络中,每个batch中的节点之间互相依赖,在计算多层时会导致计算量爆炸,因此引入了图采样的概念。 Maxpool 94.95% 94.8% LSTM 95.13% 95.4% 4.2 Graph Isomorphism Network (GIN) 图同构网络(GIN)是一个简单的图神经网络
为了解决上面提到的问题,本文提出KGAT方法,将图谱关系信息及用户user点击商品item的交互图融合到一个图空间里,可以融合CF信息及KG信息,同时发现高阶的关系信息: CKG Embedding