Introduction 本文对第一代GCN(《Spectral Networks and Deep Locally Connected Networks on Graphs》)存在的1.计算复杂度高,2. 可复现代码 三、Model 以下内容对入门者需要一些前置知识,可以去阅读一下本号图神经网络前面的内容。 3.4 图池化 图粗化后,将该粗化图添加fake节点使得粗化图中每个顶点都有2个children,构成一个二叉树,将二叉树摊平构成一维信号(上图右部分下),然后对该信号采样即可表示为一次图pooling 标记着带k特征map的graph卷积layer,所有的FCk,Ck,GCk后面都跟着一个ReLU激活函数max(x,0),最后一个layer是softmax regression,损失能量E是带L2正则化的 是pixel i的2D坐标。 Table 1展示了我们在MNIST上与CNN有类似的效果。 ?
首先将输入的草图根据笔画转化为graph,将笔画变成密集的N个点(图中仅画出部分点作示意),同一笔画中的点是有边相连的,不同笔画中的点是不相连的,每个点存储它的绝对坐标(即节点特征是二维的),将节点特征(2* SConv为静态图卷积单元,在不同的层中不会更新图的连接。DConv为动态图卷积单元,在每层都会使用KNN (k=8)来更新图的连接(更新方式和对于图的解释待补充)。
下面介绍3大图表征学习方法:传统图嵌入方法现代图嵌入方法图神经网络传统图嵌入方法图嵌入的2个目标:重建原始图结构和支持图推理。 采用拉普拉斯特征映射LE的思想保留一阶接近度M-NMF:模块化非负矩阵因子化模型(2)保留图属性的图表征学习重点:保留所有类型图的传递性和有符号图的结构平衡性带有侧面信息的图表征学习侧面信息可以分为两类 (2)异质图表征学习异质图由不同类型的节点和边组成。保留高级信息的图表征学习高级信息指的是特征任务中的监督或者伪监督信息。 (2)异常检测图中的异常检测旨在推断结构上的不一致。(3)图对齐图对齐的目标是建立两个图中节点之间的关系,即预测两个图之间的锚链接。 图神经网络基于深度学习方法分析图数据的挑战:图的不规则结构图的异质性和多样性大规模图的出现学科交叉与融合与图相关的神经网络结构:图循环神经网络Graph RNN图卷积神经网络GCN图自编码器GAE图强化学习
文章分类在学习摘录和笔记专栏: 学习摘录和笔记(26)---《图神经网络(GNN)》 图神经网络(GNN) 1 图神经网络(GNN)介绍 图不但包含数据,也包含数据之间的依赖关系,因而图神经网络 图神经网络(GNN)最擅长处理和建模图结构数据。 GNN的工作原理简单概况就是,聚合节点的邻居节点/边的信息,来更新节点的向量表征。 (例如Graph2Seq, Graph2Tree, Graph2Graph)。 最后,清楚图的结构和转化后,该如何选择合适的图神经网络进行学习? 1. 对于同构图,总结了一类成为homogeneous GNN的图神经网络类型。 三个类别: Graph2Seq(图到序列) Graph2Tree(图到树) Graph2Graph(图到图) 6 NLP应用任务 自然语言生成(NLG):1.
来源:百度Aistudio 图神经网络7日打卡营 图(graph)近来正逐渐变成机器学习的一大核心领域,在开始PGL框架学习之前,我们先简单学习一下图论的基本概念,图论的经典算法,以及近些年来图学习的发展 图是什么? 二. 如何存储图? 三. 图的类型和性质 四. 主要的图算法 五. 图机器学习的发展 一. 图是什么? 存储图的方式有三种,取决于你想用它做什么: 存储为边列表: 1 2 1 3 1 4 2 3 3 4 ... 传统同构图(Homogeneous Graph)数据中只存在一种节点和边,因此在构建图神经网络时所有节点共享同样的模型参数并且拥有同样维度的特征空间。 image 2). 寻路算法 a. 最短路径 最短路径计算的是一对节点之间的最短的加权(如果图有加权的话)路径。 这可用于确定最优的驾驶方向或社交网络上两个人之间的分离程度。
图神经网络基础 图神经网络用于挖掘事物的“普遍联系”,理解原理、应用技术。本文汇总图神经网络相关介绍和基础模型。 图及特性 图是由顶点和边组成的,如下图左所示。 [3a503f611707484ebde76b2da7c38c3e.jpg] 在数学中一般使用邻接矩阵来表示图,如上图右所示。 图神经网络将图数据和神经网络进行结合,在图数据上进行端对端的计算。 现实生活中的大量的业务数据都可以用图来表示。万事万物皆有联系,顶点+关系这样一种表示覆盖很广。 图中NN1和NN2代表不同类型的边, 在图神经网络中,可以为不同类型的边设计不同的消息传递函数。 由此我们可以粗浅地给图神经网络模型下一个定义,针对图结构这一非欧几里得结构数据,利用神经网络来聚合邻域信息,从而更新节点或者边的表达的模型就可以称为是图神经网络。
关于图的概念可以参考图论整理 ,这里不再赘述。 图神经网络Graph neural networks(GNNs)是深度学习在图领域的基本方法,它既不属于CNN,也不属于RNN。 这个是图神经网络核心的概念。 图任务(Graph Tasks) 上图是一个节点的分类任务,在左边的部分,有些节点有颜色,有些节点没颜色。 图神经网络很难可视化,它不像图像或者声音那样有可以确定的样子和波形,过于抽象,错综复杂。 图卷积神经网络(Graph Convolution Networks) GCN是一种可以直接作用于图上的卷积神经网络,它能够提取图的特征。 一般来说,图有三大任务:1、节点分类;2、图分类;3、边预测。
图的深度优先遍历 所谓图的遍历,及时对节点的访问。一个图有很多节点,如何遍历这些节点需要特定策略。 一般有两种访问策略: (1)深度优先遍历 (2)广度优先遍历 1.图的深度优先搜索(Depth First Search)DFS (1)深度优先遍历,从初始访问节点出发,初始访问节点可能有多个邻接点,深度优先遍历的策略就是首先访问第一个邻接点 例如:v1作为第一个初始访问节点,再假设的下一个节点是v2 那么就是 v1 -> v2。如果需要继续往下访问邻接点,则从v2开始作为初始节点继续往下找到v3,而并非重新回到v1。 顶点个数 int n = 5; string[] vertexs = { "A", "B", "C", "D", "E" }; //创建图对象 图的广度优先搜索(Broad First Search)BFS 类似于一个分层搜索的过程,广度优先遍历需要使用一个队列保持访问过的节点顺序,以便按这个顺序来访问这些节点的邻接节点。
2 路径相关算法 伴随着图一起诞生的,是与路径相关的算法,其中部分算法可以帮助我们从图中提取更多的特征信息融入到节点中,从而丰富图的架构,在图嵌入或图神经网络算法中达到更好的效果。 依据 Wu et. al (2019) 的定义,图神经网络可分为五大类: 图卷积网络(Graph Convolution Networks):简称为 GCN,是目前最主流的图神经网络算法,其余四种图神经网络皆由 image.png 总结 图神经网络相对于传统的卷积神经网络和循环神经网络的不同之处,在于其高度的可塑性和多样性。 以下呈现笔者总结的模型择优策略,供读者参考: 【1】任务目的:图分类【2】、节点分类【3】、节点嵌入【4】、关系预测【15】 【2】数据规模:大型【9】、小型【10】 【3】数据规模:大型【5】、小型【 HOPE, node2vec 出于 GraphSAGE 和 SDNE 的一些优秀特性,笔者在部分场景里优先推荐使用;此处没有提到图注意力网络,是由于注意力机制作为一种建模思想,几乎可以应用于任何以分类作为下游任务的图神经网络
公众号:尤而小屋作者:Peter编辑:Peter图神经网络GNN和传统深度学习网络的对比:循环神经网络(1997)和卷积神经网络(2012):擅长处理图像等欧式数据或者文本和信号等序列数据图神经网络:擅长处理社交网络 、推荐系统、药物发现和程序分析中的图和流行结构等数据图结构数据不适合高度规则化的神经网络结构,比如RNN或者CNN等。 图神经网络基础GNN方法GNN的理论理解GNN的可扩展性GNN的可解释性GNN的对抗鲁棒性GNN方法GNN是专门设计的用于在图结构数据上进行操作的神经网络架构,其目的是通过聚合邻居节点的表征及其前一次迭代中的表征来迭代更新节点表征 有监督的GNN无监督的GNN训练深度图神经网络的问题:过平滑问题(其中所有的节点都有类似的特征)GNN的理论理解GNN能够达到一维Weisfeiler-Lehman测试的表达能力,甚至超越该能力,包含附加随机属性 对抗性攻击对抗性训练图神经网络前沿图分类和预测链接图生成和图转换图匹配和图结构学习动态图神经网络异质图神经网络基于图神经网络的AutoML和自监督学习图神经网络应用图构建:具有显式或隐式图结构的输入数据图表征学习
图神经网络入门指南神经网络已经适应了图的结构和特性。我们探讨了构建图神经网络所需的组件,并解释了其背后的设计选择。将鼠标悬停在下图中的一个节点上,观察它如何通过网络中的各层从周围节点累积信息。 图神经网络图神经网络(GNN)是对图的所有属性(节点、边、全局上下文)进行可优化的变换,同时保持图的对称性(置换不变性)。GNN 采用“图输入,图输出”的架构。 池化分两步:1) 收集每个待池化项的嵌入并拼接成矩阵;2) 通常通过求和运算聚合收集到的嵌入。在图各部分之间传递消息我们可以在 GNN 层内部使用池化,使学习到的嵌入能够感知图的连通性。 所有聚合后的消息通过一个更新函数(通常是一个学习到的神经网络)。通过堆叠消息传递 GNN 层,一个节点最终可以整合来自整个图的信息。 GCN 作为子图函数近似器:k 层的 GCN 可以看作是在大小为 k 的子图的学习嵌入上操作的神经网络。边与图的对偶:图 G 上的边预测任务可以表述为 G 的对偶图上的节点级别预测。
image.png 二、图有两个基本特征: 每个节点都有自己的特征信息 图谱中的每个节点还具有结构信息 图神经网络相关: 在了解图神经网络之前,我们来复习一下与图神经网络相关的一些概念 一、Graph DeepWalk: DeepWalk 是基于 word2vec 词向量提出来的。word2vec 在训练词向量时,将语料作为输入数据,而图嵌入输入的是整张图,两者看似没有任何关联。 ,也催生了很多相关的工作; Graph Neural Network: 图结合deep learning方法搭建的网络统称为图神经网络GNN 图神经网络 图神经网络(Graph Neural Network , GNN)是指神经网络在图上应用的模型的统称,根据采用的技术不同和分类方法的不同,又可以分为下图中的不同种类,例如从传播的方式来看,图神经网络可以分为图卷积神经网络(GCN),图注意力网络(GAT,缩写为了跟 图神经网络是一种直接作用在图结构上面的神经网络。
): 漫谈图神经网络 (一)中,我们简单介绍了基于循环图神经网络的两种重要模型,在本篇中,我们将着大量笔墨介绍图卷积神经网络中的卷积操作。 接下来,我们将首先介绍一下图卷积神经网络的大概框架,借此说明它与基于循环的图神经网络的区别。接着,我们将从头开始为读者介绍卷积的基本概念,以及其在物理模型中的涵义。 但在图这种非欧空间中,结点有多少邻居并不固定。目前绿色结点的邻居结点有2个,但其他结点也会有5个邻居的情况。 但对实际场景中的大规模图而言,整个图上的卷积操作并不现实。GraphSage[2]提出的动机之一就是解决这个问题。 那么,图结构转换成序列结构最主要的挑战在何处呢,如果简单的话,为什么以前的工作没有尝试把图转成序列结构呢?就笔者个人的观点来看,这种序列转换要保持图结构的两个特点:1. 同构的性质。2.
return test_acc 输出: 正如我们看到的,效果很差,一个重要的原因就是有标签的节点数量过少,训练的时候会有一些过拟合 接下来我们介绍图卷积神经网络: 然后开始构建我们的图神经网络: x, edge_index) return x 然后可视化由未经过训练的GCN图神经网络生成的节点表征: 通过visualize的函数处理,7维特征的节点被映射到2维的平面上 ,可以看到有点“同类节点群聚”的现象 接下来,构建我们的图神经网络: from torch_geometric.nn import GCNConv class GCN(torch.nn.Module): ,GCN图神经网络准确性要高的多,这表明节点的邻接信息再取得更好的准确率方面起着更关键的作用。 再来做个图看看吧: 通过上面这个图发现,同类节点群聚的现象更加明显了,这意味着在训练后,GCN图神经网络生成的节点表征质量更高了。 完
从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络 (一) 作者: SivilTaram 编辑: Houye 作者最近看了一些图与图卷积神经网络的论文,深感其强大,但一些 本文的提纲与叙述要点主要参考了2篇图神经网络的Survey,分别是来自IEEE Fellow的A Comprehensive Survey on Graph Neural Networks[1] 以及来自清华大学朱文武老师组的 不过,因为图神经网络的发展分支非常之多,笔者某些叙述可能并不全面,一家之言仅供各位读者参考: 图神经网络的概念最早在2005年提出。 2009年Franco博士在其论文 [2]中定义了图神经网络的理论基础,笔者呆会要讲的第一种图神经网络也是基于这篇论文。 最早的GNN主要解决的还是如分子结构分类等严格意义上的图论问题。 更新公式示例 image.png 实例:化合物分类 下面让我们举个实例来说明图神经网络是如何应用在实际场景中的,这个例子来源于论文[2]。
这些词嵌入可以是无监督的预训练嵌入(例如word2vec或Glove),然后将其输入分类器中。最近,诸如CNN和RNN的深度学习模型已经成为有用的文本编码器。 GCN属于一类图形神经网络,称为消息传递网络,其中消息(在这种情况下,边缘权重乘以节点表示形式)在邻居之间传递。 我们可以将这些消息传递网络视为帮助学习节点表示的方法,该节点表示法考虑了其图结构的附近邻居。因此,图的构造方式,即在哪些节点之间形成哪些边,非常重要。 Text-GCN:基于图神经网络的文本分类 ? 文本Graph的构建 构造“文本”图的细节如下。首先,节点总数是文档 ? 数加上不同词语 ? 的个数。节点特征矩阵是恒等矩阵 ? 总的来说,我认为本文显示了图神经网络的强大能力及其在我们可以定义和构建某种有用图结构的任何领域中的适用性。
从图(Graph)到图卷积(Graph Convolution): 漫谈图神经网络 (三) 作者: SivilTaram 编辑: Houye 恭喜你看到了本系列的第三篇! 前面两篇分别介绍了基于循环的图神经网络和基于卷积的图神经网络,那么在本篇中,我们则主要关注在得到了各个结点的表示后,如何生成整个图的表示。 给定3个数据点,它们的特征向量(2维)分别是[-2, 1], [-1, 2] 和 [-1, 1]。如果直接求和,全局的特征向量是 [-2+-1+-1, 1+2+1] 即 [-4,4]。 如果采取上述直方图的方式,则可能会得到一个这样的全局特征向量[-2, -1 + -1, 1 + 1, 2](第1,2维代表从原先的第1维统计的直方图,对应的区域为[-2,1),[1,2),第3,4维的含义类似 基于学习的方法(Learning Category) 基于统计的方法的一个坏处大概是它没办法参数化,间接地难以表示结点到图向量的这个“复杂”过程。基于学习的方法就是希望用神经网络来拟合这个过程。
二、有哪些图神经网络 三、图神经网络的应用 一、什么是图神经网络? 同时图嵌入的深度学习方法也属于图神经网络,包括基于图自动编码器的算法(如DNGR和SDNE)和无监督训练的图卷积神经网络(如GraphSage)。下图描述了图嵌入和图神经网络在本文中的区别。 ? 二、有哪些图神经网络? 2、图注意力网络(Graph Attention Networks) 注意力机制如今已经被广泛地应用到了基于序列的任务中,它的优点是能够放大数据中最重要的部分的影响。 2、Recommender Systems 基于图的推荐系统以项目和用户为节点。通过利用项目与项目、用户与用户、用户与项目之间的关系以及内容信息,基于图的推荐系统能够生成高质量的推荐。
图神经网络(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.摘要 在图神经网络 对于解释域 的选取,可以选择图 的边子集、特征矩阵 的实例子集。本文采用了[17]中提出的神经网络的解释模型框架,并认为 是一个可解释模型家族。 fig2 给定一个输入图数据和一个待解释的预测。 合成数据集上的结果 每个输入图都是一个基础图和一组 motifs 的组合。 ground-truth:与被预测节点处于同一 motif 中的节点。 ? fig7 2.