原文:Multi-Class Imbalanced Graph Convolutional Network Learning. IJCAI 2020
Motivation
- 图数据的广泛运用,和图相关的例如GCN这些方法的有效性
- 真实的图数据集往往并不均衡,以Cora数据集为例,26.8%的论文为Neural Network领域,而仅有4.8%的论文为Reinforcement Learning领域。在这种情况下,现有的GCN方法倾向于在主要的类别中过拟合,从而导致少数类的embedding效果不理想
Task
输入
输入\(G = (V,E,X,L)\)。其中\(V\)是点集,可以分 为\(V_l\) 和 \(V_u\) 分别代表带标签的数据和没带标签的数据。$ L={L_k}_{k=1,...|L|}$ 表示把L分成\(|L|\)个类别,类别中元素个数递减,例如\(|L_1|\gg |L_2|\)。
输出
在d维语义空间\(\mathcal H^d\)中表示图\(\mathcal G\),从而用于进行半监督训练
Method
卷积层
首先是用两层卷积来得到Node Representation,结果用softmax对应到各个类别,计算交叉熵\(\mathcal L_{gcn}\)来作为损失函数进行训练
\[O = \tilde A \ Relu(\tilde A XW_0)\ W_1 \\ Z = softmax(O) = \frac{exp(O)}{\sum_i exp(O_i)} \\ \mathcal L_{gcn } = -\sum_{v_i \in V_l}\sum^d_{j=1}Y_{il} \ln Z_{ij} \]类条件对抗正则化层(Class-Conditioned Adversarial Regularization)
利用GAN的特性来加强不同类别之间的区别,从而避免占多数的类别影响到少数类别。主要思想是当鉴别器学会正确分类不同类别的训练样本时,反过来会帮助卷积层学习不同类别节点的区分表示。
对抗训练的目标为:
\[\min_{G,\mathcal L} \max_D \mathcal L(D,G) = \mathbb E_{x\sim p_{data}(x)}\log D(x|y)+\mathbb E_{z\sim p_z(z)}[\log(1-D(G(z|y)))+\mathcal L_{reg}] \]潜在分布对齐正则化层(Latent Distribution Alignment Regularization)
这个正则化层的主要目的是让没有标记的数据中不平衡的类别进行训练,从而匹配已经训练过的节点。GAN网络主要应用于被标记的数据,因此虽然促进了这些节点的区别结果,但是对于没标记的数据训练不足,所以需要这一层来进一步训练没标记的数据
主要假设是被标记的数据和没标记的数据都满足d维高斯分布,同时各个类之间两两独立。
\[p(x_l;\mu_l,\Sigma_l) = \prod^d_{k=1}\frac{1}{\sqrt{2\pi }\sigma_{l,k}}\exp\left(-\frac{(x_{l,k}-\mu_{l,k})^2}{2\sigma^2_{l,k}}\right) \\ p(x_u;\mu_u,\Sigma_u) = \prod^d_{k=1}\frac{1}{\sqrt{2\pi }\sigma_{u,k}}\exp\left(-\frac{(x_{u,k}-\mu_{u,k})^2}{2\sigma^2_{u,k}}\right) \]用KL散度作为损失函数
\[\mathcal L_{dist} = \frac{1}{2}\left( \log\frac{|\Sigma_u|}{|\Sigma_l|}-d+tr(\Sigma_u^{-1}\Sigma_l)+(\mu_u-\mu_l)^T\Sigma_u^{-1}(\mu_u - \mu_l) \right) \]总体算法与训练目标
把两个损失函数按一定系数合起来即可
\[\mathcal L = (1-\alpha)\mathcal L_{gcn} + \alpha \mathcal L_{dist} \]Contribution
- 提出DR-GCN方法用于解决图数据不均衡引发的问题,在图神经网络的基础上,加入了条件对抗正则化层和潜在分布对齐正则化层用于处理不均衡的数据。
- 通过实验证明了其相对于之前的DeepWalk、GCN和GAT等方法在不均衡数据集上的优势。