论文笔记 Graph Attention Networks

2018 ICLR

1 intro

1.1. GCN的不足

  • 无法完成inductive任务
    • inductive任务是指:
      • 训练阶段与测试阶段需要处理的graph不同。
      • 通常是训练阶段只是在子图上进行,测试阶段需要处理未知的顶点。
    • GGN 的参数依赖于邻接矩阵A/拉普拉斯矩阵L,所以换了一张图,就会有不同的A和L
  • 处理有向图的瓶颈,不容易实现分配不同的学习权重给不同的邻居

1.2 本文思路

  • 引入masked self-attentional layers 来改进前面图卷积的缺点
    • 对不同的相邻节点分配相应的权重,既不需要矩阵运算,也不需要事先知道图结构
    • attention为每个节点分配不同权重,关注那些作用比较大的节点,而忽视一些作用较小的节点

2 GAT

  • 和一般注意力机制一样,GAT的计算也分为两步
    • 计算注意力系数
    • 加权求和

2.1 输入 输出

2.1.1 输入

单个 graph attentional layer的输入是一个节点特征向量集合

  • N是节点数量
  • F是每个节点特征维度

2.1.2 输出

新的节点特征集合

 

 2.2 计算注意力系数

2.2.1 全局attention的弊端

  • self-attention是一种Global graph attention,会将注意力分配到图中所有的节点上,但是这样会存在以下问题
    • 1,丢失结构信息
      • 基于空间相似假设,一个样本与一定范围内的样本关系较密切
    • 2,样本较多的时候,计算量非常大

2.2.2 masked self-attention

  • 为了解决这一问题,作者使用了一种 masked attention 的方法
    • 对于一个样本来说只利用邻域内的样本计算注意力系数和新的表示
    • 即仅将注意力分配到节点的一阶邻居节点集上
  • 针对每个节点执行 self-attention机制
      • eij就是i点和其邻居j点的注意力相关系数
      • 为一个映射函数(这边计算eij的时候漏了一个激活函数,论文中使用的是LeakyReLU)
      • hi,hi是点i和点j的特征向量 
  • 计算完点i和所有邻居的注意力相关系数后,引入softmax对所有相邻节点进行正则化
    • || 表示拼接(concat)操作

2.2.3 加权求和

  • 得到归一化的注意力系数后,使用归一化的值计算对应特征的线性组合,作为每个顶点这一层最后的输出特征

     

2.2.4 多头自注意力

  • 使用K个独立的 attention 机制,然后他们的特征拼接在一起

     

    • 这样每一层输出的维度为KF‘
  • 对于最后一个卷积层,不采用拼接的方式合并不同的attention机制的结果了,而是采用求平均的方式进行处理

     

3 实验

3.1 数据集

 3.2 实验结果

3.2.1 transductive learning

训练和测试在一张图上

 3.2.2 inductive learning

训练和测试不在一张图上

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值