图神经网络三大基础算法——GAT

文章介绍了GraphAttentionNetwork(GAT)模型,其通过注意力机制计算节点间关系权重,融合邻居节点特征。多头注意力机制强调节点间复杂相关性。对比GCN,GAT在处理邻接矩阵变化时更具优势,适用于图网络中节点标签预测任务。
摘要由CSDN通过智能技术生成

GAT

这个模型其实就是求取i节点周围节点的ATTENTION系数,我再通过这个ATTENTION系数对周围邻居节点进行一个在线求和,那么我就求得了节点聚合了周围节点的特征。
α i j \alpha_{ij} αij是i节点和j节点的注意力机制权重系数;
W W W是关于 h → i \overrightarrow{h}_i h i h → j \overrightarrow{h}_j h j的可学习的参量;
①将这两个向量拼接在一起,再经过一个可学习的参数 α → T \overrightarrow{\alpha}^T α T,就可以得到i节点和j节点的ATTENTION的值;
在这里插入图片描述

②再对它进行一个归一化的操作,类似Softmax;
③再用这个系数 α i j \alpha_{ij} αij,聚合i节点周围的邻居节点 h → j \overrightarrow{h}_j h j,乘以可学习的参数W,那这样就聚合了周围邻居节点的特征 h → i ’ \overrightarrow{h}_i^’ h i,作为下一层节点的特征;
在这里插入图片描述
举个例子:
在这里插入图片描述
多头注意力机制:
多次使用ATTENTINO系数来计算节点的特征,能更加表达节点i和节点j之间的相关性;

三种颜色,代表了不同的ATTENTION系数;(类似于多通道,不同的通道提取的信息方式不同)在这里插入图片描述
在这里插入图片描述

cocat:将向量拼在一起;在这里插入图片描述如果是最后一层是直接连接softmax,则这种cocat方式是没有必要的,同个节点的三种表示使用,softmax不能很好的表示每一个类别是怎么样的,而是要计算平均值;如果最后一层是连接全连接层,那就无所谓了;
图网路的应用
有一些节点我们知道它的label,有一些节点我们不知道它的label,求未知节点的label;
加了一个新的节点x,我们可以推理出它所属的label;
先在老的图上面学习,给了一张新的图,我们要推理出来这张图中每个节点所属的类别;
为什么不能用GCN呢?
因为我们使用GCN的时候需要对邻接矩阵进行相乘 ,这个时候邻接矩阵变化了;
在这里插入图片描述

神经网络(Graph Neural Networks, GNNs)和深度强化学习算法(Deep Deterministic Policy Gradient, DDPG)结合使用通常是为了解决与结构数据相关的强化学习问题。GAT(Graph Attention Network)是一种改进的GNN模型,它引入了注意力机制,能够更有效地处理中的节点特征和邻接信息。 GAT算法的核心是注意力机制,它可以根据节点之间的关系分配不同的权重,从而自适应地学习节点特征表示。在Python中,你可以使用PyTorch-Geometric库来实现GAT,这是一个专为数据设计的库,提供了GAT模型的实现。 DDPG算法则是一个连续控制的强化学习算法,它结合了Q-learning的思想和 actor-critic架构,适用于复杂的动作空间。在应用到GNN上时,可以用来学习如何在环境中采取最优操作,比如优化路由策略、社交网络中的信息传播等。 如果你想将这两个算法结合起来,首先安装必要的库(如torch_geometric、stable_baselines3等),然后可以按照以下步骤操作: 1. 导入所需的库和模型: ```python import torch from torch_geometric.nn import GATConv from stable_baselines3 import DDPG ``` 2. 定义GAT模型和环境: ```python class GATActor(nn.Module): # ...定义GAT模型... class GAT Critic(nn.Module): # ...定义GAT critic模型... # 初始化GAT模型和DDPG代理 actor = GATActor() critic = GATCritic() ddpg = DDPG('MlpPolicy', actor, critic) ``` 3. 定义GNN环境和训练循环: ```python def step_in_gnn_environment(env, action): # ...实现与环境交互的方法... def train(): for episode in range(num_episodes): # ...执行DDPG训练步骤,包括采样、更新策略网络和目标网络... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值