pytorch实现attention_通过pytorch代码来深入理解图注意力网络GAT

图注意力网络GAT的理论部分可移步这里:向往的GAT(图注意力模型)

简单梳理其中的重点:(有简单改变)

对于顶点i,通过计算它与它的邻接节点(

)的注意力系数

有了注意力系数(未归一化),再只需softmax即可得到注意力权重,原文在softmax之前加了个LeakyReLU。

此外,论文参考了self-attention的多头注意力机制(multi-head attention),通过多个注意力头来增强节点表示。

OK,现在来到代码模式下才能更深刻地理解其原理。

图注意力层的简单实现,注释较为详细,如有问题可在评论区讨论。

class 

简单实验,可以得到更新后的节点表示

69a29d5e89c4f819d90932fcb462486b.png

下面在图注意力层基础上加入multi-head机制

class 

简单实验,实现一个三分类功能

bfef5b96eb4193d2f50eb4a07f35370b.png

---------------------------------

完结-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值