当前位置: 首页 > article >正文

Heterogeneous Graph Attention Network(HAN)

HAN

WWW19

分类:异构图神经网络

元路径

(图片地址:异构图注意力网络(3) HAN_哔哩哔哩_bilibili)

image

如图所示,假如异构图如上所示。那么,按照MAM和MDM就可以生成不同的子图。这样,就可以生成MAM与MDM的一阶邻居图。我们可以通过对分别得到MAM与MDM子图,然后在使用注意力机制来生成为不同的子图的嵌入分配权重,利用注意力机制生成最终的嵌入。

模型方法:

每个子图的嵌入(比如MAM的嵌入)(其获得方法和GAT类似)

h i ′ = M ϕ i ⋅ h i , \mathbf{h}_i^{\prime}=\mathbf{M}_{\phi_i}\cdot\mathbf{h}_i, hi=Mϕihi,(将原始嵌入映射到一个新的空间)

e i j Φ = a t t n o d e ( h i ′ , h j ′ ; Φ ) . e_{ij}^\Phi=att_{node}(\mathrm{h}_i^{\prime},\mathrm{h}_j^{\prime};\Phi). eijΦ=attnode(hi,hj;Φ).(利用注意力机制来获得边i,j在子图 Φ \Phi Φ的初始权重)

α i j Φ = s o f t m a x j ( e i j Φ ) = exp ⁡ ( σ ( a Φ T ⋅ [ h i ′ ∥ h j ′ ] ) ) ∑ k ∈ N i Φ exp ⁡ ( σ ( a Φ T ⋅ [ h i ′ ∥ h k ′ ] ) ) , \alpha_{ij}^{\Phi}=softmax_{j}(e_{ij}^{\Phi})=\frac{\exp\left(\sigma(\mathbf{a}_{\Phi}^{\mathrm{T}}\cdot[\mathbf{h}_{i}^{\prime}\|\mathbf{h}_{j}^{\prime}])\right)}{\sum_{k\in\mathcal{N}_{i}^{\Phi}}\exp\left(\sigma(\mathbf{a}_{\Phi}^{\mathrm{T}}\cdot[\mathbf{h}_{i}^{\prime}\|\mathbf{h}_{k}^{\prime}])\right)}, αijΦ=softmaxj(eijΦ)=kNiΦexp(σ(aΦT[hihk]))exp(σ(aΦT[hihj])),(对初始权重进行softmax归一化)

z i Φ = σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h ′ j ) . \mathbf{z}_i^\Phi=\sigma\left(\sum_{j\in\mathcal{N}_i^\Phi}\alpha_{ij}^\Phi\cdot\mathbf{h^{\prime}}_j\right). ziΦ=σ(jNiΦαijΦhj).(得到在子图 Φ \Phi Φ的嵌入)

z i Φ = ∏ k = 1 K σ ( ∑ j ∈ N i Φ α i j Φ ⋅ h j ′ ) . \mathbf{z}_i^\Phi=\prod_{k=1}^K\sigma\left(\sum_{j\in\mathcal{N}_i^\Phi}\alpha_{ij}^\Phi\cdot\mathbf{h}_j^{\prime}\right). ziΦ=k=1Kσ(jNiΦαijΦhj).(应用多头注意力,这个个人觉得无所谓)(

得到每个子图的权重分配:

利用注意力得到每个子图节点在该子图的初始权重:

w Φ p = 1 ∣ V ∣ ∑ i ∈ V q T ⋅ t a n h ( W ⋅ z i Φ p + b ) , w_{\Phi_{p}}=\frac{1}{|\mathcal{V}|}\sum_{i\in\mathcal{V}}\mathbf{q}^{\mathrm{T}}\cdot\mathrm{tanh}(\mathbf{W}\cdot\mathbf{z}_{i}^{\Phi_{p}}+\mathbf{b}), wΦp=V1iVqTtanh(WziΦp+b),

归一化: β Φ p = exp ⁡ ( w Φ p ) ∑ p = 1 P exp ⁡ ( w Φ p ) , \beta_{\Phi_p}=\frac{\exp(w_{\Phi_p})}{\sum_{p=1}^P\exp(w_{\Phi_p})}, βΦp=p=1Pexp(wΦp)exp(wΦp),

最终嵌入: Z = ∑ p = 1 P β Φ p ⋅ Z Φ p . \mathbf{Z}=\sum_{p=1}^P\beta_{\Phi_p}\cdot\mathbf{Z}_{\Phi_p}. Z=p=1PβΦpZΦp.

分类损失函数:

L = − ∑ l ∈ Y L Y l ln ⁡ ( C ⋅ Z l ) , L=-\sum_{l\in\mathcal{Y}_L}\mathbf{Y}^l\ln(\mathbb{C}\cdot\mathbb{Z}^l), L=lYLYlln(CZl),

结果:

image

个人评价:

好像把多个同构图拼在一起呀


http://www.kler.cn/a/537963.html

相关文章:

  • IBM服务器刀箱Blade安装Hyper-V Server 2019 操作系统
  • 企业级Mysql实战
  • 【0401】Postgres内核 CREATE DATABASE database-name 源码实现 ①
  • JavaScript:还在用if判断属性是否存在?哒咩(?.)用起来
  • 增量hdfs数据追平
  • 【C++11】lambda和包装器
  • 【机器学习案列】基于XGBoost的睡眠时间预测
  • Redis深入学习
  • 本地部署deepseek并布置到其他盘
  • LIMO:少即是多的推理
  • AI协助处理-罕见的Oracle内存溢出
  • vivado 7 系列器件时钟
  • Centos Stream 10 根目录下的文件夹结构
  • 网络安全 linux学习计划 linux网络安全精要
  • 查看云机器的一些常用配置
  • WPF点击提交按钮后验证
  • Lua语言的嵌入式系统
  • node.js + html + Sealos容器云 搭建简易多人实时聊天室demo 带源码
  • 知识点(SSTI漏洞/flask框架/tonado框架)
  • WPS如何接入DeepSeek(通过JS宏调用)
  • 在 Navicat 17 中扩展 PostgreSQL 数据类型 | 创建自定义域
  • 二叉树理论基础详解:从零开始理解数据结构的核心
  • react 路由配置:从入门到精通
  • 美的java面试经验
  • docker compose 文件详解
  • 【含文档+PPT+源码】基于Python校园跑腿管理系统设计与实现