[图神经网络]图卷积神经网络--GCN

这篇具有很好参考价值的文章主要介绍了[图神经网络]图卷积神经网络--GCN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、消息传递

        由于图具有“变换不变性”(即图的空间结构改变不会影响图的性状),故不能直接将其输入卷积神经网络。一般采用消息传递(Message pass)的方式来处理。

        消息传递机制通过局部邻域构建计算图实现,即某个节点的属性由其邻居节点来决定。汇聚这些邻居节点信息的工作由神经网络完成,不用人为干预。其形式如下例:

[图神经网络]图卷积神经网络--GCN

        每个节点都可构建属于自己的计算图,计算图可以表征一个其结构功能角色。 在计算过程中,每个计算图即为一个单独样本。

        需要注意的是,图神经网络的层数并不是神经网络的层数,而是计算图的层数。图神经网络的层数=计算图的层数=图中目标节点的邻居阶数每一层的节点共享一套计算权重

                [图神经网络]图卷积神经网络--GCN        [图神经网络]图卷积神经网络--GCN

         图神经网络的层数  可以视为卷积神经网络中的感受野。若  过大可能导致过平滑(所有节点输出同一张图)

二、图卷积神经网络

        1.计算单元

                图卷积神经网络基于消息传递方式,一般的计算方法是将邻居节点的属性特征逐元素求平均(与顺序无关,也可以是求最大值/求和),再将这个向量输入到神经元中

[图神经网络]图卷积神经网络--GCN

        2.数学表示

                k+1层  的嵌入是第k层节点的邻域计算(邻域中的节点求和除以节点的连接数),其公式可以写作:

                        [图神经网络]图卷积神经网络--GCN       式中 为激活函数,为权重

                其中,节点的第0阶属性特征就是其本身:

                神经网络输出的嵌入向量为,K为网络的层数

        3.矩阵表示

                ①将k层所有节点的嵌入都记为,,即下图中矩阵中的一行

                ②将此矩阵左乘一个邻接矩阵 :  可挑选出节点的邻域节点(对应上式中的求和过程)

                ③找到一个矩阵,该矩阵为一个节点连接数构成的对角矩阵,表现为:

[图神经网络]图卷积神经网络--GCN

                         其逆矩阵即为连接数的倒数:

                经过上述步骤,式即可表示为

[图神经网络]图卷积神经网络--GCN

                但是这样计算的话,由于造成节点仅会考虑自己的连接数而忽视对方的连接数不考虑连接的质量,对全部渠道来得信息强行求平均), 可以将式子改进 --> ,这样得到的结果是一个对称矩阵,既考虑了自身的连接数也考虑了对方的连接数。

                可改进后的向量幅值会减小,其特征值值域为(-1,1)。对于这种现象,可以继续对式子进行改进D^{-1}AD^{-1} --> ,这样处理后最大特征值等于1。

                最后将此矩阵记为:,在此矩阵中,若两个节点,存在连接,则其在矩阵中为,可以表示其连接权重(其中和是节点和节点的连接数)

[图神经网络]图卷积神经网络--GCN

                         矩阵还可以用来计算拉普拉斯矩阵

                则式子可以列为:[图神经网络]图卷积神经网络--GCN,该式即可表示一层GCN;其中可学习参数为权重

        4.计算图的改进

                上述方式(通过相邻节点描述本节点无法反映节点自身的情况),改进方法为:为每个节点加上指向自己的连接

[图神经网络]图卷积神经网络--GCN

                 这样改进后,邻接矩阵即变为[图神经网络]图卷积神经网络--GCN(原矩阵加上单位阵,对角线全部为1)

                最终神经网络表达式[图神经网络]图卷积神经网络--GCN可以写作:

                        (一个式子包含了原权重矩阵和单位阵)

                也可拆分写作:

                        [图神经网络]图卷积神经网络--GCN(前面是对原权重矩阵的变换,后面是对单位矩阵的变换)

                进一步改进则可使用两套权重(汇聚节点信息一套,自循环节点信息一套),写作:

                        [图神经网络]图卷积神经网络--GCN

                        且当时,后式变为恒等映射,即为残差连接。

        !!!最终的矩阵简化形式为:[图神经网络]图卷积神经网络--GCN;其中

三、GCN的训练

        1.监督学习

                损失函数:,其中f为分类/回归预测头,y为节点标注信息

                交叉熵损失函数:[图神经网络]图卷积神经网络--GCN

[图神经网络]图卷积神经网络--GCN

                GCN的输入是图结构,输出也是图结构,但输出的图中的节点嵌入了语义信息;输出结构具备:低维、连续、稠密的特点。

[图神经网络]图卷积神经网络--GCN

                 嵌入向量可以输入分类头进行分类,将其映射在二维空间上即可发现不同类别的节点在迭代中被分得越来越开

[图神经网络]图卷积神经网络--GCN---->[图神经网络]图卷积神经网络--GCN​​​​​​​

        2.无监督/自检断学习

                类似于Deepwalk/Node2vec,利用图自身的连接结构,迭代目的是让图中相连的两个结点嵌入的向量尽可能接近

                损失函数:,当时表示两个结点和相似。

                一般采用“编码器--解码器”架构,由编码器将图嵌入到向量,再由解码器计算两个向量的相似度。

四、GCN的优势

        相较于传统的基于随机游走的机器学习而言

                ①GCN所有计算图共享权重参数量更小

                ②GCN为归纳式学习,拥有较强的泛化能力(可以泛化到新节点乃至新图--迁移学习)

                ③利用了节点的属性特征、结构功能角色和标注信息

                ④拟合学习能力强,得到的嵌入向量质量较高

五、对比CNN、Transformer

        1.与CNN对比

                CNN可以视为一个2层的GCN,卷积汇总了9个邻居节点和目标节点的信息,其数学式亦可被写成:[图神经网络]图卷积神经网络--GCN,CNN可以被视为一个固定邻域、固定顺序的GCN。

[图神经网络]图卷积神经网络--GCN

                 但两者之间有以下不同

                        ①CNN不具备变换不变性,打乱像素点的顺序会影响网络的输出。

                        ②GCN的卷积核权重由预定义,不需要学习。而CNN的权重需要学习得来

        2.与Transformer对比

                Transformer本身是自注意力机制,其训练的目的是让一个序列中的元素之间互相影响。

[图神经网络]图卷积神经网络--GCN

                 Transformer可以被视为一个全连接词图上的GCN。文章来源地址https://www.toymoban.com/news/detail-500041.html

到了这里,关于[图神经网络]图卷积神经网络--GCN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入浅出【图卷积神经网络GCN】从 邻接矩阵、特征值矩阵、单位阵、度矩阵 入手,深刻理解融合邻居节点(信息) | GCN从公式到代码实现 全过程 | 在Cora数据集上实现节点分类任务

      这个世界虽然破破烂烂,可总有一些人在缝缝补补,以耀眼的光芒照耀这片大地。   🎯作者主页: 追光者♂🔥          🌸个人简介:   💖[1] 计算机专业硕士研究生💖   🌟[2] 2022年度博客之星人工智能领域TOP4🌟   🏅[3] 阿里云社区特邀专家博主🏅   🏆[4] CSDN-人

    2024年02月13日
    浏览(26)
  • 【图神经网络 02】图卷积

    图卷积获取特征需要:各节点输入特征、网络结构图。 图卷积是半监督任务,不需要全部标签,少量标签也能训练,计算损失时只考虑有标签。  针对橙色节点,计算特征:平均其邻居特征(包括自身)后传入神经网络。 GCN也可以做多层,每一层输入的还是节点特征。  

    2024年02月09日
    浏览(27)
  • 葡萄书--关系图卷积神经网络

    同质图指的是图中的节点类型和关系类型都仅有一种 异质图是指图中的节点类型或关系类型多于一种 知识图谱包含实体和实体之间的关系,并以三元组的形式存储(头实体, 关系, 尾实体,即异质图定义的边) 一般来说,知识图谱补全有两种任务:链路预测和实体分类 如果

    2024年04月22日
    浏览(23)
  • 图神经网络(二)—GCN-pytorch版本代码详解

    写在前面… 在研究生的工作中使用到了图神经网络,所以平时会看一些与图神经网络相关的论文和代码。写这个系列的目的是为了帮助自己再理一遍算法的基本思想和流程,如果同时也能对其他人提供帮助是极好的~博主也是在学习过程中,有些地方有误还请大家批评指正!

    2023年04月15日
    浏览(32)
  • 如何理解图神经网络的傅里叶变换和图卷积

    图神经网络(GNN) 代表了一类强大的深度神经网络架构。在一个日益互联的世界里,因为信息的联通性,大部分的信息可以被建模为图。例如,化合物中的原子是节点,它们之间的键是边。 图神经网络的美妙之处在于它们能够在不牺牲重要细节的情况下直接对图结构数据进

    2024年02月09日
    浏览(32)
  • 基于图卷积神经网络的人工智能:一种新的图像识别技术

    近年来,随着深度学习技术的快速发展,图像识别领域也取得了显著的进步。传统的图像识别方法

    2024年02月07日
    浏览(38)
  • 三种图神经网络(GGNN GCN GAT)关于入侵检测系统的应用

    消息传递是指在图神经网络(Graph Neural Network,GNN)中,从节点向邻居节点传递信息的过程。这个过程通常被称为“ 消息传递步骤 ”或“信息传播步骤”。 在消息传递步骤中,每个节点将自身的特征和邻居节点的特征合并,并计算出一个新的节点表示,然后将这个新的节点

    2024年02月04日
    浏览(26)
  • 四十八.图卷积网络(GCN)

    CNN 在图像识别等任务中具有重要作用,主要是因为 CNN 利用了图片(信号)在其域中的局部平移不变性。由于图结构不存在平移不变性,所以 CNN 无法直接在图上进行卷积。 CNN 之所以能成为图像领域的明珠却很少应用于其他领域原因是:「图片是一个规整的二维矩阵」,无论

    2024年02月14日
    浏览(27)
  • Pytorch+PyG实现GCN(图卷积网络)

    大家好,我是阿光。 本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代码实例都附带有完整的代码。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10 语言环

    2024年01月17日
    浏览(37)
  • 图卷积网络(Graph Convolution Network,GCN)

    目录 一、前言 二、GCN原理 三、GCN用于节点分类 四、总结 在图神经网络出现之前,一般的神经网络只能对常规的欧式数据进行处理,其特点就是节点有固定的排列规则和顺序,如2维网格和1维序列。  近几年来,将深度学习应用到处理和图结构数据相关的任务中越来越受

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包