当前位置: 首页 > news >正文

GCN 翻译 - 2

2 FAST  APROXIMATE  CONVOLUTIONS ON GRAPHS

在这一章节,我们为这种特殊的的图基础的神经网络模型f(X, A)提供理论上的支持。我们考虑一个多层的图卷积网络(GCN),它通过以下方式进行层间的传播:

H^{(l+1)} = \sigma (\widetilde{D}^{-1/2} \widetilde{A}(\widetilde{D}^{-1/2} H^{(l)}W^{(l)}) \quad (2)

这里,\widetilde{A} = A+ I_{N}是无向图邻接矩阵加上自己本身。I_{N}是对称矩阵,\widetilde{D_{ii}} = \sum _j\widetilde{A_{ij}},W^{(l)}是层的训练权重矩阵。\sigma (.)表示激活函数,例如ReLu.H^{(l)}\in R^{N*D}l^{th}层的激活矩阵,H^{(0)} = X.在接下来中,我们将会展示,这种规则的传播方式是局部谱域滤波的一阶近似。

2.1 SPECTRAL GRAPH CONVOLUTIONS

我们考虑图上的谱域卷积 : 多维信号x\in R^N,用参数\theta \in R^N定义的傅里叶过滤器g_\theta =diag(\theta ),i.e.:

g_\theta * x = Ug_\theta U^{T}x, \quad (3)

这里U是归一化的图拉普拉斯矩阵的特征向量矩阵,这里L = I_N - D^{-1/2}AD^{-1/2} = U \Lambda U^{T},

对角矩阵是特征值\LambdaU^Tx是x的图傅里叶的转换。我们可以理解g_\theta是拉普拉斯矩阵L的特征值的函数,即g_\theta (\Lambda )。计算公式(3)是非常繁重的计算,因为特征向量的矩阵U的乘法是O(N^2)。并且,在大的图上计算L的特征值分解,其计算量之大以至于无法做到。为了规避在大图上特征值分解的问题,g_{\theta }(\Lambda )近似是切比雪夫多项式K^{th}级截断T_k(x) :

g_\theta (\Lambda )\approx \sum_{k=0}^{K}{\theta_k}^{'}T_k(\widetilde{\Lambda }) \quad (4)

\widetilde{\Lambda } = \frac{2}{\lambda _{max}}\Lambda - I_N\lambda _{max}表示L的最大特征值。\theta ^{'} \in R^K是切比雪夫向量的系数。切比雪夫多项式递归地定义为T_k(x) = 2xT_{(k-1)}(x) - T_{k-2}(x),这里面T_0(x) = 1 , T_1(x) = x

回到我们信号x过滤器

{g_\theta}^{'} * x \approx \sum_{k=0}^{K}{\theta _k}^{'}T_k(\widetilde{L})x,\quad (5)

这里\widetilde{L} = \frac{2}{\lambda_{max} }L - I_N;可以轻易验证(U\Lambda U^{T})^k = U \Lambda ^kU^T。这个表达式是K阶截断的拉普拉斯多项式近似,它依赖于中心节点周围做多K个节点的作用。公式 5的复杂度是O(|\varepsilon |),随着边的数量线性增长。Defferrard et al 使用K阶卷积定义了图上的卷积网络。

2.2 LAYER-WISE LINEAR MODEL

通过公式5,图卷积神经网络可以叠多个卷积层,每一层都是非线性的。现在,如果我们将层的卷积操作K=1,即图谱域拉普拉斯矩阵L的限行函数。

这种一阶的线性方式,我们仍然可以罗列多层的卷积层,这不局限于切比雪夫多项式。我直觉期望这样的模型能够对于点的度数很高的分布(例如,社交网络、引用网络、知识图谱和其他一些真实世界的数据库)的图结构起到减轻过拟合的作用。并且,对于一定的计算资源,这种一阶的layer-wise方式能够建立更深的网络。

这样一种GCN的方式,我们近似\lambda_{max} \approx 2,训练过程中,网络的参数适应如下方式:

g_{\theta^{'}} * x = {\theta _0}^{'}x + {\theta _1}^{'}(L- I_N)x= {\theta _0}^{'}x - {\theta _1}^{'}D^{-1/2}AD^{-1/2}x, \quad (6)

这里2个自由参数\theta _0^{'}\theta _1^{'}。这个过滤器的参数被整个网络共享。多层卷积过滤能够卷积到一个节点的第K层邻居,k就是图神经网络卷积层的层数。

在实际中,限制参数的数量以减少计算(例如矩阵乘法)已解决过拟合的问题,这种优化可以得到如下公式g_\theta *x \approx \theta (I_N + D^{-1/2}AD^{-1/2})x,\quad (7)

一个参数\theta =\theta _0^{'}=-\theta _1^{'}。注意I_N + D^{-1/2}AD^{-1/2}的特征值取值范围在[0,2]。在神经网络里面叠多层这样的操作将导致数值不稳定,以及神经网络梯度的消失。为了有效缓解这个问题,我们将使用再归一化的技巧:I_N + D^{-1/2}AD^{-1/2}->\widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2}\widetilde{A} = A + I_N\widetilde{D_{ii}} = \sum_{j}\widetilde{A_{ij}}

我们可以将上述的定义真正泛化到一个信号X\in R^{N*C},带有C个输入通道(例如,每一个节点有C维的特征向量),F过滤和特征映射如下:

Z = \widetilde{D}^{-1/2}\widetilde{A}\widetilde{D}^{-1/2}X\Theta ,\quad (8)

这里\Theta \in R^{C*F}是过滤矩阵的参数,Z\in R^{N*F}是卷积信号矩阵。这个过滤操作有O(|\varepsilon|FC )的复杂度,\widetilde{A}X是稀疏矩阵和稠密矩阵的乘积。

相关文章:

GCN 翻译 - 2

2 FAST APROXIMATE CONVOLUTIONS ON GRAPHS 在这一章节,我们为这种特殊的的图基础的神经网络模型f(X, A)提供理论上的支持。我们考虑一个多层的图卷积网络(GCN),它通过以下方式进行层间的传播: 这里,是无…...

HBase 的安装与部署

目录 1 启动 zookeeper2 启动 Hadoop3 HBase 的安装与部署4 HBase 高可用 1 启动 zookeeper [huweihadoop101 ~]$ bin/zk_cluster.sh start2 启动 Hadoop [huweihadoop101 ~]$ bin/hdp_cluster.sh start3 HBase 的安装与部署 (1)将 hbase-2.0.5-bin.tar.…...

236.二叉搜索树的公共祖先

236.二叉树的公共祖先 思路 看到题想的是找到两个点的各自路径利用stack保存,根据路径长度大小将两个stack的值对齐到同一层,之后同时出栈节点,若相同则找到祖先节点。但是效率不高 看了大佬代码,递归思想很难理解。 根据大佬…...

【论文精读】大语言模型融合知识图谱的问答系统研究

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…...

LabVIEW高精度天线自动测试系统

LabVIEW高精度天线自动测试系统 系统是一个集成了LabVIEW软件的自动化天线测试平台,提高天线性能测试的精度与效率。系统通过远程控制测试仪表,实现了数据采集、方向图绘制、参数计算等功能,特别适用于对天线辐射特性的精确测量。 在天线的…...

7.3 支付模块 - 创建订单、查询订单、通知

支付模块 - 创建订单、查询订单、通知 文章目录 支付模块 - 创建订单、查询订单、通知一、生成支付二维码1.1 数据模型1.1.1 订单表1.1.2 订单明细表1.1.3 支付交易记录表 1.2 执行流程1.3 Dto1.3.1 AddOrderDto 商品订单1.3.2 PayRecordDto支付交易记录扩展字段1.3.3 雪花算法…...

灵魂指针,教给(一)

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看,已成习惯 创作不易,多多支持! 一、内存和地址 1.1 内存 在介绍知识之前,先来想一个生活中的小栗子: 假如把你放在一个有100间屋子的酒店…...

Linux 开发工具 yum、git、gdb

目录 一、yum 1、软件包 2、rzsz 3、注意事项 4、查看软件包 5、安装软件 6、卸载软件 二、git操作 1、克隆三板斧 2、第一次使用会出现以下情况: 未配置用户名和邮箱: push后弹出提示 三、gdb使用 1、背景 2、使用方法 例一&#xff1a…...

Markdown

这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中、居左、居右 SmartyPants 创建一个自定义列表 …...

【Oracle】oracle中sql给表新增字段并添加注释说明;mysql新增、修改字段

oracle中sql给表新增字段并添加注释说明 ALTER TABLE 表名 ADD 字段名 类型 COMMENT ON COLUMN 表面.字段名 IS ‘注释内容’ ALTER TABLE GROUP ADD T NUMBER(18) COMMENT ON COLUMN GROUP.T IS ‘ID’ mysql新增、修改字段、已有字段增加默认值 ALTER TABLE 表名 ADD COL…...

【汇总】pytest简易教程

pytest作为python技术栈里面主流、火热的技术,非常有必要好好学一下,因为工作和面试都能用上; 它不仅简单易用,还很强大灵活,重点掌握fixture、parametrize参数化、allure-pytest插件等,这些在后续自动化框…...

openssl调试记录

openssl不能直接解密16进制密文,需要把密文转化成base64格式才能解密 调试记录如下:...

3.7练习题解

一共五道题: 1. PERKET: 观察容易发现n的值很小,所以我们可以考虑使用dfs的方法进行解答,首先我们可以考虑一共有n种配料,那么我们就可以考虑到可以选择1到n种配料数目,然后基于这个思路我们再对其进行判断…...

MQ的消费模式-消息是推还是拉

文章目录 概述RocketMQ默认pushRabbitMQ默认pushKafka默认拉PullActiveMQ默认push 概述 MQ的消费模式可以大致分为两种,一种是推Push,一种是拉Pull Push是服务端主动推送消息给客户端,Pull是客户端需要主动到服务端轮询获取数据。 推优点是及…...

一个平台满足你对测试工具的所有需求

背景 目前,测试人员普遍使用的测试工具有Postman、JMeter等,但这些工具都存在一定的局限性。例如,Postman缺少对API性能测试方面的支持,而JMeter则缺乏一个整合测试报告、测试脚本的统一管理系统以及UI测试功能。 RunnerGo是什么…...

【C语言】【字符串函数】【超详解】【上】!!!

前言: 在学习C语言的过程中,字符串、字符数组等对新手来说总是会有疏忽,在已有的库函数中,我们平时用到最多的就是关于字符串的函数,今天我们就来详细学习字符串函数的相关内容。 下面我们就开始讲解字符串函数&#x…...

算法沉淀——动态规划之其它背包问题与卡特兰数(leetcode真题剖析)

算法沉淀——动态规划之其它背包问题与卡特兰数 二维费用的背包问题01.一和零02.盈利计划 似包非包组合总和 Ⅳ 卡特兰数不同的二叉搜索树 二维费用的背包问题 01.一和零 题目链接:https://leetcode.cn/problems/ones-and-zeroes/ 给你一个二进制字符串数组 strs…...

selenium中ChromeDriver配置,一把过,并且教你伪装

最近正值毕业季,我之前不是写了个问卷星代码嘛,昨晚上有人凌晨1点加我,问我相关内容。 由于我之前C盘重装了一下,导致我很多东西空有其表,实际不能用,借此机会,向大家编写ChromeDriver配置&…...

vue3 + vite 项目可以使用纯Js开发吗?

答案:可以 创建项目: 按照链接参考或者按官方: webstorm 创建vue3 vite 项目-CSDN博客 项目目录 tsconfig.json 配置允许js allowJs指定是否编译js文件,在任意文件当中,如果我们模块使用js写的,那么我们需要 将all…...

Java EE之线程安全问题

一.啥是线程安全问题 有些代码,在单个线程执行时完全正确,但同样的代码让多个线程同时执行,就会出现bug。例如以下代码: 给定一个变量count,让线程t1 t2分别自增5000次,然后进行打印,按理说co…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则&#xf…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)

引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...