论文笔记:Hypergraph Convolution and Hypergraph Attention-程序员宅基地

技术标签: 机器学习  深度学习  超图  神经网络  

前言

论文链接:https://arxiv.org/abs/1901.08150

1. Hypergraph Convolution and Hypergraph Attention

1.1 Hypergraph Revisited

一个普通图定义为 G = ( V , E ) \mathcal{G}=(V,E) G=(V,E) ,其中节点集定义为 V = { v 1 , v 2 , … , v N } V=\{v_1,v_2,\dots,v_N\} V={ v1,v2,,vN},边集定义为 E ⊆ V × V E \subseteq V \times V EV×V,该图的邻接矩阵的维度为 A ∈ R N × N \mathbf{A}\in\mathbb{R}^{N\times N} ARN×N。传统意义上的无向简单图就可以定义为这种形式,但是在现实世界中,实体之间的关系往往更加复杂,因此需要引入新的结构来进行描述,在这里引出了超图的概念。超图相比于简单图来讲最大的特点在于一条边可以连接两个及两个以上的顶点。进而 G = ( V , E ) \mathcal{G}=(V,E) G=(V,E) 代表一个含有 N N N 个顶点和 M M M 条超边的超图,每一条超边满足 ϵ ∈ E \epsilon \in E ϵE ,并且附加一个权重表示 W ϵ ϵ W_{\epsilon\epsilon} Wϵϵ,进而每一条超边的权重组成该超图的超边权重对角矩阵 W ∈ R M × M \mathbf{W}\in\mathbb{R}^{M\times M} WRM×M。由于超图的特性,相比于普通图的邻接矩阵,我们可以通过超边关联矩阵来描述超图中的拓扑关系,超边的关联矩阵定义为 H ∈ R N × M \mathbf{H} \in \mathbb{R}^{N \times M} HRN×M,如果节点 v i v_i vi 包含在超边 ϵ \epsilon ϵ 中那么存在 H i ϵ = 1 H_{i\epsilon}=1 Hiϵ=1 否则为 0。基于此,节点的度可以定义为:
D i i = ∑ ϵ = 1 M W ϵ ϵ H i ϵ (1) D_{ii}=\sum_{\epsilon=1}^MW_{\epsilon\epsilon H_{i\epsilon}}\tag{1} Dii=ϵ=1MWϵϵHiϵ(1)
超边的度可以定义为:
B ϵ ϵ = ∑ i = 1 N H i ϵ (2) B_{\epsilon\epsilon}=\sum_{i=1}^NH_{i\epsilon}\tag{2} Bϵϵ=i=1NHiϵ(2)
其中 D ∈ R N × N , B ∈ R M × M \mathbf{D}\in\mathbb{R}^{N\times N},\mathbf{B}\in\mathbb{R}^{M\times M} DRN×N,BRM×M 两者都是对角矩阵。

1.2 Hypergraph Convolution

在超图中定义卷积算子的主要障碍是度量两个顶点之间的转移概率,通过这个概率,每个顶点的嵌入(或特征)可以在图神经网络中传播。为了实现这一点,作者提出了两个假设

  • 1)由公共超边连接的顶点之间需要进行更多的传播
  • 2)权重较大的超边在这种传播中需要更多的置信度。然后将超图卷积的一步定义为

x i ( l + 1 ) = σ ( ∑ j = 1 N ∑ ϵ = 1 M H i ϵ H j ϵ W ϵ ϵ x j ( l ) P ) (3) x_i^{(l+1)}=\sigma(\sum_{j=1}^N\sum_{\epsilon=1}^{M}H_{i\epsilon}H_{j\epsilon}W_{\epsilon\epsilon}x_j^{(l)}\mathbf{P})\tag{3} xi(l+1)=σ(j=1Nϵ=1MHiϵHjϵWϵϵxj(l)P)(3)

矩阵形式表示为:
X ( l + 1 ) = σ ( H W H T X ( l ) P ) (4) \mathbf{X}^{(l+1)}=\sigma(\mathbf{HWH^TX}^{(l)}\mathbf{P})\tag{4} X(l+1)=σ(HWHTX(l)P)(4)
其中的维度关系为 X ( l ) ∈ R N × F ( l ) , X ( l + 1 ) ∈ R N × F ( l + 1 ) \mathbf{X}^{(l)}\in\mathbb{R}^{N\times F^{(l)}},\mathbf{X}^{(l+1)}\in\mathbb{R}^{N\times F^{(l+1)}} X(l)RN×F(l),X(l+1)RN×F(l+1)。这种形式没有考虑到频域中卷积操作导致数值的不稳定性,并增加爆炸/消失梯度的风险。因此,适当的规范化是必要的

X ( l + 1 ) = σ ( D − 1 2 H W B − 1 H T D − 1 2 X ( l ) P ) (4) \mathbf{X}^{(l+1)}=\sigma(\mathbf{D^{-\frac{1}{2}}HWB^{-1}H^TD^{-\frac{1}{2}}X}^{(l)}\mathbf{P})\tag{4} X(l+1)=σ(D21HWB1HTD21X(l)P)(4)

这种形式其实与 HGNN 提出的超图卷积方式是一致的

1.3 Hypergraph Attention

受启发于 GAT ,相比于普通图中的邻域节点,在作者提出的 HyperGAT 中计算注意力的对象是同一条超边中的其他节点

H i j = e x p ( σ ( s i m ( x i P , x j P ) ) ) ∑ k ∈ N i e x p ( σ ( s i m ( x i P , x k P ) ) ) (5) H_{ij}=\frac{exp(\sigma(sim(x_i\mathbf{P},x_j\mathbf{P})))}{\sum_{k\in\mathcal{N}_i}exp(\sigma(sim(x_{i}\mathbf{P},x_k\mathbf{P})))}\tag{5} Hij=kNiexp(σ(sim(xiP,xkP)))exp(σ(sim(xiP,xjP)))(5)
其中 s i m ( ⋅ ) sim(\cdot) sim() 代表注意力系数计算公式,形式如下
s i m ( x i , x j ) = a T [ x i ∣ ∣ x j ] (6) sim(x_i,x_j)=\mathbf{a^T}[x_i||x_j]\tag{6} sim(xi,xj)=aT[xixj](6)

我们可以在每一层的开始处理数据时先通过attention作用,将关联矩阵变成类似概率矩阵,即每个元素就是attention得分,然后通过与H相乘,得到加权后的矩阵,最后再嵌入convolution中。
在这里插入图片描述

2. Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44015059/article/details/114293417

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法