💟 Welcome to JhuoW’s Notebook 🌻

Hey, this is JhuoW. I use this blog to write notes about machine learning and AI conference papers.

  • News:
  • [2024-03] I am on job market now! I’m open for research positions in both academy and industry!
  • [2024-01] One paper accepted by ICLR 2024.
  • [2023-05] One paper accepted by IEEE TNNLS.
  • [2022-09] One paper accepted by NeurIPS 2022.
  • [2022-04] One paper accepted by IJCAI 2022.

LLMs and Graphs

1. Harnessing Explanations: LLM-to-LM Interpreter for Enhanced Text-Attributed Graph Representation Learning (TAPE) Shallow model: Encoding the textual attributes using shallow or hand-crafted features such as skip-gram or bag-of-words (BoW) which used in PgG and DGL are limited in the complexity of the semantic features they can capture. LM: 指相对较小并且可以被fine-tune的模型。GIANT fine-tune an LM using neighborhood prediction task (在neighborhood prediction task上来微调LM模型). GLEM fine-tune an LM to predict the label distribution from GNN’s output (GLEM 用GNN预测的伪标签作为监督信号,让LM来fine tune 节点的文本表示)。这些工作需要大量的计算资源,并且由于要微调模型的参数,所以选取的LM相对较小,比如BERT和DeBERTa,因此缺乏LLM的推理能力。...

May 25, 2024 · 4 min · JhuoW

ICLR2023《Ordered GNN:Ordering Message Passing to Deal with Heterophily and Over-smoothing》 Reading Nodes

paper Introduction 多层message passing后,GNN会导致Over-smoothing使得节点表示趋同。另一方面,标签不同的相邻节点特征会混合,导致不同标签节点边的难以区分,即Heterophily问题。在本文中,提出对传递到节点的message进行排序,即表示向量的特定neuron块编码特定hop的消息。通过将节点rooted computation tree的层次和表示向量neuron 块对齐。如下图所示,3层GNN对节点$v$的输出$h_v^{(3)}$的前$P_v^{(0)}$个neurons 编码1 hop邻居信息,$[P_v^{(0)}, P_v^{(1)}]$编码了第1层另据的信息。通过以确定的顺序编码邻居信息,来避免hops的特征融合,即一个节点的embedding的神经元要和计算书的层次对齐,不同层分配不同的neuron。也就是按照顺序将不同层的邻居信息编码到最终表示$h_v^{(k)}$的不同维度区间中。 Approach Aligning Rooted-Tree with Node Embedding 对于一个节点$v$,显然它的第$k-1$层rooted-tree $\mathcal{T}^{(k-1)}_v$是$k$层rooted-tree $\mathcal{T}^{(k)}_v$的子树: $$ \mathcal{T}_v^{(0)} \subseteq \mathcal{T}_v^{(1)} \subseteq \cdots \subseteq \mathcal{T}_v^{(k)} \subseteq \cdots \subseteq \mathcal{T}_v^{(K)} $$ 随着$k$的增加,$\mathcal{T}_v^{(K)}$会变得越来越大且复杂,且包含之前层的所有信息。所以$\mathcal{T}_v^{(K)}$需要更多neuron (最终表示向量$h_v^{(k)}$中的维度) 来编码信息。由于$\mathcal{T}_v^{(k-1)}$是$\mathcal{T}_v^{(k)}$的子树,所以在表示向量$h_v^{(k)}$中,编码tree $\mathcal{T}_v^{(k)}$信息的neurons要包含编码 tree$\mathcal{T}_v^{(k-1)}$信息的neurons。具体来说,关于节点$v$的$k-1$层rooted-tree $\mathcal{T}_v^{(k-1)}$,它的信息会被编码到$h_v^{(K)}$的前$P_v^{(k-1)}$个neuron中(维度),对于下一个层次的rooted-tree $\mathcal{T}_v^{(k)}$,它会被编码到$h_v^{(K)}$的前$P_v^{(k)}$个neuron(维度)中。因为$\mathcal{T}_v^{(k-1)}$是$\mathcal{T}_v^{(k)}$的子树,所以$P_v^{(k-1)} \leq P_v^{(k)}$。 $v$的$K$层最终表示$h_v^{(K)}$,它的每个维度是一个neuron,前$P_v^{(k-1)}$个neurons编码了前$k-1$ hop邻居的信息,前$P_v^{(k)}$个neurons编码了前$k$ hop邻居的信息, 在两个分割点$P_v^{(k-1)}$和$P_v^{(k)}$之间的neurons要编码的是第$k$ hop邻居的信息。所以节点$v$在$K$层GNN下的最终embedding$h_v^{(K)} \in \mathbb{R}^D$ 会被$K+1$个分割点分成$K+1$块,其中前$P_v^{(0)}$个neurons编码的是节点$v$的自身信息,$P_v^{(k)}$为$h_v^{(K)}$的split point,且: $$ P_v^{(0)} \leq P_v^{(1)} \leq \cdots \leq P_v^{(k)} \leq \cdots \leq P_v^{(K)} = D $$ The Split Point 分割点$P_v^{(k)}$是一个index,会将$D$维node embedding 分为2块,$[0, P_v^{(k)}-1]$的neurons编码了前$k$层邻居的信息。 定义一个$D$维gating向量$g^{(k)}_v = [1,1,1,1,1,1,0,0,0,0,0]$其中前$P_v^{(k)}$个entries是1, 后面为0,即筛选出前$k$层要编码进的neurons: $$ h_v^{(k)}=g_v^{(k)} \circ h_v^{(k-1)}+\left(1-g_v^{(k)}\right) \circ m_v^{(k)} $$ 其中第$k$层的信息$h_v^{(k-1)}$保留在第$k+1$层embedding $h_v^{(k)}$的前$P_v^{(k)}$个neuron中,而$h_v^{(k)}$的后面部分neuron编码新聚合的邻居信息,通过这种方式,将每一个hop的信息分开。 再下一层时, $h_v^{(k)}$的信息就会被编码到$D$个neurons中的前$P_v^{(k+1)}$个neuron中,那么其实$P_v^{(k)}$到$P_v^{(k+1)}$之间的neuron实际上只包含了$m_v^{(k)}$的信息,即第$k$个hop的信息。以这种方式将每一个hop的邻居信息按顺序编码到最终表示向量$h_v^{(K)}$中。...

July 16, 2023 · 1 min · JhuoW

ICLR2023《MLPInit:Embarrassingly Simple GNN Training Acceleration with MLP Initialization》 Reading Nodes

paper GNN中的层次叠加需要稀疏矩阵乘法计算带来较大的计算开销,而MLP仅使用node feature可以避免此问题。本文发现大多数message-passing通过将训练参数设置为相同shape,可以推导出等效的MLP(PeerMLP),而使用PeerMLP来作为GNN的初始化参数可以相较于仅使用PeerMLP,效果提升极大。 从上图的蓝线可以看出,GNN通常需要更多的训练迭代次数才可以达到收敛,因为其中涉及复杂的稀疏矩阵乘法计算。而MLP不使用结构信息,训练速度更快,因此本文发现MLP和GNN可以有相同的训练权重空间,因此 Can we train GNNs more efficiently by leveraging the weights ofconverged MLPs? 本文进一步发现,对于一个GNN和它对应的PeerMLP (相同的weight),在PeerMLP上训练的权重可以优化GNN。基于该发现,图上训练好的PeerMLP作为GNN的权重矩阵$W$, 然后再考虑结构信息,可以发现GNN的效果相较于PeerMLP有很大的提升。 如表2所示,其中PeerMLP和GNN有相同的权重空间,首先在图上训练PeerMLP,得到收敛时的最有参数$w^\star_{mlp}$,PeerMLP的预测结果为$f_{m l p}\left(\mathbf{X} ; w_{m l p}^\star\right)$, 然后直接使用不训练而直接使用$w_{m l p}^\star$作为GNN的参数,即$f_{g n n}\left(\mathbf{X}, \mathbf{A} ; w_{m l p}^\star\right)$,可以看出,在考虑图结构后,GNN即使不训练,直接使用PeerMLP的权重矩阵,效果也有巨大提升。 受此启发,本文提出了用收敛的PeerMLP最优权重矩阵,作为GNN的初始化权重。从图1的红线可以看出,相较于随机初始化的GNN,MLPInit初始化的GNN在更少的epoch到达收敛 并且可以达到和相似的准确率。 从上表可以看出GNN的Propagation操作$AZ$的前向计算和反向梯度传播的耗时都远远超过Feature Transformation操作$WX$。Feature Tran的操作相对与Propagation,计算成本几乎可以忽略不计,所以如果预训练操作得到的$W$可以使得训练GNN时的epoch大幅下降,可以使模型更加高效。如下表所示,训练PeerMLP的时间再加上的权重迁移到GNN后的fine-tuning时间, 远少于在GNN上直接训练随机初始化参数的时间。 从下图同样可以看出PeerMLP的参数$w_{mlp}$的训练趋势,PeerMLP训练过程中每个epoch的$w_{mlp}$直接迁移到GNN上计算CE损失,可以发现使得MLP 的CE Loss下降的$w_{mlp}$同样可以使得GNN以同样的趋势下降。

July 15, 2023 · 1 min · JhuoW

Fraud Detection based on Graph Neural Networks

1. Label Information Enhanced Fraud Detection against Low Homophily in Graphs (WWW ‘23) Introduction GNN4FD存在问题: 大多数基于GNN的欺诈检测器难以泛化到low homophily网络中,除此之外,如何充分利用label信息也是Fraud detection的重要因素。即如果一个Fraud node的邻居都是benign nodes,那么这样的图就是heterophily or low homophily graph,由于GNN的neighborhood aggregation机制,target node的表示会和它的邻居相似,无论他们的label是否不同,这样会使得GNN难以区分位于异质邻域内的Fraud nodes。另外, 现有的GNN4FD方法利用label信息的能力有限,这些方法仅在训练阶段使用label信息作为监督信号,但是在设计message passing 机制的过程中并没有使用label信息。 为了解决上述2个挑战,本文提出GAGA: 基于分组聚合的Transformer。 GAGA首先提出了一种预处理策略Group Aggregation (GA, 分组聚合),然后每个节点的原始邻居特特征被分组为序列数据。 然后提出一种科学系的编码方式来编码structural,relational 和label信息 (全局),即整个图的relational encoding,group encoding 和 hop encoding (图中又几个relation就有几个relational embedding,取几个hop就又几个hop embedding..)。 最后用多头attention为每个节点聚合embedding sequence. Preliminaries Multi-relational fraud graph construction Multi-relational fraud graph $\mathcal{G}(\mathcal{V}, \mathcal{E}, \mathcal{X}, \mathcal{Y})$, 其中节点集$\mathcal{V}=\left\{v_1, v_2, \ldots, v_N\right\}(N=|\mathcal{V}|)$,$R$ 个邻接矩阵$\mathcal{E}=\left\{\mathbf{A}_1, \mathbf{A}_2, \ldots, \mathbf{A}_R\right\}(R=|\mathcal{E}|)$的多关系图 ($R$个关系)。节点feature vectors $X=\left\{\mathbf{x}_1, \mathrm{x}_2, \ldots, \mathrm{x}_N\right\}$以及节点的label集合$\mathcal{Y}$。 对于一个relation的邻接矩阵$\mathbf{A}_r$,如果$\mathbf{A}_1[u,v]=1$,那么在关系$r$下节点$u$和$v$被连接。每个节点$v \in \mathcal{V}$ 有一个$d$维feature vector $\mathbf{x}_v \in \mathbb{R}^d$。 在基于Graph的fraud detection中,我们考虑半监督场景,其中一小部分节点 $\hat{\mathcal{V}} \supset \mathcal{V}$是有label的 ($y=1$表示该节点为fraud node,$y=0$表示该节点为benign node)所以对于fraud graph,节点class数为2。...

May 13, 2023 · 6 min · JhuoW

ICML2022 《Local Augmentation for Graph Neural Networks》 Reading Notes

paper Introduction 在GNN的neighborhood aggregation中,对于拥有很少邻居的节点,在聚合过程中是否充分从邻居中获得了信息是一个问题。为解决该问题, 本文提出为每个节点做局部增强,即以中心节点为条件,学习邻居节点表示的分布。为了在局部邻域中生成一些样本来提升中心节点的neighborhood aggregation,本文提出一种数据增强框架:LA-GNNs, 以局部结构和中心节点特征为条件,生成neighborhood features。具体来说,在pre-training 阶段,通过一个生成模型,以中心节点的特征为条件来学习邻居特征的条件概率分布。然后利用这个邻居特征分布来生成中心节点的增强邻居特征。另外,通过pre-training来学习邻居增强特征生成器的过程是与下游任务无关的,所以该生成器生成的增强特征可以应用于其他GNN模型。 Local Augmentation for Graph Neural Networks (LAGNN) Motivation GNN在message passing的过程利用局部信息聚合来得到node representations。 但是对于邻居数量较少的节点,从邻居中得到的信息可能会不足。为了为节点$v$的邻域中$\mathcal{N}_v$生成更多样本,就需要知道邻居表示的分布。 由于一个节点邻居分布是与中心节点相关,所以我们要以中心节点$v$的representation为条件,学习它的邻居表示分布。 Approach 本文利用Conditional Variational Auto-Encoder (CVAE) 来学习给定中心节点$v$,邻居$u \in \mathcal{N}_v$的节点特征的条件分布。给定中心节点特征$\boldsymbol{X}_v$,关于中心节点的邻居分布为$p_\theta(\boldsymbol{X}_u | \boldsymbol{X}_v)$。定义隐变量$\mathbf{z}$,则先验可以定义为$p_\theta(\mathbf{z}|\boldsymbol{X}_v)$。结合隐变量$\mathbf{z}$,邻居特征$\boldsymbol{X}_u$的分布可以改写为如下形式: $$ \begin{aligned} \log p_\theta(\boldsymbol{X}_u | \boldsymbol{X}_v) &= \log \frac{p_\theta(\boldsymbol{X}_u , \boldsymbol{X}_v)}{p_\theta( \boldsymbol{X}_v)}= \frac{p_\theta(\boldsymbol{X}_u , \boldsymbol{X}_v)p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)}{p_\theta( \boldsymbol{X}_v)p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)} \\ &=\log \frac{p_\theta(\boldsymbol{X}_u , \boldsymbol{X}_v, \mathbf{z})}{p_\theta( \boldsymbol{X}_v)p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)} \\ &= \log \frac{p_\theta(\boldsymbol{X}_u , \mathbf{z}| \boldsymbol{X}_v)}{p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)}\\ \end{aligned} $$ 假设隐变量$\mathbf{z}$的分布为$q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)$, 左右两边对分布$q_\phi$计算期望,左边: $$ \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log p_\theta(\boldsymbol{X}_u | \boldsymbol{X}_v) dz = \log p_\theta(\boldsymbol{X}_u | \boldsymbol{X}_v) $$ 右边: $$ \begin{aligned} &\int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta(\boldsymbol{X}_u , \mathbf{z}| \boldsymbol{X}_v)}{p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)} dz \\ =& \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \left(\frac{p_\theta(\boldsymbol{X}_u , \mathbf{z}| \boldsymbol{X}_v)}{ q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} \cdot \frac{ q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)}{p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)}\right) dz \\ =& \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta(\boldsymbol{X}_u , \mathbf{z}| \boldsymbol{X}_v)}{ q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} dz + \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \frac{ q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)}{p_\theta(\mathbf{z}|\boldsymbol{X}_u , \boldsymbol{X}_v)}dz \\ =& \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta(\boldsymbol{X}_u , \mathbf{z}| \boldsymbol{X}_v)}{ q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} dz + K L\left(q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) || p_\theta\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)\right) \\ \geq& \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta\left(\boldsymbol{X}_u, \mathbf{z} \mid \boldsymbol{X}_v\right)}{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} \mathrm{d} \mathbf{z} = ELBO \end{aligned} $$ Evidence Lower Bound (ELBO) 可以写为 $$ \begin{aligned} L_{ELBO} &= \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta\left(\boldsymbol{X}_u, \mathbf{z} \mid \boldsymbol{X}_v\right)}{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} \mathrm{d} \mathbf{z} \\ &= \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta\left(\boldsymbol{X}_u, \boldsymbol{X}_v, \mathbf{z}\right)}{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) p_\theta\left(\boldsymbol{X}_v\right)} \mathrm{d} \mathbf{z} \\ &= \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta\left(\boldsymbol{X}_u \mid \boldsymbol{X}_v, \mathbf{z}\right) p_\theta\left(\boldsymbol{X}_v, \mathbf{z}\right)}{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) p_\theta\left(\boldsymbol{X}_v\right)} \mathrm{d} \mathbf{z} \\ &= \int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log \frac{p_\theta\left(\boldsymbol{X}_u \mid \boldsymbol{X}_v, \mathbf{z}\right) p_\theta\left(\mathbf{z} \mid \boldsymbol{X}_v\right)}{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)} \mathrm{d} \mathbf{z} \\ &= -K L\left(q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) || p_\theta\left(\mathbf{z} \mid \boldsymbol{X}_v\right)\right)+\int_z q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) \log p_\theta\left(\boldsymbol{X}_u \mid \boldsymbol{X}_v, \mathbf{z}\right) \mathrm{d} \mathbf{z} \\ &= -K L\left(\underbrace{q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right)}_{Encoder} || \underbrace{ p_\theta\left(\mathbf{z} \mid \boldsymbol{X}_v\right)}_{\text{Normal Distribution}}\right) + \mathbb{E}_{\mathbf{z} \sim q_\phi\left(\mathbf{z} \mid \boldsymbol{X}_u, \boldsymbol{X}_v\right) }\log p_\theta\left(\boldsymbol{X}_u \mid \boldsymbol{X}_v, \mathbf{z}\right) \end{aligned} $$ 在CVAE pre-training的过程中,第一项KL中CVAE Encoder 的一对邻接节点对,对于该节点对,输出一组分布参数均值$\mu$和方差$\sigma$,作为隐变量$z$的分布参数,第一项的优化目标使得编码器输出的分布接近Normal Distribution。然后利用reparameterization trick可微的从生成的$\mathbf{z}$分布中采样一个encoding:...

January 25, 2023 · 2 min · JhuoW

ICML2022 《ProGCL:Rethinking Hard Negative Mining in Graph Contrastive Learning》 Reading Note

paper Introduction Contrastive Learning 受益于区分hard negatives (最相似的negative pairs), 但是其他领域的hard negative mining方法不适用于graph。 对于GCL来说大量embedding之后的hard negatives实际上是false negatives。如左图所示,对于CV上的SimCLR,它所学到的高相似度的negatives中,True negatives 和False negatives数量相当,那么从高相似度的negatives中采样到true negatives的概率更大。然而对于GCL方法GCA来说,是每个anchor节点将其他所有(inter/intra)节点作为negatives,使得在训练过程中与它同类的节点也变成anchor的negatives,这些negatives是false negatives。对于GCA,高相似度的negatives中false negatives的数量远多于true negatives,所以直接采样高相似度的negatives作为hard negatives来针对性的判别他们,会导致同类节点的embedding相互远离。这是传统的hard negatives mining方法在graph domain失效的原因。 为了解决这个问题, 本文提出利用Beta mixture model来估计对于一个anchor node,它的一个negatve是true negative的概率,结合相似度,来衡量该negative的hardness。即与anchor node相似度越高,且它是true negative的概率越大,那么该节点的hardness越高。 Methodology GCL 如上图所示,InfoNCE将跨图same node视为positives,其他节点对视为negatives,GCL的目标函数如下: $$ \begin{aligned} \ell\left(\boldsymbol{u}_{i},\boldsymbol{v}_{i}\right)= \log \frac{e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right) / \tau}}{\underbrace{e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{i}\right) / \tau}}_{\text{positive pair }}+\underbrace{\sum_{k\neq i}e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{v}_{k}\right) / \tau}}_{\text{inter-view negative pairs}}+\underbrace{\sum_{k\neq i}e^{\theta\left(\boldsymbol{u}_{i}, \boldsymbol{u}_{k}\right) / \tau}}_{\text{intra-view negative pairs}}}, \end{aligned} $$ Overall objective定义在所有跨图same node pairs上: $$ \mathcal{J}=-\frac{1}{2 N} \sum_{i=1}^N\left[\ell\left(\boldsymbol{u}_{\boldsymbol{i}}, \boldsymbol{v}_{\boldsymbol{i}}\right)+\ell\left(\boldsymbol{v}_{\boldsymbol{i}}, \boldsymbol{u}_{\boldsymbol{i}}\right)\right] $$ 如果将GCA中的2层shared GNN替换为MLP,那么contrastive learning将不存在Message Passing,这样得到的true/false negative分布如(b)所示,可以看出Message Passing是GCL和CL之间产生区别关键因素。直观上,MP将anchor与相邻的negatives拉近,而相邻的negatives大多为False negatives(Homophily),所以GCL得到的高相似度negatives中false negatives要远多于True negatives。...

January 8, 2023 · 2 min · JhuoW

WWW2022 《ClusterSCL:Cluster-Aware Supervised Contrastive Learning on Graphs》 Reading Notes

paper Introduction 对于监督对比学习(Supervised Contrastive Learning, SupCon), SupCon loss旨在表示空间中拉近属于同一个class的数据点,分离不同类的数据点。 但是SupCon难以处理高类内方差,类间相似度较大的数据集。为了解决该问题,本文提出了Cluster-aware supervised contrastive learning loss (ClusterSCL)。什么是高类内方差,高跨类相似度问题?如图1(a)所示,节点$u_1$和$u_3$ 是同类节点,$u_2$和$u_4$是同类节点。他们是同类节点但在不同的社区中,所以类内方差较大,即同一个类内的节点跨越了多个community。 另外$u_1$和$u_2$, $u_3$和$u_4$,是不同类的节点对, 但他们处在同一个社区中,导致在MPNN过程中,这些处在同一个community中的不同类节点被拉近,导致跨类相似度较高的问题。 如果对节点$u_2$计算SupCon时,如图1(b)所示,SupCon会使得同类节点被拉近,如$u_2$和$u_4$会被拉近。但是$u_3$和$u_4$处在同一个社区中(structurally similar)那么MPNN会使得$u_3$和$u_4$被拉近,所以SupCon在拉近$u_2$和$u_4$的同时,会间接拉近不同类节点$u_2$和$u_3$。同时,对于构成negative pairs的不同类节点,例如$u_1$和$u_2$,SupCon会推远$u_1$和$u_2$,但是$u_1$和$u_5$ structurally similar, 因此会推远$u_1$和$u_2$会间接导致$u_2$和$u_5$这两个同类节点被推远。因此对于一个cluster内节点不同类,且不同cluster中存在同类节点的情况,会导致复杂的决策边界,即在拉近同类但不同社区的节点时,也会间接拉近不同类不同社区的节点。在推远不同类同社区的节点时,也可能间接推远同类同社区的节点。 为了解决上述问题,最直接的方法是对于每个cluster,如图1(a)的Community 1,不考虑其他cluster,只对当前cluster内节点做SupCon。但是这么做忽略了跨cluster的同类节点交互,如$u_1$和$u_3$,$u_2$和$u_4$,这些跨cluster的positive pairs可能包含有益的信息。为了解决这个问题,本文提出cluster-aware data augmentation (CDA) 聚类感知的数据增强,来为每个节点生成augmented positives and negatives,如图1(b)中ClusterSCL所示。对于每个节点$u$,为它生成positive 和negative samples, 生成的samples 位于或接近$u$所在的cluster。Recall SupCon存在的问题: SupCon会使得$u_2$和$u_4$被拉的太近,从而间接导致$u_2$和$u_3$被拉近,所以对于high intra-class variances,要求不同cluster的同类节点如$u_2$和$u_4$不要被拉太近; SupCon会使得$u_1$和$u_2$被推远,从而间接导致$u_2$和$u_5$被推远,所以对于high inter-class similarity,要求同一个cluster内的不同类节点如$u_1$和$u_2$不要被拉的太远。 Method Two stage training with Supervised Contrastive Loss SupCon encourages samples of the same class to have similar representations, while pushes apart samples of different classes in the embedding space....

November 17, 2022 · 4 min · JhuoW