HAN:Heterogeneous Graph Attention Network

前置知识:

  • 异构图:包含不同类型节点和链接的异构图

  • Meta-path 元路径: 链接两个对象的复合关系,是一种广泛适用的捕获语义的结构 M-A-M,M-D-M

    • Meta-path下的邻居节点 m1-a1-m2,m1-a3-m3,m1-a1-m1 因此m1的邻居节点如d图

HAN算法原理

  • 节点级别的Attention

    • 终结者通过詹姆斯卡梅隆与终结者2形成连接关系,终结者通过詹姆斯卡梅隆与泰坦尼克号形成连接关系,形成同构图
    • 根据它的邻居节点终结者2和泰坦尼克号,通过一种聚合方式,可以学习到终结者的特征表示
  • 语义级别的Attention:旨在了解每个元路径的重要性,并为其分配适当的权重

    • 通过不同的Meta-path得到了终结者电影所对应的一个节点特征,然后将两个特征进行特征求和
    • 不同类型的邻居分配不同的权重,最终得到终结者所对应的一个节点的特征表示

节点级别的Attention 具体算法

  • 当节点处在不同维度(节点特征数量不一致时)时,先将节点映射到同一个维度

    • hi′=Mϕi⋅hih'_i = M_{\phi_i}·h_ihi=Mϕihi(1)
  • 之后进行
    • eijϕ=attnode(hi′,hj′,ϕ)e^\phi_{ij} = att_{node}(h'_i,h'_j,\phi)eijϕ=attnode(hi,hj,ϕ)

      • ϕ\phiϕ表示Meta-path,attnodeatt_{node}attnode将 i和j 输入后 得到他们之间的attention的值
      • 1节点的周围邻居为 e11ϕ0,e12ϕ0,e13ϕ0,e16ϕ0e^{\phi_0}_{11},e^{\phi_0}_{12},e^{\phi_0}_{13},e^{\phi_0}_{16}e11ϕ0,e12ϕ0,e13ϕ0,e16ϕ0
    • aijϕ=softmaxj(eijϕ)a^\phi_{ij}= softmax_j(e^\phi_{ij})aijϕ=softmaxj(eijϕ) :对其做归一化操作,得到归一化之后的一个attention系数
    • ZiϕZ^\phi_iZiϕ :将attention的系数与他的邻居做一个加权求和,再经过一个激活函数,得到节点所对应的特征表示
    • 如1节点的 : z1ϕ0=(α11ϕ0∗e11ϕ0+…)z^{\phi_0}_1 = (\alpha^{\phi_0}_{11}* e^{\phi_0}_{11}+…)z1ϕ0=(α11ϕ0e11ϕ0+)
    • 求得所有节点不同类型的Meta-path下的embedding结果
      • Zϕ0Z_{\phi_0}Zϕ0 = {z1ϕ0,z2ϕ0,z3ϕ0...z^{\phi_0}_1,z^{\phi_0}_2,z^{\phi_0}_3...z1ϕ0,z2ϕ0,z3ϕ0...}
      • Zϕ1Z_{\phi_1}Zϕ1 = {z1ϕ1,z2ϕ1,z3ϕ1...z^{\phi_1}_1,z^{\phi_1}_2,z^{\phi_1}_3...z1ϕ1,z2ϕ1,z3ϕ1...}

语义级别的attention

  • 根据之前的公式 求得两种Meta-path所对应的embedding

    • Zϕ0Z_{\phi_0}Zϕ0 = {z1ϕ0,z2ϕ0,z3ϕ0...z^{\phi_0}_1,z^{\phi_0}_2,z^{\phi_0}_3...z1ϕ0,z2ϕ0,z3ϕ0...}Zϕ1Z_{\phi_1}Zϕ1 = {z1ϕ1,z2ϕ1,z3ϕ1...z^{\phi_1}_1,z^{\phi_1}_2,z^{\phi_1}_3...z1ϕ1,z2ϕ1,z3ϕ1...}
    • 经过一个全连接层W·ziϕz^\phi_iziϕ+b,然后经过一个激活函数tanh,再乘以一个可学习参数q,得到节点在该Meta-path下的一个标量
    • 然后对所有的节点做一个加权求和再除以节点数量
    • 就能得到在ϕi\phi_iϕi这个Meta-path下的对应的系数
  • 示例

    • 再将所有通过同种的Meta-path的WϕiW\phi_iWϕi进行一个softmax操作,进行归一化
    • 最后将起进行加权求和,得到节点最终所要求的embedding
      -

HAN整体的算法流程

  • 输入:异构图,初始节点特征,事先规定的meta-path,多头注意力数量 K
  • 输出:每一个节点最终的embedding Z,节点级别的attention系数 α, 语义级别的attention系数 β
  • 首先,遍历每个Meta-path
    • 遍历每一个注意力

      • 进行投影,将节点放到同一个维度
      • 然后遍历每一个节点
        • 找到节点所对应的Meta-path下的邻居节点
        • 遍历每一个邻居节点
          • 对每个找到的邻居节点根据GAT的方式,求得该节点与其每个邻居节点的attention系数αijϕα^\phi_{ij}αijϕ
        • 根据邻居节点,对其进行加权求和,得到该Meta-path下所对应的embedding
      • 如果是多头注意力K≥2,将每个计算到的embedding进行一个拼接
    • 然后计算语义级别的attention βϕiβ_{\phi_i}βϕi
    • 对所有Meta-path下的 βϕiβ_{\phi_i}βϕi进行加权求和得到节点最终的特征表示Z
  • 根据 Cross-Entropy 用节点的特征和其所属类别,求得一个损失函数
  • 然后进行反向传播,学习HAN所对应的参数
  • 然后得出 Z,α,β

数据集

引文网络:DBLP、ACM

电影数据集:IMDB

实验结果对比

  • Deepwalk主要应用于同构图上,因此忽略了图的异构性
  • 先采用Meta-path的方式,将异构图转换成同构图,再采用GCN、GAT的方式去求
  • HANnd,表示去除节点的attention,将节点的attention都当做是同一个值,将每个节点和其邻居都赋予相同的权重
  • HANsem表示去除Meta-path下的权重,基于每个Meta-path都是相同的权重(在上图转换过程中的tanh(W*Z+b) )

分析Attention的重要性

  • HAN的一个显著特性是结合了层次机制,在学习代表性前如何考虑了节点邻居和元路径的重要性
  • 节点级别

    • 图中同颜色的节点所属同一类别,相同类别的attention相对于不同类别的会比较高
  • 语义级别

    • NMI表示聚类的评价指标,NMI指标越高 ,Meta-path重要性就越高

HAN:Heterogeneous Graph Attention Network 算法理论相关推荐

  1. GNN algorithm(4): HAN, Heterogeneous Graph Attention Network

    paper: Heterogeneous Graph Attention Network | The World Wide Web Conference 目录 1. background (1) he ...

  2. HAN - Heterogeneous Graph Attention Network 异构图注意力网络 WWW2019

    论文题目:Heterogeneous Graph Attention Network (HAN)异构图注意力网络 作者:北京邮电大学Xiao Wang,Houye Ji等人 来源:WWW2019 论文 ...

  3. HAN - Heterogeneous Graph Attention Network 异构图注意力网络 WWW 2019

    文章目录 1 相关介绍 背景 元路径 meta-path 异构图和同构图 相关工作 Graph Neural Network Network Embedding 贡献 2 HAN模型 2.1 Node ...

  4. 【论文解读 WWW 2019 | HAN】Heterogeneous Graph Attention Network

    论文题目:Heterogeneous Graph Attention Network 论文来源:WWW 2019 论文链接:https://arxiv.org/abs/1903.07293v1 代码链 ...

  5. 异构图注意力网络Heterogeneous Graph Attention Network ( HAN )

    文章目录 前言 一.基础知识 1.异构图(Heterogeneous Graph) 2.元路径 3.异构图注意力网络 二.异构图注意力网络 1.结点级别注意力(Node-level Attention ...

  6. 【论文分享】☆☆☆ 异质图神经网络模型 HAN:Heterogeneous Graph Attention Network

    题目:Heterogeneous Graph Attention Network 链接:https://dl.acm.org/doi/abs/10.1145/3308558.3313562 源码:ht ...

  7. 【论文阅读】Heterogeneous Graph Attention Network

    异质图注意网络 摘要 1 引言 2 相关工作 2.1 GNN 2.2 网络嵌入 3 准备工作 3.1 异质图(Heterogeneous Graph) 3.2 元路径(Meta-path) 3.3 基 ...

  8. 异构图注意力网络(Heterogeneous Graph Attention Network)

    Heterogeneous Graph Attention Network 这篇论文将会发表在WWW 2019会议上. ABSTRACT GNN在深度学习领域表现出了强大的性能.但是,在包含不同节点和 ...

  9. 异构图注意力网络 Heterogeneous Graph Attention Network

    ​​​​​​​​​​# Heterogeneous Graph Attention Network 文章目录 ABSTRACT KEYWORDS INTRODUCTION RELATED WORK G ...

最新文章

  1. LTV 即用户生命周期价值
  2. 吴恩达深度学习笔记11-Course4-Week2【深度卷积网络:实例探究】
  3. K8S 利用Rinetd实现Service负载均衡
  4. 在颜值上,我 Bootstrap 真的没怕过谁
  5. C#使用NPOI导出Excel文件
  6. python编码和解码_Python中的编码与解码(转)
  7. FastCGI - How to run fastcgi and nginx on windows
  8. 单元词检索计算机,单元词法
  9. DC、HDC和CDC的区别及MFC常见类的作用
  10. 为什么说GO语言,是最重要的编程语言
  11. ARM指令集与Thumb指令集
  12. java基础视频教程 学习笔记
  13. 深入浅出WPF之我件2
  14. C#winform之自定义按钮形状
  15. c语言输出字符太阳,〖作业〗 C语言程序设计
  16. 机器学习 第一节 第一课
  17. html表格怎么加图片,添加图片到HTML表格动态
  18. [game]《泰坦陨落2》
  19. Android| failed to connect to /10.0.2.2 (port 80) after 10000ms
  20. chrome模拟手机功能

热门文章

  1. 细细品味Ubuntu Scope中的category renderer模版
  2. 计算机视觉:基于BOW的图像检索与识别
  3. 国际物流管理信息系统(LMIS)
  4. 吉林大学软院夏令营面试
  5. “马红名师+”习作专题送教送培第二站活动安排
  6. 议程速递 | 7月27日分论坛议程一览
  7. 论文中常用的英语短语
  8. 安防无战事:一场10213亿元的误会 1
  9. ROS2之OpenCV基础代码对比foxy~galactic~humble
  10. aws lambda使用_使用AWS Lambda,无服务器框架和Go的按需WebSockets