图卷积网络(Graph Convolutional Network, GCN)

图卷积网络(Graph Convolutional Network, GCN)是一种用于处理图结构数据的深度学习模型。GCN编码器的核心思想是通过邻接节点的信息聚合来更新节点表示。

图的表示

一个图 G通常表示为 G=(V,E),其中:

  • V 是节点集合,包含 N个节点。
  • E是边集合,包含图中所有的边。

节点特征矩阵

假设每个节点 i有一个特征向量 x_i(维度为 F),所有节点的特征可以表示为矩阵 \mathbf{X} \in \mathbb{R}^{N \times F}

邻接矩阵

图的邻接矩阵 \mathbf{A} \in \mathbb{R}^{N \times N}表示图中节点之间的连接关系,其中 \mathbf{A}_{ij} = 1表示节点 i和节点 j之间有边,反之为 0。

度矩阵

度矩阵\mathbf{D} \in \mathbb{R}^{N \times N}是一个对角矩阵,其中 \mathbf{D}_{ii}表示节点 i的度,即节点 i的邻居数量: \mathbf{D}_{ii} = \sum_{j} \mathbf{A}_{ij}

图卷积层

GCN编码器由多个图卷积层组成,每一层的运算可以描述为:

\mathbf{H}^{(l+1)} = \sigma\left( \mathbf{\tilde{D}}^{-\frac{1}{2}} \mathbf{\tilde{A}} \mathbf{\tilde{D}}^{-\frac{1}{2}} \mathbf{H}^{(l)} \mathbf{W}^{(l)} \right)

其中:

  • \mathbf{\tilde{A}} = \mathbf{A} + \mathbf{I},即在邻接矩阵A中加上自环(self-loop),其中 I是单位矩阵。
  • \mathbf{\tilde{D}} 是对应的度矩阵,计算方式与度矩阵 D类似,只不过这里考虑了自环。
  • \mathbf{H}^{(l)}是第 l层的节点表示矩阵,初始表示 \mathbf{H}^{(0)} = \mathbf{X}
  • \mathbf{W}^{(l)}是第 l层的权重矩阵。
  • σ 是非线性激活函数(例如ReLU)。

归一化的邻接矩阵

\mathbf{\hat{A}} = \mathbf{\tilde{D}}^{-\frac{1}{2}} \mathbf{\tilde{A}} \mathbf{\tilde{D}}^{-\frac{1}{2}}

因此,图卷积层的更新规则可以简化为:

\mathbf{H}^{(l+1)} = \sigma\left( \mathbf{\hat{A}} \mathbf{H}^{(l)} \mathbf{W}^{(l)} \right)

GCN通常由多层图卷积层堆叠而成。假设有 L层,那么经过 L 层图卷积后,最终的节点表示为 \mathbf{H}^{(L)}

聚合和更新

每一层的图卷积操作本质上是对每个节点的邻居节点信息进行聚合,然后通过线性变换和非线性激活函数进行更新。具体过程如下:

  1. 聚合邻居信息:使用归一化的邻接矩阵\mathbf{\hat{A}}对节点表示进行线性变换,得到聚合后的邻居信息。
  2. 线性变换:通过权重矩阵 \mathbf{W}^{(l)}对聚合后的邻居信息进行线性变换。
  3. 非线性激活:应用非线性激活函数 σ进行非线性变换。

最后

GCN编码器的结构可以通过如下递归公式表示:

\mathbf{H}^{(l+1)} = \sigma\left( \mathbf{\hat{A}} \mathbf{H}^{(l)} \mathbf{W}^{(l)} \right)

初始状态下 \mathbf{H}^{(0)} = \mathbf{X},经过 L层图卷积后,得到最终的节点表示 \mathbf{H}^{(L)}。每层的图卷积通过聚合邻居信息、线性变换和非线性激活来更新节点表示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/354049.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【perl】环境搭建

1、Vscode Strawberry Perl 此过程与tcl环境搭建很类似,请参考我的这篇文章: 【vscode】 与 【tclsh】 联合搭建tcl开发环境_tclsh软件-CSDN博客 perl语言的解释器可以选择,strawberry perl。Strawberry Perl for Windows - Releases。 …

对于补码的个人理解

1. 十进制的取模计算 现在我想要使另一个数加上2后用8取模后也等于1,这个数可以是哪些? 这个问题比较简单,只需要-1加上8的倍数即可 例如: 如果我们想要得到距离-1这个负数最近的一个正数7,直接使用-18即可。反过来想…

C# WinForm —— 36 布局控件 GroupBox 和 Panel

1. 简介 两个可以盛放其他控件的容器,可以用于把不同的控件分组,一般不会注册事件 GroupBox:为其他控件提供可识别的分组。可通过Text属性设置标题;有边框;没有滚动条,一般用于按功能分组 Panel&#xff…

白酒:中国的酒文化的传承与发扬

中国,一个拥有五千年文明史的国度,其深厚的文化底蕴孕育出了丰富多彩的酒文化。在这片广袤的土地上,酒不仅仅是一种产品,更是一种情感的寄托,一种文化的传承。云仓酒庄的豪迈白酒,正是这一文化脉络中的一颗…

CentOS系统自带Python2无法使用pip命令

Linux运维工具-ywtool 目录 一. 系统环境二.解决三.验证四.备注(1)输入"yum install -y python-pip",提示没有可用 python-pip包(2)安装完pip后进行升级 一. 系统环境 centos7系统自带的python2.7无法使用pip命令 二.解决 yum install python-pip -y三.验证 pip…

Go 并发控制:RWMutex 实战指南

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

three.js纹理贴图褪色失真问题解决

网上查的都是加encoding配置,但是最新版本,纹理对象属性名.encoding已经变更为.colorSpace // 纹理贴图加载器 const texLoader new THREE.TextureLoader(); const texture texLoader.load("./test.jpg"); texture.colorSpace THREE.SRGBC…

Building wheels for collected packages: mmcv, mmcv-full 卡住

安装 anime-face-detector 的时候遇到一个问题:Installation takes forever #1386:在构建mmcv-full时卡住,这里分享下解决方法(安装 mmcv 同理,将下面命令中的 mmcv-full 替换成 mmcv) 具体表现如下&#x…

免费域名第二弹:手把手教你获取个性化免费域名并托管至Cloudflare

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 免费申请域名的方法 📒📝 注册账号📝 创建免费域名📝 将域名添加到 Cloudflare⚓️ 相关链接 ⚓️📖 介绍 📖 在如今的数字时代,拥有一个个性化的域名已经成为越来越多人的需求。无论是建立个人博客、项目展示,还…

连获殊荣,天润融通以AI技术重塑企业客户联络体验!

天润融通又获奖了。 2024年3月22日,「ToB行业头条」联合3W集团共同举办的「2024ToB头条行业大会」在北京举行。 为表彰在过去一年中表现卓越、对行业发展作出显著贡献的企业、产品和数字化转型案例,大会颁布了ToB年度榜单【2023中国ToB行业影响力价值榜…

搜维尔科技邀您共赴2024第四届轨道车辆工业设计国际研讨会

会议内容 聚焦“创新、设计、突破”,围绕“面向生命健康、可持续发展的轨道交通系统” 为主题,从数字化、智能化、人性化、绿色发展等方面,探索轨道交通行业的设计新趋势及发展新机遇。 举办时间 2024年7月10日-12日 举办地点 星光岛-青岛融…

CSS3基本语法

文章目录 一、CSS引入方式二、选择器1、标签选择器2、类选择器3、id选择器4、通配符选择器 三、字体操作1、字体大小2、字体粗细3、字体样式(是否倾斜)4、字体修改常见字体系列 修改字体系列语法 四、文本操作1、文本缩进2、文本水平对齐方式3、文本修饰…

【AI】如何改换Ollama的模型存储位置

【背景】 ollama在构筑AI应用时是用于统一管理模型库的核心组成部分。默认存放ollama模型库的位置是C盘的用户文件夹的.llama-》model下。但是这样C盘很容易占满。 插一句话,越来越觉得不分区有不分区的方便。 好了,有没有办法改变ollama的默认模型存放…

CSRF跨站请求伪造

CSRF跨站请求伪造 条件 1、需要请求伪造数据包 2、无过滤防护,有过滤防护能绕过 3、受害者需要触发 案例一(无防护) burp抓到添加用户的包 使用burp自带的转换为csrf的poc 勾选上include-auto-submit script,删除点击标签&a…

Google 广告VS Facebook广告:哪个更适合我?2024全维度区别详解

在 Google Ads 和 Facebook Ads 之间进行选择可能是一个艰难的决定。决定哪种方法适合您的业务取决于多种因素,从您愿意为转化支付的费用到管理广告系列所需的时间和人员。在这篇文章中,将解释 Google Ads 和 Facebook Ads 之间的差异,以便您…

Java并发自测题

文章目录 一、什么是线程和进程?线程与进程的关系,区别及优缺点?二、为什么要使用多线程呢?三、说说线程的生命周期和状态?四、什么是线程死锁?如何预防和避免线程死锁?五、synchronized 关键字六、并发编程的三个重要特性七、JMM (Java Memory Mod…

STM32F4 STD标准库串口接收中断+空闲中断例程

STM32F4 STD标准库串口接收中断空闲中断例程 🔖工程基于STM32F446 ✨用惯了STM32CubeMX傻瓜式配置,突然改用标准库写代码,初始化外设内容,总是丢三落四的。 📗串口初始化配置 void uart_init(uint32_t bound) {//GPIO…

Web渗透信息收集进阶

网站敏感目录与文件 网站敏感目录表示网站目录中容易被恶意人员利用的一些目录。通常恶意人员都是通过工具扫描,来扫出网站的敏感目录,敏感目录是能够得到其他网页的信息,从而找到后台管理页面,尝试进入后台等,扫描网…

告别盲目决策!精益生产KPI指标管理系统让你的企业更聪明

在当今快速变化的商业环境中,企业为了保持竞争力,需要高效地追踪、分析和优化各种业务指标。为了实现这一目标,越来越多的企业开始引入指标管理系统,这一工具在提升管理效率和促进业务增长方面发挥着至关重要的作用。 一、什么是…

图解Linux内核(基于6.x):解读Linux内存反向映射之匿名映射

文章目录 📑前言一、匿名映射的mapping二、推荐阅读2.1 一图速览2.2 内容简介 📑前言 内存映射中,我们经常讨论的是由虚拟内存定位物理内存(也就是folio或者page),实际上在很多场景中(比如内存回…