一步步实现Graph Attention Networks

1、主要是graph attentional layer的构建过程,输入是节点的特征表示

输出是新的节点表示:

 

2、为了获得足够的表达能力,需要把输入特征转化为高级别的特征,至少需要一个线性转换层,使用权重矩阵W,执行自注意力,相当于两个节点之间的权重信息,在之前的工作中,模型允许每个节点都和剩余其他节点有关系,这样就忽略了图的结构信息,因此在本文中,每个节点只和其一阶邻居节点计算权重。

 

注:这里计算权重的过程可以自行决定,有的论文(Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension )中采用自注意力机制的方式进行计算,原论文中采用的是乘以权重矩阵,然后经过激活函数的方式。

 3、每个节点和其邻居计算出的权重,再在其所有邻居权重上进行归一化,方便计算

4、在实验中,这个计算权重的a用一个全连接层表示

 

5、这里的alpha叫做注意力系数,其被用作计算节点特征的线性组合,每个节点的输出表示为:

 

6、这里的attention可以使用多头attention,节点特征的输出表示为: 

7、如果是最后一层,对于多头的输出结果,不再进行拼接,而是求平均: 

 网上也有相关代码实现,原理上比基于谱域和基于空域的GNN容易理解一些,但据我调研(仅是本人观点)使用GCN的比较多,使用GAT的比较少。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值