持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第21天,点击查看活动详情
GATv2
1、Introduction
我们证明了GAT只计算一种受限的“静态”注意形式:对于任何查询节点,注意函数相对于邻居(键)分数是单调的。也就是说,注意力系数的排名(argsort)在图中的所有节点上共享,并且在查询节点上是无条件的。这一事实严重损害了GAT的表现力,如图1a所示。
多个Query在Ki上的注意力系数排名基本一致,比较单一,不能充分发挥出GAT的表现力。 我们只通过修改内部操作的顺序来对其注意功能进行简单的修复。
图1
总之,我们通过在GAT中切换内部操作的顺序来引入一个简单的修正,并提出了GATv2,它可以计算动态注意(定理2)。我们进一步对GAT和GATv2进行了彻底的实证比较,发现GATv2在节点、链接和图预测的12个基准上优于GAT。
例如,GATv2在Varmanis任务(Allamanis et al.,2018)的困难的“UnseenProj测试”集合中,在没有任何超参数调整的情况下,比经过广泛调整的GNN的性能高出1.4%以上;
在QM9的13个预测目标中,GATv2比广泛调整的GAT提高了11.5%。在OGB(Hu等人,2020)的节点预测基准中,不仅GATv2在准确性方面优于GAT,我们还发现动态注意对噪声具有更好的鲁棒性。
2、Preliminary(预备知识)
2.1、图神经网络
图神经网络结点信息更新,公式如下:
f和Aggregate函数是区分不同图神经网络的主要标志。
2.2、GAT图注意力网络
3、The expressive power of GAT(GAT的表达能力)
3.1、静态注意力和动态注意力:
静态注意力非常有限,对于不同注意力函数始终存在一个选中状态的键(对于不同的query,在这个键上的注意力系数高于其他键),不能模拟不同查询query与不同键key之间的不同相关性。
动态注意力则能够模拟出不同查询query与不同键key之间的不同相关性。
另一种思考注意力的方式是,在给定查询的情况下,将注意力“集中”在最相关的输入上。只有通过衰减其他输入,也就是说,使这些衰减的输入得分低于其他输入,才能聚焦。
***如果一个键的注意力得分始终等于或大于其他键(如静态注意力),则任何查询都不能忽略该键或衰减该键的得分。 ***
3.2、GAT的有限表达力
GAT是静态注意力,对于不同的查询query,在不同键key上的注意力系数排名是类似的,不能模拟出不同查询query和不同键key之间的不同相关性。
3.3、动态注意力构建
标准GAT评分函数(方程式(2))中的主要问题是,学习层W和a连续应用,因此可以折叠为单个线性层,损失了一部分表达能力。
GATv2调整应用W和a的顺序,GATv2节点特征拼接之后再进行线性变换,应用非线性之后再映射为标量。
4、性能评估
4.1、性能对比
GATv2在多个方面均有优于GAT的性能。
多头注意的作用:多头注意的作用是稳定学习过程。然而,图3显示,增加头部的数量会严格提高训练的准确性,从而提高表达能力。因此,GAT依赖于拥有多个注意力头。相比之下,即使是单个GATv2头也比多头GAT更具通用性。
4.2、讨论
应该使用哪种图形注意机制?
通常不可能提前确定哪种体系结构性能最好。理论上较弱的模型在实践中可能表现得更好,因为如果任务“太简单”,并且不需要这种表达能力,较强的模型可能会过度拟合训练数据。
直觉上,我们认为节点之间的交互越复杂,GNN从理论上更强的图形注意机制(如GATv2)中获得的好处就越多。主要问题是,问题是否具有“有影响力”节点的全局排名(GAT足够),或者不同节点是否具有不同的邻居排名(使用GATv2)。