首页 > 其他分享 >Heterogeneous Graph Attention Network

Heterogeneous Graph Attention Network

时间:2023-04-19 13:56:35浏览次数:58  
标签:Phi mathbf level Graph Attention 结点 meta Heterogeneous mathcal

目录

Wang X., Ji H., Shi C., Wang B., Cui P., Yu P. and Ye Y. Heterogeneous graph attention network. WWW, 2019.

Attention + 异构图.

符号说明

  • \(\mathcal{G} = (\mathcal{V, E})\), 图;

  • \(\phi: \mathcal{V} \rightarrow \mathcal{T}\), \(\phi(v)\) 返回结点 \(v\) 所属的类别, 如上图所示, 存在三种类型的结点 (即 \(|\mathcal{T}|=3\)): Actor, Movie, Director;

  • \(\psi: \mathcal{E} \rightarrow \mathcal{R}\), \(\psi(e)\) 返回边 \(e\) 所属的类别, 如上图所示, 存在两种类型的边 (即 \(|\mathcal{R}| = 2\)).

  • 显然, 一个图当且仅当 \(|\mathcal{T}| + |\mathcal{R}| > 2\) 的时候, 这个图才是异构图.

  • Meta-Path: Meta-Path 指的就是由一种结点类型到另一种结点类型的路径:

    \[T_1 \mathop{\longrightarrow} \limits^{R_1} T_2 \mathop{\longrightarrow} \limits^{R_2} \cdots \mathop{\longrightarrow} \limits^{R_l} T_{l+1}, \]

  • 我们称结点 \(v_i, v_j\) 关于 meta-path \(\Phi\) 是相邻的, 若存在一路径为该 meta-path 的实例且连接这两个结点. 记 \(\mathcal{N}_i^{\Phi}\) 为关于 \(\Phi\) 与 \(v_i\) 向量的结点的集合.

  • 基于 \(\Phi\) 我们也可以推导出 meta-path based adjacency matrix \(A^{\Phi}\), 其中 \(A_{ij}^{\Phi} = 1\) 当且仅当 \(v_i, v_j\) 关于 \(\Phi\) 是相邻的.

HAN

Node-level attention

  • Node-level attention 希望对指定的关系 \(\Phi\) 得到 node-level 的特征表示, 故下面的操作对于任意的 \(\Phi\) 都是通用的.

  • 首先, 由于不同的结点类型原本特征所处的空间是不一致的, 所以首先通过转换矩阵 \(\mathbf{M}_{\phi}\) (注意, \(\phi\) 代表某种结点类型):

    \[\mathbf{h}_i' \leftarrow \mathbf{M}_{\phi} \mathbf{h}_i. \]

  • 对于每个结点 \(v_i\) 以及它的邻居结点集合 \(\mathcal{N}_i^{\Phi}\), 计算其邻居对于它的重要性:

    \[\mathbf{e}_{ij}^{\Phi} = \text{att}_{node} (\mathbf{h}_i', \mathbf{h}_j'; \Phi) = \sigma(\mathbf{a}_{\Phi}^T [\mathbf{h}_i'\| \mathbf{h}_j']), \]

    其中 \(\|\) 表示 concatenate operation.

  • 于是, attention 为:

    \[\alpha_{ij}^{\Phi} = softmax(e_{ij}^{\Phi}) = \frac{\exp(e_{ij}^{\Phi})}{\sum_{k \in \mathcal{N}_i^{\Phi}} \exp(e_{ik}^{\Phi})}. \]

  • 最后 \(v_i\) 的特征表示为:

    \[\mathbf{z}_i^{\Phi} = \sigma(\sum_{j \in \mathcal{N}_i^{\Phi}}\alpha_{ij}^{\Phi} \cdot \mathbf{h}_j'). \]

Semantic-level attention

  • 实际上, 对于每个 meta-path, 每个结点都会有这样的一个 \(\mathbf{z}_i^{\Phi}\), 假设共有 \(P\) 个 meta-paths, 那么就有:

    \[\mathbf{z}_{i}^{\Phi_1}, \ldots, \mathbf{z}_{i}^{\Phi_P}, \]

    那么我们应该怎么将这些融合在一起呢 ?

  • 作者希望计算出每个 meta-path 的重要性然后加权求和.

  • 每个 \(\Phi_i\) 的权重计算公式为:

    \[w_{\Phi_i} = \frac{1}{|\mathcal{V}|} \sum_{i \in \mathcal{V}} \mathbf{q}^T \tanh (\mathbf{W} \mathbf{z}_i^{\Phi} + \mathbf{b}), \]

    注意, 该权重不是是所有结点的平均, 故不是 node-level 的.

  • 接着每个 meta-path 的 attention 为:

    \[\beta_{\Phi_i} = \frac{\exp(w_{\Phi_i})}{\sum_{i=1}^P \exp(w_{\Phi_i})}, \]

    然后加权:

    \[\mathbf{z}_i = \sum_{j=1}^P \beta_{\Phi_j} \cdot \mathbf{z}_i^{\Phi_j}. \]

    可以发现, 所有的结点特征都是共享相同的 meta-path 权重的, 个人感觉还是非常合理的. 但愿没有哪个倒霉蛋把这个扩展到 node-level 上去.

代码

official

标签:Phi,mathbf,level,Graph,Attention,结点,meta,Heterogeneous,mathcal
From: https://www.cnblogs.com/MTandHJ/p/17333042.html

相关文章

  • GraphPad Prism 9.5.1 for Mac 简单高效的实用性医学绘图分析工具
    GraphPadPrismGraphPadPrism是一款非常实用的统计软件,其功能非常强大,能够帮助用户进行各类科研数据的处理和分析,快速绘制出各种专业的图像和数据报告。GraphPadPrism软件的用户界面非常友好,易于学习和操作,具有多种语言版本,可以帮助全球各地的用户完成科研数据分析工作。该软......
  • GraphicsLayer 可以在一个图层上绘制多个的多边形
    ArcGISforJS的GraphicsLayer可以在一个图层上绘制多个的多边形¹。你可以使用Polygon类来创建多边形的几何对象,然后使用Graphic类来将几何对象和符号对象组合成图形对象,最后使用GraphicsLayer的add()方法或者addMany()方法来将图形对象添加到图层上。创建一个Graph......
  • graphhopper-ios 编译过程详解
    一、写在前面GraphHopper是一个快速且高效的路径规划引擎,它默认使用OpenStreetMap和GTFS数据,也可以导入其他数据源。它可以用作java库或独立的web服务器,去计算两个或多个点之间的线路的距离,时间,转弯指令和许多道路属性。除了“A-to-B”的路径规划能力之外,它还支持“snaptoro......
  • GraphDepth
    //GraphDepth.cpp--page1577.1(b)//Depth_FirstSearch#include<stdio.h>#include<stdlib.h>#include"ghl1.h"#defineMAX_VERTEX_NUM20typedefintVRType;typedefintVertexType;typedefstructArcCell{VRTypeadj;}ArcCe......
  • 从零开始学习 GraphQL:入门指南和教程
    认识GraphQL前段时间,GraphQL 出现并掀起了一阵热潮。但是GraphQL跟REST是两种不同的东西,所以也需要一定的学习成本,导致大部分人都没有选择去学习它,今天就带大家简单过一遍GraphQL吧,希望大家能有所收获。知识扩展:GraphQL和REST对比GraphQL好在哪?首先来说说GraphQL到底......
  • Graphviz
    Graphviz安装包&源码https://graphviz.gitlab.io/download/sudoaptinstallgraphvizhttps://graphviz.gitlab.io/download/source/./configuremakemakeinstall./configure--helpvisualstudiocodeextensionGraphviz(dot)languagesupportforVisual......
  • Hugging News #0414: Attention 在多模态情景中的应用、Unity API 以及 Gradio 主题构
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!社区动向Attention在视觉领域的应用注......
  • Deep graph clustering with enhanced feature representations for community detec
    论文阅读03-EFR-DGC:EnhancedFeatureRepresentationsforDeepGraphClustering论文信息论文地址:Deepgraphclusteringwithenhancedfeaturerepresentationsforcommunitydetection|SpringerLink论文代码:https://github.com/grcai/DGC-EFR1.存在问题DAEGC在处理......
  • Multi-View Attribute Graph Convolution Networks for Clustering
    论文阅读04-Multi-ViewAttributeGraphConvolutionNetworksforClustering:MAGCN论文信息论文地址:Multi-ViewAttributeGraphConvolutionNetworksforClustering|IJCAI论文代码:MAGCN1.多视图属性聚类:MAGCN1.存在问题:GNN融入Multi-ViewGraph1)他们不能将指定学习......
  • Attributed Graph Clustering |A Deep Attentional Embedding Approach
    论文阅读01-AttributedGraphClustering:ADeepAttentionalEmbeddingApproach1.创新点ideaTwo-step的图嵌入方法不是目标导向的,聚类效果不好,提出一种基于目标导向的属性图聚类框架。所谓目标导向,就是说特征提取和聚类任务不是独立的,提取的特征要在一定程度上有利于聚类......