第四章 · 4.4

4.4 GCPN:分子图上的序贯决策

GCPN: Sequential Decisions on Graphs
GCPN 将分子生成建模为图上的序贯决策:以中间分子图为状态,每步选择两个节点、键型与停止标记,由环境检查动作后更新结构。本节说明图卷积策略网络的动作分解、性质和有效性奖励、判别器提供的对抗信号,以及 PPO 与专家动作监督如何共同训练策略。随后依据原论文解读性质优化结果,分析经验评分的适用边界,并比较 VAE 与 TorchDrug 的实现方式。

4.4.1 分子生成的马尔可夫决策过程

图卷积策略网络(graph convolutional policy network),简称 GCPN,由 You 等人提出(You et al., 2018)。模型采用 4.3 节的马尔可夫决策过程(Markov decision process)表示 (S, A, P, R, γ),将状态、动作、转移与奖励具体化为分子图的构造过程。一次完整生成构成一个回合(episode),其中的状态与动作序列构成生成轨迹。

状态 st 是第 t 步的中间分子图 Gt,包含原子类型和键型;当前可用价可由这些信息计算。原论文的性质优化从单个碳原子开始,将生成分子的大小上限设为 38 个重原子,与 ZINC250k 数据设置相适应。可能的中间图数量很大,GCPN 因此用共享参数的图网络近似策略,以便处理不同大小的状态。

动作提议一条连接及其键型,并包含停止标记,具体定义如下。给定状态和动作后,转移 P 按规则更新分子图:合法动作被执行,非法动作被拒绝,图状态保持不变。原论文通过 RDKit 构建环境并检查化学约束。终止可由策略的停止标记触发,实际实现也设置分子大小和交互步数的上限;二者不能等同,因为一次动作可以成环,也可能被拒绝,而不增加原子数。TorchDrug 教程使用折扣因子 γ = 0.9,以降低较远奖励对当前动作更新的权重。

定义

四分量动作。原论文将 at 写为(首节点,次节点,键型,停止标记)。首节点 v 从当前图中选取,本节称其为锚点(anchor node)。次节点 u 可来自当前图,也可来自候选原子集合 C;原论文使用 9 类单原子候选。选择旧节点可形成环,选择候选原子则将一个新原子接入分子。键型 e 为单键、双键或三键,停止标记 q 决定是否结束。一次继续动作只提议一条键,不会同时决定新原子与所有旧节点之间的连接。

动作掩码(action masking)可以在归一化前排除指定候选,例如限制首节点来自当前图、禁止节点与自身连接。它与采样后的价检查承担不同职责。GCPN 原论文第 3.3 节明确采用非法动作拒绝机制,并给出相应的有效性奖励;TorchDrug 的 GCPN 实现也在提议动作后检查所得图,对无效结果重新采样。不能将这些实现概括为“softmax 前屏蔽全部违反价约束的动作”。

4.4.2 策略网络:图卷积编码与因子化的动作分布

策略网络将当前分子图和候选原子集合编码为表示,再输出各动作分量的条件概率。

原论文使用三层支持类别键型的图卷积网络,隐藏节点表示为 64 维,每层之后使用批归一化。不同键型分别进行消息传递,再聚合各关系的信息;节点表示通过求和读出得到图表示。这与 3.4、3.5 节的消息传递和图读出概念相衔接。网络参数在不同大小的图之间共享,但计算量仍随节点和边数变化。

动作预测包含四个输出分支:首节点分布以当前图为条件;次节点分布还依赖选中的首节点;键型分布依赖两个选中节点;停止分布由图表示给出。按原论文的参数化方式,四分量动作的概率可写为:

\[\pi_{\theta}((v,u,e,q)\mid s)=\pi_{\theta}(v\mid s)\,\pi_{\theta}(u\mid v,s)\,\pi_{\theta}(e\mid v,u,s)\,\pi_{\theta}(q\mid s)\]
(4.4-1)v、u、e、q 分别表示首节点、次节点、键型与停止标记。原论文的停止分支只使用图表示,因此写为 π(q | s);这是模型的条件依赖设计。停止时连接分量不再决定分子结构,若计算实际停止事件的概率,可对这些未使用的分量求和。
\[\pi(v\mid s)=\frac{\exp(z_v)}{\sum_{w\in V_t}\exp(z_w)},\qquad v\in V_t\]
(4.4-2)zv 为首节点分支的打分,Vt 是当前图的节点集合。候选新原子不能作为首节点;次节点则可在当前图和候选集合中选择。候选集合的限制可用掩码实现,但式中不假定已完成全部价约束检查。

因子化将一次连接预测拆为几个较小的分类问题。若当前有 n 个节点、c 类候选新原子和 b 类键,忽略自连接与其他限制时,继续动作的有序候选数为 n(n+c)b,属于多项式规模。按序采样只需计算首节点、次节点和键型分支,再结合停止分支,不必对每个完整四元组单独打分。此处没有 4n 项:GCPN 每步提议一条键;4.6 节 GraphAF 先生成新原子再逐键连接,是另一种动作组织方式。

GCPN 一步决策:图编码器得到节点表示,依次选择首节点、次节点和键型,停止分支决定是否结束;环境检查候选连接后更新结构 当前分子图 Gt C C C N O 节点 = 原子(类型·价态) 边 = 键(单/双/三) GCN 编码器 GCN 层 1 GCN 层 2 GCN 层 3 消息传递(3.4/3.5) 键级 → 关系图卷积 节点表示 hv h1 h2 h3 h4 … 图表示(求和聚合) 参数与节点数无关 变长图共享一套权重 首节点分布 π(v|s) 次节点 u 与键型 e C N O F S 选择 u 后决定单/双/三键 环境检查候选动作 非法动作被拒绝,状态不变 更新后的局部 Gt+1 C C C C 通过检查后接入新原子 终止动作 stop 结束并计算终局奖励 分子 ≤ 38 个重原子 原论文的大小设置 步数上限另行设定
图 4.4-1 GCPN 的一次连接决策。图编码器产生节点表示,首节点分支选择锚点;右侧下框合并示意次节点与键型两个分支,其中圆点示出部分候选原子,次节点也可来自当前图。停止标记由图表示预测。环境检查提议动作,合法连接被执行,非法连接被拒绝。左下仅画更新位置的局部结构。原论文的分子大小上限为 38 个重原子,不能把它当作回合步数上限。
习题 4.4-1

设当前图有 10 个旧节点,另有 9 类候选新原子,键型为单键、双键和三键。先排除自连接,暂不考虑已有边和价约束。(1) 只考虑接入新原子时,有多少个“首节点—次节点—键型”候选?(2) 同时允许次节点来自旧图时,继续动作的有序候选数是多少?(3) 一次因子化采样的首节点、次节点、键型和停止分支分别有多少类?(4) 若只允许单键和双键,第 (2) 问的候选数变为多少,缩小多少倍?

参考解答

(1) 首节点有 10 个选择,新原子类型有 9 个选择,键型有 3 个选择,共 10 × 9 × 3 = 270 个候选。(2) 给定首节点后,次节点可取其余 9 个旧节点或 9 个候选新原子,因此有 10 × (9 + 9) × 3 = 540 个有序候选。这一计数区分两个节点的选择顺序,且尚未排除已存在的连接或违反价约束的情况。(3) 四个分支分别为 10、18、3、2 类;第二分支的具体概率以第一分支的结果为条件。(4) 候选数为 10 × 18 × 2 = 360,缩小为原来的 2/3,即原数是新数的 1.5 倍。GCPN 的单次连接动作数量对键型数呈线性关系;全分子轨迹仍因多步选择而形成很大的搜索空间。

4.4.3 奖励设计:性质、有效性与对抗信号

GCPN 的奖励同时表达目标性质、化学规则和训练分子的分布信息,并区分逐步奖励与终局奖励。

只在回合结束时给出性质分数,仍然可以用策略梯度训练;但这种稀疏奖励(sparse reward)使早期动作的效果需要经过较长轨迹才能观测。式 ∇J = E[Σt ∇log π(at|st) · Gt] 中,各步回报都依赖后续生成结果,信用分配(credit assignment)和方差控制可能更困难。GCPN 因此增加中间反馈,而非假定终局奖励无法使用。

第一部分是终局性质与过滤奖励。回合结束后计算 penalized LogP 或 QED,定义见 4.1.5 节。原论文将最终性质奖励缩放至 [−4, 4],另设范围为 [−2, 2] 的化学过滤奖励,用于惩罚过大的空间位阻和违反 ZINC 官能团过滤规则的结构。这些检查针对特定化学异常,不能单独证明合成可行性或成药性。

第二部分是逐步有效性奖励。候选动作通过价检查时得到小正奖励,违反规则时得到小负奖励,非法动作同时被环境拒绝。这种较稠密(dense)的反馈有助于区分有效和无效提议。它与环境约束相互补充:环境决定结构是否更新,奖励影响以后提议该动作的概率;加入中间奖励并不自动解决全部信用分配问题。

第三部分是对抗奖励。另行训练判别器(discriminator) Dφ,使用与策略编码器相近的图卷积结构区分真实样本和生成样本。通过对抗训练(adversarial training),判别器输出被转为策略的附加奖励;中间图与最终图分别使用对应的数据分布。原论文以对抗目标的负值作为奖励来源,不能把它未经说明地等同于 log Dφ(x)。这里统一记作 radv(x),其具体变换和尺度需随实现记录。

\[r_{\mathrm{final}}(x)=\alpha\,r_{\mathrm{prop}}(x)+\beta\,r_{\mathrm{filter}}(x)+\eta\,r_{\mathrm{adv}}(x)\]
(4.4-3)这是便于分析的加权表示:性质、过滤和对抗奖励分别影响优化方向,罚项计入 rfilter 的符号。η 表示对抗权重,避免与折扣因子 γ 混用。原论文分别报告各奖励成分的缩放范围;中间奖励的范围按轨迹累计口径说明,不能直接当作每一步的固定取值。奖励定义见 原论文第 3.3 节与第 4.1 节。
表 4.4-1GCPN 奖励的四个成分(You et al., 2018)
成分给出时机机理数值口径
性质分 rprop终局目标性质的经验评分,如 penalized LogP 或 QED最终奖励范围 [−4, 4]
过滤奖励 rfilter终局空间位阻与 ZINC 官能团过滤规则最终奖励范围 [−2, 2]
对抗奖励 radv中间步骤与终局由判别器提供训练分布相关的反馈最终项及累计中间项分别为 [−1, 1]
有效性奖励每步通过价检查给小正奖励,违反则给小负奖励累计中间项范围 [−1, 1]
GCPN 奖励的时间结构:中间步骤有有效性与对抗反馈,终局另有性质、过滤和对抗奖励;图示区分即时奖励与终局回报 若只有终局奖励 t = 1…T−1 即时奖励为零 信用分配可能较困难(4.3) 中间与终局反馈结合 逐步奖励提供局部信息 终局奖励评价完整分子 t=1 t=2 t=3 … t=T−2 t=T−1 T 终止 逐步合法性:价检查通过 +Δ,违反 −δ 中间对抗奖励 radv(xt) 终局奖励(T 时刻) 性质分 α · rprop 过滤项 β · rfilter 对抗 η · radv(x) 线性缩放:[−4,4] [−2,2] · [−1,1] 这是一个回合内的奖励时机;训练轮次中的奖励权重安排需另行说明。
图 4.4-2 一个生成回合中的奖励时机。绿色方块表示逐步有效性反馈,灰色方块表示中间对抗奖励;T 时刻另有性质、过滤和最终对抗奖励(式 4.4-3)。中间反馈可减少等待终局结果的时间,但不保证梯度估计方差一定降低。仅有终局奖励时,此前的即时奖励可以为零,回传给此前动作的累计回报仍可非零。回合内的奖励时机与跨训练轮次的课程安排是两个概念。
警示

奖励与实际目标之间的差异。策略优化由奖励函数定义的目标,奖励分数未必覆盖实验研究所关心的全部性质。经验预测器可能在训练分布之外失准,判别器也只能依据已见数据学习差异,化学过滤规则则检查有限的一组条件。若某种结构能够提高评分而避开现有惩罚,模型可能反复生成它。因此,高分结果应同时报告结构分布、预测不确定性和化学检查结果,并由具体实验目标决定后续验证。

4.4.4 训练目标:策略梯度与专家模仿的混合

GCPN 同时使用强化学习和专家动作监督。为说明两类更新之间的权衡,可将策略训练概括为以下加权损失:

\[L(\theta) = -J_{PPO}(\theta) + \lambda \cdot L_{im}(\theta)\]
(4.4-4)JPPO 是需要最大化的策略代理目标,Lim 是专家动作的负对数似然,λ ≥ 0 表示相对权重。这是教学上的合并表示;原论文对强化学习和专家目标分别设置学习率,并非规定只能用一个 λ 实现。判别器和价值估计还各有训练目标。

强化学习部分采用近端策略优化(proximal policy optimization, PPO)的裁剪代理目标(Schulman et al., 2017):

\[J_{PPO}(\theta)=\mathbb{E}_{t}\!\left[\min\!\left(\rho_t\hat{A}_t,\operatorname{clip}(\rho_t,1-\varepsilon,1+\varepsilon)\hat{A}_t\right)\right],\qquad \rho_t=\frac{\pi_{\theta}(a_t\mid s_t)}{\pi_{\theta_{\mathrm{old}}}(a_t\mid s_t)}\]
(4.4-5)ρt 是当前策略与采样策略对同一动作的概率比;Ât 是结合回报与价值基线得到的优势估计。clip 将第二项中的概率比限制在 [1−ε, 1+ε],再与未裁剪项取较小值。该目标限制继续扩大某些更新的收益,不保证更新后所有概率比严格留在区间内,也不是硬性的信任域约束。

专家监督部分采用模仿学习(imitation learning):从训练分子中随机选取连通子图作为状态,再采样能够补充原分子中节点或边的动作作为标签。对一批这样的状态—动作对,负对数似然为:

\[L_{im}(\theta) = - (1/T) \sum_{t} \operatorname{log} \pi_{\theta}( a_{t}^{data} | s_{t}^{data} )\]
(4.4-6)这里 T 表示该批专家状态—动作对的数量,不要求它们来自同一个完整回合。标签由训练分子及其子图关系构造,这一监督项直接提高专家动作概率,不经过判别器或性质奖励。

增大 λ 会提高专家监督对总梯度的相对贡献,减小 λ 则增加强化学习目标的相对影响。其对最终性质和多样性的作用依赖两项梯度是否一致,不能预设为单调关系。过度集中于少数高奖励结构可能导致模式坍缩(mode collapse),但需用生成分布的指标确认。原论文在训练全程保留专家目标;TorchDrug 的 QED 微调示例也结合 PPO 与负对数似然。先预训练再微调,以及训练期间同时保留两类目标,都是协调分布学习与性质优化的方式。

习题 4.4-2

某批次上测得 JPPO = 2.4,Lim = 1.6(负对数似然)。对某个延长碳链的动作,设其 logit 为 z,且 ∂JPPO/∂z = +0.3、∂Lim/∂z = +0.1。(1) 分别计算 λ = 2 与 λ = 0.5 时的总损失。(2) 按普通梯度下降,λ = 2 和 λ = 4 时 z 的净更新方向分别是什么?(3) 说明 λ 的作用,并讨论能否仅凭训练处于早期或后期决定其大小。

参考解答

(1) λ = 2 时,L = −2.4 + 2 × 1.6 = 0.8;λ = 0.5 时,L = −2.4 + 0.5 × 1.6 = −1.6。两种设置中专家项的贡献分别为 3.2 与 0.8。(2) 总梯度为 −0.3 + 0.1λ。普通梯度下降沿负梯度更新,因此 λ = 2 时梯度为 −0.1,z 上升;λ = 4 时梯度为 +0.1,z 下降。该局部例子的临界值为 λ = 3,但其他批次或参数的临界值可能不同。(3) λ 调节专家监督和强化学习对更新的相对贡献。先加强专家监督、再增加目标优化权重是一种可检验的训练安排,并非普遍最优方案;应根据奖励变化、专家损失、多样性和有效性选择权重,而不能只依据轮次。不同权重下的总损失也不宜直接横向比较为生成质量的优劣。

4.4.5 训练设置与性质优化结果

原论文在训练中同时保留专家目标和 PPO 目标,分别使用 0.00025 与 0.001 的学习率,均采用 Adam、batch 32。TorchDrug 教程则明确展示预训练和微调两个阶段:GCPN 先以负对数似然训练 1 轮、学习率 10−3,随后以学习率 10−5 进行 10 轮性质微调。两套配置不能混写。课程学习(curriculum learning)通常指有计划地调整任务难度或训练样本;回合中先出现有效性奖励、结束时才出现性质分,并不足以证明原论文采用了逐轮提高性质权重的课程。

原论文表 1 报告,GCPN 搜索到的 penalized LogP 最高三分为 7.98、7.85、7.80,ZINC 数据的最高三分为 4.52、4.30、4.23,最高分差为 3.46。这说明模型找到超出训练集已观测评分范围的分子,不直接证明实验性质改善。QED 最高三分为 0.948、0.947、0.946,与训练集高分接近;0.948 是这里的报告值,不能直接作为理论上限。有效性为 100% 的结果包含逐步价检查的作用,应同时说明约束机制和样本口径。top-3 反映最高分表现,不能代表生成集的平均质量或多样性。

案例

高分结构与经验评分的适用范围。GCPN 论文讨论了一个需要与主要结果区分的现象:减弱对抗奖励和专家监督后,少数生成结构获得异常高的 penalized LogP,但化学上并不理想。作者以图 2(a) 中的富碘结构为例,指出模型利用了经验 LogP 计算中碘较大的单原子贡献。这个现象不能未经核对就归给表 1 中分数为 7.98 的分子。它说明,降低训练数据相关约束可能使搜索进入经验预测器不可靠的区域;加入对抗与专家目标可改善结构合理性,同时可能降低该评分。解释高分时,应检查结构、预测器适用范围和实际研究目标,而不是只比较标量大小。

习题 4.4-3

论述:假设需要为某激酶设计包含活性预测分数、QED 和合成可及性评分 SA 的生成奖励。给出一个明确标注为示例的加权方案,分析三对目标可能发生的冲突,提出模型利用评分偏差的可能路径及相应诊断方法。注意区分预测活性与实测活性。

参考解答

先明确活性分数的方向,并用固定参考数据把活性与 SA 变换到可比尺度,记为 ã 与 SÃ;SA 越高表示预测合成越困难。一个示例是 r = 0.5ã + 0.25QED − 0.25SÃ,权重应根据任务优先级做敏感性分析。活性与 QED 可能冲突,例如某些提高预测亲和力的取代同时增加疏水性或分子量;活性与 SA 可能冲突,例如某些有利于结合的立体结构增加合成难度;QED 与 SA 衡量的因素不同,也可能对同一结构给出相反变化。这些都不是所有靶点上的必然关系。主要风险是活性预测器在训练分布之外给出虚高值,或优化过度集中于评分偏好的结构。可记录适用域距离、不确定性、三项单独分数和结构多样性,检查不同权重下的候选变化,并结合价检查、合成路线分析与人工审查筛选。QED 和 SA 都不能替代实验验证,预测高活性也不等于实测高活性。

4.4.6 与 VAE 的比较及 TorchDrug 实现

Gómez-Bombarelli 等人的 VAE 路线将分子编码到连续隐空间,由解码器还原为分子,并联合训练性质预测器(Gómez-Bombarelli et al., 2018)。随后可在隐空间中优化代理性质函数,再解码和重新评估候选;原论文讨论了梯度方法与贝叶斯优化。GCPN 则将分子性质评分作为回报,通过策略梯度更新离散图生成策略。奖励函数不必可微,但其计算成本、准确性和适用范围仍直接影响训练。两者采用了不同的搜索参数化,并非对全部生成方法的互斥分类。

GCPN:图动作上的策略优化

  • 性质与过滤规则可转为不可微的奖励
  • 环境在每次连接提议后执行化学检查
  • 风险包括评分偏差与高分结构集中
  • PPO、价值基线和专家监督帮助控制更新

VAE:连续隐空间中的搜索

  • 可优化隐空间的性质代理,再解码为分子
  • 通常优化证据下界,边缘似然需近似估计
  • 风险包括无效解码与代理预测偏差
  • 可结合约束解码或生成后的化学筛选

两条路线都需要检验训练分布与搜索区域之间的差异,也都可能受到性质预测器误差的影响。4.6 节的 GraphAF 使用条件连续流建模去量化分子表示,再以 PPO 进行性质优化。GCPN 同样具有可计算的动作概率和专家负对数似然目标,因此 GraphAF 与 GCPN 的区别应从条件分布、动作结构与训练流程分析,不能概括为“有无似然”。

TorchDrug 官方教程用 RGCN 提供图表示,以 GCPNGeneration 封装生成任务,支持负对数似然预训练及 PPO 微调。其 GCPN 任务源码在采样时排除自连接等候选,并在应用动作后检查图的有效性、按重试上限重新采样。这些行为与原论文的环境处理应分别记录。本节依据 0.2.1 文档;官方安装说明列出 Python 3.7–3.10 和 PyTorch ≥ 1.8.0,未规定 PyTorch 2.0 为上限。具体依赖组合按 5.2 节建立并验证。

GCPN 将 4.2 节的顺序图生成与 4.3 节的策略梯度联系起来,同时展示了三类约束来源:环境规则限制结构更新,专家监督提供数据中的动作信息,奖励定义性质优化方向。4.5 节接下来介绍变量变换与雅可比行列式,为分析流模型的密度计算建立基础。


关键术语

图卷积策略网络 (graph convolutional policy network, GCPN)
以图卷积为策略网络、在分子图上做目标导向序贯生成的强化学习方法。
锚点 (anchor node)
本节对 GCPN 首节点的称呼,必须来自当前图;另一端可为旧节点或候选新原子。
动作掩码 (action masking)
在归一化前排除指定动作候选的机制;候选限制应与采样后的价检查分别说明。
稀疏奖励 (sparse reward)
只在少数状态或回合终点给出的奖励,可能增加信用分配与探索的难度。
稠密奖励 (dense reward)
在较多中间步骤提供的反馈;需检查其是否保持原任务的优化目标。
信用分配 (credit assignment)
判断各步动作对后续回报贡献的问题,不能仅凭奖励是否稀疏断言成功或失败。
判别器 (discriminator)
区分真实与生成样本的网络;GCPN 用其输出构造分布相关奖励。
对抗奖励 (adversarial reward)
由判别器的对抗目标构造的策略反馈,具体函数与缩放方式取决于实现。
模仿学习 (imitation learning)
以训练分子的状态—补全动作对作监督,直接优化动作负对数似然。
近端策略优化 (proximal policy optimization, PPO)
使用概率比裁剪代理目标进行策略更新的算法,不对全部更新施加严格的信任域保证。
课程学习 (curriculum learning)
有计划地调整训练任务难度或样本安排;不能仅从回合内奖励出现的时机推定。

参考文献与延伸阅读

  1. You J, Liu B, Ying R, Pande V, Leskovec J. 2018. Graph convolutional policy network for goal-directed molecular graph generation. Advances in Neural Information Processing Systems 31 (NeurIPS 2018):6410–6421.
  2. Kipf TN, Welling M. 2017. Semi-supervised classification with graph convolutional networks. International Conference on Learning Representations (ICLR 2017).
  3. Gómez-Bombarelli R, Wei JN, Duvenaud D, Hernández-Lobato JM, Sánchez-Lengeling B, Sheberla D, Aguilera-Iparraguirre J, Hirzel TD, Adams RP, Aspuru-Guzik A. 2018. Automatic chemical design using a data-driven continuous representation of molecules. ACS Central Science 4(3):268–276.
  4. Schulman J, Wolski F, Dhariwal P, Radford A, Klimov O. 2017. Proximal policy optimization algorithms. arXiv:1707.06347.
  5. Sutton RS, Barto AG. 2018. Reinforcement Learning: An Introduction. 2nd ed. Cambridge, MA: MIT Press.
  6. Ertl P, Schuffenhauer A. 2009. Estimation of the synthetic accessibility score of drug-like molecules based on molecular complexity and fragment contributions. Journal of Cheminformatics 1:8.
  7. Zhu Z, Shi C, Zhang Z, et al. 2022. TorchDrug: a powerful and flexible machine learning platform for drug discovery. arXiv:2202.08320.