4.3.1 生成序列写成决策过程
4.2 节把生成拆成动作序列:从空图出发,每步决定放什么原子、连到哪里、用什么键,或者宣布终止。这天然是一个序贯决策问题。强化学习为它准备的标准语言是马尔可夫决策过程(Markov decision process, MDP),写成五元组 (S, A, P, R, γ)。决策者观察状态,按策略(policy)选动作,环境给出新状态与奖励,如此往复。策略在 4.2 的生成器上加了概率的外衣:πθ(a | s) 是参数化的条件分布,给定当前分子图,给每个合法动作一个概率。
| 组成 | 强化学习语义 | 分子生成中的具体化 | 要点 |
|---|---|---|---|
| S(状态) | 决策者所处的处境 | 中间分子图:从空图到成品之间的任意部分结构 | 状态数组合爆炸;同一分子可由多条轨迹到达 |
| A(动作) | 可选的决策 | 放置哪种原子、接到哪个已有原子上、用什么键型,或终止 | 合法动作集随状态变化:价键约束实时裁剪 |
| P(转移) | 动作改写状态的规律 | 确定性:执行「在原子 3 与新碳之间加单键」后,新图唯一 | P 退化为 δ 分布,不含任何随机性 |
| R(奖励) | 每步或终局的评分 | 终局性质分(logP、QED、对接分)加合法性约束 | 分数不是规则自带的,要自己设计——4.4 的主题 |
| γ(折扣) | 远期奖励的权重 | 分子长度有限,几十步封顶,常取 γ = 1 | γ < 1 压低远期奖励的权重,换取更小的方差 |
逐项看这张表。状态空间的规模是组合爆炸的:原子种类、连接方式、键型逐层相乘,任何枚举都不现实——好在这不是障碍,策略只需要读图,不需要列表。动作空间的结构随状态伸缩:图里有 n 个原子,「新原子接到谁」就有 n 个选择,动作总数每步都变。转移在分子生成里是确定性(deterministic)的:动作一经执行,新图完全确定,不存在骰子。这个退化是红利——4.3.3 的推导里,转移项对梯度的贡献自动归零。
奖励与经典强化学习差别最大:下棋的分数由规则自带,分子的「分数」却要先造出一个打分器。折扣因子 γ 的本职是让无限长序列的回报收敛;分子生成轨迹有限,γ 取 1 并不失一般性,取 γ < 1 更多是方差控制的考量(4.3.4 节)。
策略与环境交替产出一串状态、动作与奖励,称轨迹(trajectory);把一条轨迹未来的奖励按 γ 折算加总,得到回报(return)。两者的显式写法如下。
在轨迹层面建模,好在哪、贵在哪。同一个分子几乎总有多条搭建轨迹:先放哪个原子、先连哪条键,顺序不同而终点相同。轨迹层面的建模对此不闻不问——好处是任何分子图都有路径可达,不需要为「规范顺序」立规则;代价是同一目标对应多个等效解,策略的最优解并非唯一,概率要在一族等效轨迹之间分摊。后文的流模型(4.5–4.6 节)对顺序显式建模,正好构成对照。
轨迹与回报。一条有限轨迹 τ = (s0, a0, r0, s1, a1, r1, …, sT):在状态 st 执行 at,环境发出奖励 rt 并给出 st+1。从第 t 步起算的折扣回报(discounted return)为
Gt = rt + γ rt+1 + γ2 rt+2 + ⋯ = Σk≥t γk−t rk (4.3-2)
分子生成中,一条轨迹就是一个分子连同它的搭建历史;奖励只出现在终局且 γ = 1 时,G0 就是这个分子的最终评分。
4.3.2 目标函数:期望回报
「策略平均能生成多好的分子」用期望回报(expected return)度量,R(τ) 常取 G0:
这一行与监督学习的损失形式上只差一个符号,实质却分岔在「期望对谁取」。监督学习的期望对固定的数据分布取:样本握在外界手里,模型再怎么变,分布不动。这里的期望对 πθ 自己取:参数决定数据从哪里来。分布不再是要拟合的靶子,而成了优化变量的一部分。
三条后果随之而来。其一,非平稳:每次更新 θ 之后,下一批轨迹的分布就换了,梯度的「地形」在脚下一步步变形。其二,样本经济学:数据是策略生成的,策略一变旧数据就贬值,复用需要专门的修正手段——4.3.5 节的整个动机链由此展开。其三,探索的张力:策略若在某个区域给出高概率,采样就会集中于此,别处的分子永远得不到评估;极端时策略坍缩成反复生成同一个分子,4.1 节的多样性指标会直接报警。实践中常在目标上另加熵奖励,逼策略保留随机性。训练循环全貌见图 4.3-1。
4.3.3 策略梯度定理的推导
对 (4.3-3) 直接求导看起来无从下手:P(τ; θ) 是 T 层条件分布的乘积,环境部分——价键检查、性质打分器——不可导,甚至不可微。策略梯度定理绕开这一切:不对环境求导,只对策略自己的对数概率求导。
先声明工作框架:动作空间有限、时长 T 有限、πθ(a | s) 处处为正且对 θ 可微;连续动作把求和换成积分,正则条件收紧,结论形式不变(Sutton & Barto, 2018,第 13 章)。以下推导分四步,每步只做一次初等变换。
第一步:把期望摊开。期望的定义就是加权和,(4.3-3) 右端已经是显式求和。对有限和逐项求导,梯度与求和号可以直接交换:
第二步:似然比恒等式。对任一正的可微函数,链式法则给出 ∇log P = ∇P / P,移项即得
第三步:认回期望。把 (4.3-5) 代入 (4.3-4),加权和重新具有期望的结构:
第四步:展开轨迹概率的对数。对 (4.3-1) 取对数再求导:
四步合并,得到策略梯度定理(policy gradient theorem)的轨迹形式:
估计量的语义值得停下来读一遍。∇log πθ(at | st) 指向「提高 at 概率」的方向;R(τ) 是权重。一条高回报的轨迹,其全部动作的概率被整体推高,低回报的反之。两点观察。其一,R 可以是任意黑箱:推导从头到尾没有对 R 求导,对接打分、过滤器、人工评估都行——这正是强化学习能接上化学软件的接口。其二,同一个 R(τ) 乘在每一步上:好分子归功于其中每个动作,包括碰巧的动作。信用没有细分到步,方差由此滋生。
策略梯度估计量的推导骨架。① 显式化:把期望摊成对轨迹的和或积分,给梯度一个落点。② 似然比恒等式:∇P = P·∇log P,分布的梯度化为对数梯度。③ 认回期望:P 加权的和式重新写成期望,采样估计才有可能。④ 结构展开:对数把乘积拆成加法,一切与 θ 无关的项(初始分布、环境转移,以及后文的基线)自动消失。⑤ 可采样化:写出 ĝ 并核对无偏性。整条链对环境只字未求导;同一副骨架也支撑变分推断与 Gumbel-softmax 等场合(Williams, 1992; Sutton & Barto, 2018)。
习题 4.3-1
动作空间有限,πθ(a | s) > 0 且对 θ 可微。(1) 证明 Ea∼πθ(·|s)[∇θlog πθ(a | s)] = 0。(2) 设 c(s) 与当前动作 a、参数 θ 都无关。证明把 (4.3-8) 中的权重 R(τ) 换成 R(τ) + c(st) 后,梯度估计的期望不变。
参考解答(1) E[∇log π] = Σa πθ(a|s)·∇log πθ(a|s)。由 (4.3-5) 的逐动作形式 π∇log π = ∇π,上式 = Σa ∇πθ(a|s) = ∇θ Σa πθ(a|s) = ∇θ1 = 0。有限和保证求导与求和交换合法;几何含义:得分函数以 π 的均值为中心,平均为零。(2) 按期望的线性性拆成两项,第二项 E[c(st)∇log πθ(at|st)]。对轨迹前缀取条件期望:给定 st(连同整段前缀)时 c(st) 是常数,塔式期望给出 Est[c(st)·E[∇log πθ(at|st) | st]] = Est[c(st)·0] = 0。于是期望与原估计量相同,而权重整体平移,方差一般下降——这正是 4.3.4 节基线方法的理论根据。
4.3.4 方差的两级缓解:reward-to-go 与基线
(4.3-9) 无偏,方差却可能大到淹没信号。来源有二:权重是整条轨迹的总回报,全程的奖励波动都灌进每一步;分子之间分数差异悬殊,R 的分布本就宽。两级缓解各自只动权重项,互不干扰。
第一级:截断到未来(因果性)。t 时刻的动作只能影响 t 及其之后的奖励,碰不到已经发生的 rk(k < t)。数学表述:k < t 时 rk 与 at 无关,E[∇log πθ(at|st)·rk] = 0——习题 4.3-1(2) 的结论逐项适用。于是 (4.3-8) 中把 R(τ) 换成只含未来奖励的权重,期望不动、方差下降:
第二级:减去基线。在权重上减去 b(st),任何只依赖状态、不依赖动作与参数的函数都可以,称基线(baseline)。期望为什么不变?逐状态验证:
两级合用,权重 Ât − b(st) 的语义浮出水面:比「这个状态的平均前途」好多少。定义状态价值函数(state-value function)Vπ(s) = E[Gt | st = s] 与动作价值函数(action-value function)Qπ(s, a) = E[Gt | st = s, at = a],两者之差
Vπ 事先未知,实践里由第二个网络回归估计:以 Gt 为目标、(V(st) − Gt)2 为损失——这就是价值网络(critic),与策略网络(actor)合称 actor–critic 架构。4.4 节的 GCPN 将带着这个 critic 一起训练。
理论上最优基线是按得分函数模长加权的平均(Greensmith et al., 2004),Vπ 是它最常用的近似;GAE 进一步把多步回报与价值估计按指数插值,给出一整套偏差—方差旋钮(Schulman et al., 2016)。基线的实际效果见图 4.3-2。
习题 4.3-2
同一初始状态(空图)采出两条 3 步轨迹,γ = 0.9。τ(1) 的奖励为 (10, 10, 10)(每步都有中间奖励);τ(2) 的奖励为 (0, 0, 30)(只有终局奖励)。(1) 求两条轨迹各自的 reward-to-go G0、G1、G2。(2) 取批内两条轨迹 G0 的均值为基线 b(s0),求两条轨迹首步动作的优势,并说明估计量会把首步概率往哪个方向推。(3) 若不截断、以总回报 G0 作每一步的权重,τ(1) 末步(t = 2)的权重是多少?reward-to-go 下是多少?结合习题 4.3-1 说明这一替换为什么只降方差、不改期望。
参考解答(1) τ(1):G2 = 10;G1 = 10 + 0.9×10 = 19;G0 = 10 + 0.9×10 + 0.81×10 = 27.1。τ(2):G2 = 30;G1 = 0 + 0.9×30 = 27;G0 = 0.81×30 = 24.3。
(2) b(s0) = (27.1 + 24.3)/2 = 25.7。优势 A(1) = 27.1 − 25.7 = +1.4 > 0,首步动作概率被推高;A(2) = 24.3 − 25.7 = −1.4 < 0,被压低。两条轨迹共用同一初始状态,基线相同、优势恰好对称。
(3) 不截断时权重为 G0 = 27.1;reward-to-go 下为 G2 = 10。前两步的奖励 10 与 10 在时刻 t = 2 已经落定,与 a2 无关,按习题 4.3-1(2),它们乘以 ∇log π(a2|s2) 的期望为零;删去后期望不变,而权重从 10 摆到 27.1 的那部分波动纯属噪声。
习题 4.3-3
(推证)设 b: S → R 与参数 θ 无关,动作空间有限,πθ(a | s) > 0 且可微。(1) 严格证明 Ea∼πθ(·|s)[b(s)·∇θlog πθ(a | s)] = 0,并说明 (4.3-10) 的估计量减去 b(st) 后仍然无偏。(2) 若 b 依赖当前动作,写作 b(s, a),上式一般是否成立?给出论证。(3) 若 b 依赖 θ 呢?
参考解答(1) E[b(s)∇log π] = Σa πθ(a|s)·b(s)·∇θlog πθ(a|s)。b(s) 与 a、θ 均无关,提到求和号与梯度号之外:= b(s)·Σa πθ∇θlog πθ。由似然比恒等式 π∇log π = ∇π,得 b(s)·Σa ∇θπθ(a|s) = b(s)·∇θΣa πθ(a|s) = b(s)·∇θ1 = 0。有限和保证逐项求导合法;b 与 θ 无关保证梯度不触碰 b。轨迹层面:E[Σt(Ât − b(st))∇log πθ(at|st)] = E[Σt Ât∇log πθ] − ΣtE[b(st)∇log πθ(at|st)],后一项对每个 t 先固定 st 套用刚才的结果、再按塔式期望合并,逐项归零,估计量无偏。
(2) 一般不成立。反例:两个动作,b(s, a1) = 1,b(s, a2) = 0,则 E[b∇log π] = πθ(a1|s)·∇θlog πθ(a1|s) = ∇θπθ(a1|s),只要该动作概率随 θ 变化就非零。等价地说,Ea∼πθ[b(s,a)] 本身是 θ 的函数,其梯度不再为零——减去与动作相关的量会注入偏差。
(3) 若 b 依赖 θ,求导会额外作用于 b,多出 E[(Â − b)·∇θb] 型的项,无偏性同样破坏。结论:基线只能依赖状态(或历史),不得依赖当前动作与参数。
4.3.5 从 REINFORCE 到 PPO
把 (4.3-10) 与 (4.3-11) 合并成「∇log π × 优势」的估计量,配上梯度上升,就是 REINFORCE——最古老也最简洁的策略梯度算法(Williams, 1992)。它的软肋是样本经济:估计量里的期望对当前 πθ 取,数据必须由当前策略生成,此即同策略(on-policy)约束;θ 更新一次,整批轨迹作废。分子生成里这笔账尤其疼:一条轨迹的奖励要跑一遍性质打分器,若换对接打分,单条就以分钟计。
复用数据的标准工具是重要性采样(importance sampling):Eτ∼πθ[f(τ)] = Eτ∼πold[(πθ(τ)/πold(τ))·f(τ)],期望从新策略名下搬到旧数据名下。
轨迹比值按 (4.3-1) 分解成逐时间步因子之积,每个因子只涉两个策略在同一 (st, at) 上的概率比:
代价随之而来:T 项连乘的比值方差随轨迹长度膨胀,分子动作序列动辄几十步,连乘很快失控;更危险的是更新过猛时,新策略把采样时概率极小的动作抬得很高,比值爆炸,估计彻底失真。约束单步更新的幅度成了核心问题。TRPO 用 KL 散度把每步更新限制在旧策略的信赖域(trust region)内(Schulman et al., 2015),代价是二阶求解、实现繁重;PPO 达到同一目的的手段便宜得多——把比率直接裁剪(Schulman et al., 2017)。整条动机链汇于表 4.3-2。
| 阶段 | 面临的困难 | 对策 | 遗留代价 |
|---|---|---|---|
| REINFORCE(同策略) | 数据用一次即弃,打分昂贵 | reward-to-go 与基线先压方差 | 样本效率仍然低 |
| 重要性采样复用 | 想用旧数据评新策略 | 逐时间步比值 (4.3-13) | 比值方差随 T 膨胀;更新过猛即失真 |
| TRPO | 单步更新幅度失控 | KL 信赖域约束,二阶方法求解 | 实现复杂、单步计算贵 |
| PPO | 同一问题 | 比率裁剪 (4.3-14),一阶方法 | 引入超参 ε;约束由硬变软 |
min 与 clip 的配合按优势符号分两支读。Ât > 0(该动作比平均好)时,目标鼓励比率上升,但比率一旦越过 1 + ε,clip 分支接管、梯度截断——不再奖励更大幅度的偏离。Ât < 0(比平均差)时对称:比率压到 1 − ε 之下后,惩罚不再加码。比率落在带内时两分支一致,梯度照常通过。图 4.3-3 把这两个分支画成分段折线。
净效果:无论优势多大,单次更新把任一动作的概率变动约束在约 (1−ε, 1+ε) 倍之内,策略只能小步走。对分子生成的意义一句话:奖励来自噪声不小的打分器,又是稀疏的终局奖励,训练本就摇摆,小步幅保证一次坏估计不至于把策略推出可采样的区域。GCPN 的训练循环用的正是 actor–critic 加 PPO(You et al., 2018),TorchDrug 的实现沿用这一组合。
4.3.6 稀疏奖励:通往 GCPN 的桥
最后一块拼图是最朴素的奖励设计:分子长完,打分器给一个数,中间全是零。这种结构称稀疏奖励(sparse reward)。回到估计量 (4.3-10) 之前的形态:同一个 G0 乘到 T 步的得分函数上。
三重困难叠加。信号稀释:真正决定性质的可能是几步关键选择,其余动作却被同等加权,信噪比随 T 下降。方差放大:G0 的全部波动灌进每一步的权重。信用分配(credit assignment)无从下手:只有终局分数,说不出哪一步该被强化。药样分子几十步、终局一个数,REINFORCE 在这种局面下几乎学不动。
高方差与稀疏奖励的连环症状。训练曲线剧烈震荡、策略坍缩成反复生成少数几个分子、4.1 节的唯一性与新颖性指标崩坏——三者常同时出现,根源即上述三重困难。机理上:终局才给奖励,权重里没有任何逐步信号;回报波动全额进入每一步的梯度。方向上的处方有三味药:让奖励稠密起来(每步合法性反馈),让初始化带着先验(先模仿真实分子),让难度分阶段(从易到难)。三味药在 4.4 节各有名字与实现。
预告 GCPN 的三板斧。其一,中间奖励:每步按价键合法性给小奖励或惩罚,化学规则以稠密信号约束每一步,性质奖励仍留在终局——反馈点从一个变成 T + 1 个。其二,课程学习(curriculum learning):从短分子到长分子、从纯合法性到带性质目标,难度逐步加码,避免训练初期大量轨迹全是废分子。
其三,模仿预训练(imitation pretraining):先在真实分子库上做极大似然——恰好就是 4.2 节的自回归训练——让策略拿到一个化学上说得过去的起点,再交给强化学习微调,探索不必从零开始。三件事拼成完整配方(You et al., 2018),4.4 节逐项拆解其状态、动作与奖励工程。
4.3.7 小结与去向
本节装配了 4.4 节需要的全部数学:MDP 五元组在逐原子生成上的落定;期望回报 J(θ) 与监督学习在「数据分布系于参数」上的分岔;策略梯度定理的四步推导——摊开、似然比、认回期望、消去环境项;reward-to-go 与基线两级方差缩减,收束为优势函数;REINFORCE 的样本经济学如何一步步逼出 PPO 的裁剪目标;稀疏奖励的诊断与三味药。
下一节把这套数学装进图卷积策略网络:状态如何编码、动作空间如何工程化、奖励如何设计,GCPN 逐一给出答案。
关键术语
- 马尔可夫决策过程 (Markov decision process)
- 序贯决策的标准框架,五元组 (S, A, P, R, γ)。
- 策略 (policy)
- 状态到动作分布的映射 πθ(a|s);分子生成中的逐原子决策器。
- 轨迹 (trajectory)
- 状态、动作与奖励的交替序列;一个分子连同其搭建历史。
- 回报 (return)
- 从某时刻起未来奖励的折扣加总 Gt。
- 折扣因子 (discount factor)
- γ,压低远期奖励权重并保证无穷和收敛。
- 似然比技巧 (likelihood-ratio trick)
- 恒等式 ∇P = P·∇log P,把分布的梯度化为可采样的对数梯度。
- 得分函数 (score function)
- ∇log πθ(a|s),指向提高该动作概率的方向,条件均值为零。
- reward-to-go
- 从当前步起算的截断回报,因果性允许的无偏方差缩减。
- 基线 (baseline)
- 与动作、参数无关的减项 b(s):不改变期望,降低方差。
- 优势函数 (advantage function)
- A(s, a) = Q(s, a) − V(s),动作比状态平均好多少。
- 重要性采样 (importance sampling)
- 以比值 πθ/πold 把期望搬到旧数据名下,复用样本。
- 稀疏奖励 (sparse reward)
- 只有终局反馈的奖励结构;策略梯度在分子生成中的主要障碍。
参考文献与延伸阅读
- Sutton RS, Barto AG. 2018. Reinforcement Learning: An Introduction. 2nd ed. Cambridge (MA): MIT Press.
- Williams RJ. 1992. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Machine Learning 8:229–256.
- Greensmith E, Bartlett PL, Baxter J. 2004. Variance reduction techniques for gradient estimates in reinforcement learning. Journal of Machine Learning Research 5.
- Schulman J, Levine S, Moritz P, Jordan MI, Abbeel P. 2015. Trust region policy optimization. Proceedings of the 32nd International Conference on Machine Learning (PMLR 37).
- Schulman J, Moritz P, Levine S, Jordan M, Abbeel P. 2016. High-dimensional continuous control using generalized advantage estimation. International Conference on Learning Representations (ICLR).
- Schulman J, Wolski F, Dhariwal P, Radford A, Klimov O. 2017. Proximal policy optimization algorithms. arXiv:1707.06347.
- You J, Liu B, Ying Z, Pande V, Leskovec J. 2018. Graph convolutional policy network for goal-directed molecular graph generation. Advances in Neural Information Processing Systems 31 (NeurIPS 2018).