精华内容
下载资源
问答
  • 与图像数据和文本数据相比,神经网络数据上的大规模应用最近几年才大量出现,然而已经呈现出井喷的趋势,在学术界和工业界都产生了巨大的影响。想要系统掌握的话,不仅要知道原理,更要懂得代码细节,以及亲手...

    图数据一直就是机器学习领域里最重要的数据结构。与图像数据和文本数据相比,神经网络在图数据上的大规模应用最近几年才大量出现,然而已经呈现出井喷的趋势,在学术界和工业界都产生了巨大的影响。想要系统掌握的话,不仅要知道原理,更要懂得代码细节,以及亲手实战具体项目,了解近年来来一系列模型的发展脉络。想要全面地学习这些知识点的话,可以学习 bienlearn 上的图神经网络专栏。

    这个图神经网络专栏由大厂高级算法工程师丁雨山&彬斌主笔,帮助新手以及有一定基础的同学快速入门图神经网络,既包括原理、代码的解读,还有对图网络底层设计思想的理解与项目实操。不管是准备面试、项目实战还是比赛刷分,都可以找到对应的内容。

    目前在限时优惠,更详细的内容大家可以点击下方卡片查看

    c2523930739b35621bf9b04c20d5b8c8.png

    这篇论文的数学基础应该是算是我看到的里面要求最高的了,当然要感谢superbrother

    精通GCN全攻略zhuanlan.zhihu.com
    979c56551c549454e7fdb3098d1efbfd.png

    写的专栏,的确非常棒,增加了我对文章的理解,就先贴在这里了。

    这个学期才学数字信号处理,现在才对文中的卷积操作有了正确的认识,能理解为什么会有这样的操作。

    首先我们先介绍几个基础的内容。

    傅里叶变化与卷积

    卷积操作是一种通用的特征抽取技术,实质上卷积是抽取相似的信号

    20ecfbea96abb1db2dc9d2c8b33bfe11.png

    通过实信号,我们可以看到,信号越相似,我们越能抽取到相似的特征(类似于点积)但是我们可以抽取到空间上的特征(点积只是点对点的操作,但是不能对不同位置上的特征抽取(比较)),但想一下,如果我们直接做卷积,每两个点进行一次,需要多少次运算

    eed23ca7d22e7baf3bbab64e48767a58.png

    这里我们就简单讨论一下实信号当中的卷积公式。y是相应输出,x是输入,h是冲击信号

    e9f8403dd3b95217ff0fb286793d95c8.png

    这里我们再用一张图来看卷积的操作,首先对冲击信号取反,然后对位相乘得到需要的结果进行累加。关于数学的什么图解法我们这里就不赘述了。但是显而易见,每次操作都要进行n次乘法。

    所以如何进行简化,既然时域计算复杂,那转化到频域呢?(这里我们会转化到复数域而不是二维空间,基本信号会从单位冲激信号,转化为复频域的

    作为基本信号,通过傅里叶变化转化到频域当中

    0e5df1cacc3a1310ae488e9b464e2c75.png

    在时域中的卷积操作在频域当中就是简单的乘法操作,这能有效的简化我们的问题。所以关于卷积我们的步骤变成

    傅里叶变换(转化到频域)-> 和冲击信号做乘法->傅里叶逆变换(转化回时域)

    拉普拉斯矩阵

    D是一个对角的度矩阵,W是对应的邻接矩阵 D和W都是对称矩阵

    拉普拉斯矩阵具有很多良好的性质如下

    通过这个矩阵乘法性质,我们可以计算通过连接后不同节点的相似度

    501ebc7ca1f3c7476f6bac4e0b7314b8.png

    还是上一波老图8

    拉普拉斯矩阵是对称矩阵,半正定矩阵

    这条性质可以帮助矩阵进行特征分解(谱聚类的做法就是寻找相对最小的特征值对DP问题进行近似求解)

    支撑理由如下

    • 对称矩阵一定有n个线性无关的特征现两
    • 半正定矩阵特征值一定非负
    • 对称矩阵特征向量相互正交,特征向量构成矩阵为正交矩阵

    拉普拉斯矩阵只在中心顶点和一阶相连的顶点上(1-hop neighbor)有非0元素,其余之处均为0

    这让模型具有很好的局部特性,只吸收附近的节点信息(当然这和后面用二阶切比雪夫方程做近似相关)

    特征值和特征向量

    首先我们给出特征方程的标准形式。A代表对坐标系进行一个线性变化。

    在jidi4变化后,会有部分的先保持在同一条线上,这些线被称为特征向量。 特征向量在原方向上收放的比例称为特征值。

    也就是说,一个向量在变化后可能变成任意的方向,但是基向量的方向不会改变,所以把特征向量作为基底能更轻松的表示矩阵的线性变化

    这里强烈建议去看一下3blue1brown的视频,看动画的确直观

    那最后对拉普拉斯做特征分解(谱分解)

    be0a57dea0d8f7fd5247c8d56a636c77.png

    notice:

    好的现在我们万事俱备了,开始图网络的冒险8

    Graph convolution 图卷积网络

    有了上面的卷积操作作为基础,我们应该如何把他迁移到图谱领域当中呢。

    1.也就是把拉普拉斯算子得到的特征作为新的信号基本算子来代替

    11bf421e859f1b2e945455cf8b88b67a.png

    我们怎么代替标准信号?

    3c63660890f03915571920f0f39936c0.png

    f代表的是每个节点的特征向量表示 u代表拉普拉斯的特征向量,取共轭是为了转化到复数域当中。

    所以把原特征转化到频域当中(借用概念)的方法为

    U代表所有的特征向量(基底的组合)我们把上述的式子转化为矩阵表达

    2.和卷积核做乘法来完成卷积操作

    70749f0706e265c253df87bab993954f.png

    卷积核转化到频域的对角元形式如上(对角元形式方便用矩阵乘法轻送的对每一行乘相同的值。

    3.做傅里叶逆变换转化回原域当中

    前面正变换乘的

    逆变换乘

    所以图卷积的整体公式如下

    823f74e4b530b7862738c11fecf87f93.png

    所以我们通过拉普拉斯矩阵的特征向量来作为我们在频域间转化的方式,中间的λ是我们唯一课学习的参量(当然这也是我们要解决的问题)

    如何拟合真正的特征值?

    切比雪夫方程(类似泰勒展开)能有效的找到有效的λ,并且能增加模型的非线性性。

    这中间的放缩变化和细节我们就此略过

    1c8496ada05e5a855881724dc80c5e8a.png

    65000812882c299c9893f3c30aef0df8.png

    上面分别是切比雪夫的二阶表达近似和转化的矩阵表示

    这里我们通过直观展示切比雪夫方程的作用(图片侵删)

    当K=1时

    776c78206531a7a42d71fb202e9dfeda.png

    当K=2时,我们可以看到,在切比雪夫方程,和拉普拉斯矩阵一样,我们保证了局部相邻的特征

    6b612bd5e6e1c4b5ed278ed28251ec58.png

    等等,我们这里并没有介绍为什么转变成

    449dfbe7872bafbddd57efdaa0af26d4.png

    拉普拉斯矩阵的能很好的完成归一化,同样,我们也可以在邻接矩阵上做这种操作,目的在于如果有10个节点流入,和5个节点信息流入,导致新生成节点模大小差距过大,这同样可以用CNN解释,CNN的感受野是相同的,所以用归一化的矩阵来保证对称性和对节点流入信息的控制。

    终极表达形式

    b54e1e8d30bde22fded3baaf626adb8c.png

    I的目的是增加节点自身对自身的表达形式

    近似的构造在傅里叶变化当中的时域频域转化

    H对应上式当中的X W是每层都不同的可学习参量

    一层对应的就是一阶邻居节点,i阶对应的就是i阶邻居节点。

    最后生成我们需要的隐状态,即为节点表示(最后一层使用softmax进行激活)

    损失函数

    完全和一般的softmax相同,这里我们就不多说了。需要的话去补一下softmax损失计算的基础8。唯一需要注意的是,我们只对有标签的内容计算损失,semi supervise的特点。

    GCN的种类及优化

    GCN和CNN一样,共享参数,局部感受野

    • 一代卷积核,没有切比雪夫方程产生的变化,就n个参量,显然是不够学习的,而且特征值的表达也缺少非线性性。
    • 二代卷积核,我们可以利用多阶变化来增加模型的表达能力,之前我们说过,
      所以连乘不会导致计算复杂度的显著上升,只需要特征值次数不断上升
      这个巧妙地办法,可以把GCN转成为对偶问题来降低复杂度,并且避免了求特征值的过程
    • 三代卷积核,就像我们上面说的,不仅可以简化,增加非线性性还能突出局部感受野

    trick

    为了解决节点的距离问题,文章当中正则项(当然距离的衡量方式我突发奇想是否可以用kernel

    5f77271ccd29303a7dcd5f56273d4fa4.png

    直观一点来说,相邻的节点要在数量和相似性上取一个折衷

    损失函数迫使模型拥有一群相似度很高(距离很短)的节点,或者少量的相似度较低的节点,这也可以让未标记节点在损失当中得以直接的体现。

    总结

    写这篇文章绝对是最难的一篇,还好写完了,图算法的建模直觉我在GraphSAGE当中已经说了很多了,关键是对于数学工具的理解8,卷积核的改善是这类网络的核心,当然现在的方法利用了他的建模直觉(热力学传递)做了很多改进,类似GAT GraphSAGE。

    写这篇文章连午觉都没有睡,爽的一匹

    展开全文
  • GCN图卷积神经网络

    2019-07-22 17:05:07
    1.图论基础 (1)是一个顶点集合V和定点间关系的集合E组成的。 记作G=(V,E) (2)完全l部G=Kn1,n2,...nl(ni=|vi... 有无向和有向之分。 的边上加上权值后为带权。 度是与顶点相连的边的...

    1.图论基础

    (1)图是一个顶点集合V和定点间关系的集合E组成的。

             记作G=(V,E)

    (2)完全l部图G=Kn1,n2,...nl(ni=|vi|, 1=<i=<l),显然|v|=

    (3)图论基础小结

    • 图由顶点的集合和顶点间关系的集合组成。 

    • 图有无向图和有向图之分。 

    • 图的边上加上权值后为带权图。 

    • 度是与顶点相连的边的数目,有向图分入度和出度。 

    • 连通图指图中任意两个顶点都是连通的

     

    2.GCN是什么:

    GCN 是一类非常强大的用于图数据的神经网络架构。 即使是随机初始化的两层 GCN 也可以生成图网络中节点的有用特征表征。 下图展示了这种两层 GCN 生成的每个节点的二维表征;即使没有经过任何训练,这些二维表征也能够保存图中节点的相对邻近性。 更形式化地说,图卷积网络(GCN)是一个对图数据进行操作的神经网络。

    3.GCN由来:

    4.

    5.

    6.

    7应用举例

    .

    7.解决方案:

    (1)增加自环

       (2)特征表征归一化

    (1)

    (2)

    8.

     

    展开全文
  • 一、为什么会出现GCN(图卷积神经网络)普通卷积网络都是研究的具备欧几里得领域的数据,例如规则的正方形(例如图像),语音等。1.1 平移不变性 translation invariance如果无论一只猫怎么平移,扭曲,最终识别出来都是...

    一、为什么会出现GCN(图卷积神经网络)

    普通卷积网络都是研究的具备欧几里得领域的数据,例如规则的正方形(例如图像),语音等。

    1.1 平移不变性 translation invariance

    如果无论一只猫怎么平移,扭曲,最终识别出来都是一只猫,输入怎么变形输出都是一只猫,那么称这个神经网络满足平移不变性。网络的层次越深,这个特性越明显。

    1.2 平移可变性 translation variance

    针对目标检测,比如一只猫从左侧移到右侧,检测出的猫的坐标会变化就称之为平移可变性。卷积神经网络的卷积核(kernal)总会造成最终的输出的map减小,而在原始上的小偏移不可避免的会被缩小,忽视。想象一下一个没戴眼镜的近视眼看远处的物体。会发现聚焦的物品比较清楚,但是周围的及其模糊,这就类似于卷积最后的结果。(之所以会变小是因为filter层,也叫做kernal)

    CNN的卷积本质上就是一种离散的卷积,一个共用参数的过滤器(Kernal),通过计算加和得到结果。

    1.3 非欧式空间的卷积:

    例如:图,还有流体。主要特征是无法选择一个确定大小的卷积核来适应整个图。包含:

    1. 节点特征:每个节点具有自己的特征,例如特征向量

    2. 结构特征:点与点之间的结构特征,主要体现在边上。

    3. 核心思想:边的信息,点的信息融合产生新的信息

    二、图卷积方式:

    因为 Non Euclidean Structure 的数据无法保持平移不变性。具体来说,由于在拓扑图中每个顶点的相邻顶点数目都可能不同,因此无法用一个同样尺寸的卷积核来进行卷积运算。需要在图上重新设计卷积的方法,而目前图卷积方法主要分为两大类:谱方法(Spectral Methods)和 空间方法(Spatial Methods)。

    谱方法 :大概思路是通过傅里叶变换等将图数据从空间域映射到谱域,然后在谱域实现卷积,最后再将处理后的信号映射回空间域。

    空间方法 :在空间域直接定义卷积, 这里的卷积被定义为所有邻居结点的加权平均函数。但主要问题是由于每个结点的邻居大小不一样,很难实现参数共享。

    2.1 基于空间域的方法(Spatial domain)

    基于空间域的方法直接用在每个结点的连接关系上,和传统的卷积神经网络比较像:代表作有Message Passing Neural Networks(MPNN),GraphSage,Diffusion Convolution Neural networks(DCNN),PATCHY-SAN等

    2.2 频谱方法(spectral domain)

    主要的基础知识是图谱理论来实现拓扑图上的卷积操作。整个研究的时间进程来看,首先研究GSP(Graph signal processing)的学者们定义了图上的傅里叶转换,进而定义了图上的卷积操作,最后和深度学习结合提出了图卷积网络。

    2.3 什么是谱图理论

    可以参考维基百科 https://en.wikipedia.org/wiki/Spectral_graph_theory

    简单概括:就是借助拉普拉斯矩阵的特征值和特征向量来研究图的性质

    2.4 why 拉普拉斯矩阵?

    这是个难点:要理解需要有坚实的数学基础:包括但是不限于矩阵分析和谱图理论

    过程包括:定义图上的傅里叶变换;定义图上的卷积

    803176b4f984083295c2341fa185c176.png

    6fca3da46c366fb588fb67f1d2411054.png

    4b5eb628fad36232537590f8c09ab4f6.png

    f11051504e7dedf7fb7993dfc1743c30.png

    ae4ef2317abe240854abeb46e9826aaf.png

    b99e0fd6ec2d9dfb3440fd71edd1849d.png

    5004bf5052d561e4ebf74d8358d1f3c0.png

    Reference

    https://tkipf.github.io/graph-convolutional-networks/

    https://www.inference.vc/how-powerful-are-graph-convolutions-review-of-kipf-welling-2016-2/

    https://blog.csdn.net/yyl424525/article/details/100058264

    https://en.wikipedia.org/wiki/Laplacian_matrix

    https://blog.csdn.net/yyl424525/article/details/98765291

    https://blog.csdn.net/qwezhaohaihong/article/details/106237744

    展开全文
  • 本文是清华大学刘知远老师团队出版的图神经网络书籍《Introduction to Graph Neural Networks》的部分内容翻译和阅读笔记。个人翻译难免有缺陷敬请指出,如需转载请联系翻译作者作者:Riroaki原文:...
    本文是清华大学刘知远老师团队出版的图神经网络书籍《Introduction to Graph Neural Networks》的部分内容翻译和阅读笔记。个人翻译难免有缺陷敬请指出,如需转载请联系翻译作者 

    作者:Riroaki

    原文:https://zhuanlan.zhihu.com/p/129305050

    第一部分-Introduction

    图是一种数据结构,可对一组对象(节点)及其关系(边)进行建模。近年来,由于图的强大表达能力,利用机器学习来分析图的研究受到越来越多的关注,即图可以用作包括社会科学(社会网络)在内的各个领域的大量系统的表示图是一种数据结构,可对一组对象(节点)及其关系(边)进行建模。

    作为用于机器学习的独特的非欧氏数据结构,图引起了人们对节点分类,链接预测和聚类分析的关注。图神经网络(GNN)是在图域上运行的基于深度学习的方法。由于其令人信服的性能和高解释性,GNN最近已成为一种广泛应用的图形分析方法。

    首先,GNN是由卷积神经网络(CNN)启发的。CNN能够提取和组合具有高表示能力的特征的多尺度局部空间特征,这导致了几乎所有机器学习领域的突破和深度学习的革命。CNN的关键在于:本地连接,共享权重和多层使用。这些特点对于解决图域问题也非常重要,因为

    1. 图是最典型的局部连接结构;

    2. 与传统的频谱图理论相比,共享权重降低了计算成本;

    3. 多层结构是处理分层模式的关键,它捕获了各种大小的特征。

    但是,CNN只能对诸如图像(2D网格)和文本(1D序列)之类的常规欧几里得数据进行操作,这些数据也可以视为图的实例,但是很难定义局部卷积滤波器和池化运算符以应用于一般的图结构。

    另一个动机来自图嵌入(Graph Embedding),它旨在学会表示图节点,边缘或低维向量中的子图。在图分析中,传统的机器学习方法通常依赖于手工设计的特征,并且受其灵活性和高成本的限制。继表示学习的思想和词嵌入的成功以来,DeepWalk被认为是基于表示学习的第一种图嵌入方法,它采用了SkipGram模型。诸如node2vec,LINE和TADW等类似方法也取得了突破。然而,这些方法具有两个严重的缺点。

    1. 编码器中的节点之间没有共享参数,这导致计算效率低下,因为这意味着参数的数量随节点的数量线性增长;

    2. 直接嵌入方法缺乏泛化能力,这意味着它们无法处理动态图或无法泛化为新图。

    第二部分-Vanilla Graph Neural Networks

    在图结构中,一个节点自然是由其特征和图中的相关节点定义的。GNN的目标是为每个节点学习节点的状态嵌入 419defaa-9332-eb11-8da9-e4434bdf6706.svg 的状态,该状态对邻域信息进行编码。状态嵌入479defaa-9332-eb11-8da9-e4434bdf6706.svg 用于产生输出 4b9defaa-9332-eb11-8da9-e4434bdf6706.svg ,例如预测节点标签的分布。原始GNN模型处理无向齐次图,其中图中的每个节点都有其输入特征4d9defaa-9332-eb11-8da9-e4434bdf6706.svg ,每条边也可能都有其特征。本文使用539defaa-9332-eb11-8da9-e4434bdf6706.svg 和579defaa-9332-eb11-8da9-e4434bdf6706.svg 来表示节点 5c9defaa-9332-eb11-8da9-e4434bdf6706.svg 的边和邻居的集合。

    为了根据输入邻域更新节点状态,定义一个在所有节点之间共享的参数函数5d9defaa-9332-eb11-8da9-e4434bdf6706.svg ,称为局部转移函数。为了产生节点的输出,有一个参数函数5f9defaa-9332-eb11-8da9-e4434bdf6706.svg ,称为局部输出函数。然后, 619defaa-9332-eb11-8da9-e4434bdf6706.svg 定义为:

    639defaa-9332-eb11-8da9-e4434bdf6706.svg

    对于节点 5c9defaa-9332-eb11-8da9-e4434bdf6706.svg , 699defaa-9332-eb11-8da9-e4434bdf6706.svg 分别表示节点特征、节点连接的边的特征、节点的邻居的隐藏状态和节点邻居的特征。

    如果将所有的状态、输出、特征和节点特征分别堆叠起来并使用矩阵表示为: 6c9defaa-9332-eb11-8da9-e4434bdf6706.svg ,那么上面的公式可以改写为:

    6e9defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 709defaa-9332-eb11-8da9-e4434bdf6706.svg 分别是全局的转移和输出函数,由所有节点的对应函数堆叠构成。 769defaa-9332-eb11-8da9-e4434bdf6706.svg 的值是等式(3)的不动点,并以 799defaa-9332-eb11-8da9-e4434bdf6706.svg 作为压缩映射(Contraction Map)唯一定义。因而,在实践中通过迭代方式求出 769defaa-9332-eb11-8da9-e4434bdf6706.svg 。这里, 709defaa-9332-eb11-8da9-e4434bdf6706.svg 的计算过程可以用前馈神经网络(Feedforward Neural Network)来解释。

    以上是GNN的基本框架。下面介绍如何学习转移函数和输出函数的参数。
    利用用于监督信号的目标信息(对于特定节点记为 839defaa-9332-eb11-8da9-e4434bdf6706.svg ),损失函数可以写为:

    8a9defaa-9332-eb11-8da9-e4434bdf6706.svg

    于是整个基于梯度下降的学习算法可以描述为如下步骤:

    隐藏状态 969defaa-9332-eb11-8da9-e4434bdf6706.svg 通过迭代 989defaa-9332-eb11-8da9-e4434bdf6706.svg 时间步获得,然后我们获得公式(3)一个近似的不动点解 9a9defaa-9332-eb11-8da9-e4434bdf6706.svg ;

    通过损失函数计算梯度,并使用最后一步计算得到的梯度更新网络参数。

    该模型的局限之处在于:

    1. 迭代更新节点的隐藏状态以获取固定点的计算效率低下。该模型需要 989defaa-9332-eb11-8da9-e4434bdf6706.svg 步计算才能逼近固定点。如果放宽固定点的假设,可以设计一个多层GNN来获得节点及其邻域的稳定表示。

    2. 模型在迭代中使用相同的参数,而大多数流行的神经网络在不同的层中使用不同的参数,这是一种分层的特征提取方法。此外,节点隐藏状态的更新是一个顺序过程,可以从RNN核(如GRU和LSTM)中受益。

    3. 图的边上还有一些信息特征,无法在模型中有效地建模。例如,知识图中的边具有关系的类型,通过不同边的消息传播应根据其类型而不同。此外,如何学习边缘的隐藏状态也是一个重要的问题。

    4. 如果 989defaa-9332-eb11-8da9-e4434bdf6706.svg 很大,那么如果我们专注于节点的表示而不是图本身,则不宜使用固定点,因为固定点的表示分布会更平滑,并且在区分每个节点时信息量也较小。

    基于以上不足,部分变种模型被提出:比如门控图神经网络(Gated GNN)解决了第一个不足,关系图神经网络(Relational GNN)解决有向图的问题。部分网络在后文中会提及。

    第三部分-Graph Convolutional Networks

    图神经网络旨在将卷积推广到图领域。在这个方向上的进展通常分为频谱方法(Spectral Method)和空间方法(Spatial Method)。

    频谱方法(Spectral Method)

    首先介绍Spectral Network。通过计算图拉普拉斯算子的特征分解,在傅立叶域中定义卷积运算。可以将操作定义为信号 a39defaa-9332-eb11-8da9-e4434bdf6706.svg (每个节点的标量)与由 a79defaa-9332-eb11-8da9-e4434bdf6706.svg 参数化的滤波器 aa9defaa-9332-eb11-8da9-e4434bdf6706.svg 的乘积:

    ac9defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 af9defaa-9332-eb11-8da9-e4434bdf6706.svg 是由归一化的拉普拉斯矩阵的特征向量组成的矩阵: b19defaa-9332-eb11-8da9-e4434bdf6706.svg,其中 b29defaa-9332-eb11-8da9-e4434bdf6706.svg 分别是度矩阵和邻接矩阵。该操作会导致潜在的密集计算和非空间局部过滤器。

    这里我也不太理解,什么叫做“non-spatially localized filters”?暂时翻译为非空间局部过滤器,后续再作补充。

    第二个要介绍的是ChebNet。这个模型使用K阶切比雪夫多项式(Chebyshev Polynomials) b39defaa-9332-eb11-8da9-e4434bdf6706.svg 来近似 b49defaa-9332-eb11-8da9-e4434bdf6706.svg :

    b69defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 b79defaa-9332-eb11-8da9-e4434bdf6706.svg , b99defaa-9332-eb11-8da9-e4434bdf6706.svg 表示 ba9defaa-9332-eb11-8da9-e4434bdf6706.svg 最大的特征值。 bd9defaa-9332-eb11-8da9-e4434bdf6706.svg 是切比雪夫多项式的系数向量。可以看出,该模型是K-邻域(K-localized)的,因为它是近似的 c39defaa-9332-eb11-8da9-e4434bdf6706.svg 阶多项式。通过引入切比雪夫多项式,ChebNet不必计算拉普拉斯矩阵的特征向量,降低了计算量。

    切比雪夫多项式的定义:c69defaa-9332-eb11-8da9-e4434bdf6706.svg

    接下来正式介绍GCN。通过限制层级的卷积为 c79defaa-9332-eb11-8da9-e4434bdf6706.svg 来缓解了节点度分布非常宽的图对局部邻域结构的过度拟合问题,并进一步近似 c99defaa-9332-eb11-8da9-e4434bdf6706.svg ,可以将(2)简化为:

    cc9defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 ce9defaa-9332-eb11-8da9-e4434bdf6706.svg 是两个不受约束的变量。我们添加约束使得 d19defaa-9332-eb11-8da9-e4434bdf6706.svg ,则得到:

    d49defaa-9332-eb11-8da9-e4434bdf6706.svg

    注意到如果直接堆叠这个运算,将会导致数值不稳定和梯度的爆炸或者消失问题,引入重归一化(Renormalize): d59defaa-9332-eb11-8da9-e4434bdf6706.svg ,其中 d69defaa-9332-eb11-8da9-e4434bdf6706.svg ,最终进行堆叠可以得到对于任意 da9defaa-9332-eb11-8da9-e4434bdf6706.svg 通道的信号 dd9defaa-9332-eb11-8da9-e4434bdf6706.svg 和 799defaa-9332-eb11-8da9-e4434bdf6706.svg 个特征映射的滤波器的定义:

    ea9defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中, eb9defaa-9332-eb11-8da9-e4434bdf6706.svg 是滤波器组参数成的矩阵, ec9defaa-9332-eb11-8da9-e4434bdf6706.svg 是卷积得到的信号矩阵。
    此时的GCN作为一个谱方法的简化,也可以看作是一种空间方法。

    最后介绍AGCN(Adaptive GCN)。以上所有的模型均使用原始图结构表示节点之间的关系。然而,不同节点之间可能存在隐式关系,于是有人提出了自适应图卷积网络(AGCN)以学习底层关系。AGCN学习一个“残差”图 ee9defaa-9332-eb11-8da9-e4434bdf6706.svg 并将其添加到原始拉普拉斯矩阵中:

    f09defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中, f19defaa-9332-eb11-8da9-e4434bdf6706.svg 是超参数, ee9defaa-9332-eb11-8da9-e4434bdf6706.svg 可以通过一个学习到的邻接矩阵 f59defaa-9332-eb11-8da9-e4434bdf6706.svg 计算得到:

    f69defaa-9332-eb11-8da9-e4434bdf6706.svg

    自适应量度背后的想法是,欧氏距离不适用于图结构化数据,并且该量度应适应任务和输入特征。AGCN使用广义的Mahalanobis距离:

    f79defaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 f89defaa-9332-eb11-8da9-e4434bdf6706.svg 也是一个学习得到的矩阵,满足 fb9defaa-9332-eb11-8da9-e4434bdf6706.svg , fc9defaa-9332-eb11-8da9-e4434bdf6706.svg 是迁移空间的转移基底矩阵(transform basis),然后AGCN计算高斯核函数并将G归一化以获得邻接矩阵 f59defaa-9332-eb11-8da9-e4434bdf6706.svg :

    ff9defaa-9332-eb11-8da9-e4434bdf6706.svg

    空间方法(Spatial Method)

    在上述所有频谱方法中,学习的滤波器都取决于拉普拉斯的特征基向量,而后者取决于图的结构。这意味着在特定结构上训练的模型不能直接应用于具有不同结构的图。

    空间方法与频谱方法相反,直接在图上定义卷积,在空间上相邻的邻居上进行运算。空间方法的主要挑战是定义大小不同的邻域的卷积运算并保持CNN的局部不变性。

    Neural FPS。对度不同的节点,使用不同的权重矩阵:

    019eefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中, 059eefaa-9332-eb11-8da9-e4434bdf6706.svg 是度为 079eefaa-9332-eb11-8da9-e4434bdf6706.svg 的节点在第 0d9eefaa-9332-eb11-8da9-e4434bdf6706.svg 层对应的权重矩阵, 139eefaa-9332-eb11-8da9-e4434bdf6706.svg 表示在节点 5c9defaa-9332-eb11-8da9-e4434bdf6706.svg 的相邻节点的集合, 969defaa-9332-eb11-8da9-e4434bdf6706.svg 是节点 5c9defaa-9332-eb11-8da9-e4434bdf6706.svg 在第 0d9eefaa-9332-eb11-8da9-e4434bdf6706.svg 层对应的嵌入。可以从(10)中看出,模型首先将节点与它相邻节点的嵌入做累加,并使用 059eefaa-9332-eb11-8da9-e4434bdf6706.svg 进行变换。对于度不同的节点,模型定义不同的权重矩阵 059eefaa-9332-eb11-8da9-e4434bdf6706.svg 。模型的主要不足在于不能应用在大规模图结构中,因为它的节点具有很多不同的度。

    Patchy-SAN。首先,为每个节点精确选择并归一化k个邻居。然后,将归一化的邻域用作接受域(receptive filed)作卷积运算,试图将图学习问题转化为常规的欧氏几何数据的学习问题。该方法具有四个步骤(如下图所示):

    319cc17a1b5fbac2022cd8198b0124d6.png
    1. 节点序列选择。此方法无法处理图中的所有节点,二是选择要处理的节点序列。首先,使用图形标注过程来获取节点的顺序和节点序列。然后,该方法使用步长 2a9eefaa-9332-eb11-8da9-e4434bdf6706.svg 从序列中选择节点,直到选择了 2e9eefaa-9332-eb11-8da9-e4434bdf6706.svg 个节点。

    2. 相邻节点聚合。在这一步中,构造了从第一步中选择的节点的接受域。每个节点的邻居都是候选者,模型使用简单的广度优先搜索为每个节点收集k个邻居。

    3. 图归一化。在这一步中,该算法旨在给接受域中的节点一个顺序,以便从无序图空间映射到矢量空间。这是最重要的步骤,它背后的想法是为不同的图中的两个具有相似的结构地位的节点分配相似的相对位置。

    4. 卷积结构。在归一化后,可以使用CNN进行卷积。归一化的邻域用作接受域,节点和边属性被视为通道。

    DCNN(Diffusion-Convolutional Neural Networks)。转移矩阵用于定义DCNN中节点的邻域。

    对于节点分类问题,模型定义:

    309eefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 379eefaa-9332-eb11-8da9-e4434bdf6706.svg 是输入特征( 3c9eefaa-9332-eb11-8da9-e4434bdf6706.svg 是节点个数, 799defaa-9332-eb11-8da9-e4434bdf6706.svg 是特征维度), 439eefaa-9332-eb11-8da9-e4434bdf6706.svg , 479eefaa-9332-eb11-8da9-e4434bdf6706.svg 是图邻接矩阵 4b9eefaa-9332-eb11-8da9-e4434bdf6706.svg 的节点度归一化的转移矩阵。每一个实体都转化为通过在 799defaa-9332-eb11-8da9-e4434bdf6706.svg 维特征上经过c39defaa-9332-eb11-8da9-e4434bdf6706.svg 跳图扩散计算的519eefaa-9332-eb11-8da9-e4434bdf6706.svg 的扩散卷积表示(diffusion convolutional representation)。然后经过权重的点乘和非线性激活函数,得到了每个节点的表示 529eefaa-9332-eb11-8da9-e4434bdf6706.svg 。

    这里我个人翻译非常不通顺,其实描述的就是公式(11)里说的……

    对于图分类问题,DCNN将每个节点的表示求出平均值,即:

    640?wx_fmt=svg

    其中, 589eefaa-9332-eb11-8da9-e4434bdf6706.svg 表示 5a9eefaa-9332-eb11-8da9-e4434bdf6706.svg 维的全1向量。

    DCNN也可以应用于边分类任务,此时需要将边改为点并增广邻接矩阵。

    这里原文是converting edges to nodes and augmenting the adjacency matrix.,我不太理解“边改成点”具体是什么意思,保留疑问。

    DGCN(Dual GCN)同时考虑图上的局部一致性和全局一致性。它使用两个卷积网络来捕获局部/全局一致性,并采用无监督的损失来聚合两个部分。模型结构如下图:

    6557006a489f34a62ba00beabeccc792.png

    第一个卷积网络与等式(5)相同。第二个网络用正点向互信息(PPMI,positive pointwise mutual information)矩阵替换邻接矩阵:

    5d9eefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 609eefaa-9332-eb11-8da9-e4434bdf6706.svg 是PPMI矩阵, 629eefaa-9332-eb11-8da9-e4434bdf6706.svg 是 609eefaa-9332-eb11-8da9-e4434bdf6706.svg 的对角度矩阵, 679eefaa-9332-eb11-8da9-e4434bdf6706.svg 是非线性激活函数。结合使用两种观点的动机是:

    1. 式(5)对局部一致性进行建模,这表明附近的节点可能具有相似的标签;

    2. 式(13)对全局一致性进行建模,它假设具有相似上下文的节点可能具有相似的标签。局部一致性卷积和全局一致性卷积分别称为 699eefaa-9332-eb11-8da9-e4434bdf6706.svg 。

    然后将两个卷积结果聚合:

    6b9eefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 bf9eefaa-9332-eb11-8da9-e4434bdf6706.svg 是调节两部分损失的动态权重, e59eefaa-9332-eb11-8da9-e4434bdf6706.svg 是用节点标签的有监督损失。如果我们的预测包含 ff9eefaa-9332-eb11-8da9-e4434bdf6706.svg 种标签,用 079fefaa-9332-eb11-8da9-e4434bdf6706.svg 表示 139fefaa-9332-eb11-8da9-e4434bdf6706.svg 输出的矩阵和输出后经过softmax的矩阵,那么有:

    1c9fefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 259fefaa-9332-eb11-8da9-e4434bdf6706.svg 是训练数据下标的集合, 2c9fefaa-9332-eb11-8da9-e4434bdf6706.svg 是真实标签。

    3c9fefaa-9332-eb11-8da9-e4434bdf6706.svg 的计算为: 439fefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 4e9fefaa-9332-eb11-8da9-e4434bdf6706.svg 表示 5b9fefaa-9332-eb11-8da9-e4434bdf6706.svg 经过softmax的输出。因此, 3c9fefaa-9332-eb11-8da9-e4434bdf6706.svg 是衡量两个卷积输出距离的无监督损失函数。

    LGCN(Learnable GCN)。该网络基于可学习图卷积层(LGCL)和子图训练策略。LGCL利用CNN作为聚合器。它对节点的邻域矩阵进行最大池化,以获取前k个要素元素,然后应用1-D卷积来计算隐藏表示。计算过程如下图:

    cf8adaf3380d37a56b0a6b8799ee7b63.png

    LGCL的传播步骤公式如下:

    949fefaa-9332-eb11-8da9-e4434bdf6706.svg

    其中 4b9eefaa-9332-eb11-8da9-e4434bdf6706.svg 是邻接矩阵, a79fefaa-9332-eb11-8da9-e4434bdf6706.svg 是选取最大的 bf9fefaa-9332-eb11-8da9-e4434bdf6706.svg 个节点的操作, ca9fefaa-9332-eb11-8da9-e4434bdf6706.svg 表示常规的一维CNN。该模型使用 bf9fefaa-9332-eb11-8da9-e4434bdf6706.svg 个最大的节点选择操作来收集每个节点的信息。对于给定的节点,首先收集其邻居的特征。假设它具有 de9fefaa-9332-eb11-8da9-e4434bdf6706.svg 个邻居,并且每个节点具有 ff9eefaa-9332-eb11-8da9-e4434bdf6706.svg 个特征,则获得矩阵 22a0efaa-9332-eb11-8da9-e4434bdf6706.svg 。如果 27a0efaa-9332-eb11-8da9-e4434bdf6706.svg ,则用零列填充 f89defaa-9332-eb11-8da9-e4434bdf6706.svg 。然后选择第 bf9fefaa-9332-eb11-8da9-e4434bdf6706.svg 个最大的节点,即将每一列中的值排序并选择前 bf9fefaa-9332-eb11-8da9-e4434bdf6706.svg个值。之后,节点的嵌入插入 f89defaa-9332-eb11-8da9-e4434bdf6706.svg 的第一行将得到矩阵 39a0efaa-9332-eb11-8da9-e4434bdf6706.svg ,并进行1-D卷积来聚合特征。卷积函数的输入维度为 3da0efaa-9332-eb11-8da9-e4434bdf6706.svg ,输出维度为 40a0efaa-9332-eb11-8da9-e4434bdf6706.svg 。

    MoNeT。提出了模型GCNN(Geodesic CNN)、ACNN(Anisotropic CNN)、GCN、DCNN的泛化形式。

    使用 45a0efaa-9332-eb11-8da9-e4434bdf6706.svg 表示节点, 4da0efaa-9332-eb11-8da9-e4434bdf6706.svg 表示节点 45a0efaa-9332-eb11-8da9-e4434bdf6706.svg 相邻的一个节点,MoNet计算伪坐标(pseudo-coordinates) 57a0efaa-9332-eb11-8da9-e4434bdf6706.svg ,并对不同相邻节点使用不同权重:

    5ca0efaa-9332-eb11-8da9-e4434bdf6706.svg

    其中,模型需要学习的参数为 64a0efaa-9332-eb11-8da9-e4434bdf6706.svg , 69a0efaa-9332-eb11-8da9-e4434bdf6706.svg 表示相邻节点个数。接着就可以定义卷积:

    6ba0efaa-9332-eb11-8da9-e4434bdf6706.svg

    对于上面提到的不同方法,都可以看作这种形式,只不过它们的 75a0efaa-9332-eb11-8da9-e4434bdf6706.svg 有所区别,如下表:

    bb9022615cf13514ed98993a25947a56.png

    GraphSAGE。该模型是一个泛化的inductive框架,通过采样和聚合邻居节点的特征来产生节点的嵌入。传播过程为:

    7ba0efaa-9332-eb11-8da9-e4434bdf6706.svg

    其中, 7fa0efaa-9332-eb11-8da9-e4434bdf6706.svg 是第 0d9eefaa-9332-eb11-8da9-e4434bdf6706.svg 层的参数。

    然而,GraphSAGE并不使用所有的相邻节点。,二是随机采样固定数量的相邻节点,AGGREGATE步骤可以有多种形式,包括:

    1. 平均聚合(Mean aggregator)。可以看作是近似版本的transductive GCN卷积操作,inductive GCN的变体写作: 85a0efaa-9332-eb11-8da9-e4434bdf6706.svg 这个聚合方法和其他方法不同之处在于不像(20)中那样进行拼接操作,可以被看作是一种残差连接(skip connection),所以效果更好。

    2. LSTM聚合(LSTM aggregator)。基于LSTM实现,具有更高的表达能力,但是由于建模序列数据,所以不同的排列会造成不同的结果。可以通过修改LSTM的实现来对无序的相邻节点集合作处理。

    3. 池化聚合(Pooling aggregator)。将邻节点的嵌入通过一个全连接层并最大池化: 88a0efaa-9332-eb11-8da9-e4434bdf6706.svg ,这里的池化也可以用任意对称的计算替代。

    为了获得更好的表示,GraphSAGE进一步提出一种无监督的损失函数,它鼓励相近的节点具有类似的表示而距离较远的节点具有不同的表示:

    8ca0efaa-9332-eb11-8da9-e4434bdf6706.svg

    其中, 5c9defaa-9332-eb11-8da9-e4434bdf6706.svg 是节点 96a0efaa-9332-eb11-8da9-e4434bdf6706.svg 的相邻节点, 97a0efaa-9332-eb11-8da9-e4434bdf6706.svg 是负采样的分布, 9fa0efaa-9332-eb11-8da9-e4434bdf6706.svg 是负例样本的个数。

    展开全文
  • 从谱聚类说起谱聚类(spectral clustering)是一种针对结构的聚类方法,它跟其他聚类算法的区别在于,他将每个点都看作是一个结构上的点,所以,判断两个点是否属于同一类的依据就是,两个点在结构上是否有边...
  • 本文的内容包括图卷积的基础知识以及相关辅助理解的知识点,希望有一定深度学习基础的同学能够平滑上手理解GCN。具体来说,本文包括什么:图网络的有哪些种类,它们之间的区别和联系是什么?图卷积的地位,图卷积...
  • 首发于郁蓁的机器学习笔记写文章一文读懂图卷积GCN苘郁蓁​阿里巴巴 算法工程师​关注她唯物链丶、小小将等 480 人赞同了该文章本文的内容包括图卷积的基础知识以及相关辅助理解的知识点,希望有一定深度学习基础的...
  • 作者:陈凌灏单位:西安电子科技大学注:转载请注明出处~~本文简要介绍了信号处理的一些概念,介绍了图卷积的定义和各种谱方法下的GNN,最后分析了GCN过平滑的原因。大约5千余字,里面有一些公式比较复杂,可能需要...
  • GCN图卷积神经网络综述

    千次阅读 2020-05-13 00:01:58
    文章目录一、GNN简史二、GCN的常用方法及分类2.1 基于频域的方法2.2 基于空间域的方法2.3频域是一种特殊的空间域方法三、 GCN常用的基准数据集四、GCN的主要应用五、GCN的开源库六、对于GCN的未来发展方向 ...
  • 对于图神经网络(GNN)而言,其实现卷积主要有两种两种方法,分别是谱域图卷积方法和空域图卷积方法。这次主要介绍使用谱方法实现卷积的三个模型,即SCNN,ChebNet,GCN。近几年图神经网络的越来越火,在很多领域都...
  • GCN图卷积神经网络入门

    千次阅读 2019-07-17 20:02:53
    如有错误,请批评指正 如需PPT请留言
  • GCN问世已经有几年了(2016年就诞生了),但是这两年尤为火爆。本人愚钝,一直没能搞懂这个GCN为何物,最开始是看清华写的一篇三四十页的综述,读了几页就没读了;后来直接拜读GCN的开山之作,也是读到中间的数学...
  • 代码基于Text-GCN作者论文和基于Bible的实践,保留原作者信息,具体代码请移步原作者仓库 https://github.com/plkmo/Bible_Text_GCN https://github.com/yao8839836/text_gcn 从无到有学习GCN的一个过程,很多python...
  • 中的每个结点无时无刻不因为邻居和更远的点的影响而在改变着自己的状态直到最终的平衡,关系越亲近的邻居影响越大。 GCN的实质 是在一张Graph Network中特征(Feature)和消息(Message)中的流动和传播! 研究...
  • gcn_cheby: Chebyshev polynomial version of graph convolutional network as described in (Michaël Defferrard, Xavier Bresson, Pierre Vandergheynst, Convolutional Neural Networks on Graphs with Fast ...
  • 作者 |李秋键责编| 寇雪芹头| 下载于视觉中国引言近几年来深度学习的发展越来越火热,其中最为典型的就是半监督学习的新研究进展GCN。由Kipf和Welling提出的GCN被证明是...
  • GCN图卷积神经网络理解

    千次阅读 多人点赞 2019-09-10 19:30:23
    文章目录一、CNN卷积二、GCN 图卷积神经网络2.1 GCN优点2.3 提取拓扑图空间特征的两种方式三、拉普拉斯矩阵3.1 拉普拉斯矩阵的谱分解(特征分解)3.2 如何从传统的傅里叶变换、卷积类比到Graph上的傅里叶变换及卷积...
  • Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition. 图卷积神经网络,2018年AAAI论文代码。
  • GCN图卷积神经网络

    2020-08-21 21:01:21
    欧几里得数据(Euclidean domains data...卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算
  • 为什么火的是图卷积神经网络,而不是图循环神经网络卷积神经网络实质上是从一个小范围的节点/像素特征中通过卷积核学习提取到深层次空间特征,进而得到最终结果的过程(稀疏交互、参数共享、平移不变性),这个思想...
  • 1.卷积神经网络的结构 由四层构成,分别为:输入、卷积、池化、输出层。 2.卷积神经网络的形象理解 2.1卷积层的形象理解 卷积层的目的实际上是进行特征的提取。 在卷积层(convention layer)中,使用一个过滤...
  • 图卷积神经网络GCN)的简单介绍 1. 什么是GCN 图卷积神经网络是一种能对图数据进行深度学习的方法。 简单的说,GNN就是其研究的对象是图数据(Graph),研究的模型是卷积神经网络。 2. 为什么使用GCN 与传统方法...
  • 快速了解GCN图卷积神经网络

    万次阅读 多人点赞 2018-08-09 19:46:55
    如何理解 Graph Convolutional Network(GCN)? https://www.zhihu.com/question/54504471 推荐初学者可以先从知乎的这个问题出发,点赞最多的《从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi)》 该篇...
  • 本文是清华大学刘知远老师团队出版的图神经网络书籍《Introduction to Graph Neural Networks》的部分内容翻译和阅读笔记。个人翻译难免有缺陷敬请指出,如需转...
  • 图卷积神经网络(GCN)

    万次阅读 多人点赞 2019-08-09 14:25:46
    参考文章: 浅析图卷积神经网络 - GEETEST极验的文章 - 知乎 何时能懂你的心——图卷积神经网络GCN) - 蝈蝈的文章 - 知乎
  • 图卷积神经网络GCN)

    2020-09-27 07:18:33
    图卷积神经网络 GCN是什么
  • 是一种数据结构是一种数据结构,由节点、边组成,两个节点之间的连接称为边,如社交网络、知识、蛋白质作用网络等 同时拉普拉斯矩阵是一种表示数据的有效方式 •D是度矩阵(degree matrix) •A是邻接...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 434
精华内容 173
关键字:

gcn图卷积神经网络