Heterogeneous Graph Attention Network 阅读笔记

2024-03-24 09:40

本文主要是介绍Heterogeneous Graph Attention Network 阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Heterogeneous Graph Attention Network 阅读笔记

摘要

提出了一种基于层次注意的新型异构图神经网络,包括节点级语义级注意。 具体来说,

  • 节点级注意力旨在学习节点与其基于元路径的邻居之间的重要性 (即注意结点的重要性)
  • 语义级注意力能够学习不同元路径的重要性 (即注意边的重要性)

通过从节点级别和语义级别的注意力中学习到的重要性,可以充分考虑节点和元路径的重要性。 然后,所提出的模型可以通过以分层方式聚合来自基于元路径的邻居的特征来生成节点嵌入。

引言
图1
  • 图的异质性: 异构性是异构图的内在属性,即各种类型的节点和边。 例如,不同类型的节点具有不同的特征,它们的特征可能落入不同的特征空间。 仍然以IMDB为例,演员的特征可能涉及性别、年龄和国籍。 另一方面,电影的特点可能涉及情节和演员。 如何处理如此复杂的结构信息,同时保留多样的特征信息,是一个亟待解决的问题。

  • 语义级别的关注: 异构图中涉及不同的有意义和复杂的语义信息,这些信息通常由元路径[32]反映出来。 异构图中的不同元路径可以提取不同的语义信息。 如何为特定任务选择最有意义的元路径并融合语义信息是一个悬而未决的问题[4,19,26]。 语义级别的注意力旨在了解每个元路径的重要性并为它们分配适当的权重。 仍然以 IMDB 为例,《终结者》可以通过 Movie-Actor-Movie(均由施瓦辛格主演)连接到 The Terminator 2,也可以通过 Movie-Year-Movie(均拍摄于 1984 年)连接到 Birdy。 然而,在确定电影《终结者》的类型时,MAM 通常扮演更重要的角色,而不是 MYM。 因此,同等对待不同的元路径是不切实际的,并且会削弱一些有用的元路径提供的语义信息。

  • 节点级别的关注: 在异构图中,节点可以通过各种类型的关系连接,例如元路径。 给定一个元路径,每个节点都有许多基于元路径的邻居。 如何区分邻居的细微差异并选择一些信息丰富的邻居是必需的。 对于每个节点,节点级注意力旨在学习基于元路径的邻居的重要性,并为它们分配不同的注意力值。 仍然以 IMDB 为例,当使用元路径 Movie-Director-Moive(电影是同一导演)时,终结者将通过导演詹姆斯卡梅隆连接到泰坦尼克号和终结者 2。 为了更好地将终结者的类型识别为科幻电影,模型应该更多地关注终结者2,而不是泰坦尼克号。因此,如何设计一个能够发现细微之处的模型,邻居的差异并正确学习他们的权重是需要的。

在本文中,我们提出了一种新颖的异构图注意网络,命名为 HAN,它同时考虑了节点级和语义级的注意。 特别是,给定节点特征作为输入,我们使用特定类型的变换矩阵将不同类型的节点特征投影到同一空间中。 然后节点级注意力能够学习节点及其基于元路径的邻居之间的注意力值,而语义级注意力旨在学习异构图中特定任务的不同元路径的注意力值。 基于学习到的两个级别的注意力值,我们的模型可以分层方式获得邻居和多个元路径的最佳组合,这使得学习到的节点嵌入能够更好地捕捉复杂结构和丰富的语义信息。 之后,可以通过端到端的反向传播优化整个模型。

模型概述

预备知识

  • 定义一:异质图

    • 异质图表示: G = ( V , E ) G=(V,E) G=(V,E), $ V$ 表示结点, $E $ 表示边

    • 结点映射函数: ϕ : V − > A \phi:V-> A ϕ:V>A A A A 表示结点类型

    • 边映射函数: ψ : E − > R \psi:E->R ψ:E>R R R R 表示边类型

​ 例如图 1(a) 所示,我们构建了一个异构图来对 IMDB (就是图 1 的例子)进行建模。 它由多种类型的对象(演员(A),电影(M),导演(D))和关系(电影和导演之间的拍摄关系,演员和电影之间的角色扮演关系)组成。

​ 在异构图中,两个对象可以通过不同的语义路径连接,这些路径称为元路径。

  • 定义二:元路径

    • 一条元路径 Φ \Phi Φ 被定义为 A 1 R 1 A 2 R 2 . . . R l A l + 1 A_1 \cfrac{R_1} {} A_2 \cfrac{R_2} {} ...\cfrac{R_l} {} A_{l+1} A1R1A2R2...RlAl+1缩写为 A 1 A 2 . . . A l + 1 A_1A_2...A_{l+1} A1A2...Al+1, R = R 1 。 R 2 。 . . . 。 R l R = R_1。R_2。...。R_l R=R1R2...Rl 表示 $A_1 $ 和 A 2 A_2 A2 之间的复合关系,表示关系上的复合操作。

      给定一个元路径Φ,每个节点都存在一组基于元路径的邻居,可以在异构图中揭示不同的结构信息和丰富的语义。

  • 定义三:基于元路径的邻居结点

    • 给定异构图中的节点 $i $和元路径 Φ Φ Φ,节点 $i $的基于元路径的邻居 N i Φ N^Φ_ i NiΦ 被定义为通过元路径 $Φ $与节点 $i $ 连接的节点集。 请注意,节点的邻居包括它自己。

      以图1(d)为例,给定元路径Movie-Actor-Movie,m1的基于元路径的邻居包括m1(自身)、m2和m3。 类似地,基于元路径 Movie-Director-Movie 的 m1 的邻居包括 m1 和 m2。 显然,基于元路径的邻居可以利用异构图中结构信息的不同方面。 我们可以通过邻接矩阵序列的乘法来获得基于元路径的邻居.
      模型详解

图二 模型架构图
  • 结点级的注意力
  1. 由于节点的异质性,不同类型的节点具有不同的特征空间。 因此,对于每种类型的节点(例如,类型为 $φi 的 节 点 ) , 我 们 设 计 了 特 定 类 型 的 变 换 矩 阵 的节点),我们设计了特定类型的变换矩阵 Mφi$,以将不同类型节点的特征投影到同一特征空间中。 投影过程可表示如下:

h i ′ = M ϕ i × h i h_i'=M_{\phi_i}\times h_i hi=Mϕi×hi

​ 其中$ hi $和 $h’_i $分别是节点 $i $ 的原始特征和投影特征。 通过特定类型的投影操作,节点级注意力可以处理任意类型的节点。

  1. 利用自注意力来学习各种节点之间的权重。 给定一个通过元路径 $Φ $ 连接的节点对 $ (i, j) , 节 点 级 注 意 力 ,节点级注意力 e^Φ_{ij} $ 可以学习重要性 e Φ i j e^Φ {ij} eΦij, 这意味着节点 $j $ 对节点 $ i $ 的重要性。 基于元路径的节点对 $ (i, j) $ 的重要性可以表述如下:

e i j Φ = a t t n o d e ( h i ′ , h j ′ ; Φ ) e^{\Phi}_{ij} = att_{node}(h'_i,h'_j;\Phi) eijΦ=attnode(hi,hj;Φ)

​ 这里 a t t n o d e att_{node} attnode 表示执行节点级注意力的深度神经网络。 给定元路径 Φ Φ Φ,所有基于元路径的节点对共享 a t t n o d e att_{node} attnode。 这是因为在一个元路径下有一些类似的连接模式。 上述方程(2)表明给定元路径 Φ Φ Φ,基于元路径的节点对 ( i , j ) (i,j) ij的权重取决于它们的特征。 请注意, e i j Φ e^Φ_ {ij} eijΦ 是不对称的,即节点$ i 对 节 点 对节点 j $的重要性和节点 $j $对节点 i i i 的重要性可能相差很大。 它表明节点级注意力可以保持不对称性,这是 异构图的关键属性。

​ 然后我们通过 masked attention 将结构信息注入模型,这意味着我们只计算节点 j ∈ N i Φ j ∈ N^Φ_i jNiΦ 的$ e^Φ_{ij} , 其 中 ,其中 N ^Φ i $表示节点 $ i $ 的基于元路径的邻居(包括其自身)。 在获得基于元路径的节点对之间的重要性之后,我们通过 s o f t m a x softmax softmax函数对其进行归一化以获得权重系数 α i j Φ α^Φ _{ij } αijΦ
α i j Φ = s o f t m a x ( e i j Φ ) = e x p ( σ ( a Φ T ⋅ [ h i ′ ∣ ∣ h j ′ ] ) ) ∑ k ∈ N i P h i e x p ( σ ( a Φ T ) ⋅ [ h i ′ ∣ ∣ h k ′ ) \alpha ^{\Phi}_{ij} = softmax(e^{\Phi}_{ij})=\frac {exp(\sigma(a^T_{\Phi}\cdot[h'_i||h'_j]))}{\sum_{k\in N^{Phi}_i}exp(\sigma(a^T_{\Phi})\cdot[h'_i||h'_k)} αijΦ=softmax(eijΦ)=kNiPhiexp(σ(aΦT)[hihk)exp(σ(aΦT[hihj]))
​ 其中 $ σ$ 表示激活函数, ∥ ∥ 表示连接操作,$a^Φ
{ij} $是元路径 $Φ 的 节 点 级 注 意 向 量 。 正 如 我 们 从 方 程 式 中 看 到 的 那 样 。 的节点级注意向量。 正如我们从方程式中看到的那样。 (i,j)$ 的权重系数取决于它们的特征。 另请注意,权重系数 $α^Φ_{ij} $是不对称的,这意味着它们对彼此的贡献不同。 不仅因为分子中的串联顺序,还因为它们有不同的邻居,所以归一化项(分母)会有很大的不同。

​ 然后,节点 i i i 的基于元路径的嵌入可以通过邻居的投影特征进行聚合,对应的系数如下:
Z i Φ = σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) Z^{\Phi}_i=\sigma(\sum_{j\in N^{\Phi}_i}\alpha^{\Phi}_{ij}\cdot h'_j) ZiΦ=σ(jNiΦαijΦhj)

image-20220415164252595

其中 z i Φ z^Φ_i ziΦ 是节点 i 对于元路径 Φ 的学习嵌入。 为了更好地理解节点级的聚合过程,我们还在图 3(a)中进行了简要说明。 每个节点嵌入都由其邻居聚合。 由于注意力权重 α i j Φ α^Φ_{ij} αijΦ 是为单个元路径生成的,因此它是语义特定的并且能够捕获一种语义信息。

由于异构图具有无标度的特性,图数据的方差很大。 为了应对上述挑战,我们将节点级注意力扩展到多头注意力,以便训练过程更加稳定。 具体来说,我们重复节点级注意力 K K K 次,并将学习到的嵌入连接为特定于语义的嵌入:
Z i ϕ = ∣ ∣ K = 1 K σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) Z^{\phi}_i={||}^K_{K=1}\sigma(\sum_{j \in N^{\Phi}_i} \alpha^{\Phi}_{ij}\cdot h'_j) Ziϕ=K=1Kσ(jNiΦαijΦhj)
给定元路径集 { Φ 0 , Φ 1 , . . . , Φ P } \{Φ_0, Φ_1, . . . , Φ_P \} {Φ0,Φ1,...,ΦP},在将节点特征输入节点级注意力后,我们可以获得 P P P 组语义特定节点嵌入,表示为 { Z Φ 0 , Z Φ 1 , . . . , Z Φ P } \{Z_{Φ0} , Z_{Φ1} , . . . , Z_{ΦP} \} {ZΦ0,ZΦ1,...,ZΦP}

如果每次都是基于元路径聚合,是否只是聚合到二跳的信息?迭代多层应该能聚合到更远

  • 语义级的注意力

​ 通常,异构图中的每个节点都包含多种语义信息,语义特定的节点嵌入只能从一个方面反映节点。 为了学习更全面的节点嵌入,我们需要融合元路径可以揭示的多种语义。 为了解决异构图中元路径选择和语义融合的挑战,我们提出了一种新的语义级注意来自动学习不同元路径的重要性并将它们融合到特定任务中。 以从节点级注意力学习的 P 组语义特定节点嵌入作为输入,每个元路径的学习权重 ( β Φ 0 , β Φ 1 , . . . , β Φ P ) (β_{Φ0},β_{Φ1},...,β_{ΦP}) βΦ0βΦ1...βΦP可以表示如下:
( β Φ 0 , β Φ 1 , . . . , β Φ P , ) = a t t s e m ( Z Φ 0 , Z Φ 1 , . . . , Z Φ P ) (\beta_{\Phi_0},\beta_{\Phi_1},...,\beta_{\Phi_P},)=att_{sem}(Z_{\Phi_0},Z_{\Phi_1},...,Z_{\Phi_P}) (βΦ0,βΦ1,...,βΦP,)=attsem(ZΦ0,ZΦ1,...,ZΦP)
​ 这里 a t t s e m att_{sem} attsem 表示执行语义级注意的深度神经网络。 它表明语义级注意力可以捕获异构图背后的各种类型的语义信息。

​ 为了了解每个元路径的重要性,我们首先通过非线性变换(例如,一层 MLP)来变换语义特定的嵌入。 然后,我们将语义特定嵌入的重要性衡量为转换嵌入与语义级注意向量 q 的相似性。 此外,我们平均了所有语义特定节点嵌入的重要性,这可以解释为每个元路径的重要性。 每个元路径的重要性,表示为 w i Φ w^Φ_i wiΦ,如下所示:
w Φ i = 1 ∣ V ∣ ∑ i ∈ V q T ⋅ t a n h ( W ⋅ z i Φ + b ) w_{\Phi_i}=\frac 1{|V|}\sum_{i \in V}q^T\cdot tanh(W\cdot z^{\Phi}_i + b) wΦi=V1iVqTtanh(WziΦ+b)
其中 W 是权重矩阵,b 是偏置向量,q 是语义级注意向量。 请注意,为了进行有意义的比较,所有元路径和语义特定的嵌入都共享上述所有参数。 在获得每个元路径的重要性后,我们通过 s o f t m a x softmax softmax函数对其进行归一化。 元路径 Φ i Φ_i Φi的权重,表示为 β Φ i β_{Φi} βΦi,可以通过使用 s o f t m a x softmax softmax函数对所有元路径的上述重要性进行归一化来获得:
β Φ i = e x p ( w Φ i ) ∑ i = 1 P e x p ( w Φ i ) \beta_{\Phi_i}=\frac {exp(w_{\Phi_i})}{\sum_{i=1}^{P}exp(w_{\Phi_i})} βΦi=i=1Pexp(wΦi)exp(wΦi)
这可以解释为元路径 Φ i Φ_i Φi 对特定任务的贡献。 显然, β Φ i β_{Φi} βΦi越高,元路径 Φ i Φ_i Φi越重要。 请注意,对于不同的任务,元路径 Φ i Φ_i Φi 可能具有不同的权重。 将学习到的权重作为系数,我们可以融合这些语义特定的嵌入以获得最终的嵌入 Z,如下所示:
Z = ∑ i = 1 P β Φ i ⋅ Z Φ i Z=\sum_{i=1}^P\beta_{\Phi_i}\cdot Z_{\Phi_i} Z=i=1PβΦiZΦi
为了更好地理解语义级的聚合过程,我们还在图 3(b)中进行了简要说明。 最终的嵌入由所有特定于语义的嵌入聚合而成。 然后我们可以将最终的嵌入应用到特定的任务中,并设计不同的损失函数。 对于半监督节点分类,我们可以最小化真实和预测之间所有标记节点的交叉熵:
L = − ∑ l ∈ y L Y l l n ( C ⋅ Z l ) L=-\sum_{l\in y_L}Y^lln(C\cdot Z^l) L=lyLYlln(CZl)
其中 C C C 是分类器的参数, y L y_L yL 是具有标签的节点索引集, Y l Y^l Yl Z l Z^l Zl 是标签节点的标签和嵌入。 在标记数据的指导下,我们可以通过反向传播优化提出的模型并学习节点的嵌入。 HAN 的整体流程如算法1所示:

这篇关于Heterogeneous Graph Attention Network 阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841214

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓