IJCAI-19-Dynamic Hypergraph Neural Networks
代码:https://github.com/iMoonLab/DHGNN
动机
超图/图的边是固有的,所以这个很大的限制了点之间的隐含关系。文章提出了动态超图神经网络DHGNN,用于解决这种问题。其分成两个阶段:动态超图重建(DHG)以及动态图卷积(HGC)。DHG用于每一层动态更新超图结构(这里的每一层很关键,因为Dynamic hypergraph structure learning (DHSL) [Zhanget al., 2018] 已经是初始的时候进行动态的),HGC使用顶点卷积和边卷积,用于汇集点和边的信息。
贡献
- 提出动态图构建方法,先用k-NN方法产生基础的超边,再用K-means对节点进行聚类,生成扩充的边。这么做就可以提取到局部和整体的关系。
- 我们进行了基于网络的分类和社交媒体情绪预测实验。在基于网络的任务中,我们的方法优于现有的方法,对不同的数据分布具有较高的鲁棒性。在社交媒体情绪预测方面,我们方法优于最先进的方法(SOTA)
DHNN
DHC(动态超图construction)
- X = [ x 1 , x 2 , . . . , x n ] X=[x_1,x_2,...,x_n] X=[x1,x2,...,xn]为特征嵌入, x i x_i xi表示第i 个样本的特征。我们需要通过这些点来建立超图 V \mathcal{V} V
- G = { V , E } \mathcal{G}=\{\mathcal{V,E}\} G={V,E}, V \mathcal{V} V表示顶点集, E \mathcal{E} E表示超边集( e ∈ E e\in \mathcal{E} e∈E为一连接动态数量顶点的超边)
算法解釋:第1 步对嵌入特征进行K-means聚类,通过迭代可以生成给定的K个类
第2步到11步是生成基础边和extend边的过程。
3.对每个嵌入特征u 进行k-nn聚类,这里是挑选出于u最近的k个embeding作连成一条超边
e
b
e_b
eb
4.将
e
b
e_b
eb视为u 的超边所连接的点,u 并入到
e
b
e_b
eb
至此,basic edge 构建完毕,下面是利用k-mean的k 个类对u增加具有全局意义的边
5、6.计算u到每个聚类值中心的距离并对距离进行从小到大排序
7. 挑选出前S-1个聚类中心。这些中心都是离u 比较近的
8、9.将选好的离u近的中心加入到u的超边集里边
整个过程在卷积的每一层进行,就可以使得每次都是动态的embedding图。而且可以获得更加高次(high-order)的关系,加深网络层数。
超图卷积
节点卷积
节点卷积将边上所连接的节点的信息都汇集到边上,(简单做法:平均池化,最大池化),SOTA做法是直接用一个固定的,从图结构里提前计算好的转移矩阵进行处理,但是这种方法无法很好地对顶点特征间的描述信息进行建模,所以这里由节点特征来生成转移矩阵,即
T
=
M
L
P
(
X
u
)
T=MLP(X_u)
T=MLP(Xu)
转移之后我们再使用单通道的卷积层将特征变成一维,
x
e
=
c
o
n
v
(
T
⋅
M
L
P
(
X
u
)
)
\mathbf{x}_e=conv(T \cdot MLP(X_u ) )
xe=conv(T⋅MLP(Xu))
整个流程为
超边卷积
边卷积将上面获得的每条边的特征表示,汇集到中心节点处,这里还使用了MLP来产生注意力系数,加到每个边的特征上进行加权求和,最后得到节点表示
X
u
X_u
Xu
w
=
s
o
l
f
m
a
x
(
x
e
W
+
b
)
w=solfmax(\mathbf{x}_eW+b)
w=solfmax(xeW+b)
x
u
=
∑
i
=
0
∣
A
d
j
(
u
)
∣
w
i
x
e
i
\mathbf{x}_u=\sum^{|Adj(u)|}_{i=0}w^i\mathbf{x}_e^i
xu=i=0∑∣Adj(u)∣wixei
实验
Cora dataset
使用不同的数据划分得到的结果
std 是5.2%固定trainset
而后面的5.2%是通过随机采样的(以下结果都是10次实验的平均)
Microblog
为了生成视觉特征,我们使用了SentiBank [Borth et al., 2013],
一种ANP检测器库对Twitter图像进行预训练,将微博图像转化为1553维特征向量。对于表情符号,我们构建了一个包含49个常用表情符号的表情符号字典,并计算了大量的表情符号特征。每条微博都有一个标签,表明其情感丰富程度(积极或消极)。其任务是通过多变量来预测推文的情感极性