GCN(Graph Convolutional Network)——总结

Graph Convolutional Network (GCN) 图卷积网络 基本原理: 强烈推荐: 从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi) 主要内容:CNN,拉普拉斯矩阵,Graph上的傅里叶变换及卷积,Graph Convolution 第一代GCN 第二代GCN 第三代GCN 利用切比雪夫多项式来进行近似,降低前向传播高复杂度的问题。 Semi-supervised Classification with Graph Convolutional Networks 一文中的GCN形式,其实是二阶Chebyshev多项式推导出的特例。 参考博客 阅读详情

Graph Convolutional Network

对于图结构,不采用将图结构转换成线性结构表示。直接对图结构进行表示。
CNN处理的图像或者视频数据中像素点(pixel)是排列成很整齐的矩阵(Euclidean Structure)。网络结构(Non Euclidean Structure)就是图论中抽象意义上的拓扑图。

为什么要使用GCN?

由于拓扑图每个节点度不一样,无法用同一尺寸的卷积和进行卷积运算,又希望在拓扑图上有效提取空间特征。
1) 局部特征
2)参数共享: 卷积核只有k个参数,k 远小于N,大大降低了模型复杂程度,每次卷积会将中心顶点的k 阶邻居节点进行加权求和。同阶邻居参数共享,不同阶邻居参数不共享。

GCN 主要技术:

拉普拉斯矩阵
拉普拉斯矩阵谱分解

GCN 的逻辑:
采用傅立叶变换,使得卷积操作变得可行。 h ( x ) = f ( g ( x ) ) = F − 1 ( F ( f ) . F ( g ) ) h(x)=f(g(x))=F^{-1}(F(f).F(g)) h(x)=f(g(x))=F−1(F(f).F(g)).只需要定义 graph 上的 fourier 变换,就可以定义出 graph 上的 convolution 变换。
傅立叶变换: F ( x ) F(x) F(x)

傅立叶变换的逆: F − 1 ( x ) F^{-1}(x) F−1(x)

拉普拉斯算子是二阶导数,Graph 一阶导数是两个节点间的差异,Graph 二阶导数是两个节点差异的导数。L = D-A = 度矩阵-邻接矩阵。 标准化后 L = I − D − 1 / 2 ∗ A ∗ D − 1 / 2 = U ∗ Λ ∗ U T L=I-D^{-1/2}*A*D^{-1/2}=U*\Lambda*U^T L=I−D−1/2∗A∗D−1/2=U∗Λ∗UT

传统的傅立叶变换使用 e − 2 ∗ p i ∗ sin ⁡ i x v e^{-2*pi*{\sin ixv}} e−2∗pi∗sinixv 作为基。 Graph 。
图卷积 f ∗ g = F − 1 F ( f ) ∗ F ( g ) f*g=F^{-1}{F(f)*F(g)} f∗g=F−1F(f)∗F(g)

图的傅立叶变换卷积 g ∗ x = U ( U T g ∗ U T x ) g*x=U(U^Tg*U^Tx) g∗x=U(UTg∗UTx)
傅里叶变换、卷积类比到Graph上的傅里叶变换及卷积,拉普拉斯矩阵的特征向量可以作为傅里叶变换的基,特征值表示频率.
GCN卷积公式: H ( l + 1 ) = σ ( D ~ − 1 / 2 A ~ D ~ − 1 / 2 H l W l ) H^{(l+1)}=\sigma(\widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2}H^{l}W^{l}) H(l+1)=σ(D −1/2A D −1/2HlWl)

为什么这里要用 D ~ \widetilde{D} D A ~ \widetilde{A} A 而不是 D {D} D A {A} A , 因为如果直接使用 D {D} D A {A} A 在节点的聚合表征不包含它自己的特征,所以用 A + I {A+I} A+I的方式避免。

GCN 主要优点

GCN 随机初始化,即使不训练,完全使用随机初始化的参数W,GCN提取出来的特征表示效果也是不错的,有区分性的。(可以理解为虽然没有学习,但是自带了图结构)
GCN层数不宜多,2-3层的效果就很好。

GCN应用

目前应用的大体思路:一种思路是使用 CNN、RNN、Word2Vec(及他们的变体) 等提取特征,再使用构建 Graph 进行图卷积做分类等任务。另一种思路是先用 Graph 进行图卷积提取特征表示,再使用 CNN 或者 RNN 等完成具体任务。
GCN 的文本分类,主要思想,将 word 和 doc 用 node 表示,将 word_i 和 word_j 的 PMI 值作为 edge,或者将 word_i 和 doc_k 的 tfidf 作为 edge,用 doc 节点的分类标记做交叉熵,优化 representation 表示。预测时是用 softmax 计算得到 属于哪个类别。
点评:这么做的优点是什么,会不会绕远了。严重依赖于标注数据。
Graph SAGE:工业应用,归纳式学习,可以泛化到没有未参与训练的节点上。卷积部分可以有很多种,比如平均,pooling,lstm聚合,以及GCN聚合等。

Graph kernel

Graph Embedding 将图映射到低纬空间损失了大量结构化信息,而Graph kernel 直接面向图结构数据,既保留了核函数计算高效的优点,又包含了图数据在希尔伯特高维空间的结构化信息。

GraphSAGE

现在大多数方法都是直推式学习, 不能直接泛化到未知节点。这些方法是在一个固定的图上直接学习每个节点embedding,但是大多情况图是会演化的,当网络结构改变以及新节点的出现,直推式学习需要重新训练(复杂度高且可能会导致embedding会偏移),很难落地在需要快速生成未知节点embedding的机器学习系统上。
GraphSAGE(Graph SAmple and aggreGatE)框架,通过训练聚合节点邻居的函数(卷积层),使GCN扩展成归纳学习任务,对未知节点起到泛化作用。
区别于 GCN 使用邻接矩阵 A 使用图全局结构信息,这里是对 GCN 做了进一步精简,每次迭代只抽样取直接相邻的节点,通过训练聚合节点邻居的函数(卷积层),使GCN扩展成归纳学习任务,对未知节点起到泛化作用。节点邻居学习目标节点表示,相当于用 context 学习 center 词。相当于 deepwalk + GCN。 聚合 1 跳邻居,迭代聚合 2 跳邻居。利用 2 跳邻居特征,生成一跳邻居 embedding,再聚合一跳 embedding 生成目标节点 embedding。

参考
  1. 如何理解Graph Convolutional Network
  2. 基于GCN的文本分类
  3. graph convolutional network有什么比较好的应用task?
  4. 图卷积网络到底怎么做,这是一份极简的Numpy实现
  5. GraphSAGE: GCN落地必读论文
  6. PinSage:第一个基于GCN的工业级推荐系统
  7. 有哪些指标可以描述两个图(graph)的相似度?
Graph Convolutional Network (图卷积GCN) 目标:为了解决非规则数据结构 — 学习图上特征映射 直觉上想要找到构图结点的特征,一定是与其相关的结点、连接的边有关。那么就直接把每个顶点比如1号结点相邻的结点找出来,虽然相邻的个数可能不一样,设个最大值,然后类似onehot一下,变成统一维度来做不就ok了?但是这样做的缺点在于,必须每个顶点都处理,而且而且而且效果一般。 但是我们有图论,甚至还有拓扑学! 对于一个图G=(V,E),laplac... 阅读详情

相关推荐

关系图卷积网络(Relational graph convolutional network, R-GCN)

关系图卷积网络(R-GCN) 这里,我们将会了解如何实现一个关系图卷积网络(R-GCN),这种类型的网络旨在泛化GCN来处理知识库中实体之间的不同关系。如果想要学习更多R-GCN背后的东西,可以看Modeling Relational Data with Graph Convolutional Networks 简单的图卷积网络(GCN)和DGL探索一个数据集的结构信息(即,图的连通性)来改善节点...

weixin_41741485的博客 1万+

为什么GCN不能堆叠多层(过平滑问题)

我们来看下,用多层GCN会是什么样的效果,对于节点分类任务,在使用多层GCN之后,节点的区分性越来越差,其表示向量趋于一致,出现梯度消失、过平滑、过拟合等一系列问题,这使得相关学习任务难以继续进行。 因此,尽管GCN为图数据的学习带来了一种全新的方式,但GCN模型无法像CNN模型一样进行深度堆叠,一旦使用多层GCN,相关任务的效果会急剧下降,这使得某些任务中,GCN的能力非常有限。.........

tiancanucas的博客 2376

阅读:IA-GCN: Interactive Graph Convolutional Network forRecommendation

摘要:近年来,图卷积网络(GCN)已成为一种新型的基于协同过滤(CF)的推荐系统(RS)的新技术。通过在用户-项目二部图上进行嵌入传播来学习信息丰富的用户和项目表示方式,然后根据这些表示方式为用户提供个性化的项目建议。尽管现有算法有效,但在嵌入过程中忽略了用户-项目对之间宝贵的交互特征。当预测用户对不同项目的偏好时,他们仍然以相同的方式聚合用户树,而不强调用户社区中的目标相关信息。这种统一的聚合方案很容易导致用户和项目表示的次优,在一定程度上限制了模型的表达性。在这项工作中,我们通过在每个用户-项对之间建立

qq_43532928的博客 1502

《第6章-GCN的性质》学习笔记

第6章-GCN的性质 GCN指的是利用上一章定义的图卷积层堆叠而成的模型。 6.1 GCN与CNN的联系 6.2 GCN能够进行端到端学习 端到端(end-to-end)学习实现了一种自动化从数据中高效学习的机制。端到端学习能取得良好的效果依赖于基于某个特定问题的定制化网络层的构建。 图数据包含两部分信息: 属性信息:节点的固有性质 结构信息:节点间的关联性质 需要对这两部分信息进行端到端的学习。 图数据的学习方式 1、基于手工特征的方式 ①用图的统计特征(节点的度等)作为结构信息 ②concat(

智慧的旋风的博客 865

[源码笔记]Graph Convolutional Network(GCN) 图卷积网络源码详解

GCN源码详解 参考: [Github源码] tkipf/pygcn: Graph Convolutional Networks in PyTorch (github.com) 图神经网络入门:GCN论文+源码超级详细注释讲解!_ZJF的博客-优快云博客_gcn pytorch 理论-supplement 1.半监督学习是什么?体现在哪里? 参考这篇文章HGAT半监督短文本分类的异构图注意网络论文阅读笔记及代码复现_ZJF的博客-优快云博客 有监督分类:是从已有数据集(xn,yn){(x_n,y

qianxie1的博客 2626

使用图卷积网络(Graph Convolutional Network,简称GCN)对MNIST图像进行分类的PyG实现

下面我们将详细介绍实现的步骤,并提供相应的源代码。在此步骤中,我们将定义一个简单的GCN模型。我们可以定义一个继承自torch.nn.Module的GCN模型类,并在其中定义模型的结构。以上就是使用PyG实现基于GCN的MNIST图像分类器的详细步骤和相应的源代码。通过这个示例,我们可以了解如何使用GCN来处理图像分类任务,并能够在实际应用中使用PyG库实现和训练GCN模型。在此步骤中,我们将实际训练和测试我们的GCN模型。通过迭代训练过程,我们可以观察到模型在MNIST数据集中的图像分类任务上的准确率。

syntax_api860的博客 475

GCN过平滑问题

通过实验演示GCN的过平滑问题,并解释了一些解决方案。

周先森爱吃素的博客 8223

二、基于C语言的JPEG解码代码详解

// JPEG解码 // 输入JPEG后输出Bitmap #include <stdio.h> #include <stdlib.h> #pragma warning(disable : 4996) unsigned int BuffIndex; // JPEG数据的位置 unsigned int BuffSize; // JPEG数据的大小 unsigned int BuffX; // 图像的横向尺寸 unsigned int BuffY; //

m0_37633745的博客 4456

更通俗易懂的理解图卷积神经网络(GCN)

在这篇博文中会以一种通俗易懂的方式为大家详细地介绍目前使用广泛的图神经网络——图卷积网络(Graph Convolutional Networks, GCN)的相关知识。首先将带领大家直觉上感受其工作原理,然后再介绍更深层的数学原理。

SmartLab307的博客 1588

手把手教你用FPGA实现SerDes高速接口设计(附避坑指南)

本文是一份详尽的FPGA SerDes高速接口设计实战指南。文章深入剖析了SerDes硬核(如GTX/GTH)的时钟管理、发送端均衡、接收端CDR与均衡等核心模块,并提供了Verilog代码示例。重点分享了信号完整性分析、眼图调试与误码率测试等实战经验,附有自定义高速视频流接口的完整实现案例与避坑指南,帮助工程师从“会用”到“懂”且能独立驾驭高速接口设计。

ik678901234的博客 1146

ml307 二次开发

中移物联网旗下4g模组官方网站官方教程id=514官方客户不知道啥时候上班 早上10点也说不在服务时间内 找不到官方的sdk下载路径。

myWorld001的博客 2891

图卷积神经网络GCN大白话解读!

何时能懂你的心——图卷积神经网络(GCN)https://zhuanlan.zhihu.com/p/71200936蝈蝈把知道的讲清楚。公众号SimpleAI,欢迎来逛逛。已关注天雨粟、马东什么等 1,370 人赞同了该文章作者:郭必扬2019.6.25 GCN问世已经有几年了(2016年就诞生了),但是这两年尤为火爆。本人愚钝,一直没能搞懂这个GCN为何物,最开始是看清华写的一篇三四十页的综述,读了几页就没读了;后来直接拜读GCN的开山之作,也是读到中间的数学部分就跪了;再后来在知乎上看大神们的讲解,直接

qq_38888209的博客 3816

sas协议(SAS PL-3)之Zoning功能

1 Zoning overview SAS zoning is implemented by a set of zoning expander devices with zoning enabled that define a zoned portion of a service delivery subsystem (ZPSDS)服务子系统. The zoning expander devices control whether a phy is permitted to participate in

sinat_37817094的博客 1533

理解Graph Convolutional Network(GCN)

理解Laplacian矩阵 在GCN相关的理论知识中,都提到了Laplacian矩阵(拉普拉斯矩阵),那么GCN为什么要用拉普拉斯矩阵以及拉普拉斯矩阵是怎么来的却很少有人说明。下面通过一个列子来说明。 一个基于图的热传播模型 上图一个热传播模型,我们都知道热量只会从温度高的地方流向温度低的地方,再上图中,热量只会从温度高的节点流向温度低的节点,比如节点1会与节点0,2,4发生直接的热交换,会与其他间接连通的节点(比如节点8)发生间接的温度交换。 假设热量的流动满足牛顿冷却定律(热量传递的速度正比于温度梯度

上帝是个娘们的博客 1161

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 463

SpringBoot中使用FastJson解析Json数据

场景 1.SpringBoot默认配置的是Jackson。 2.项目搭建专栏: https://blog.youkuaiyun.com/BADAO_LIUMANG_QIZHI/column/info/35688 实现 引入fastJson的依赖 <!-- fastjson的依赖 --> <dependency> <groupId>com.alibab...

BADAO_LIUMANG_QIZHI的博客 4140

GCN (Graph Convolutional Network) 图卷积网络解析

目的:图卷积网络近两年大火,博主实习需要用到。接下来几个月就会在图卷积网络上做很多东西。这篇是刚开始对图卷积网络的学习,所以会广泛参考相关论文与网上的技术博客,总结归纳,希望提炼出有用的知识,加深对于图卷积网络的理解。重要内容链接会贴出方便大家学习,也很欢迎大家跟我探讨或者分享心得。对于复杂的公式与繁杂的推证,博主希望尽可能理解其意义,对于难以理解的或者暂时没有时间推证的可以先记下其结论,方便后续...

祥瑞的技术博客 8万+

脑机接口中的视觉信号解码:原理、技术与应用

脑机接口中的视觉信号解码:原理、技术与应用​ ,人工智能,计算机视觉,大模型,AI,脑机接口(Brain - Computer Interface,BCI)作为一种革命性的技术,致力于搭建人脑与外部设备之间的直接通信桥梁,绕开传统的神经肌肉输出通路。其核心目标是解读大脑活动产生的信号,从而实现对外部设备的精准控制或信息交互。在众多脑机接口研究方向中,视觉信号解码因其独特的优势和广泛的应用前景,吸引了大量科研人员的关注。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

Graph Convolutional Network(GCN)

深入浅出GCN------Graph Convolutional Network 文章目录 深入浅出GCN------Graph Convolutional Network 1 什么是GCN? 2 提取拓扑图空间特征的两种方式? 3 GCN的过度平滑问题? 4 GCN相关资料? 1 什么是GCN? 类似于社交网络、信息网络这样的图论中抽象意义的拓扑图。 2 提取拓扑图空间特征的两种方式? vertex domain(spatial domain)是非常直观的一种方式。顾名思义:提取拓扑图上的空间特征,那

wangprince2017 414

【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程

在当代软件开发领域,CPU(Central Processing Unit,中央处理器)的性能优化一直是一个核心议题。尤其是对于C++开发者而言,无论是在Linux平台还是其他操作系统中,都需要深刻理解CPU的工作原理以及如何充分利用CPU资源,以确保软件运行的高效性和稳定性。正如计算机科学家Donald Knuth在《计算机程序设计的艺术》中所说:“过早的优化是万恶之源”,然而,这并不意味着我们应该忽视性能优化——相反,我们需要在正确的时间以正确的方式进行优化。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4749

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

读《如何理解 Graph Convolutional Network(GCN)?》

接触的第一篇GCN的内容,整理一些笔记。 原文链接: https://www.zhihu.com/question/54504471/answer/332657604 一、区别CNN CNN仅针对Euclidean Structure,要求图像或者视频的像素点都排列成整齐的矩阵。 GCN可以扩充到Non Euclidean Structure(NES)中,社交、信息中的网络结构、拓扑结构。...

littlecherrylin的博客 1189

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

GCN: Graph Convolutional Network

从CNN到GCN的联系与区别: https://www.zhihu.com/question/54504471/answer/332657604 更加详解Laplacian矩阵: https://www.zhihu.com/question/54504471/answer/630639025 GCN 实践: https://mp.weixin.qq.com/s...

weixin_30367169的博客 517

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

如何理解 Graph Convolutional Network(GCN)?

作者:superbrother 链接:https://www.zhihu.com/question/54504471/answer/332657604 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi) 1 什么是离散卷积?CNN中卷积发挥什么作用? 了解GCN之前必须对离散卷积(或者说...

人工智能 6980

图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导

图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导

weixin_42738495的博客 580

GCN (Graph Convolutional Network) 图卷积网络

这几个同时看一下,感觉能理解不少: B站视频:https://www.bilibili.com/video/BV1ta4y1t7EK GCN论文原文和代码:https://github.com/tkipf/gcn (代码另有pytorch版本的,也很方便理解) 本文转载的博客:https://blog.youkuaiyun.com/weixin_36474809/article/details/89316439 以下是主要转载内容: 目的:图卷积网络近两年大火,博主实习需要用

rocking_struggling的博客 3329
上一篇: DNN for 推荐_biji
下一篇: LINE-biji
wang2008start
博客等级 码龄19年 104粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值