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

图神经网络 day2 图的分类

图神经网络基础算法

  • 1 GCN
  • 2 GraphSAGE
    • 2.1 采样:采样固定长度的邻居
    • 2.2 聚合
    • 2.3 GraphSAGE_minibatch
    • 2.4 GraphSAGE_embedding
  • 3 GAT
  • 4. 图网络的分类
    • 4.1 递归图神经网络 RGNN
    • 4.2 图卷积神经网络GCN
    • 4.3 图注意力网络 GAT
    • 4.4 图自动编码 GAE
    • 4.5 图时空网络 GSTN
    • 4.6 图生成网络 GGN
    • 4.7 图强化学些 GRL
    • 4.8 图对抗方法GAM
    • 4.9 更通用的框架
      • 4.9.1 消息传递网络 MPNN
      • 4.9.2 非局部神经网络 NLNN
      • 4.9.3 图神经网络 GN
        • MPNN应用于GN
        • NLNN应用于GN
    • 4.10 其他图
        • 1. 异构图
        • 2. 二部图
        • 3. 多维图
        • 4. 符号图
        • 5. 超图
        • 6. 动态图

1 GCN

公式:

image-20230731152025610

image-20230731154432175

image-20230731154641628

节点的特征从C维(X1)——》F维(Z1),并 进行softmax操作,得到每一个节点对应的label(Y1)

2 GraphSAGE

image-20230731164704170

image-20230815093721585

实例:

  1. 聚合周围邻居信息(领域特征),下图是求平均值
  2. 把邻居信息拼接到一起,再经过一个可学习的w参数

image-20230815093816863

2.1 采样:采样固定长度的邻居

image-20230815094233042

节点4是单向的,所以不考虑

image-20230815094435073

2.2 聚合

要满足以下性质:

  1. 聚合函数是对称的
  2. 聚合函数的输入和顺序是不变的

image-20230815094642143

2.3 GraphSAGE_minibatch

Minbatch : GraphSAGE采用聚合邻居,和GCN使用全图方式,变成采样。这样在minbatch下,可以不使用全图信息,这使得在大规模图上训练变得可行。把大图转换成小图

image-20230815095311066

例子

image-20230815095447037

image-20230815095835128

2.4 GraphSAGE_embedding

image-20230815100141336

作者提出的假设:如果这两个节点很近,那么他们的表征应该是相似的,反之,则他们的表征会有所不同

3 GAT

image-20230815140838605

求得节点i和周围节点的attention系数,再通过系数与邻居节点加权求和,那么就求得了该节点聚合周围节点后的特征。

image-20230815141100183

多头注意力机制

image-20230815141418872

三个节点表示了三类特征

image-20230815141634715

4. 图网络的分类

image-20230815142038642

image-20230815142124149

image-20230815142218084

4.1 递归图神经网络 RGNN

image-20230815170529400

递归和卷积都是学习特征,很明显,卷积图神经网络的卷积层参数可以是不一致的的

4.2 图卷积神经网络GCN

image-20230815170644973

得到节点有序序列

4.3 图注意力网络 GAT

4.4 图自动编码 GAE

GAE:encoder用GCN替换,得出的特征矩阵Z,decoder替换成Z的转置,通过转置生成的图与原图比较得出最小化结构性误差,通过最小损失函数可以得出GCN的参数

image-20230815171957587

VAE课程,李宏毅老师课程∶
https://www.bilibili.com/video/BV1tZ4y1L7gu?from=search&seid=15594710630639930905

4.5 图时空网络 GSTN

同时考虑图的空间性和时间维度·比如在交通邻域中﹐速度传感器会随时间变化的时间维度﹐不同的传感器之间也会形成连接的空间维度的边。
当前的许多方法都应用GCN来捕获图的依赖性,使用一些RNN或CNN对时间依赖性建模。

4.6 图生成网络 GGN

通过RNN或者GAN的方式生成网络。图生成网络的
一个有前途的应用领域是化合物合成。在化学图中﹐原子被视为节点﹐化学键被视为边·任务是发现具有某些化学和物理性质的新的可合成分子。

4.7 图强化学些 GRL

通过RNN或者GAN的方式生成网络。图生成网络的
一个有前途的应用领域是化合物合成。在化学图中﹐原子被视为节点﹐化学键被视为边·任务是发现具有某些化学和物理性质的新的可合成分子。

4.8 图对抗方法GAM

GAN的思想﹐生成器生成样本﹐分类器去判别样本。

4.9 更通用的框架

  1. MPNN∶图神经网络和图卷积/ Message Passing Neural Networks
  2. NLNN︰统一Attention/ Non-local Neural Networks
  3. GN︰统一以上/ Graph Networks

image-20230815172729741

image-20230815172736534

4.9.1 消息传递网络 MPNN

image-20230815172851410

Mt:聚合周围邻居信息

Ut:更新节点在下一层的特征表示

前面这两部分就跟GraphSAGE相似;最后,组合在一起就成了图的表示y hat。

4.9.2 非局部神经网络 NLNN

image-20230815173337490

f()求的就是节点i和相邻节点的attention系数,再求g()得出的该节点的特征,再归一化就是下一层的特征表示yi‘。

4.9.3 图神经网络 GN

image-20230815173741029

一个GN块包含三个更新函数函数φ和三个聚合函数ρ,各符号意义如下图所示:

image-20230815173909499

一个例子:Vsk:sender node;Vrk:receiver node;

image-20230815174209304

计算流程如下:

image-20230815174139184

整个算法的流程:

image-20230815174727391

MPNN应用于GN

image-20230815175350153

NLNN应用于GN

image-20230815175511573

4.10 其他图

image-20230815175928347

1. 异构图

不同节点构成的图

image-20230815180118699

2. 二部图

将图中节点分为两部分,每一边不跟自己相连

image-20230815180156598

3. 多维图

多种关系所组成的图

image-20230815180243234

4. 符号图

图之间的连接有正反符号

image-20230815180318206

5. 超图

一条边包含两个以上的节点。每个边所包含的顶点个数都是相同且为k个的,就可以被称为k阶超图,常见的图就是2阶超图。

image-20230815180426199

6. 动态图

image-20230815180457324

上面提到的图是静态的,观察时节点之间的连接是固定的。但是,在许多实际应用中,随着新节点被添加到图中,图在不断发展,并且新边也在不断出现。例如,在诸如Facebook的在线社交网络中,用户可以不断与他人建立友谊,新用户也可以随时加入Facebook。这些类型的演化图可以表示为动态图,其中每个节点或边都与时间戳关联。

http://www.lryc.cn/news/125237.html

相关文章:

  • CentOS防火墙操作:开启端口、开启、关闭、配置
  • Chromium 如何在c++里面控制扩展加载
  • 分类预测 | MATLAB实现MTBO-CNN多输入分类预测
  • 操作符和表达式求值
  • Unity Spine帧事件
  • AE使用(一)
  • YOLOv5、YOLOv8改进:MobileViT:轻量通用且适合移动端的视觉Transformer
  • 06-4_Qt 5.9 C++开发指南_MDI应用程序设计
  • 【SCI征稿】3区SCI,正刊,智能传感、机器学习、智能检测与测量等均可
  • 神经网络ANN(MLP),CNN以及RNN区别和应用
  • CUDA、cuDNN以及Pytorch介绍
  • 使用shift关键字,写一个带二级命令的脚本(如:docker run -a -b -c中的run)
  • MySQL学习笔记 - 进阶部分
  • 微信小程序实现左滑删除
  • 安防视频监控有哪些存储方式?哪种存储方式最优?
  • 02-C++数据类型-高级
  • Kotlin实战之获取本地配置文件、远程Apollo配置失败问题排查
  • TCP协议的报头格式和滑动窗口
  • java 使用log4j显示到界面和文件 并格式化
  • 【js】链接中有多余的怎么取出参数值
  • Verdi_traceX and autotrace
  • 安卓逆向 - 某严选app sign算法还原
  • arcgis数据采集与拓扑检查
  • 【前端 | CSS】滚动到底部加载,滚动监听、懒加载
  • word将mathtype公式批量转为latex公式
  • docker-compose部署nacos 2.2.3
  • 软件测试52讲-学习笔记
  • 【ARM 嵌入式 编译系列 4 -- GCC 编译属性 __read_mostly 详细介绍】
  • Maven在IDEA2021版本中全局配置(一次配置处处生效)
  • 名侦探番外——Arduino“炸弹”引爆摩天大楼