CS224W 7 A General Perspective on Graph Neural Networks

news2025/7/21 10:50:54

目录

A General GNN Framework

A single GNN layer

基本形式

Classical GNN Layers: GCN

Classical GNN Layers: GraphSAGE

Classical GNN Layers: GAT

动机

Attenion Mechanism

Multi-head attention

Attenion Mechanism的优点

 GNN Layer in Practice

Stacking Layers of a GNN

Stack layers sequentially

结构

Over-smoothing Problem


A General GNN Framework

1.GNN Layer = (1)Message +(2) Aggregation

        GCN,GraphSAGE,GAT

2.Connect GNN layers into a GNN

        依次堆叠GNN layers

        添加skip connection的方法

3.Graph augmentation

        Graph  feature augmentation

        Graph structure augmentation

4. 学习目标函数

        监督/无监督的目标函数

        节点/边/图水平的目标函数

A single GNN layer

基本形式

GNN layer将一组vectors(v的邻居节点L-1层的嵌入 与 节点v L-1层的嵌入)压缩为单个vector

为什么message要包含节点自身v L-1层的嵌入:否则节点v本身的信息会丢失

包含两部分: Message(节点嵌入的转换)与Aggregation(聚合来自不同节点的message)

Classical GNN Layers: GCN

Message:每个节点u,由节点v的度归一化

Aggregation:对来自所有邻居节点的messages求和,再应用激活函数

Classical GNN Layers: GraphSAGE

1.GraphSAGE的Message在AGG(.)中实现。

2.包含两个阶段的Aggregation:聚合邻居节点;聚合节点自身信息

 3.AGG方式多样

 4.L2Normalization

对每一层的节点使用L2 Normalization

  • 没有L2 Normalization,不同节点的embedding有不同规模
  • 在有些情况下,加入L2 Normalization后会有性能的提升
  • 在L2 Normalization之后,所有向量有相同的L2-norm,都为1

Classical GNN Layers: GAT

动机

在GCN与GraphSAGE中,权重因子\alpha _{vu}=\frac{1}{N(v)},是基于图的结构特性(node degree)决定的,所有节点v的邻居节点u都有相同的重要性。

不是所有邻居节点都有相同的重要性,所有计算节点的embedding时应遵顼attention策略,为不同邻居节点指定不同的weights。

Attenion Mechanism

1.基于注意力机制计算节点l层的embedding

(1)首先计算注意力系数(attention coefficients)e_{vu}。使用注意力机制a,基于节点对u、v的messages计算它们的e_{vu}

 e_{vu}表明了u的message对节点v的重要性

(2)计算最终的attention weight\alpha _{vu}——使用softmax归一化e_{vu}

(3)基于attention weight\alpha _{vu}加权求和计算节点v的第l层的embedding

2.注意力机制a的形式

a可以简单的为单层神经网络

a具有要训练的参数,和其它参数联合训练,例如W^{l}

Multi-head attention

多头注意力机制不同组的α由不同的function a组成,最后计算节点v的第l层的embedding,可以拼接或者求和。

Attenion Mechanism的优点

允许为不同邻居节点指定不同的重要性值\alpha _{vu}

计算效率高。可以从图中所有边并行的计算attentional coefficients;Aggregation可以对所有节点并行计算。

只关注局部邻居节点。

 ps:重要性可能不对称,我给你的信息很重要,但你的信息对我来说不重要

 GNN Layer in Practice

可以在单层GNN layer里添加现代的深度学习模块,非常有效。

1.BN

对embedding的每一个维度进行normilzation

2.Dropout

Dropout用于message function里的线性层

 3.Activation

Stacking Layers of a GNN

有两种将GNN layers连接成GNNd 方法:依次堆叠layer;添加skip connections

Stack layers sequentially

结构

Over-smoothing Problem

不是GNN layers堆叠的越深越好

1.定义

所有节点的embeddings收敛到相同的值,但是期望的是节点有不同的embedding。

2.原因

Receptive field:决定感兴趣的节点的embedding的节点集。当K层GNN时,每个节点的Receptive field有K-hop的neighborhood。

如果两个节点的Receptive field高度重叠,那么它们的embeddings高度相似。

堆叠许多GNN layers——节点有highly overlapped receptive field——节点embeddings高度相似——出现Over-smoothing Problem

 3.解决方法

(1)谨慎加GNN layers

不像NN(例如CNN),加入更多的GNN layers不总是有帮助

step1:分析解决问题必要的receptive field

step2:设置GNN layers的数量比receptive field稍微多一点

(2)Expressive Power for Shallow GNNS——当GNN layers很少时增加表达能力

  • 方法1:增加每一层GNN layer的表达力

原来的每个transformation或者aggregation都是one linear layer,可以将transformation或者aggregation变为DNN

  • 方法2:添加不传递message的layers

一个GNN不需要只包含GNN layers,例如,可以在GNN layers之前或之后添加MLP作为预处理层或者后处理层。预处理在编码node features时很重要;后处理在基于embeddings推理或转换时很重要。

 (3)Add skip connections in GNNs——当问题需要许多GNN layers时

从过度平滑观察:在早期的GNN层的节点嵌入有时可以更好地区分节点

解决方案:我们可以通过在 GNN 中添加shortcuts,增加早期层对最终节点嵌入的影响。

skip connections创造了混合模型:混合两个不同的层或者模型——上一层和当前层message的加权和

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

股票交易接口软件服务涵盖范围有哪些?

通常所说的股票交易接口软件是指量化交易程序员们可以自行查询各大交易网站或交易所的股票历史数据及行情数据的工具,如:实时报价;走势图;价差图;基金、债券、期货、外汇、保险等各类金融数据查询等,进行数…

elasticsearch7.6安装教程及启动常见错误解决方法

elasticsearch就是一个类似数据库用来专门做搜索的一款工具,在大量的搜索条件下,效率很好,可以直接把它当成一个数据库。 1.打开官网 Download Elasticsearch | Elastic,下载历史版本 这里我选择7.6.1 然后点击linux sha 下载,我这里采用迅雷下载到本地后,再利用Xftp上…

【设计模式】装饰器模式( Decorator Pattern)

装饰器模式属于结构型模式,主要解决当系统需要添加新功能,需要向旧类中不断添加新的属性和方法,从而导致整个类的复杂度不断增长的问题。假如新加的代码仅仅是为了满足特定场景下才会执行的需要,那么就没必要全部写在主类中&#…

一个年薪20万软件测试工程师都具备的能力,你有吗?

今天和大家一起来讨论一下一个很火的问题:作为软件测试工程师需要具备哪些实力。 硬实力:学历技术 目前随着社会的发展,各个行业对岗位学历的要求也越来越高,尤其是对于工资水平高的技术岗位。 测试通用技能: 软件…

Revit中参数化弹簧族怎么做?

Revit中参数化弹簧族制作 第一步:新建族,族样板选择 “公制常规模型第二步:在平面视图中,在中心参照平面两端创建两条参照平面,等分标注,赋予其参数“一圈弹簧直径”,如图 1 第三步:…

环糊精-PEG-麦芽糖 maltose-Cyclodextrin 麦芽糖-环糊精

环糊精-PEG-麦芽糖 maltose-Cyclodextrin 麦芽糖-环糊精 英文名称:maltose-Cyclodextrin 别称:环糊精修饰麦芽糖,环糊精-麦芽糖 还可以提供PEG接枝修饰麦芽糖,麦芽糖-聚乙二醇-环糊精Cyclodextrin-PEG-maltose,环糊…

05、Spring事务详解

本文主要介绍Spring中的事务相关知识: 1、熟悉事务管理的三个核心接口 2、了解Spring事务的两种方式 3、掌握基于XML和注解的事务使用 1、Spring事务管理概述 1、事务管理的核心接口 1、PlatformTransactionManager PlatformTransactionManage接口是Spring平台提…

FineReport智能表格软件-JS实现大数据集导出(一)

前言 帆软FineReport大批量数据导出的时候,会对服务器、网络传输、数据库造成一定的压力。为了防止这样的风险,FineReport 11.0 新增了「大数据集导出」的功能,可直接根据数据集结果进行导出。 1.接口简介与注意事项 1.1 接口简介 大数据…

Redis订阅发布

Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接受消息。(微信、微博、关注系统) Redis客户端可以订阅任意数量的频道 订阅发布消息图: 三个角色:消息发送者、频道、消息订…

VMware 安装Ubuntu22.04

0、前提条件 操作系统:Windows10 VMware Workstation版本:15.1.0 build-13591040 1、安装 下载地址:下载Ubuntu桌面系统 | Ubuntu 打开VMware,选择文件 -> 新建虚拟机 配置类型选择典型,单击“下一步”按钮 选择…

python操作Excel之提取字符串中的中文/过滤字符串(win32com)

Python实用篇-Excel1.前言2.关于Excel3.win32com库操作4.问题解决4.1.问题描述4.2.安装库4.3.编码与解决1.前言 本人大学期间自学了Python后,但是又因不是大数据相关专业,并且没有计划从事Python相关方向,之后就几乎没有怎么使用过Python了。…

智慧城市应用数据治理的作用有哪些?

智慧城市是基础设施发展的新热词。 主要是指在城市规划、设计、建设、管理与运营等领域中,通过物联网、云计算、大数据、空间地理信息集成等智能计算技术的应用,使得城市管理、教育、医疗、房地产、交通运输、公用事业和公众安全等城市组成的关键基础设施…

现代密码学导论-10-EAV安全

目录 3.2.1 安全的基本定义(EAV-安全) 不可区分实验 The adversarial indistinguishability experiment DEFINITION 3.8 EAV-安全的等价定义(一) DEFINITION 3.9 EAV-安全的等价定义(二) 证明EAV-安全…

[b01lers2020]Welcome to Earth

刚点进来会一直加载&#xff0c;然后跳转到了/die 看一下刚进来页面的源代码 <!DOCTYPE html> <html><head><title>Welcome to Earth</title></head><body><h1>AMBUSH!</h1><p>Youve gotta escape!</p>&l…

leetcode:1157. 子数组中占绝大多数的元素【暴力遍历 + 随机算法相信概率】

目录题目截图题目分析暴力二分随机二分总结题目截图 题目分析 一个很暴力的思路就是把每个num出现的idx记录起来&#xff0c;然后按出现的频率排序优化每次query&#xff0c;遍历每个元素和频率&#xff0c;频率如果已经比threhold小就没有看的必要&#xff0c;直接break如果比…

虎扑论坛数据分析

论坛为用户提供了相同的业余爱好&#xff0c;互动和交流的广阔平台&#xff0c;以及由此产生的庞大数据和复杂的用户交互场景也包含有价值的信息&#xff0c;本文关于虎扑论坛的帖子&#xff0c;个人信息分析&#xff0c;探讨虎扑论坛的用户是什么是什么特点&#xff1f;最近我…

Spring Cloud Stream绑定器架构解析与开发

Spring Cloud Stream绑定器架构解析与开发 根据不同的使用场景我们通常会选择相适应的消息中间件&#xff0c;例如对于日志收集场景可能会选择使用Kafka&#xff0c;对于订单场景通常会选择RocketMQ&#xff0c;不同消息中间件的客户端是不同的&#xff0c;我们需要针对不同消息…

智慧城市面临的机遇与挑战

区域中心城市建设需要智慧城市支撑 建设区域中心城市&#xff0c;除了需要具备在公路、铁路、航空等区域中心城市的枢纽硬件设施外&#xff0c;更需要充分发挥信息化强有力的凝聚和辐射作用&#xff0c;提升区域中心城市在区域交通枢纽服务、区域金融商贸服务、区域物流集散服务…

百趣代谢组学文献分享:茶褐素可促进胆固醇降解

​ 为了解决大家每逢过节必长胖的历史性问题&#xff0c;小编今天给大家介绍一篇发表于Nature Communications 的针对于普洱茶促进减肥的研究。 百趣代谢组学文献分享&#xff0c;所谓药食同源&#xff0c;普洱茶是我国西南云南地区特有的一种传统名茶&#xff0c;因其具有治…

[激光原理与应用-18]:《激光原理与技术》-4- 粒子数反转与“光”强放大的基本原理

目录 一、热平衡&#xff1a; 受激辐射 < 受激接收 二、 “光”相干放大 三、粒子数反转&#xff08;population inversion&#xff09; 四、实现粒子数反转的装置&#xff1a;泵浦 五、实现粒子数反转的条件 六、实现粒子数反转的工作物质 七、实现粒子数反转的方式…