图学习——04.HAN(异构图注意力网络)

HAN(Heterogeneous Graph Attention Network)

包含不同类型节点和连接的异构图
在这里插入图片描述

异构图的定义

定义如下图
V代表顶点,A是顶点所属的类别,ε代表边,R是边所属的类别,当A和R的数量相加大于2的时候就叫做异构图,即边或者顶点不止一种,或者两个都不止一种。
在这里插入图片描述

元路径的定义

定义如下图
元路径是连接两个对象的复合关系,是一种广泛使用的捕获语义的结构
在这里插入图片描述
如下图的几种meta-path:M-A-M, M-D-M
在这里插入图片描述

元路径下的邻居节点

定义如下图
在这里插入图片描述
比如下图中,m1a1m2是一条meta-path,所以m1的邻居是m2,同样,m1a2m3是一条meta-path,所以m1的邻居是m3,而且,邻居是包括自己本身的
在这里插入图片描述

attention

分为节点级别的注意力语义级别的注意力
举例
在这里插入图片描述

Node-level attention算法

一个异构图得到元路径下的邻居节点,然后邻居之间连边构成一个图,如下图所示,上方是一个异构图,有红色和蓝色两种节点,通过meta-path得到每个节点的邻居,然后得到下方的图
在这里插入图片描述
然后计算节点级别的注意力
公式如下图所示
h是在异构图中节点的表示,h'是节点映射到邻居图后的表示
公式(2):比如要计算节点i和节点j的节点级注意力,要将二者在邻居图中的向量输入一个网络,得到一个注意力值
公式(3):将2中得到的值丢进softmax层,其实就是对2中得到的注意力值归一化,分母是计算所有和i相连的节点拼接后经过激活函数和exp得到的值,分子是节点i和节点j拼接经过激活函数和exp得到的值
公式(4):将所有和结点i相连的节点做一个加权求和,每个节点都用自己的向量表示乘上(2)中计算出的自己的节点的attention

对每个节点都重复此步骤,便得到了所有节点的特征表示,也可以得到每个meta-path下的节点的特征表示
在这里插入图片描述

Semantic-level attention算法

公式如下图所示
前面已经得到了每个节点的特质值,每个meta-path的特征值就是该meta-path下所有节点的特征值的构成的。
得到每个meta-path的特征表示之后,按照下图公式(7) 遍历每个meta-path下的节点特征表示,对每个节点乘W+b后经过tanh激活函数再乘上一个可学习参数q,然后所有节点求出的值相加后除以V,V即使节点个数,所以也是求平均值,最后求出了每个meta-path下的W公式(8) 就是一个softmax,也就是归一化,就求出了每个meta-path下的β值,然后用 公式(9) 求每个节点的embedding,即遍历所有元路径,用7求出的βi乘上节点在元路径i下的特征表示求和

在这里插入图片描述
算法流程:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值