Graph Contrastive Learningwith Reinforcement Augmentation
IJCAI24
推荐指数: #paper/⭐⭐⭐
领域:图增强+强化学习
胡言乱语:
出自清华团队的研究人员撰写的这篇论文中提到:该研究旨在通过强化学习方法生成更具区分性的增强视图。但存在一些值得注意的问题:其实质是对现有图增强技术进行了外包装处理(因此可能并未获得oral或者spotlight的关注),个人认为提升效果可能较为有限。但这一探索方向具有一定的研究价值
个人觉得可以继续做的方向:
-
大规模复杂网络+基于强化学习的自适应视图增强技术. 实际上, 理论上应当根据每个样本子图的具体特征动态生成相应的增强视图表征(由于大规模复杂网络中各子领域间的多样性, 理论上适用的不同领域间对应的增强方法也存在差异). 因此, 在大规模复杂网络上实现对各个子图表征分配其相对应的最佳增强技术方案
-
融合一篇侧重理论探讨的文章–《Perfect Alignment May be Poisonous to Graph Contrastive Learning》会更好. 这篇文章深入研究了哪些类型的图像增强与其变形后的结果之间的关系. 我个人认为, 那篇文章提出的方法能够根据实际需求动态生成相应的增强图像
然而,在单独考虑1或2时可能会有所不足(实际上我对neurips上一篇具有理论深度的文章非常感兴趣,但由于没有会员资格,无法在线阅读.如果有人能帮我下载这篇论文的话,感激不尽)
问题背景
1.什么样的视图是好视图?
- 如何通过增强视图的变化来提高GCL模型的性能?我们主张理想型的增强视图表现应具备渐进式进化特性,并模仿人类逐步学习的认知模式,在能够学会的知识体系中构建理想型的增强视图是关键。
2.保存更好的原始图图结构信息
在特定的图结构中进行边沿或节点删除操作会破坏原有的图结构信息。现有的通用对比学习框架通常采用无需额外增强措施的方法(如通过引入编码器扰动)来解决这一问题。值得注意的是,在这种情况下评估系统的鲁棒性指标(如扰乱率)仍然存在一定的挑战性。那么是否存在一种能够有效保留原始图基本拓扑特征的同时不影响编码器性能的方法?
解决方法:
10.1. 我们提出一种动态调节GDA参数的方法, 以适应学习高质量的视图。
通过引入加权边用于构建新视图, 我们无需删除节点或边即可保留属性。
### 但是, 面临的主要挑战是:
现有基于图的强化学习难以适用于GDA模型。
但在基于图环境的有效激活函数设计方面仍然存在疑问。
贡献:
-
我们构建了GRA框架,并将其视为GCL中的一种新类型GDA(基于强化学习的方法)。该框架遵循马尔科夫决策过程的原则,并继承了原始图结构的信息。
-
我们开发了一个具体实施方式作为GRA框架的应用来实现增强效果。
整体框架
冻结GDA参数的GCL框架

从下图可以看出, 其主要思路是通过学习一个增强后的视图A作为对比学习的基础. 在本研究中, 本方法的视图增强部分便以此为参考, 对图像处理技术进行了深入探讨.
我们的GRA框架

GRA 框架
对比学习损失的最小化以及积累回报函数的最大化问题可被表述为以下优化模型:\min_{\boldsymbol{\phi},\boldsymbol{\varphi}}\mathcal{L}_{\mathbf{NCE}}(g_{\boldsymbol{\varphi}}(f_{\boldsymbol{\phi}}(f_{\boldsymbol{\phi}}(\mathcal{G}_{i})),\:g_{\boldsymbol{\varphi}}(f_{\boldsymbol{\phi}}(A_{\tilde{\boldsymbol{\omega}}_{i}^{*}}(\mathcal{G}_{i})))));其中目标是最小化生成器网络的判别器对双输入特征向量之间的对比损失值,并通过选择使得累积回报函数最大的参数来实现这一目标:\tilde{\boldsymbol{\omega}}_{i}^{*}=\arg\max_{\tilde{\boldsymbol{\omega}}_{i}}R(\tilde{\boldsymbol{\omega}}_{i})
GDA的马尔科夫决策:
(这部分需要强化学习相关知识,看莫凡的课程就可以了地址链接
\mathbb{P}(\tilde{\mathcal{G}}_i^{(t+1)}|\tilde{\mathcal{G}}_i^{(t)})=\mathbb{P}(\tilde{\mathcal{G}}_i^{(t+1)}|\tilde{\mathcal{G}}_i^{(1)},\cdots,\tilde{\mathcal{G}}_i^{(t)}).
GDA的马尔科夫决策可以被三元组定义为:
(\mathcal{S}_{\mathrm{state}},\mathcal{S}_{\mathrm{action}},\hat{R})
我们可以设计奖励函数为:
R^{(t)}=-\mathcal{I}(Z_i^{(t)},\tilde{Z}_i^{(t)}),\\ \boldsymbol{Z}_i^{(t)}=g_{\boldsymbol{\varphi}}(f_{\boldsymbol{\phi}}(\mathcal{G}_i^{(t)})),\quad\tilde{\boldsymbol{Z}}_i^{(t)}=g_{\boldsymbol{\varphi}}(f_{\boldsymbol{\phi}}(\tilde{\mathcal{G}}_i^{(t)})).
保存图结构信息通过图重新加权
我们假定原始图的权重矩阵为\boldsymbol{E}_{\mathcal{G}_i}(其中\boldsymbol{E}_{\mathcal{G}_i}{\in}\mathbb{R}^{N_i\times N_i})。通过增强视图的方式进行处理:首先对权重矩阵进行操作以生成新的关联关系表达式。具体而言,在时间步t=0时,默认情况下所有节点间的连接强度均为相同值(即全一矩阵)。例如,在此示例中
GA2C model

然而,在这一问题上存在一个显而易见的挑战:我们需要明确权重矩阵的获得方式以及加权后的特征具体如何实现
\begin{aligned}&\tilde{\boldsymbol{\omega}}_i^{(t+1)}=&\text{Sigmoid}(\text{Reshape}(\boldsymbol{H}_i^{(t)})),\\ &\boldsymbol{H}_i^{(t)}=&\text{BN}(\mathrm{CC}(\mathrm{RD}(\left\{\boldsymbol{h}_{v,k}^{(t)}|v{\in}\tilde{\mathcal{G}}_i^{(t)}\right\})|k{=}1,\cdots,K)),\\ &\boldsymbol{h}_{v,k}^{(t)}=&\text{MLP}_{\theta_A}\left(\sum_{u\in\mathcal{N}_i(v)\cup\{v\}} \frac{[\tilde{\boldsymbol{\omega}}_i^{(t)}]_{v,u}\cdot \boldsymbol{h}_{u,k-1}^{(t)}} {d(v)\cdot d(u)} \right),\\ & & \end{aligned}
如图所示,在这一过程中,权重矩阵通过Reshape操作从特征H中转换而来,并经过Sigmoid激活函数进行压缩映射。随后,在获得权重矩阵后,则会执行RD这一读出函数的操作:将1到k层的所有特征嵌入进行拼接融合,并通过Batch Normalization层对特征进行标准化处理以提升模型性能。最终,在完成上述步骤后即可得到各节点对应的嵌入表示向量h_v^k。
- h_{v, k}^{(0)} = \left[ X_{\mathcal{G}_{i}} \right]_{v}
2. GDA参数矩阵$\tilde{\omega}_i^{(t+1)}$由$\tilde{\mathcal{G}}_i^{(t)}$得到
新视图的生成(相当于DQB的Action函数)
- \tilde{\mathcal{G}}_i^{(t+1)}=A_{\tilde{\boldsymbol{\omega}}_i^{(t+1)}}(\mathcal{G}_i^{(t)})
- A即Actor的A。
评估子模型的结构 (相当于期待的输出,有点类似于Q函数)
- V是评估重写参数矩阵的Value(价值)
- 评估子模型评估\tilde{V}_i^{(t+1)}依据关于\tilde{\mathcal{G}}_i^{(t+1)}的边权重信息
- \begin{aligned}&\tilde{V}_i^{(t)}=\text{Reshape}(\boldsymbol{M}_i^{(t)}),\\ &\boldsymbol{M}_i^{(t)}=\text{BN}(\mathrm{CC}(\mathrm{RD}(\left\{\boldsymbol{m}_{v,k}^{(t)}|v{\in}\tilde{\mathcal{G}}_i^{(t)}\right\})|k{=}1,\cdots,K))\\ &\boldsymbol{m}_{v,k}^{(t)}=\text{MLP}_{\theta_C}^k(\sum_{u\in\mathcal{N}_i(v)\cup\{v\}}\frac{[\tilde{\boldsymbol{\omega}}_i^{(t)}]_{v,u}\cdot\boldsymbol{m}_{u,k-1}^{(t)}}{d(v)\cdot d(u)}),\end{aligned}
10.### 我们可以更新如下:
我们因此可以评价A(advantage-value函数)
\tilde{A}_i^{(t)}{=}\tilde{Q}_i^{(t)}-\tilde{V}_i^{(t)}{=}R^{(t+1)}+\gamma\tilde{V}_i^{(t+1)}-\tilde{V}_i^{(t)},
如上,A表示通过动作的实际输出(Q)与期待输出(V)之间的差异。上述部分就是标准的强化学习步骤,如下作者重写了部分。
更新critic
最大化目标位:
\mathcal{J}_C=\sum_{t=1}^T(\tilde{A}_i^{(t)})^2
梯度被重新定义为:
\nabla_{\theta_C}\mathcal{J}_C=\frac d{d\theta_C}\sum_{t=1}^T(\tilde{A}_i^{(t)})^2,
Actor的更新
其相当于Qlearning的 \tilde{Q}_i^{(t)}
结果

