HeterGCL-Graph Contrastive Learning Framework on Heterophilic Graph
推荐指数: #paper/⭐⭐
发表于:IJCAI24
类型:个人觉得算是图结构学习,部分思想不错
问题背景:
传统的随机增强不适合异配图。随机增强主要保留的是同配信息。这就导致在异配图用随机增强会抑制高频信息,直接使用时不合理的(这个观点引用的是arixv22的文章[2204.04874] Augmentation-Free Graph Contrastive Learning with Performance Guarantee (arxiv.org),是否真的如他所述有待商榷)
贡献
- 我们揭示了传统GCL应用到异配图上的限制
-
- 为了去实现异配图上的自监督学习,我们提出了使用增强-编码-对比的模式去整合结构和语义信息
-
模型架构
-
ANA结构增强
- 思路:首先,我们定义了ANA结构增强
- M ( l ) = s g n [ A ^ ( l ) ] − s g n [ A ^ ( l − 1 ) ] , M ~ ( l ) = M ( l ) + I , l = 1 , 2 , … , K . \mathbf{M}^{(l)}=\mathrm{sgn}\left[\widehat{\mathbf{A}}^{(l)}\right]-\mathrm{sgn}\left[\widehat{\mathbf{A}}^{(l-1)}\right],\\\widetilde{\mathbf{M}}^{(l)}=\mathbf{M}^{(l)}+\mathbf{I},l=1,2,\ldots,K. M(l)=sgn[A (l)]−sgn[A (l−1)],M (l)=M(l)+I,l=1,2,…,K.
- 其中, A ^ i i ( l ) > 0 \widehat{\mathrm{A}}_{ii}^{(l)}>0 A ii(l)>0 时,M=1。否则为0 。l=1, A ^ = I \hat{A}=I A^=I 。这样, { M ( 1 ) , . . . , M ( l ) } \{\mathbf{M}^{(1)},...,\mathbf{M}^{(l)}\} {M(1),...,M(l)} 保留了邻居节点1到l层的信息。
- 推论 假设 A ^ \hat{A} A^ 是正则化邻接矩阵的无向图, M l M^l Ml 记录了节点最短路径等于l的节点
- 如果我们直接用M去做掩码,那么,就会出现一个问题:
10.
如图,0和7之间只有一个边链接。而0和3之间有两个边连接。如果仅仅用如上M去考虑信息,就会损失掉部分有用信息。
因此,我们用如下去整合:
R ( l , L ) = ∑ i = l L A ^ ( i ) . \mathbf{R}^{(l,L)}=\sum_{i=l}^L\widehat{\mathbf{A}}^{(i)}. R(l,L)=i=l∑LA (i).
其中, A a n a ( l ) = M ~ ( l ) ⊙ R ( l , L ) , l = 1 , 2 , … , L . \mathbf{A}_{ana}^{(l)}=\widetilde{\mathbf{M}}^{(l)}\odot\mathbf{R}^{(l,L)},l=1,2,\ldots,L. Aana(l)=M (l)⊙R(l,L),l=1,2,…,L. ⊙ \odot ⊙ 是hadamard积。
结构学习通过自适应邻居对比
由于同配节点和异配节点在GCN中会有不同的表现,我们为了获取公平的特征,就用MLP进行编码
H 0 = M L P ( X ) . \mathbf{H}_0=\mathrm{MLP}(\mathbf{X}). H0=MLP(X).
提取出初步的特征后,我们通过重构的 邻接矩阵进行特征传递:
P ( l ) = γ l ( A a n a ( l ) H 0 ) \mathbf{P}^{(l)}=\gamma_l(\mathbf{A}_{ana}^{(l)}\mathbf{H}_0) P(l)=γl(Aana(l)H0)
最终,我们得到多阶视图: { P ( 1 ) , . . . , P ( l ) } . \{\mathbf{P}^{(1)},...,\mathbf{P}^{(l)}\}. {P(1),...,P(l)}.
我们引入了自适应邻居对比损失(ANCLoss)去评估本地到全局视图的互信息。
L a ( l ) = − 1 N ∑ i = 1 N log exp ( h i ⋅ p i ( l ) / τ ) ∑ v k ∈ V 1 [ k ≠ i ] exp ( h i ⋅ p k ( l ) / τ ) . \mathcal{L}_\mathbf{a}^{(l)}=-\frac1N\sum_{i=1}^N\log\frac{\exp\left(\boldsymbol{h}_i\cdot\boldsymbol{p}_i^{(l)}/\tau\right)}{\sum_{v_k\in\mathcal{V}}\boldsymbol{1}_{[k\neq i]}\exp\left(\boldsymbol{h}_i\cdot\boldsymbol{p}_k^{(l)}/\tau\right)}. La(l)=−N1i=1∑Nlog∑vk∈V1[k=i]exp(hi⋅pk(l)/τ)exp(hi⋅pi(l)/τ).
由于有k层,因此,最终的对比损失为:
L a = ∑ l = 1 K L a ( l ) . \mathcal{L}_\mathrm{a}=\sum_{l=1}^K\mathcal{L}_\mathrm{a}^{(l)}. La=l=1∑KLa(l).
原始图的语义信息
X 1 = FeatDrop ( X , p ) , H 1 = MLP ( X 1 ) . \begin{aligned}\mathbf{X}_1&=\text{FeatDrop}(\mathbf{X},p),\\\mathbf{H}_1&=\text{MLP}(\mathbf{X}_1).\end{aligned} X1H1=FeatDrop(X,p),=MLP(X1).
FeatDrop是feature drop操作.
L o = ∥ H 0 − H 1 ∥ F 2 ⏟ i n v a r i a n c e + λ ( ∥ H 0 ⊤ H 0 − I ∥ F 2 + ∥ H 1 ⊤ H 1 − I ∥ F 2 ) . ⏟ decorrelation \mathcal{L}_o=\underbrace{\left\|\mathrm{H}_0-\mathrm{H}_1\right\|_F^2}_{\mathrm{invariance}}+\underbrace{\lambda\left(\left\|\mathrm{H}_0^\top\mathrm{H}_0-\mathrm{I}\right\|_F^2+\left\|\mathrm{H}_1^\top\mathrm{H}_1-\mathrm{I}\right\|_F^2\right).}_{\text{decorrelation}} Lo=invariance ∥H0−H1∥F2+decorrelation λ( H0⊤H0−I F2+ H1⊤H1−I F2).
λ \lambda λ 是超参
语义特征图
我们引入GMM
p ( h i ∣ c j ) = 1 2 π σ 2 exp ( − ∥ h i − c j ∥ 2 2 σ 2 ) . p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_j\right)=\frac1{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{\left\|\boldsymbol{h}_i-\boldsymbol{c}_j\right\|_2}{2\sigma^2}\right). p(hi∣cj)=2πσ21exp(−2σ2∥hi−cj∥2).
c是聚类中心(center), σ 2 \sigma^2 σ2 是高斯分布的变量
节点特征h属于类c的概率如下计算
p ( c j ∣ h i ) = p ( c j ) p ( h i ∣ c j ) ∑ r = 1 k p ( c r ) p ( h i ∣ c r ) = exp ( − ( h i − c j ) 2 2 σ 2 ) ∑ r = 1 k exp ( − ( h i − c r ) 2 2 σ 2 ) p\left(\boldsymbol{c}_j\mid\boldsymbol{h}_i\right)=\frac{p\left(\boldsymbol{c}_j\right)p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_j\right)}{\sum_{r=1}^kp\left(\boldsymbol{c}_r\right)p\left(\boldsymbol{h}_i\mid\boldsymbol{c}_r\right)}=\frac{\exp\left(-\frac{\left(\boldsymbol{h}_i-\boldsymbol{c}_j\right)^2}{2\sigma^2}\right)}{\sum_{r=1}^k\exp\left(-\frac{\left(\boldsymbol{h}_i-\boldsymbol{c}_r\right)^2}{2\sigma^2}\right)} p(cj∣hi)=∑r=1kp(cr)p(hi∣cr)p(cj)p(hi∣cj)=∑r=1kexp(−2σ2(hi−cr)2)exp(−2σ2(hi−cj)2)
最终,我们可以得到类分配矩阵 R i j ∈ R N × k R_{ij}\in \mathbb{R}^{N \times k} Rij∈RN×k
我们构造其中潜在特征损失(LFLoss)
L l f = 1 k ∣ E ∣ ∑ r = 1 k ∑ ( v i , v j ) ∈ E M S E ( p ( c r ∣ h i ) , p ( c r ∣ h j ) ) . \mathcal{L}_{\mathrm{lf}}=\frac1{k|\mathcal{E}|}\sum_{r=1}^k\sum_{(v_i,v_j)\in\mathcal{E}}\mathrm{MSE}\left(p\left(\boldsymbol{c}_r\mid\boldsymbol{h}_i\right),p\left(\boldsymbol{c}_r\mid\boldsymbol{h}_j\right)\right). Llf=k∣E∣1r=1∑k(vi,vj)∈E∑MSE(p(cr∣hi),p(cr∣hj)).
整体损失
L = α L a + ( 1 − α ) ( L o + L l f ) . \mathcal{L}=\alpha\mathcal{L}_a+(1-\alpha)(\mathcal{L}_o+\mathcal{L}_\mathrm{lf}). L=αLa+(1−α)(Lo+Llf).
结果
个人收货
- ANA很有意思,可以包含一些有趣的信息
-
- 整体上来说,损失有三个:对比损失,特征重构损失,第三个损失没见过
-
- 整体结果并没有最优(并未对比一些最新的方法),以及,经典异配图chameleon和Squirrel被没有纳入对比范围内,因此,有待去重跑部分实验