理解GAT
GAT 采用了 Attention 机制,可以为不同节点分配不同权重
假设 Graph 包含 N 个节点,每个节点的特征向量为 hi,维度是 F,如下所示

对节点特征向量 h 进行线性变换,可以得到新的特征向量 h'i,维度是 F',如下所示,W 为线性变换的矩阵
![]()
节点 j 是节点 i 的邻居,则可以使用 Attention 机制计算节点 j 对于节点 i 的重要性,即 Attention Score:

GAT 具体的 Attention 做法如下,把节点 i、j 的特征向量 h'i、h'j 拼接在一起,然后和一个 2F' 维的向量 a 计算内积。激活函数采用 LeakyReLU,公式如下:

Attention 如下图所示:

经过 Attention 之后节点 i 的特征向量如下:

GAT 也可以采用 Multi-Head Attention,即多个 Attention,如果有 K 个 Attention,则需要把 K 个 Attention 生成的向量拼接在一起,但是如果是最后一层,则 K 个 Attention 的输出不进行拼接,而是求平均。
GAT总结:
1.GAT 不依赖于完整的图结构,只依赖于边。
2.采用 Attention 机制,可以为不同的邻居节点分配不同的权重。
一、论文概要
协同过滤CF算法利用用户的行为信息进行偏好预测,该方法在推荐系统里有较好的应用。但是CF算法不能对其他信息(比如商品的属性、用户信息、上文下)进行建模,而且在

KGAT是一种结合知识图谱的推荐系统模型,它通过图注意力网络(GAT)捕获高阶关系信息,改进了协同过滤算法的局限性。模型包括CKG嵌入层、注意力传播层和预测层,有效地融合用户行为和知识图谱数据,提高了推荐的准确性和解释性。
最低0.47元/天 解锁文章
2549

被折叠的 条评论
为什么被折叠?



