Graph Representation Learning via Hard and Channel-Wise Attention Networks论文解析

论文:Graph Representation Learning via Hard and Channel-Wise Attention Networks
这篇论文主要通过使用Hard attention和channel-wise attention 在大规模图数据应用中,可以有效的节省计算资源。并且基于提出的Hard attention 和channel-wise attention,开发了一个用于图嵌入表示学习的深度注意力网络框架。
(1)本文提出的Hard attention operator
当图中含有大量节点时,graph attention operator(GAO)会消耗过多的计算资源,包括计算成本和内存使用量,这在现实应用中非常常见。 给定一个具有N个节点(每个节点具有d维特征)的图形,GAO需要O(N2d) 和O(N2) 的时间和空间复杂度来计算其输出。 这意味着所需的计算成本和内存就图形大小而言呈平方增长。因此很难将GAO应用于具有大量节点的图。 此外,GAO使用 soft attention operator,该机制计算图中所有相邻节点的每个节点的响应。使用hard attention operator代替soft attention operator可以减少计算成本并提高学习性能。如果在图形数据上直接使用 hard attention operator仍然会导致计算资源过多, 因为它要求计算概率抽样的归一化相似分数。
为了解决上述问题,本文提出了一个改进的hard graph attention operator, 将hard attention应用于图数据中以节省计算资源,并且可以嵌入到网络中,通过loss收敛,梯度反向传播来进行训练。具体的定义如下,
Input:节点特征矩阵 X∈R^(d×N),邻接矩阵 A∈R^(N×N)。N个节点,每个节点d维特征
Output:经过hGAO生成的新的节点特征 Z∈R^(d×N)
在这里插入图片描述

回答1:投影向量p的定义。这里的投影向量 p∈R^d 是可训练初始化的参数,用来将特征矩阵X投影到N维的向量 y∈R^N 中,用来衡量每个节点的重要性。一个可靠的p是非常重要的,类似于GAT当中的W用来线性变换提取节点的高水平特征一样,需要根据具体的任务嵌入到模型中通过训练目标函数收敛得到。
其中,X是N个节点的特征矩阵,A是N个节点之间的邻接矩阵。对于图中的每个节点,将自适应地选择k个与这个节点,最重要的邻居节点。 根据公式1,通过使用可训练的投影向量p,可以计算出X在p上的投影,得出 y=[y_1,y_2,…,y_N ],其中每个 y_i 表示节点 i 的重要性。 对于每个节点 i,公式2中的 〖Ranking〗k (∙) 操作,根据节点 i 的投影值 y, 来对节点i 的相邻节点进行排序,并选择k个投影值最大的节点。 假设节点i 的选定节点的索引为 〖idx〗i=[i_1,i_2,…i_k ],则节点i选择这k个节点,而不是所有的邻居节点。在公式3中,可以根据选择的索引 〖idx〗i 提取新的特征向量 X ̂_i=[x(i_1 ),x(i_2 ),…,x(i_k ) ]∈R^(d×k)。 在这里,文中建议使用门操作来控制信息流。在公式4中,通过将Sigmoid函数应用于选定的标量投影值 y(〖idx〗i ) 来获得门向量 y ̃。 公式5中,通过矩阵乘法 X ̂_i diag(y ̃_i ),来控制选定节点的信息,并通过梯度反向传播算法使投影向量p可训练。公式6中, 使用注意力操作来计算节点i的响应。 最后,在公式10中构造输出特征矩阵Z。注意,投影向量p在图中的所有节点之间共享。
(2)Channel-Wise Graph Attention Operator
提出的hGAO可以在时间复杂度降低的情况下计算hard attention operator子,但仍会产生与GAO相同的空间复杂度。 同时,GAO和hGAO都需要使用邻接矩阵来标识图中query node的邻居节点。在图中执行注意力操作时,它们都需要依赖邻接矩阵,这会导致额外使用计算资源。 为了进一步减少graph attention operator所需的计算资源,本文提出了channel-wise graph attention operator,它在计算资源需求方面优于GAO和hGAO。
GAO和的hGAO都使用了node-wise注意机制,其中节点i的输出特征向量是通过将输入特征向量参与到所有或选择的邻居节点而获得。 在这里,本文从通道的角度执行注意力操作,channel-wise graph attention operator(cGAO)。 对于每个通道 X
(i:),通过将其参与的所有通道来计算其响应。 cGAO的正向传播函数可以表示为,
Input:节点特征矩阵 X∈R^(d×N),N个节点,每个节点d维特征
Output:经过cGAO的节点特征矩阵 O∈R^(d×N)
在这里插入图片描述
在这里插入图片描述
回答2:为什么说GAO和hGAO都使用了node-wise注意力机制,而cGAO叫通道注意力机制?
首先,从GAO和hGAO的输入来看,他们两个的输入不仅包含了特征矩阵X,而且包含了邻接矩阵A。而cGAO只输入了特征矩阵X。因为GAO和cGAO他们两个需要邻接矩阵来提供节点之间的连通性信息。
第二,从目的来看,在其中GAO中,图中每个节点根据其邻居节点的特征,为其分配不同的权值,从而学习节点的领域结构信息(考虑了所有邻居节点)。而hGAO相当于是对GAO的改进,他不仅考虑了节点的邻居节点,而且是从邻居节点的选取前k个最相关的节点来考虑(考虑了前k个邻居节点),也相当学习了节点的邻域结构信息,只不过是最重要的半径为k的邻域结构。但在cGAO中,本文将特征矩阵X的每一行看做一个通道,即每一类特征 d_i 就是一个通道。这里有一个假设前提就是同一节点内的特征彼此关联,并且位于不同节点内的特征之间没有关联。这意味着 cGAO不需要邻接矩阵A提供的连通性信息,从而避免了依赖于node-wise attention operators中使用的邻接矩阵。
(3)Graph Attention Network
在这里插入图片描述

本文根据提出的hGAO和cGAO构建了一个graph attention module(GAM)模块。该输入图包含6个节点,每个节点两个特征。 GCN层用于将输入特征向量转换为低维表示。 之后,堆叠两个GAM以进行特征提取。 为了促进特征重用和梯度反向传播,我们为GAM添加了skip concatenation connection。 最后,GCN层用于输出指定数量的特征图,这些特征图可直接用于节点分类预测或用作后续操作的输入。每个GAM仅整合了来自相邻节点的信息,因此堆叠了多个GAM来捕捉图的大部分信息。

总结:hGAO通过为节点选择重要的邻居节点来实现hard-attention operator ,通过采用可训练的投影向量,为节点选择前k个最重要邻居的节点,捕捉了节点的半径为k的邻域结构信息。而cGAO从通道的角度(即特征的角度)执行注意力操作,消除了对邻接矩阵的依赖。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值