原文:Hypergraph Neural Networks ——AAAI2019(CCF-A)
源码:https://github.com/iMoonLab/HGNN 500+star
贡献:用于数据表示学习的超图神经网络 (HGNN) 框架,对超图结构中的高阶数据相关性进行编码
定义超边卷积来处理表示学习过程中的数据相关性
够学习考虑高阶数据结构的隐藏层表示,是一个通用框架
——GCN可以看作是 HGNN 的一个特例,其中简单图中的边可以被视为仅连接两个顶点的 2 阶超边
引文图、图像识别数据集上实验,优于图卷积网络(GCN)
others:在处理多模态数据时具有优势
背景:
图卷积能够使用神经网络模型对不同输入数据的图结构进行编码,用于无监督、半监督、监督学习,在表示学习方面显示出优越性。传统图卷积网络,使用成对连接,难以表征多模态数据:
——传统的图结构具有规定数据相关性的局限性,这限制了图卷积网络的应用。
超图优势:
超图可以使用其可变度数超边对高阶数据相关性(超出成对连接)进行编码
使用超图的灵活性超边很容易扩展到多模态和异构数据表示:
如:可以通过组合邻接矩阵来联合使用多模态数据来生成超图
——图已被用于许多计算机视觉任务,例如分类和检索任务
超图问题:传统的超图学习方法计算复杂度和存储成本较高,难以广泛应用
相关研究:
超图学习
前期发展:
注意力机制引入:
多模态:
图神经网络
前期发展:
谱方法:
空间方法:
基础知识(略):
与简单图不同,超图中的超边连接两个或多个顶点。超图定义为 G = (V, E, W)
超图 G 可以用 |V| × |E|关联矩阵 H 表示
h ( v , e ) = { 1 , if v ∈ e 0 , if v ∉ e , h(v,e)=\left\{\begin{array}{l} 1, \text{if} \space v \in e \\ 0, \text{if} \space v \notin e, \\\end{array}\right. h(v,e)={1,if v∈e0,if v∈/e,
d ( v ) = ∑ e ∈ E ω ( e ) h ( v , e ) d(v) =∑_{e∈E} ω(e)h(v, e) d(v)=∑e∈Eω(e)h(v,e)、 δ ( e ) = ∑ v ∈ V h ( v , e ) δ(e) = ∑_{v∈V} h(v, e) δ(e)=∑v∈Vh(v,e)。 D e \mathbf{D}_e De 和 D v \mathbf{D}_v Dv 分别表示边度和顶点度的对角矩阵
超图节点分类问题:节点标签应该在超图结构上平滑
——用以下正则化框架描述:
arg min f { R e m p ( f ) + Ω ( f ) } \arg \min_f \{\mathcal{R}_{emp}(f)+\Omega(f)\} argfmin{Remp(f)+Ω(f)}
其中 Ω ( f ) \Omega(f) Ω(f) 是超图上的正则化, R e m p ( f ) \mathcal{R}_{emp}(f) Remp(f) 表示监督经验损失, f ( ⋅ ) f (·) f(⋅) 是分类函数。正则化 Ω ( f ) \Omega(f) Ω(f)定义为:
Ω ( f ) = 1 2 ∑ e ∈ ε ∑ { u , v } ∈ V w ( e ) h ( u , e ) h ( v , e ) δ ( e ) ( f ( u ) d ( u ) − f ( v ) d ( v ) ) 2 \Omega(f)=\frac{1}{2} \sum_{e \in \varepsilon} \sum_{\{u,v\}\in \mathcal{V}} \frac{w(e)h(u,e)h(v,e)}{\delta(e)} \left(\frac{f(u)}{\sqrt{d(u)}}-\frac{f(v)}{\sqrt{d(v)}}\right)^2 Ω(f)=21e∈ε∑{u,v}∈V∑δ(e)w(e)h(u,e)h(v,e)(d(u)f(u)−d(v)f(v))2
我们令 Θ = D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 \mathbf \Theta=\mathbf D_v^{-1/2}\mathbf H \mathbf W \mathbf D_e^{-1}\mathbf H^{\mathsf T}\mathbf D_v^{-1/2} Θ=Dv−1/2HWDe−1HTDv−1/2, Δ = I − Θ \mathbf \Delta = \mathbf I -\mathbf \Theta Δ=I−Θ 归一化 Ω ( f ) \Omega(f) Ω(f) 可以写成:
Ω ( f ) = f T Δ \Omega(f)=f^{\text T} \mathbf \Delta Ω(f)=fTΔ
其中 Δ \mathbf \Delta Δ 是半正定的,通常称为超图拉普拉斯算子。
给定一个具有 n 个顶点的超图,拉普拉斯算子 Δ \mathbf \Delta Δ 是半正定的。对其进行特征分解 Δ = Φ Λ Φ T \mathbf \Delta =\mathbf \Phi \mathbf \Lambda \mathbf \Phi^{\mathsf T} Δ=ΦΛΦT 可得到正交特征向量 Φ = diag ( ϕ 1 , . . . , ϕ n ) \mathbf \Phi = \text{diag}(\phi_1,..., \phi_n) Φ=diag(ϕ1,...,ϕn) 和对角矩阵 Λ = diag ( λ 1 , . . . , λ n ) \mathbf \Lambda =\text{diag}(\lambda_1,..., \lambda_n) Λ=diag(λ1,...,λn) 对应非负特征值。
信号 x = ( x 1 , . . . , x n ) \text x = (x_1,..., x_n) x=(x1,...,xn) 在超图中定义为 x ^ = Φ T x \hat {\text x}=\mathbf \Phi^{\mathsf T}\text x x^=ΦTx ,其中特征向量被视为傅里叶基,特征值被解释为频率。信号x和滤波器g的谱卷积可以表示为:
g ⋆ x = Φ ( ( Φ T g ) ⊙ ( Φ T x ) ) = Φ g ( Λ ) Φ T x , \text g\star \text x=\mathbf \Phi((\mathbf \Phi^{\mathsf T}\text g)\odot (\mathbf \Phi^{\mathsf T} \text x))=\mathbf \Phi g(\mathbf \Lambda) \mathbf \Phi^{\mathsf T}\text x, g⋆x=Φ((ΦTg)⊙(ΦTx))=Φg(Λ)ΦTx,
然而正向和反向傅里叶变换的计算成本为 O ( n 2 ) O(n^2) O(n2)。可以用某论文中的方法使用K 阶多项式参数化 g ( Λ ) g(\mathbf \Lambda) g(Λ),我们使用截断切比雪夫展开作为这样的多项式。Chebyshv多项式 T k ( x ) T_k(x) Tk(x)由 T k ( x ) = 2 x T k − 1 ( x ) − T k − 2 ( x ) T_k(x) = 2xT_{k−1}(x)−T_{k−2}(x) Tk(x)=2xTk−1(x)−Tk−2(x)递归计算,其中 T 0 ( x ) = 1 T_0(x) = 1 T0(x)=1和 T 1 ( x ) = x T_1(x) = x T1(x)=x。因此, g ( Λ ) g(\mathbf \Lambda) g(Λ)可以参数化为:
g ⋆ x ≈ ∑ k = 0 K θ k T k ( Δ ^ ) x , \text g\star \text x \approx \sum_{k=0}^K \theta_k T_k(\hat {\mathbf \Delta})\text{x}, g⋆x≈k=0∑KθkTk(Δ^)x,
其中 T k ( Δ ^ ) T_k(\hat {\mathbf \Delta}) Tk(Δ^) 是k阶切比雪夫多项式,里面的缩放拉普拉斯算子为 Δ ^ = 2 λ m a x Δ − I \hat{\mathbf \Delta}=\frac{2}{\lambda_{max}}\mathbf \Delta-\mathbf I Δ^=λmax2Δ−I。排除了拉普拉斯特征向量的扩展计算,只包括矩阵幂、加法和乘法,提升运算速度。我们可以进一步让 K = 1 来限制卷积操作的顺序,因为超图中的拉普拉斯算子已经可以很好地表示节点之间的高阶相关性。另一篇论文检建议,由于神经网络的规模适应性,令 λ m a x ≈ 2 \lambda_{max} \approx 2 λmax≈2,卷积运算可以进一步简化为:
g ⋆ x ≈ θ 0 x − θ 1 D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 x , \text g\star \text x \approx \theta_0 \text x-\theta_1 \mathbf D_v^{-1/2}\mathbf H \mathbf W \mathbf D_e^{-1} \mathbf H^{\mathsf T} \mathbf D_v^{-1/2} \text x, g⋆x≈θ0x−θ1Dv−1/2HWDe−1HTDv−1/2x,
其中 θ 0 θ_0 θ0 和 θ 1 θ_1 θ1 是所有节点的过滤器参数。我们进一步使用单个参数 θ 来避免过拟合问题,定义为:
{ θ 1 = − 1 2 θ θ 0 = 1 2 θ D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 , \left\{\begin{array}{l} \theta_1 = -\frac{1}{2}\theta \\ \theta_0 = \frac{1}{2}\theta \mathbf D_v^{-1/2}\mathbf H \mathbf W \mathbf D_e^{-1} \mathbf H^{\mathsf T} \mathbf D_v^{-1/2}, \\\end{array}\right. {θ1=−21θθ0=21θDv−1/2HWDe−1HTDv−1/2,
卷积运算可以简化为下式:
g ⋆ x ≈ 1 2 θ D v − 1 / 2 H ( W + I ) D e − 1 H T D v − 1 / 2 x ≈ θ D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 x \text g\star \text x \approx \frac{1}{2}\theta \mathbf D_v^{-1/2}\mathbf H \mathbf {(W+I)} \mathbf D_e^{-1} \mathbf H^{\mathsf T} \mathbf D_v^{-1/2} \text x\\\approx \theta \mathbf D_v^{-1/2}\mathbf H \mathbf W \mathbf D_e^{-1} \mathbf H^{\mathsf T} \mathbf D_v^{-1/2} \text x g⋆x≈21θDv−1/2H(W+I)De−1HTDv−1/2x≈θDv−1/2HWDe−1HTDv−1/2x
其中 ( W + I ) \mathbf{(W + I)} (W+I) 可以看作是超边的权重。 W \mathbf W W 被初始化为单位矩阵,这意味着所有超边的相等权重。
当我们有一个具有n个节点和C1维特征的超图信号 X ∈ R n × C 1 \mathbf X \in \mathbb R^{n \times C_1} X∈Rn×C1 时,我们的超边卷积可以表示为:
Y = D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 X Θ , \mathbf{Y=D_v^{-1/2}HWD_e^{-1}H^{\mathsf T}D_v^{-1/2}X\Theta}, Y=Dv−1/2HWDe−1HTDv−1/2XΘ,
其中 W = diag ( w 1 , . . . , w n ) \mathbf W =\text{diag}(\text{w}_1,...,\text{w}_n) W=diag(w1,...,wn), Θ ∈ R C 1 × C 2 \Theta \in \mathbb R^{C_1 \times C_2} Θ∈RC1×C2 是训练过程中要学习的参数。过滤器 Θ \mathbf \Theta Θ 应用于超图中的节点以提取特征。卷积后,我们可以得到 Y ∈ R n × C 2 \mathbf Y \in \mathbb R^{n \times C_2} Y∈Rn×C2 ,可用于分类。
多模态数据集分为训练数据和测试数据,每个数据包含多个具有特征的节点。然后从多模态数据集的复杂相关性构建多个超边结构组。我们组合超边组以生成超图邻接矩阵 H \mathbf H H。将超图邻接矩阵 H \mathbf H H和节点特征输入到HGNN中,得到节点输出标签。
我们可以在以下公式中构建一个超边卷积层 f ( X , W , Θ ) f \mathbf{(X, W, \Theta)} f(X,W,Θ):
X ( l + 1 ) = σ ( D v − 1 / 2 H W D e − 1 H T D v − 1 / 2 X ( l ) Θ ( l ) ) , \mathbf X^{(l+1)}=\sigma (\mathbf D_v^{-1/2}\mathbf H \mathbf W \mathbf D_e^{-1} \mathbf H^{\mathsf T} \mathbf D_v^{-1/2} \mathbf X^{(l)} \mathbf \Theta^{(l)}), X(l+1)=σ(Dv−1/2HWDe−1HTDv−1/2X(l)Θ(l)),
其中 X ( l ) ∈ R N × C \mathbf X^{(l)} \in \mathbb R^{N \times C} X(l)∈RN×C 是 l l l 层的超图信号, X ( 0 ) = X \mathbf X^{(0)} = \mathbf X X(0)=X, σ \sigma σ 表示非线性激活函数。
卷积层结构:
HGNN模型基于超图上的谱卷积。HGNN 层可以执行 节点-边-节点 的变换,这可以有效地提取超图上的高阶相关性。
—— D v \mathbf D_v Dv和 D e \mathbf D_e De在公式11中起到了归一化的作用
与现有方法的关系:
超边只连接两个顶点时,超图被简化为一个简单的图,拉普拉斯算子 Δ \mathbf \Delta Δ 也与简单图的拉普拉斯算子一致(1/2倍相乘)
两个任务:引文网络分类和视觉对象识别,与图卷积网络和其他最先进的方法进行比较。
Cora 和 Pubmed两个数据集:
参数设置:两层 HGNN
结果讨论:Core和Pumbed上100次运行的平均分类精度
与最先进的方法相比,HGNN模型可以达到最佳或相当的性能
——与 GCN 相比,HGNN 方法在 Cora 数据集上略有改进,在 Pubmed 数据集上提高了 1.1%
HGNN 获得的增益并不是很显著——因为构建的超图和传统图差不多
数据集:
超图构建:
特征使用多视图卷积神经网络 (MVCNN) 和组视图卷积神经网络 (GVCNN)提取
根据节点的距离构造一个概率图,生成亲和矩阵A来表示不同顶点之间的关系
A i j = exp ( − 2 D i j 2 Δ ) A_{ij}=\exp(-\frac{2D_{ij}^2}{\Delta}) Aij=exp(−Δ2Dij2)
其中Dij表示节点i和节点j之间的欧氏距离。Δ 是节点之间的平均成对距离
两种超图构建方法:
结果讨论:
超图神经网络 (HGNN) 的框架
——HGNN能够将复杂的数据相关性纳入表示学习,从而在视觉识别、检索和数据分类等许多任务中带来潜在的广泛应用。