《Rethinking Independent Cross-Entropy Loss For Graph-Structured Data》论文解读

论文传送门:click here

code:Joint-Cluster(github)

论文动机

本文是来自2024ICML的论文。

对于节点的表示与预测,会存在如下问题:

  • 由独立条件分布 $P(y_i|z_i)$ 和 $CE(y_i, P(y_i|z_i))$ 所导致的:
    • 过拟合
    • 容易受到adversarial attacks的影响
  • 基于独立同分布的假设:$P(y_1,\cdots,y_n|z_1,\cdots,z_n)=\prod P(y_i|z_i)$
    • 这种通过独立同分布的假设从而直接分解 $P$,导致未能全面解释固有的节点相关性。

本文的解决方式就是将图分成不同的集团,根据自身emb和聚类后某一集团整体的emb来进行联合概率密度的计算。最终的模型有显著泛化能力的提升,为被攻击节点生成更稳健的分类,正确率更高。

可以理解为本文提出的是一种损失函数形势,或者说计算方法。


方法论

联合分布的建模与优化函数

想要计算完全的联合分布的话,我们的目标其实就是求解 $p(y_1,\ldots,y_L\mid z_1,\ldots,z_L;\tilde{\theta})$,维度为 $\mathbb R^{c^L}$,这显然是难以计算的,所以我们将其向下转变为:图由若干独立集组成,即 $\{\mathcal C_1, \dots,\mathcal C_M\}$,,那么我们的联合分布便可以由若干独立集的分布相乘得到:
$$
p\left(y_1,\ldots,y_L:\mid z_1,\ldots,z_L;\theta\right)=\prod_{m=1}^Mp\left(\{y_i\mid v_i\in\mathcal C_m\}\mid\{z_i\mid v_i\in\mathcal C_m\} ;\theta\right)
$$
这种集群上的 i.i.d 假设在一定程度上降低了计算复杂度,但节点子集的联合建模仍然不切实际,并且不适合用于推断测试节点的类

针对这个问题,采用每一集团的特征 $\bar y_m, \bar z_m$ 来代替集团信息,联合分布也就变换为:
$$
p (y_i,\bar y_m\mid z_i,\bar z_m,;\theta),
$$
所以我们优化的实际内容是这样的:

损失函数

关于cluster的分割,这里采用的是 METIS 图聚类算法。

子团的信息:采用平均池化 $\bar z_m = 1/L_m\sum_{i=1}^{L_m}z_i, \ \bar y_m = 1/L_m\sum_{i=1}^{L_m}y_i$,因此“真实的”联合分布概率定义为 $y_i\bar y_m$,而模型训练是通过将当前节点的emb与cluster的emb拼接后经过图分类器得到的。
$$
\mathcal L_{JC}=-\sum_{i=1}^L{(y_i\bar y_m^{\top})\cdot\log g_{\phi}\left(\text{con}\left(z_i,\bar z_m\right)\right)+(\bar y_my_i^{\top})\cdot\log g_{\phi}\left(\text{con}\left(\bar z_m,z_i\right)\right)}
$$
为了对称联合分布建模,在上述方程的第二项,将节点和集群嵌入的位置进行交换。

从联合分布到边缘分布

$$
\begin{aligned}
p(y_i |z_i;\theta)&=\int_{\mathbb R^d}\sum_{k=1}^c p(y_i,\bar y_m=k\mid z_i,\bar z,;\theta)q(\bar z)d \bar z \\
&=\sum_{k=1}^c p(y_i,\bar y_m=k\mid z_i,\bar z_m,;\theta)
\end{aligned}
$$

等号能过去的原因是子团之间是独立的。

也就是说给定了联合分布 $ p(y_i,\bar y_m\mid z_i,\bar z_m,;\theta) \leftrightarrow y_i\bar y_m^\top$,对其进行逐行求和便是 $y_i$ 类别的边缘分布。

值得注意的是,在模型的推断过程中,训练中cluster的emb的被利用的。这个操作和batch norm中的run_mean、run_var是一致的。

整体流程


实验设置与结果

除去正文中展示的实验,其在附录中还存在实验结果。此处只展示部分正文中的实验。

小规模图数据集

类别均衡:

类别不均衡:

异质图:

大规模图数据

对抗攻击

泛化性更好

他的训练与测试集的误差gap更小。


思考与想法

  • 本文实际上是吧原本的一维分类交叉熵变为二维的交叉熵。

  • 这里的cluster是训练前直接根据图结构生成的,那么每一个cluster内部label是否一致?或者说这个cluster对节点预测是否有作用(是否是对的)

  • 将图分为若干子团的方法是可以借鉴的

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
Runtime Display
  • Copyrights © 2023-2024 Lucas
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信