18-Hypergraph Convolution and Hypergraph Attention
authors: Song Bai , Feihu Zhang , Philip H.S. Torr
–Department of Engineering Science, University of Oxford,Oxford, United Kingdom. Correspondence to: Song Bai songbai.site@gmail.com.
摘要:
普通图其实可以看成是超图的特例,所以对超图的研究可以视作普通图的泛化。这里提出图神经网络家族的两大端到端的操作,超图卷积和超图attention,超图卷积当成是一个基础,attention加强了其的表达能力。
贡献
- 定义了一个超卷积操作,可以充分利用顶点之间的高阶关系以及其中的局部簇关系,用于实现不同节点间的信息传播。在数学上证明了普通图卷积是是在超图在非成对关系退化成成对关系下的特例。
- 除了图卷积这个传播的底层结构已经被提前定义好的之外,我们还提出了利用注意力机制去学习超图的动态连接,最后信息传递以及信息聚集被图任务相关的部分聚集,产生更加具有判别力的节点映射。
- 只要观测到非成对的关系,就可以将超图卷积以及超图attention插入到模型中。
模型
预备:
- G = ( V , E ) \mathcal{G}=(V,E) G=(V,E)表示超图,N个节点和M个超边
- 每个超边 ϵ ∈ E \epsilon \in E ϵ∈E指定一个正权重 W ϵ ϵ W_{\epsilon \epsilon } Wϵϵ, 所有权重存在对角阵 W ∈ R M × M \mathbf W\in \mathbb{R}^{M\times M} W∈RM×M中。
- 超图
G
\mathcal{G}
G被表示Wie一个关联矩阵
H
∈
R
N
×
M
\mathbf H \in \mathbb R^{N\times M}
H∈RN×M,如果
v
i
v_i
vi与
ϵ
\epsilon
ϵ连接,那么令
H
i
ϵ
=
1
H_{i\epsilon}=1
Hiϵ=1, 否则令其为0.
顶点的度被定义为:
边的度被定义为
这里 D ∈ R N × N D\in \mathbb{R}^{N\times N} D∈RN×N , B ∈ R M × M B\in \mathbb{R}^{M\times M} B∈RM×M是对角阵。
超图卷积
我们有两个假设
- 被公共超边连接的节点会有更多的信息传递。
- 权重越大则传输得越多
所以单步超图卷积可以定义为
若写成矩阵形式
其中:
- x i l x_i^{l} xil表示的是第 i 个节点嵌入, X ( l ) ∈ R N × F ( l ) \mathbf{X}^{(l)}\in \mathbb{R}^{N\times F^{(l)}} X(l)∈RN×F(l)
- X ( l ) ∈ R N × F ( l + 1 ) \mathbf{X}^{(l)}\in \mathbb{R}^{N\times F^{(l+1)}} X(l)∈RN×F(l+1)表示的是第 l 层与第 (l+1)层
因为
H
W
H
T
HWH^T
HWHT的谱不受约束,可能会导致传播的时候梯度消失或者梯度爆炸,所以我们将其对称正则化:
- D ∈ R N × N D\in \mathbb{R}^{N\times N} D∈RN×N 是顶点度矩阵
-
B
∈
R
M
×
M
B\in \mathbb{R}^{M\times M}
B∈RM×M是边度矩阵。
也可用行归一化下的卷积形式
除了在传播是有向非对称情况下这两种性质会不同外,其他情况下都是相同的。
因为 X ( l + 1 ) \mathbf{X}^{(l+1)} X(l+1)对于 X ( l ) \mathbf{X}^{(l)} X(l)和 P \mathbf{P} P都是可微的,所以我们可以使用端到端的训练然后用梯度下降对其进行优化。
超图Attention
因为我们的关联矩阵H不是一个二值连接矩阵,而且这里需要对比边与顶点的数据的相似性,如果具有可比性,我们才能使用这个hypergraph,其主要是因为(5)(6)式使用了边的权重矩阵,如果边与点的数据不是同种性质就没啥可比的,也就没有所谓的attention了。这里我们假定边与点的表示是可比的,借助之前的GAT,我们定义一个顶点邻域内的点的加权系数,也就是attention系数
- σ \sigma σ是激活函数
- N j \mathcal{N}_j Nj表示 x i x_i xi的邻域,其邻域被定义为与其同超边的节点(有可能是多条)。
- sim表示节点 i 与节点 j 的相似度度量。
我们可以在每一层的开始处理数据时先通过attention作用,将关联矩阵变成类似概率矩阵,即每个元素就是attention得分,然后通过与H相乘,得到加权后的矩阵,最后再嵌入convolution中。
总结评论
与之前图卷积的关系
文章证明了当超图退化成图时就会等于某种形式的图卷积,这里假定所有的权重都为1
- A ∈ R N × N A\in \mathbb{R}^{N\times N} A∈RN×N为邻接阵
- 顶点度矩阵 B = 2 I \mathbf{B=2I} B=2I
- 边度矩阵 W = I \mathbf{W=I} W=I
上面结果代入(5) 式,就可以得到下面的推导
这里
- A ^ = 1 / 2 A ~ \hat{A}=1/2\tilde A A^=1/2A~
- A ~ = I + D − 1 / 2 A D − 1 / 2 \tilde{A}=I+D^{-1/2}AD^{-1/2} A~=I+D−1/2AD−1/2
然后发现
A
~
\tilde A
A~特征值[0,2]所以实现重正则化后
A
^
=
D
~
−
1
/
2
A
~
D
~
−
1
/
2
\hat A=\tilde D^{-1/2} \tilde A \tilde D^{-1/2}
A^=D~−1/2A~D~−1/2
实际实现
卷积过程(5)式是对称的,(6)式是非对称的,对于非对称的我们使用下面的方法转化为对称实现
其中
D
−
1
H
D_{-1}H
D−1H与
H
B
−
1
HB_{-1}
HB−1都是对H分别使用
L
1
L_1
L1行正则化与列正则化。这里正则化的实现可以通过神经网络包。
跳跃连接
超图卷积可以集成到跳跃连接上,如:
但是这篇论文却证明了深度图模型是不能提高性能的,甚至是在加入了跳跃连接之后,因为其感受野呈现与模型的深度指数增长。
多头
为了保持学习过程的稳定,提升网络的表现力,多头结构(或者说是多分支)可以采用。
这里的Aggregate(.)是一个确定的聚合操作,像concatenation和average pooling。
因为每个头采用不同的线性变换
P
k
P_k
Pk,所以我们得到不同的头,但只有在超图领域我们才可以有不同头使用不同的邻接矩阵
H
k
H_k
Hk.
实验
数据集
我们采用3个数据集,训练集的话,每一类文章20篇,对应的话就是cora有140篇,Citeseer有120篇,Pubmed有60篇。然后另外500篇用于验证目的。1000篇用于性能评估。
超图构建
由于上面的数据集采用的普通图结构。所以我们需要将普通图构建成为超图。这里步骤分为3步:
- 所有文章构成超图的顶点集。
- 每一篇文章作为一个质心,形成一个超边,连接那些有引用链接的文章(引用或被引用)
- 为了简单起见,超边的权值是相等的,但是如果在具体应用,则可以设置不相等的权值来对先验知识进行编码。
结果