本模块把强化学习”翻译”成概率推断问题。我们先补齐变分推断(Variational Inference, VI) 的数学工具——ELBO、KL 散度、amortized VI、重参数化技巧;再引入最优性变量(optimality variable) O t \mathcal{O}_t O t ,把”轨迹是最优的”当作一次观测,对图模型做推断。你会看到 soft Bellman backup 如何从精确推断中掉出来,为什么天真的 forward-backward 推断会得到”过于乐观”的策略,以及如何用结构化变分下界 修正它,从而干净地导出最大熵 RL(MaxEnt RL) 目标,进而给出 Soft Q-Learning 与 SAC 的完整理论根基。
学习目标
能从 Jensen 不等式独立推出 ELBO ,并解释 ELBO 与 KL 的关系、“重建 − 正则”两项含义;
理解 amortized VI(用编码器网络输出后验参数)与重参数化技巧 为何让梯度可传;
写出 control-as-inference 的图模型,独立推导 soft backup :V ( s ) = α log ∫ exp ( Q / α ) d a V(s)=\alpha\log\int\exp(Q/\alpha)\,da V ( s ) = α log ∫ exp ( Q / α ) d a 、Q ( s , a ) = r + γ E [ V ( s ′ ) ] Q(s,a)=r+\gamma\,\mathbb{E}[V(s')] Q ( s , a ) = r + γ E [ V ( s ′ )] ;
说清楚”为什么精确后验策略过于乐观”、结构化 VI 如何固定动力学来修正,并由此得到 MaxEnt 目标 ∑ t E [ r + α H ( π ) ] \sum_t\mathbb{E}[r+\alpha\mathcal H(\pi)] ∑ t E [ r + α H ( π )] ;
推导 SAC 的软策略改进 (对指数化 Q 做 KL 投影)与温度自动调节 (带熵约束的对偶)。
编者按 · 批判性视角
编者判断:最大熵框架在大模型后训练中的直接联系,主要体现在 KL / entropy 正则所提供的解释框架;MaxEnt IRL 与奖励模型训练的实际采用情况取决于具体系统,不宜据此作普遍排序。
1. 为什么把”控制”写成”推断”
标准 RL 把问题写成”最大化期望回报”的最优化:π ⋆ = arg max π E τ ∼ π [ ∑ t r t ] \pi^\star=\arg\max_\pi \mathbb{E}_{\tau\sim\pi}[\sum_t r_t] π ⋆ = arg max π E τ ∼ π [ ∑ t r t ] 。这是一个确定性的目标——最优策略往往是确定性 的(在每个状态挑 arg max a Q \arg\max_a Q arg max a Q )。而控制即推断(control as inference) 提出另一个视角:把智能体的行为看成一个概率图模型,把”这条轨迹是好的/最优的”当成一次证据(evidence) ,然后问”在观测到最优的条件下,动作的后验分布是什么? ”
举例
像破案或看病:法医不会先设定”凶手该怎么走”,而是先接受”人确实死了”这个既成事实,再反推 最可能是哪串动作导致的;医生也是先看到”化验单异常”,再倒推病因。控制即推断用的是同一套逆向思维:把”任务成功了”当成已经观测到的证据 O = 1 \mathcal{O}=1 O = 1 ,然后问”在成功的前提下,每一步动作最可能是什么 ”。于是”求最优策略”就被翻译成了”给定成功、反解动作的后验分布”。
这个视角有三重价值 [1] :
统一语言 :把 RL 与图模型、EM、变分推断、概率编程放进同一框架,从而能借用成熟的推断算法(消息传递、变分下界、采样)。
解释随机性 :真实人类/动物行为并非严格最优,而是”接近最优、带随机”。推断视角天然给出随机策略 ,其随机程度由”最优性证据的强度”控制。
导出最大熵 RL :推断视角自然产生带熵正则的目标,这正是 Soft Q-Learning 与 SAC 的理论根基。
本质 Insight
为什么”控制”能被写成”推断”?因为二者共享同一个数学骨架:对数配分函数的最大化 。最优化 max \max max 是 log ∑ exp \log\sum\exp log ∑ exp 在温度 → 0 \to 0 → 0 时的极限(hardmax);而推断里的边缘化 log ∑ exp \log\sum\exp log ∑ exp 是”软化”的 max \max max (softmax)。控制即推断本质上是:把 RL 目标里的硬 max 换成软 max(log-sum-exp) ,随之而来的”多出的那一项”恰好是策略熵。温度 α \alpha α 就是这个软硬之间的旋钮。后面每一步推导都会印证这个骨架。
批判性追问:“控制即推断 = RL”是等号,还是口号?
常听到”控制即推断只是 RL 的另一种写法”。要分清:朴素(精确后向推断)版本并不等于标准 RL——它解的其实是另一个问题 。精确推断里 Q = r + log E s ′ [ e V ] Q=r+\log\mathbb E_{s'}[e^{V}] Q = r + log E s ′ [ e V ] 用的是软最大化算子 ,会对动力学随机性也取乐观的 soft max,本质是一个风险寻求(risk-seeking) 的最优控制;对 V V V 在 E [ V ] \mathbb E[V] E [ V ] 附近做二阶展开,它比”诚实”的 E [ V ] \mathbb E[V] E [ V ] 每步系统性高出约 1 2 Var [ V ( s ′ ) ] \tfrac12\operatorname{Var}[V(s')] 2 1 Var [ V ( s ′ )] ,而且这份乐观会沿 Bellman 备份逐层累积 (后继价值方差越大、时域越长,偏差越可观)。等号只在两种情形下成立:其一,动力学确定性 (Var [ V ] = 0 \operatorname{Var}[V]=0 Var [ V ] = 0 ,偏差自动消失);其二,先用结构化变分 把动力学钉死为真实转移、只优化策略(第 6 节),才把乐观项抹掉、干净退回”真实动力学下的 MaxEnt RL”。所以严谨的表述是:“控制即推断 = MaxEnt RL”只对结构化变分修正后的版本成立 ,而不是那句朗朗上口的口号所暗示的”任何推断都等于 RL”。
图 1:硬最大化 vs 软最大化。RL 用 hardmax 挑最优动作;控制即推断用 softmax(log-sum-exp)给出随机策略,温度 α 控制软硬。
2. 变分推断基础:ELBO 与 KL
先把推断工具备齐。设有隐变量模型 p θ ( x , z ) = p θ ( x ∣ z ) p ( z ) p_\theta(x,z)=p_\theta(x|z)p(z) p θ ( x , z ) = p θ ( x ∣ z ) p ( z ) ,其中 x x x 为观测、z z z 为隐变量。我们想做两件事:(1)计算边缘似然 p θ ( x ) = ∫ p θ ( x , z ) d z p_\theta(x)=\int p_\theta(x,z)\,dz p θ ( x ) = ∫ p θ ( x , z ) d z 以做最大似然学习;(2)推断后验 p θ ( z ∣ x ) p_\theta(z|x) p θ ( z ∣ x ) 。二者都因积分难解而棘手。变分推断的思路:引入一个可处理的近似后验 q ϕ ( z ∣ x ) q_\phi(z|x) q ϕ ( z ∣ x ) ,用优化把它逼近真后验。
2.1 ELBO:证据下界
手上真正关心、却算不动 的是边缘似然 log p θ ( x ) \log p_\theta(x) log p θ ( x ) (要对隐变量 z z z 积分)。变分推断的破题思路是:不硬算它,而是给它造一个能梯度优化的下界 。做法只需一步恒等变形 ——引入任意可处理的 q ϕ ( z ∣ x ) q_\phi(z|x) q ϕ ( z ∣ x ) ,就能把 log p θ ( x ) \log p_\theta(x) log p θ ( x ) 精确 拆成”一个可算的期望项”加”一个恒非负的 KL 项”:
log p θ ( x ) = E q ϕ ( z ∣ x ) [ log p θ ( x , z ) q ϕ ( z ∣ x ) ] ⏟ L ( θ , ϕ ; x ) (ELBO) + D K L ( q ϕ ( z ∣ x ) ∥ p θ ( z ∣ x ) ) ⏟ ≥ 0 . (7.1) \log p_\theta(x) = \underbrace{\mathbb{E}_{q_\phi(z|x)}\!\Big[\log\frac{p_\theta(x,z)}{q_\phi(z|x)}\Big]}_{\displaystyle \mathcal{L}(\theta,\phi;x)\ \text{(ELBO)}} + \underbrace{D_{\mathrm{KL}}\!\big(q_\phi(z|x)\,\|\,p_\theta(z|x)\big)}_{\ge 0}. \tag{7.1} log p θ ( x ) = L ( θ , ϕ ; x ) ( ELBO ) E q ϕ ( z ∣ x ) [ log q ϕ ( z ∣ x ) p θ ( x , z ) ] + ≥ 0 D KL ( q ϕ ( z ∣ x ) ∥ p θ ( z ∣ x ) ) . ( 7.1 )
因为 KL ≥ 0 \ge 0 ≥ 0 ,所以 log p θ ( x ) ≥ L ( θ , ϕ ; x ) \log p_\theta(x)\ge \mathcal{L}(\theta,\phi;x) log p θ ( x ) ≥ L ( θ , ϕ ; x ) ——这就是证据下界(Evidence Lower BOund, ELBO) 。最大化 ELBO 同时做两件事:把下界推高(学 θ \theta θ ,做近似 MLE)、把 KL 压小(学 ϕ \phi ϕ ,让 q q q 逼近真后验)。
举例
真后验 p ( z ∣ x ) p(z|x) p ( z ∣ x ) 常像一个形状怪异、面积算不出来的湖泊;变分推断的做法是拿一个”标准件”——比如一枚可调的椭圆 q = N ( μ , σ 2 ) q=\mathcal{N}(\mu,\sigma^2) q = N ( μ , σ 2 ) ——去套住它。要直接量不规则湖泊的面积很难,就转而调这个椭圆,让它尽量贴合湖岸。最大化 ELBO 就是在拧 μ , σ \mu,\sigma μ , σ 这两个旋钮把椭圆往湖上贴;贴不严实剩下的那条缝,恰好就是那一项 K L ( q ∥ p ) \mathrm{KL}(q\|p) KL ( q ∥ p ) 。这样”算不动的难分布”就被”好算的近似分布”替代了。
推导:ELBO 分解(两条等价路径,逐步)
关键假设
q ϕ ( z ∣ x ) q_\phi(z|x) q ϕ ( z ∣ x ) 是任意满足 q ϕ ( z ∣ x ) > 0 q_\phi(z|x)>0 q ϕ ( z ∣ x ) > 0 (在 p p p 支撑集上)的合法分布;期望与积分可交换(Fubini 成立)。
路径 A(乘 1 再拆)。 从定义出发:
log p θ ( x ) = log ∫ p θ ( x , z ) d z = log ∫ q ϕ ( z ∣ x ) p θ ( x , z ) q ϕ ( z ∣ x ) d z . (7.2) \log p_\theta(x) = \log \int p_\theta(x,z)\,dz = \log \int q_\phi(z|x)\,\frac{p_\theta(x,z)}{q_\phi(z|x)}\,dz. \tag{7.2} log p θ ( x ) = log ∫ p θ ( x , z ) d z = log ∫ q ϕ ( z ∣ x ) q ϕ ( z ∣ x ) p θ ( x , z ) d z . ( 7.2 )
把它写成期望并用 Jensen 不等式 (log \log log 是凹函数,log E [ Y ] ≥ E [ log Y ] \log\mathbb{E}[Y]\ge\mathbb{E}[\log Y] log E [ Y ] ≥ E [ log Y ] ):
= log E q ϕ [ p θ ( x , z ) q ϕ ( z ∣ x ) ] ≥ E q ϕ [ log p θ ( x , z ) q ϕ ( z ∣ x ) ] = L . (7.3) = \log \mathbb{E}_{q_\phi}\!\Big[\frac{p_\theta(x,z)}{q_\phi(z|x)}\Big] \ \ge\ \mathbb{E}_{q_\phi}\!\Big[\log\frac{p_\theta(x,z)}{q_\phi(z|x)}\Big] = \mathcal{L}. \tag{7.3} = log E q ϕ [ q ϕ ( z ∣ x ) p θ ( x , z ) ] ≥ E q ϕ [ log q ϕ ( z ∣ x ) p θ ( x , z ) ] = L . ( 7.3 )
路径 B(恒等式,给出精确 gap)。 注意 p θ ( x , z ) = p θ ( z ∣ x ) p θ ( x ) p_\theta(x,z)=p_\theta(z|x)p_\theta(x) p θ ( x , z ) = p θ ( z ∣ x ) p θ ( x ) ,代入 ELBO:
L = E q ϕ [ log p θ ( z ∣ x ) p θ ( x ) q ϕ ( z ∣ x ) ] = log p θ ( x ) − E q ϕ [ log q ϕ ( z ∣ x ) p θ ( z ∣ x ) ] = log p θ ( x ) − D K L ( q ϕ ∥ p θ ( ⋅ ∣ x ) ) . (7.4) \mathcal{L}=\mathbb{E}_{q_\phi}\!\Big[\log\frac{p_\theta(z|x)p_\theta(x)}{q_\phi(z|x)}\Big] = \log p_\theta(x) - \mathbb{E}_{q_\phi}\!\Big[\log\frac{q_\phi(z|x)}{p_\theta(z|x)}\Big] = \log p_\theta(x) - D_{\mathrm{KL}}(q_\phi\|p_\theta(\cdot|x)). \tag{7.4} L = E q ϕ [ log q ϕ ( z ∣ x ) p θ ( z ∣ x ) p θ ( x ) ] = log p θ ( x ) − E q ϕ [ log p θ ( z ∣ x ) q ϕ ( z ∣ x ) ] = log p θ ( x ) − D KL ( q ϕ ∥ p θ ( ⋅ ∣ x )) . ( 7.4 )
移项即得分解式,且明确了 gap 恰为 KL。局限 :ELBO 用的是”反向 KL” D K L ( q ∥ p ) D_{\mathrm{KL}}(q\|p) D KL ( q ∥ p ) ,具有模式寻求(mode-seeking) 倾向——当真后验多峰时,q q q 往往只锁定一个峰,导致后验被低估、不确定性被压小。
2.2 ELBO 的”重建 − 正则”分解
把联合概率写回 p θ ( x , z ) = p θ ( x ∣ z ) p ( z ) p_\theta(x,z)=p_\theta(x|z)p(z) p θ ( x , z ) = p θ ( x ∣ z ) p ( z ) ,ELBO 变成机器学习里最常见的形式:
L ( θ , ϕ ; x ) = E q ϕ ( z ∣ x ) [ log p θ ( x ∣ z ) ] ⏟ 重建项 reconstruction − D K L ( q ϕ ( z ∣ x ) ∥ p ( z ) ) ⏟ 正则项 regularizer . (7.5) \mathcal{L}(\theta,\phi;x)=\underbrace{\mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)]}_{\text{重建项 reconstruction}} - \underbrace{D_{\mathrm{KL}}\big(q_\phi(z|x)\,\|\,p(z)\big)}_{\text{正则项 regularizer}}. \tag{7.5} L ( θ , ϕ ; x ) = 重建项 reconstruction E q ϕ ( z ∣ x ) [ log p θ ( x ∣ z )] − 正则项 regularizer D KL ( q ϕ ( z ∣ x ) ∥ p ( z ) ) . ( 7.5 )
这正是 VAE(变分自编码器) 的训练目标:编码器 q ϕ q_\phi q ϕ 把 x x x 压成隐码 z z z ,解码器 p θ p_\theta p θ 重建 x x x ,同时 KL 项把隐码后验拉向先验 p ( z ) p(z) p ( z ) (通常取标准正态)。
3. Amortized VI 与重参数化技巧
朴素 VI 为每个数据点 x ( i ) x^{(i)} x ( i ) 单独优化一组变分参数 ϕ ( i ) \phi^{(i)} ϕ ( i ) ,昂贵且不可泛化。Amortized VI(摊销变分推断) 改为学一个共享的推断网络(编码器) q ϕ ( z ∣ x ) q_\phi(z|x) q ϕ ( z ∣ x ) :输入 x x x ,输出后验参数(如高斯的 μ ϕ ( x ) , σ ϕ ( x ) \mu_\phi(x),\sigma_\phi(x) μ ϕ ( x ) , σ ϕ ( x ) )。“摊销”指用一次网络前向把推断成本分摊到所有数据点上——代价是引入摊销间隙(amortization gap) :单个网络未必对每个点都给出最优 ϕ \phi ϕ 。
3.1 重参数化技巧
要用梯度上升最大化 L \mathcal{L} L ,需要对 ϕ \phi ϕ 求梯度。重建项 E q ϕ ( z ∣ x ) [ f ( z ) ] \mathbb{E}_{q_\phi(z|x)}[f(z)] E q ϕ ( z ∣ x ) [ f ( z )] 的期望分布依赖 ϕ \phi ϕ ,直接求导困难(分数梯度/REINFORCE 估计方差大)。重参数化技巧(reparameterization trick) 把随机性挪到一个与 ϕ \phi ϕ 无关的噪声上:
z = g ϕ ( ϵ , x ) = μ ϕ ( x ) + σ ϕ ( x ) ⊙ ϵ , ϵ ∼ N ( 0 , I ) . (7.6) z=g_\phi(\epsilon,x)=\mu_\phi(x)+\sigma_\phi(x)\odot\epsilon,\qquad \epsilon\sim\mathcal{N}(0,I). \tag{7.6} z = g ϕ ( ϵ , x ) = μ ϕ ( x ) + σ ϕ ( x ) ⊙ ϵ , ϵ ∼ N ( 0 , I ) . ( 7.6 )
于是 E q ϕ [ f ( z ) ] = E ϵ ∼ N ( 0 , I ) [ f ( g ϕ ( ϵ , x ) ) ] \mathbb{E}_{q_\phi}[f(z)]=\mathbb{E}_{\epsilon\sim\mathcal N(0,I)}[f(g_\phi(\epsilon,x))] E q ϕ [ f ( z )] = E ϵ ∼ N ( 0 , I ) [ f ( g ϕ ( ϵ , x ))] ,期望分布不再依赖 ϕ \phi ϕ ,可直接把梯度穿过 采样:
∇ ϕ E q ϕ [ f ( z ) ] = E ϵ [ ∇ ϕ f ( g ϕ ( ϵ , x ) ) ] . (7.7) \nabla_\phi\,\mathbb{E}_{q_\phi}[f(z)] = \mathbb{E}_{\epsilon}\big[\nabla_\phi f(g_\phi(\epsilon,x))\big]. \tag{7.7} ∇ ϕ E q ϕ [ f ( z )] = E ϵ [ ∇ ϕ f ( g ϕ ( ϵ , x )) ] . ( 7.7 )
为什么方差更低
分数梯度估计 ∇ ϕ E q ϕ [ f ] = E q ϕ [ f ( z ) ∇ ϕ log q ϕ ( z ∣ x ) ] \nabla_\phi\mathbb{E}_{q_\phi}[f]=\mathbb{E}_{q_\phi}[f(z)\nabla_\phi\log q_\phi(z|x)] ∇ ϕ E q ϕ [ f ] = E q ϕ [ f ( z ) ∇ ϕ log q ϕ ( z ∣ x )] 只用到 f f f 的取值 ,不用其梯度;重参数化则利用 ∇ z f \nabla_z f ∇ z f 的方向信息,在许多连续可微模型中通常能得到方差更低的梯度估计。具体差异取决于模型、估计量和任务。代价:要求 z z z 连续且 g ϕ g_\phi g ϕ 可微(离散隐变量需 Gumbel-Softmax 等松弛)。
本质 Insight
重参数化把”采样一个随机变量 ”改写成”对固定噪声做确定性变换 ”。这一改写让随机计算图变得可微,是 VAE、扩散模型、以及 SAC 里连续动作策略(a = tanh ( μ ϕ ( s ) + σ ϕ ( s ) ϵ ) a=\tanh(\mu_\phi(s)+\sigma_\phi(s)\epsilon) a = tanh ( μ ϕ ( s ) + σ ϕ ( s ) ϵ ) )能用反向传播端到端训练的共同基石。记住这一招——它在第 9 节 SAC 的策略更新中会原样复现。
4. 最优性变量与概率图模型
现在把 RL 塞进图模型。标准的轨迹分布(只由动力学与某个先验策略生成,不含奖励 )是:
p ( τ ) = p ( s 1 ) ∏ t = 1 T p ( s t + 1 ∣ s t , a t ) p ( a t ) , (7.8) p(\tau) = p(s_1)\prod_{t=1}^{T} p(s_{t+1}|s_t,a_t)\,p(a_t), \tag{7.8} p ( τ ) = p ( s 1 ) t = 1 ∏ T p ( s t + 1 ∣ s t , a t ) p ( a t ) , ( 7.8 )
其中 p ( a t ) p(a_t) p ( a t ) 是动作先验(常取均匀分布)。这个模型里没有”目标”。为了注入”我们想要高回报”,Levine 引入一组二元最优性变量(optimality variables) O t ∈ { 0 , 1 } \mathcal{O}_t\in\{0,1\} O t ∈ { 0 , 1 } ,并规定其似然与奖励指数挂钩:
p ( O t = 1 ∣ s t , a t ) = exp ( r ( s t , a t ) ) ( 要求 r ≤ 0 ,或吸收进比例常数 ) . (7.9) p(\mathcal{O}_t=1\,|\,s_t,a_t) = \exp\big(r(s_t,a_t)\big)\quad(\text{要求 }r\le 0\text{,或吸收进比例常数}) . \tag{7.9} p ( O t = 1 ∣ s t , a t ) = exp ( r ( s t , a t ) ) ( 要求 r ≤ 0 ,或吸收进比例常数 ) . ( 7.9 )
直觉:O t = 1 \mathcal{O}_t=1 O t = 1 表示”第 t t t 步的行为是(趋向)最优的”,奖励越高,这个事件越可能发生。于是”求解 RL”被翻译成:在观测到所有 O 1 : T = 1 \mathcal{O}_{1:T}=1 O 1 : T = 1 的条件下,推断动作后验 p ( a t ∣ s t , O 1 : T = 1 ) p(a_t|s_t,\mathcal{O}_{1:T}=1) p ( a t ∣ s t , O 1 : T = 1 ) 。
为什么偏偏取指数 e r e^{r} e r (而不是别的形状)
O t \mathcal{O}_t O t 是我们人为造出来 的一个二元”最优性开关”,它本身不来自环境,纯粹是为了给无目标的图模型注入”想要高回报”这一意图;而它的似然之所以选指数 ,是要把”逐步相加 的奖励”接到”逐步相乘 的概率”上。一整条轨迹全程最优的似然是各步连乘 ∏ t p ( O t = 1 ∣ s t , a t ) = exp ( ∑ t r t ) \prod_t p(\mathcal{O}_t{=}1|s_t,a_t)=\exp(\sum_t r_t) ∏ t p ( O t = 1∣ s t , a t ) = exp ( ∑ t r t ) ,取对数正好还原成累计回报 ∑ t r t \sum_t r_t ∑ t r t ——于是”轨迹后验 ∝ e ∑ t r \propto e^{\sum_t r} ∝ e ∑ t r “里概率最高的轨迹,恰是回报最高的轨迹,“求最优”与”求最可能”就此对齐。指数还有个副产品:它让第 5 节的边缘化(对动作积分)天然长成 log ∫ e Q \log\!\int e^{Q} log ∫ e Q 这个软 max(见式(7.13))。取值上只需能比较相对大小,故常要求 r ≤ 0 r\le 0 r ≤ 0 、或把整体尺度吸进后面出现的温度 α \alpha α 。
图 2:控制即推断的图模型。圆=隐(状态/动作),方块=观测到的最优性变量 O t \mathcal{O}_t O t 。奖励通过 p ( O t = 1 ∣ s t , a t ) = e r p(\mathcal{O}_t{=}1|s_t,a_t)=e^{r} p ( O t = 1∣ s t , a t ) = e r 进入模型。
局限 / 陷阱
该建模要求奖励能写进指数、且通常假设 r ≤ 0 r\le 0 r ≤ 0 (否则 e r e^{r} e r 不是概率、需归一化常数)。更微妙的是:把动力学 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p ( s t + 1 ∣ s t , a t ) 也放进这个联合模型意味着推断时”可以选择相信哪种转移会发生”——这正是第 6 节”过于乐观”问题的根源。先记住这个伏笔。
5. 精确推断:backward messages 与 soft value
做推断的标准工具是消息传递(belief propagation) 。定义后向消息(backward message) :给定当前处于 ( s t , a t ) (s_t,a_t) ( s t , a t ) 或 s t s_t s t ,未来所有最优性证据成立的概率。
β t ( s t , a t ) = p ( O t : T = 1 ∣ s t , a t ) , β t ( s t ) = p ( O t : T = 1 ∣ s t ) . (7.10) \beta_t(s_t,a_t)=p(\mathcal{O}_{t:T}=1\,|\,s_t,a_t),\qquad \beta_t(s_t)=p(\mathcal{O}_{t:T}=1\,|\,s_t). \tag{7.10} β t ( s t , a t ) = p ( O t : T = 1 ∣ s t , a t ) , β t ( s t ) = p ( O t : T = 1 ∣ s t ) . ( 7.10 )
做一次向后递归(从 t = T t=T t = T 到 t = 1 t=1 t = 1 ):
β t ( s t , a t ) = p ( O t ∣ s t , a t ) E s t + 1 ∼ p ( ⋅ ∣ s t , a t ) [ β t + 1 ( s t + 1 ) ] , β t ( s t ) = E a t ∼ p ( a t ) [ β t ( s t , a t ) ] . (7.11) \beta_t(s_t,a_t)=p(\mathcal{O}_t|s_t,a_t)\,\mathbb{E}_{s_{t+1}\sim p(\cdot|s_t,a_t)}\big[\beta_{t+1}(s_{t+1})\big],\qquad \beta_t(s_t)=\mathbb{E}_{a_t\sim p(a_t)}\big[\beta_t(s_t,a_t)\big]. \tag{7.11} β t ( s t , a t ) = p ( O t ∣ s t , a t ) E s t + 1 ∼ p ( ⋅ ∣ s t , a t ) [ β t + 1 ( s t + 1 ) ] , β t ( s t ) = E a t ∼ p ( a t ) [ β t ( s t , a t ) ] . ( 7.11 )
关键一步:取对数并定义 soft value(软价值) :
Q ( s t , a t ) ≜ log β t ( s t , a t ) , V ( s t ) ≜ log β t ( s t ) . (7.12) Q(s_t,a_t)\triangleq \log\beta_t(s_t,a_t),\qquad V(s_t)\triangleq \log\beta_t(s_t). \tag{7.12} Q ( s t , a t ) ≜ log β t ( s t , a t ) , V ( s t ) ≜ log β t ( s t ) . ( 7.12 )
代入递归(式(7.11))、并暂时忽略动力学期望里的 Jensen 项(见下方推导与警告),得到 soft Bellman backup :
V ( s t ) = log ∫ A exp ( Q ( s t , a t ) ) d a t ( 当 p ( a t ) 均匀时;即 V = softmax a Q ) (7.13) \boxed{\,V(s_t)=\log\int_{\mathcal A}\exp\big(Q(s_t,a_t)\big)\,da_t\,}\qquad(\text{当 }p(a_t)\text{ 均匀时;即 } V=\operatorname{softmax}_a Q) \tag{7.13} V ( s t ) = log ∫ A exp ( Q ( s t , a t ) ) d a t ( 当 p ( a t ) 均匀时;即 V = softmax a Q ) ( 7.13 )
Q ( s t , a t ) = r ( s t , a t ) + log E s t + 1 [ exp V ( s t + 1 ) ] (7.14) \boxed{\,Q(s_t,a_t)=r(s_t,a_t)+\log\mathbb{E}_{s_{t+1}}\big[\exp V(s_{t+1})\big]\,} \tag{7.14} Q ( s t , a t ) = r ( s t , a t ) + log E s t + 1 [ exp V ( s t + 1 ) ] ( 7.14 )
推导:从 backward message 到 soft backup(逐步)
关键假设
有限时域 T T T ;动作先验 p ( a t ) p(a_t) p ( a t ) 取均匀(否则 V V V 里会多一项 log p ( a t ) \log p(a_t) log p ( a t ) );边缘化用积分/求和;折扣暂设 γ = 1 \gamma=1 γ = 1 (可事后引入)。
第 1 步(V 层)。 由 β t ( s t ) = ∫ p ( a t ) β t ( s t , a t ) d a t \beta_t(s_t)=\int p(a_t)\,\beta_t(s_t,a_t)\,da_t β t ( s t ) = ∫ p ( a t ) β t ( s t , a t ) d a t ,两边取对数:
V ( s t ) = log ∫ p ( a t ) e Q ( s t , a t ) d a t . (7.15) V(s_t)=\log\int p(a_t)\,e^{Q(s_t,a_t)}\,da_t. \tag{7.15} V ( s t ) = log ∫ p ( a t ) e Q ( s t , a t ) d a t . ( 7.15 )
若 p ( a t ) = const p(a_t)=\text{const} p ( a t ) = const ,把常数吸收进配分(或纳入 r r r ),得 V ( s t ) = log ∫ e Q ( s t , a t ) d a t V(s_t)=\log\int e^{Q(s_t,a_t)}\,da_t V ( s t ) = log ∫ e Q ( s t , a t ) d a t 。这就是 log-sum-exp = soft max 。当某个 Q Q Q 远大于其它时,V ≈ max a Q V\approx\max_a Q V ≈ max a Q ;这解释了”软价值在极限下退化为硬价值”。
第 2 步(Q 层)。 由 β t ( s t , a t ) = p ( O t ∣ s t , a t ) E s t + 1 [ β t + 1 ( s t + 1 ) ] \beta_t(s_t,a_t)=p(\mathcal O_t|s_t,a_t)\,\mathbb{E}_{s_{t+1}}[\beta_{t+1}(s_{t+1})] β t ( s t , a t ) = p ( O t ∣ s t , a t ) E s t + 1 [ β t + 1 ( s t + 1 )] ,取对数并代入 p ( O t ∣ s t , a t ) = e r p(\mathcal O_t|s_t,a_t)=e^{r} p ( O t ∣ s t , a t ) = e r (式(7.9))、β t + 1 = e V ( s t + 1 ) \beta_{t+1}=e^{V(s_{t+1})} β t + 1 = e V ( s t + 1 ) (式(7.12)):
Q ( s t , a t ) = r ( s t , a t ) + log E s t + 1 ∼ p [ e V ( s t + 1 ) ] . (7.16) Q(s_t,a_t)=r(s_t,a_t)+\log\mathbb{E}_{s_{t+1}\sim p}\big[e^{V(s_{t+1})}\big]. \tag{7.16} Q ( s t , a t ) = r ( s t , a t ) + log E s t + 1 ∼ p [ e V ( s t + 1 ) ] . ( 7.16 )
局限(重要) :第 2 步(式(7.16))里出现的是 log E [ e V ] \log\mathbb{E}[e^{V}] log E [ e V ] 而不是 E [ V ] \mathbb{E}[V] E [ V ] 。这是一个”软最大化”式的风险寻求(risk-seeking) 算子——它会对动力学的随机性 也取 soft max,等价于”乐观地假设幸运的转移更常发生”。在确定性 动力学下 log E [ e V ] = V ( s t + 1 ) \log\mathbb E[e^V]=V(s_{t+1}) log E [ e V ] = V ( s t + 1 ) ,无害;但在随机 动力学下,对 V V V 在 E [ V ] \mathbb E[V] E [ V ] 附近做二阶展开(log E [ e X ] = E [ X ] + 1 2 Var [ X ] + ⋯ \log\mathbb E[e^X]=\mathbb E[X]+\tfrac12\operatorname{Var}[X]+\cdots log E [ e X ] = E [ X ] + 2 1 Var [ X ] + ⋯ )给出 log E [ e V ( s t + 1 ) ] ≈ E [ V ( s t + 1 ) ] + 1 2 Var [ V ( s t + 1 ) ] \log\mathbb E[e^{V(s_{t+1})}]\approx \mathbb E[V(s_{t+1})]+\tfrac12\operatorname{Var}\big[V(s_{t+1})\big] log E [ e V ( s t + 1 ) ] ≈ E [ V ( s t + 1 )] + 2 1 Var [ V ( s t + 1 ) ] ——即式(7.14) 比”诚实”的 E [ V ] \mathbb E[V] E [ V ] 系统性高出约 1 2 Var [ V ( s t + 1 ) ] \tfrac12\operatorname{Var}[V(s_{t+1})] 2 1 Var [ V ( s t + 1 )] (后继价值方差越大、乐观偏差越大;确定性转移下方差为 0、偏差消失)。这正是第 6 节要修正的问题。
本质 Insight
soft value 的本质是把”未来能成功(O t : T = 1 \mathcal O_{t:T}=1 O t : T = 1 )的对数概率”当作价值。硬 Bellman 里 V = max a Q V=\max_a Q V = max a Q 是”选最好的动作”;soft Bellman 里 V = log ∑ a e Q V=\log\sum_a e^{Q} V = log ∑ a e Q 是”对所有动作按 e Q e^Q e Q 加权求和”。二者只差一个温度:把 Q → Q / α Q\to Q/\alpha Q → Q / α 、再乘回 α \alpha α ,V = α log ∫ e Q / α d a V=\alpha\log\int e^{Q/\alpha}da V = α log ∫ e Q / α d a ,当 α → 0 \alpha\to0 α → 0 就还原成硬 max。推断天然给出软版本,因为边缘化(积分)就是软 max。
图 3:从终止时刻向初始时刻递归传播后向消息 β t \beta_t β t ,取对数即得 soft value 的 Bellman 递归。
5.1 后验策略
有了前向-后向消息,可得动作后验(“给定当前及未来都最优”):
p ( a t ∣ s t , O t : T = 1 ) = p ( a t ) β t ( s t , a t ) β t ( s t ) ∝ exp ( Q ( s t , a t ) − V ( s t ) ) = exp ( A ( s t , a t ) ) , (7.17) p(a_t|s_t,\mathcal{O}_{t:T}=1)=\frac{p(a_t)\,\beta_t(s_t,a_t)}{\beta_t(s_t)}\ \propto\ \exp\big(Q(s_t,a_t)-V(s_t)\big)=\exp\big(A(s_t,a_t)\big), \tag{7.17} p ( a t ∣ s t , O t : T = 1 ) = β t ( s t ) p ( a t ) β t ( s t , a t ) ∝ exp ( Q ( s t , a t ) − V ( s t ) ) = exp ( A ( s t , a t ) ) , ( 7.17 )
其中 A = Q − V A=Q-V A = Q − V 是 soft advantage。结论:最优后验策略是”对 soft advantage 做 Boltzmann/softmax” :π ( a ∣ s ) ∝ e A ( s , a ) \pi(a|s)\propto e^{A(s,a)} π ( a ∣ s ) ∝ e A ( s , a ) 。这是 Soft Q-Learning 的策略形式(第 8 节)。
6. 为什么朴素推断”过于乐观”
上面的精确推断有一个致命问题。后验策略 p ( a t ∣ s t , O ) p(a_t|s_t,\mathcal O) p ( a t ∣ s t , O ) 固然合理,但如果我们同时看后验的状态转移 p ( s t + 1 ∣ s t , a t , O 1 : T ) p(s_{t+1}|s_t,a_t,\mathcal O_{1:T}) p ( s t + 1 ∣ s t , a t , O 1 : T ) ,会发现它不等于 真实动力学 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p ( s t + 1 ∣ s t , a t ) !推断”篡改”了动力学,偏向那些能带来高未来回报的转移。
局限 / 陷阱:乐观偏差
后验 p ( s t + 1 ∣ s t , a t , O t : T ) ∝ p ( s t + 1 ∣ s t , a t ) e V ( s t + 1 ) p(s_{t+1}|s_t,a_t,\mathcal O_{t:T})\propto p(s_{t+1}|s_t,a_t)\,e^{V(s_{t+1})} p ( s t + 1 ∣ s t , a t , O t : T ) ∝ p ( s t + 1 ∣ s t , a t ) e V ( s t + 1 ) 会把概率质量搬向 V V V 高的后继状态。含义:智能体”假设自己走运”——面对随机环境时,它相信危险的赌博会以更高概率给出好结果。若照此后验行动,会在真实(未被篡改的)环境里表现糟糕。这就是”naive forward-backward 得到乐观策略”的精确含义。
6.1 用结构化变分推断修正
修正方法:不去求精确后验(它允许改动力学),而是限制近似后验的结构 ——强制它的动力学等于真实动力学,只让策略自由。这就是结构化变分推断(structured VI) 。设变分分布:
q ( τ ) = p ( s 1 ) ∏ t = 1 T p ( s t + 1 ∣ s t , a t ) ⏟ 固定=真实动力学 π ( a t ∣ s t ) ⏟ 待优化 . (7.18) q(\tau)=p(s_1)\prod_{t=1}^{T} \underbrace{p(s_{t+1}|s_t,a_t)}_{\text{固定=真实动力学}}\ \underbrace{\pi(a_t|s_t)}_{\text{待优化}}. \tag{7.18} q ( τ ) = p ( s 1 ) t = 1 ∏ T 固定 = 真实动力学 p ( s t + 1 ∣ s t , a t ) 待优化 π ( a t ∣ s t ) . ( 7.18 )
为什么这样 · 能不能不这样
为什么绕道去最大化一个变分下界,而不直接用第 5 节那个能精确算出的后验策略 π ∝ e A \pi\propto e^{A} π ∝ e A (式(7.17))? 因为精确后验虽然可算,却是在”允许推断顺便挑选幸运转移”的联合模型里解出来的——它等价于偷偷把动力学也当成可优化的隐变量,得到风险寻求、系统性乐观的策略(每步高估约 1 2 Var [ V ] \tfrac12\operatorname{Var}[V] 2 1 Var [ V ] ,见第 6 节)。能不能不要下界、就用精确后验? 可以,但代价是策略会在真实随机环境里”赌自己走运”、真机上翻车。结构化变分的取舍是:把转移项钉死为真实动力学 、只留策略自由(式(7.18)),用”只能拿到一个下界、且 q q q 的表达力(如策略仅取高斯)会限制可逼近程度”这点妥协,换回”在真实动力学下诚实决策”——在随机环境里这笔交易几乎总是值得的。
注意关键设计:q q q 里的转移项钉死为真实动力学 ,不可优化;只有策略 π ( a t ∣ s t ) \pi(a_t|s_t) π ( a t ∣ s t ) 是自由参数。现在最大化 ELBO(把”证据”取为 O 1 : T = 1 \mathcal O_{1:T}=1 O 1 : T = 1 ,log p ( O 1 : T = 1 ) ≥ L \log p(\mathcal O_{1:T}=1)\ge \mathcal L log p ( O 1 : T = 1 ) ≥ L ):
L = E τ ∼ q [ log p ( τ , O 1 : T ) − log q ( τ ) ] . (7.19) \mathcal{L}=\mathbb{E}_{\tau\sim q}\Big[\log p(\tau,\mathcal O_{1:T}) - \log q(\tau)\Big]. \tag{7.19} L = E τ ∼ q [ log p ( τ , O 1 : T ) − log q ( τ ) ] . ( 7.19 )
推导:结构化 ELBO → 最大熵目标(逐步,动力学项相消)
关键假设
q ( τ ) q(\tau) q ( τ ) 与先验 p ( τ ) p(\tau) p ( τ ) 共用同一真实动力学 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p ( s t + 1 ∣ s t , a t ) 、同一初始分布 p ( s 1 ) p(s_1) p ( s 1 ) ;动作先验 p ( a t ) p(a_t) p ( a t ) 取均匀(吸收进常数)。
第 1 步:写出两个联合。
p ( τ , O 1 : T ) = p ( s 1 ) ∏ t p ( s t + 1 ∣ s t , a t ) p ( a t ) e r ( s t , a t ) , q ( τ ) = p ( s 1 ) ∏ t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) . (7.20) p(\tau,\mathcal O_{1:T})=p(s_1)\prod_t p(s_{t+1}|s_t,a_t)\,p(a_t)\,e^{r(s_t,a_t)},\qquad q(\tau)=p(s_1)\prod_t p(s_{t+1}|s_t,a_t)\,\pi(a_t|s_t). \tag{7.20} p ( τ , O 1 : T ) = p ( s 1 ) t ∏ p ( s t + 1 ∣ s t , a t ) p ( a t ) e r ( s t , a t ) , q ( τ ) = p ( s 1 ) t ∏ p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) . ( 7.20 )
第 2 步:作比,动力学与初始分布相消。 因为 q q q 与 p p p 共享 p ( s 1 ) p(s_1) p ( s 1 ) 与所有 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p ( s t + 1 ∣ s t , a t ) :
log p ( τ , O ) q ( τ ) = ∑ t [ log p ( a t ) + r ( s t , a t ) − log π ( a t ∣ s t ) ] . (7.21) \log\frac{p(\tau,\mathcal O)}{q(\tau)}=\sum_t\Big[\log p(a_t)+r(s_t,a_t)-\log\pi(a_t|s_t)\Big]. \tag{7.21} log q ( τ ) p ( τ , O ) = t ∑ [ log p ( a t ) + r ( s t , a t ) − log π ( a t ∣ s t ) ] . ( 7.21 )
第 3 步:取期望,均匀先验 log p ( a t ) \log p(a_t) log p ( a t ) 为常数(记作 0)。
L = E τ ∼ q [ ∑ t r ( s t , a t ) − log π ( a t ∣ s t ) ] = ∑ t E ( s t , a t ) ∼ q [ r ( s t , a t ) + H ( π ( ⋅ ∣ s t ) ) ] , (7.22) \mathcal{L}=\mathbb{E}_{\tau\sim q}\Big[\sum_t r(s_t,a_t)-\log\pi(a_t|s_t)\Big]=\sum_t \mathbb{E}_{(s_t,a_t)\sim q}\big[r(s_t,a_t)+\mathcal H(\pi(\cdot|s_t))\big], \tag{7.22} L = E τ ∼ q [ t ∑ r ( s t , a t ) − log π ( a t ∣ s t ) ] = t ∑ E ( s t , a t ) ∼ q [ r ( s t , a t ) + H ( π ( ⋅ ∣ s t )) ] , ( 7.22 )
其中用到 − E a ∼ π [ log π ( a ∣ s ) ] = H ( π ( ⋅ ∣ s ) ) -\mathbb{E}_{a\sim\pi}[\log\pi(a|s)]=\mathcal H(\pi(\cdot|s)) − E a ∼ π [ log π ( a ∣ s )] = H ( π ( ⋅ ∣ s )) (策略熵)。这就是最大熵 RL 目标 。
为什么修好了乐观问题? 因为 q q q 的期望 E τ ∼ q \mathbb{E}_{\tau\sim q} E τ ∼ q 是在真实动力学 下取的——我们不再允许推断去挑选幸运转移。剩下的自由只在策略上,于是得到”在真实随机性下最大化 期望奖励 + 策略熵”的干净目标。局限 :结构化 VI 是下界近似,q q q 的表达力(如策略仅取高斯)会限制能逼近的最优程度;且此推导默认能对整条轨迹的 q q q 采样(on-policy)。
本质 Insight
朴素推断的病根是”把动力学也当可优化的隐变量”。结构化 VI 的修法极其朴素却深刻:把你不该控制的东西(环境动力学)从优化变量里剔除 ,只优化你真正能控制的东西(策略)。这与因果推断里”do 算子固定机制、只干预策略”的精神一致——它把”乐观地相信好运”改成了”在真实随机性下做最好的随机策略”。
7. 结构化变分修正与 MaxEnt 目标
上一步的结论值得单独立起来。最大熵强化学习(Maximum Entropy RL, MaxEnt RL) 的目标是:
J ( π ) = ∑ t E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] (7.23) \boxed{\,J(\pi)=\sum_{t}\mathbb{E}_{(s_t,a_t)\sim\rho_\pi}\Big[r(s_t,a_t)+\alpha\,\mathcal H\big(\pi(\cdot|s_t)\big)\Big]\,} \tag{7.23} J ( π ) = t ∑ E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] ( 7.23 )
为什么这样 · 能不能不这样
为什么要在目标里挂一个熵项 α H ( π ) \alpha\,\mathcal H(\pi) α H ( π ) ,而不是就用标准 RL 的 max π E [ ∑ t r ] \max_\pi\mathbb E[\sum_t r] max π E [ ∑ t r ] ? 因为这里的熵项不是事后外加的探索补丁,而是”在真实动力学下对指数化奖励做结构化推断”必然掉出来的那一项(正是式(7.22) 的推导结果)——它把探索、鲁棒、多模态一并写进了同一个目标,无需为它们各设计一个机制。能不能不要它、直接退回标准 RL? 可以,那恰是 α → 0 \alpha\to0 α → 0 的零温极限(式(7.48)):softmax 坍缩成 hardmax、随机策略坍缩成确定性贪婪,于是探索只能靠 ε \varepsilon ε -greedy / 外加动作噪声这类启发式外挂 ,也拿不到熵项对”有界奖励扰动”的鲁棒对偶、以及在多个近优解上分摊概率的多模态。换来的好处是”训练更简单、少一个温度要调”,代价则是把探索与鲁棒重新甩回给算法之外的手工设计。
举例
上班有三条路,用时都约 30 分钟。确定性策略会咬死永远只走第 1 条;最大熵策略则本着”差不多好的就都留一手”,把概率分给三条,比如 40%/35%/25%,而不是孤注一掷。好处在某天第 1 条突然修路堵死时立刻显现:你早已熟悉另两条、换路毫不慌乱。熵项花钱买来的,正是这种”不把鸡蛋放一个篮子”的探索与鲁棒。
其中 α > 0 \alpha>0 α > 0 是温度(temperature) ,权衡”追求奖励”与”保持随机(探索/鲁棒)“。它对应把 p ( O t ∣ s t , a t ) = exp ( r / α ) p(\mathcal O_t|s_t,a_t)=\exp(r/\alpha) p ( O t ∣ s t , a t ) = exp ( r / α ) 的温度显式化。对应的 soft value 函数满足带温度的 soft Bellman 方程:
Q soft ( s , a ) = r ( s , a ) + γ E s ′ [ V soft ( s ′ ) ] , V soft ( s ) = α log ∫ A exp ( 1 α Q soft ( s , a ) ) d a . (7.24) Q_{\text{soft}}(s,a)=r(s,a)+\gamma\,\mathbb{E}_{s'}\big[V_{\text{soft}}(s')\big],\qquad V_{\text{soft}}(s)=\alpha\log\int_{\mathcal A}\exp\!\Big(\tfrac{1}{\alpha}Q_{\text{soft}}(s,a)\Big)da. \tag{7.24} Q soft ( s , a ) = r ( s , a ) + γ E s ′ [ V soft ( s ′ ) ] , V soft ( s ) = α log ∫ A exp ( α 1 Q soft ( s , a ) ) d a . ( 7.24 )
(注意这里 Q 递归用的是真实动力学下的 E s ′ [ V ] \mathbb{E}_{s'}[V] E s ′ [ V ] ——结构化 VI 已把式(7.16) 那个乐观的 log E [ e V ] \log\mathbb E[e^V] log E [ e V ] 换成了正常期望 E [ V ] \mathbb E[V] E [ V ] ,正好抹掉了上面那约 1 2 Var [ V ] \tfrac12\operatorname{Var}[V] 2 1 Var [ V ] 的乐观偏差 。)最优 MaxEnt 策略为 Boltzmann 形式:
π ⋆ ( a ∣ s ) = exp ( 1 α ( Q soft ( s , a ) − V soft ( s ) ) ) , V soft = α log ∫ e Q soft / α . (7.25) \pi^\star(a|s)=\exp\!\Big(\tfrac{1}{\alpha}\big(Q_{\text{soft}}(s,a)-V_{\text{soft}}(s)\big)\Big),\qquad V_{\text{soft}}=\alpha\log\!\int e^{Q_{\text{soft}}/\alpha}. \tag{7.25} π ⋆ ( a ∣ s ) = exp ( α 1 ( Q soft ( s , a ) − V soft ( s ) ) ) , V soft = α log ∫ e Q soft / α . ( 7.25 )
本质 Insight:温度 α 的本质
α \alpha α 有三种等价读法:(1) 奖励尺度的倒数 ——把奖励整体放大 1 / α 1/\alpha 1/ α 倍等于降低温度;(2) 软硬旋钮 ——α → 0 \alpha\to0 α → 0 时 V → max a Q V\to\max_a Q V → max a Q 、策略 → \to → 确定性贪婪,退回标准 RL;α → ∞ \alpha\to\infty α → ∞ 时策略 → \to → 均匀随机;(3) 熵的”价格” ——它是”每 nat 熵值多少奖励”的兑换率。SAC 的温度自动调节(第 9 节)正是把 α \alpha α 当成一个对偶变量,让它自适应地维持某个目标熵。
举例
设某状态两个动作的 Q Q Q 分别为 3 和 1,按 π ∝ e Q / α \pi\propto e^{Q/\alpha} π ∝ e Q / α 算概率:α = 0.1 \alpha=0.1 α = 0.1 时约 1.00 1.00 1.00 对 0.00 0.00 0.00 ——几乎只挑最优动作,极度贪心;α = 1 \alpha=1 α = 1 时约 0.88 0.88 0.88 对 0.12 0.12 0.12 ——仍偏好最优但给次优留了缝;α = 10 \alpha=10 α = 10 时约 0.55 0.55 0.55 对 0.45 0.45 0.45 ——接近抛硬币,非常爱探索。同一组 Q Q Q 值不变,仅仅旋动温度,策略就从”孤注一掷”平滑滑到”广撒网”。这就是”α \alpha α 小=更贪心、α \alpha α 大=更随机”的字面含义。
8. Soft Q-Learning
Soft Q-Learning(SQL, 2017) 把 MaxEnt 的 soft Bellman 方程直接变成一个类 Q-learning 算法,并用 SVGD 训练采样网络来近似能量策略 [2] 。它拟合一个 soft Q 网络 Q θ Q_\theta Q θ ,目标(soft Bellman error):
L ( θ ) = E ( s , a , r , s ′ ) ∼ D [ ( Q θ ( s , a ) − y ^ ) 2 ] , y ^ = r + γ V θ ˉ ( s ′ ) , (7.26) \mathcal{L}(\theta)=\mathbb{E}_{(s,a,r,s')\sim\mathcal D}\Big[\big(Q_\theta(s,a)-\hat y\big)^2\Big],\qquad \hat y=r+\gamma\,V_{\bar\theta}(s'), \tag{7.26} L ( θ ) = E ( s , a , r , s ′ ) ∼ D [ ( Q θ ( s , a ) − y ^ ) 2 ] , y ^ = r + γ V θ ˉ ( s ′ ) , ( 7.26 )
V θ ˉ ( s ′ ) = α log ∫ A exp ( 1 α Q θ ˉ ( s ′ , a ′ ) ) d a ′ . (7.27) V_{\bar\theta}(s')=\alpha\log\int_{\mathcal A}\exp\!\Big(\tfrac1\alpha Q_{\bar\theta}(s',a')\Big)da'. \tag{7.27} V θ ˉ ( s ′ ) = α log ∫ A exp ( α 1 Q θ ˉ ( s ′ , a ′ ) ) d a ′ . ( 7.27 )
难点在于连续动作下 V V V 里的 log ∫ e Q / α \log\int e^{Q/\alpha} log ∫ e Q / α 无法解析。SQL 的解法:
估计 soft value :用重要性采样把 log ∫ e Q / α d a \log\int e^{Q/\alpha}da log ∫ e Q / α d a 写成 log E a ∼ μ [ e Q / α / μ ( a ) ] \log\mathbb{E}_{a\sim\mu}[e^{Q/\alpha}/\mu(a)] log E a ∼ μ [ e Q / α / μ ( a )] ,用样本估计(μ \mu μ 取某提议分布)。
采样最优策略 :由于 π ∝ e Q / α \pi\propto e^{Q/\alpha} π ∝ e Q / α 是任意形状的分布(连续动作下不可解析采样),SQL 训练一个随机采样网络(Stein Variational Gradient Descent, SVGD) a = f ϕ ( ξ , s ) a=f_\phi(\xi,s) a = f ϕ ( ξ , s ) ,把噪声 ξ \xi ξ 变换成服从 π \pi π 的动作样本。
推导:为什么 soft Q 迭代收敛(soft Bellman 算子是压缩)
关键假设
有界奖励、γ < 1 \gamma<1 γ < 1 、表格式(或算子在 ∞ \infty ∞ 范数下可评估)。
定义 soft Bellman 算子 ( T Q ) ( s , a ) = r ( s , a ) + γ E s ′ [ α log ∫ e Q ( s ′ , a ′ ) / α d a ′ ] (\mathcal T Q)(s,a)=r(s,a)+\gamma\,\mathbb E_{s'}\big[\alpha\log\int e^{Q(s',a')/\alpha}da'\big] ( T Q ) ( s , a ) = r ( s , a ) + γ E s ′ [ α log ∫ e Q ( s ′ , a ′ ) / α d a ′ ] 。要证 T \mathcal T T 是 γ \gamma γ -压缩。关键引理:log-sum-exp 是 1-Lipschitz(在 ∞ \infty ∞ 范数下非扩张) :对任意 Q 1 , Q 2 Q_1,Q_2 Q 1 , Q 2 ,
∣ α log ∫ e Q 1 / α − α log ∫ e Q 2 / α ∣ ≤ max a ′ ∣ Q 1 ( s ′ , a ′ ) − Q 2 ( s ′ , a ′ ) ∣ = ∥ Q 1 − Q 2 ∥ ∞ . (7.28) \Big|\alpha\log\!\int e^{Q_1/\alpha} - \alpha\log\!\int e^{Q_2/\alpha}\Big|\le \max_{a'}|Q_1(s',a')-Q_2(s',a')|=\|Q_1-Q_2\|_\infty. \tag{7.28} α log ∫ e Q 1 / α − α log ∫ e Q 2 / α ≤ a ′ max ∣ Q 1 ( s ′ , a ′ ) − Q 2 ( s ′ , a ′ ) ∣ = ∥ Q 1 − Q 2 ∥ ∞ . ( 7.28 )
(证:softmax 的加权平均落在 min 与 max 之间,故差不超过逐点差的上确界。)于是
∥ T Q 1 − T Q 2 ∥ ∞ ≤ γ E s ′ [ ∥ Q 1 − Q 2 ∥ ∞ ] ≤ γ ∥ Q 1 − Q 2 ∥ ∞ . (7.29) \|\mathcal T Q_1-\mathcal T Q_2\|_\infty\le \gamma\,\mathbb E_{s'}\big[\|Q_1-Q_2\|_\infty\big]\le\gamma\|Q_1-Q_2\|_\infty. \tag{7.29} ∥ T Q 1 − T Q 2 ∥ ∞ ≤ γ E s ′ [ ∥ Q 1 − Q 2 ∥ ∞ ] ≤ γ ∥ Q 1 − Q 2 ∥ ∞ . ( 7.29 )
由 Banach 不动点定理,soft Q 迭代收敛到唯一不动点 Q soft ⋆ Q_{\text{soft}}^\star Q soft ⋆ 。局限 :函数逼近 + off-policy + 自举依旧构成”致命三要素”,理论收敛不保证;连续动作下 V V V 的估计有偏。
局限 / 陷阱
SQL 需要显式估计 V = log ∫ e Q / α V=\log\int e^{Q/\alpha} V = log ∫ e Q / α 与用 SVGD 采样策略,实现复杂、方差大、调参敏感。SAC 用一个更简单的思路(把策略参数化为高斯,用 KL 投影做软策略改进)绕开了这些困难,因此在许多连续控制任务的实现中被更广泛采用(编者判断,非跨任务排名)。
9. SAC:软策略改进与温度自动调节
Soft Actor-Critic(SAC) 是 2018 年提出的 off-policy 最大熵 actor-critic 算法。原始版本使用给定温度;后续扩展加入了基于熵约束的自动温度调节 [3] [4] 。下文采用该扩展版:维护两个 soft Q 网络、一个高斯策略,以及可自动调节的温度 α \alpha α ,分别执行软策略评估、软策略改进和温度调节。
9.1 软策略评估(critic 更新)
拟合 soft Q,目标里把熵项并入下一步 value:
y ^ = r + γ ( min i = 1 , 2 Q θ ˉ i ( s ′ , a ′ ) − α log π ϕ ( a ′ ∣ s ′ ) ) , a ′ ∼ π ϕ ( ⋅ ∣ s ′ ) , (7.30) \hat y = r + \gamma\Big(\min_{i=1,2}Q_{\bar\theta_i}(s',a') - \alpha\log\pi_\phi(a'|s')\Big),\quad a'\sim\pi_\phi(\cdot|s'), \tag{7.30} y ^ = r + γ ( i = 1 , 2 min Q θ ˉ i ( s ′ , a ′ ) − α log π ϕ ( a ′ ∣ s ′ ) ) , a ′ ∼ π ϕ ( ⋅ ∣ s ′ ) , ( 7.30 )
L Q ( θ i ) = E ( s , a , r , s ′ ) ∼ D [ ( Q θ i ( s , a ) − y ^ ) 2 ] . (7.31) \mathcal{L}_Q(\theta_i)=\mathbb{E}_{(s,a,r,s')\sim\mathcal D}\big[(Q_{\theta_i}(s,a)-\hat y)^2\big]. \tag{7.31} L Q ( θ i ) = E ( s , a , r , s ′ ) ∼ D [ ( Q θ i ( s , a ) − y ^ ) 2 ] . ( 7.31 )
注意 − α log π ϕ ( a ′ ∣ s ′ ) -\alpha\log\pi_\phi(a'|s') − α log π ϕ ( a ′ ∣ s ′ ) 就是熵项的样本估计(E [ − α log π ] = α H \mathbb E[-\alpha\log\pi]=\alpha\mathcal H E [ − α log π ] = α H ),这正是 soft value V ( s ′ ) = E a ′ [ Q ( s ′ , a ′ ) − α log π ( a ′ ∣ s ′ ) ] V(s')=\mathbb E_{a'}[Q(s',a')-\alpha\log\pi(a'|s')] V ( s ′ ) = E a ′ [ Q ( s ′ , a ′ ) − α log π ( a ′ ∣ s ′ )] 。
9.2 软策略改进(actor 更新:对指数化 Q 做 KL 投影)
MaxEnt 的最优策略是 ∝ exp ( Q / α ) \propto\exp(Q/\alpha) ∝ exp ( Q / α ) ,但连续动作下这个分布不可解析。SAC 把策略限制在一个可处理的分布族 Π \Pi Π (如高斯),并把当前的指数化 Q 目标投影 到该族里——即最小化二者的 KL:
π new = arg min π ′ ∈ Π D K L ( π ′ ( ⋅ ∣ s ) ∥ exp ( 1 α Q θ ( s , ⋅ ) ) Z θ ( s ) ) . (7.32) \pi_{\text{new}}=\arg\min_{\pi'\in\Pi}\ D_{\mathrm{KL}}\!\Big(\pi'(\cdot|s)\ \Big\|\ \frac{\exp\big(\tfrac1\alpha Q_\theta(s,\cdot)\big)}{Z_\theta(s)}\Big). \tag{7.32} π new = arg π ′ ∈ Π min D KL ( π ′ ( ⋅ ∣ s ) Z θ ( s ) exp ( α 1 Q θ ( s , ⋅ ) ) ) . ( 7.32 )
式中分母 Z θ ( s ) = ∫ A exp ( 1 α Q θ ( s , a ) ) d a Z_\theta(s)=\int_{\mathcal A}\exp\!\big(\tfrac1\alpha Q_\theta(s,a)\big)\,da Z θ ( s ) = ∫ A exp ( α 1 Q θ ( s , a ) ) d a 是配分函数(partition function) ,也就是把”未归一化的指数化 Q” e Q θ / α \,e^{Q_\theta/\alpha} e Q θ / α 除以它、才凑成一个积分为 1 的合法概率分布的那个归一化常数(引入它纯粹是为了让右边成为真正的分布)。它只随状态 s s s 变、与待优化的 π ′ \pi' π ′ 无关——正因如此下一步能把 log Z θ ( s ) \log Z_\theta(s) log Z θ ( s ) 整项丢掉(见式(7.33))。它还与式(7.24) 的 soft value 是同一个量:V soft ( s ) = α log Z θ ( s ) V_{\text{soft}}(s)=\alpha\log Z_\theta(s) V soft ( s ) = α log Z θ ( s ) 。
推导:KL 投影 → SAC 的 actor 损失(配分函数为何可丢,重参数化如何登场)
关键假设
策略族含可重参数化的分布(高斯 + tanh 压缩);Q θ Q_\theta Q θ 对 a a a 可微。
第 1 步:展开 KL。
D K L = E a ∼ π ′ [ log π ′ ( a ∣ s ) − 1 α Q θ ( s , a ) + log Z θ ( s ) ] . (7.33) D_{\mathrm{KL}}=\mathbb{E}_{a\sim\pi'}\Big[\log\pi'(a|s)-\tfrac1\alpha Q_\theta(s,a)+\log Z_\theta(s)\Big]. \tag{7.33} D KL = E a ∼ π ′ [ log π ′ ( a ∣ s ) − α 1 Q θ ( s , a ) + log Z θ ( s ) ] . ( 7.33 )
第 2 步:丢掉 log Z θ ( s ) \log Z_\theta(s) log Z θ ( s ) 。 它不依赖 π ′ \pi' π ′ (对 ϕ \phi ϕ 是常数),不影响 arg min \arg\min arg min 。得到(乘 α \alpha α 、翻号为”最小化”)actor 损失:
L π ( ϕ ) = E s ∼ D E a ∼ π ϕ [ α log π ϕ ( a ∣ s ) − Q θ ( s , a ) ] . (7.34) \mathcal{L}_\pi(\phi)=\mathbb{E}_{s\sim\mathcal D}\ \mathbb{E}_{a\sim\pi_\phi}\big[\alpha\log\pi_\phi(a|s)-Q_\theta(s,a)\big]. \tag{7.34} L π ( ϕ ) = E s ∼ D E a ∼ π ϕ [ α log π ϕ ( a ∣ s ) − Q θ ( s , a ) ] . ( 7.34 )
这正是”最大化 Q Q Q + 熵”的负号。第 3 步:重参数化让梯度可传。 写 a = f ϕ ( ϵ , s ) = tanh ( μ ϕ ( s ) + σ ϕ ( s ) ⊙ ϵ ) , ϵ ∼ N ( 0 , I ) a=f_\phi(\epsilon,s)=\tanh\!\big(\mu_\phi(s)+\sigma_\phi(s)\odot\epsilon\big),\ \epsilon\sim\mathcal N(0,I) a = f ϕ ( ϵ , s ) = tanh ( μ ϕ ( s ) + σ ϕ ( s ) ⊙ ϵ ) , ϵ ∼ N ( 0 , I ) ,则
∇ ϕ L π = E s , ϵ [ ∇ ϕ ( α log π ϕ ( f ϕ ( ϵ , s ) ∣ s ) ) − ∇ a Q θ ( s , a ) ∣ a = f ϕ ∇ ϕ f ϕ ( ϵ , s ) ] . (7.35) \nabla_\phi\mathcal{L}_\pi=\mathbb{E}_{s,\epsilon}\Big[\nabla_\phi\big(\alpha\log\pi_\phi(f_\phi(\epsilon,s)|s)\big)-\nabla_a Q_\theta(s,a)\big|_{a=f_\phi}\nabla_\phi f_\phi(\epsilon,s)\Big]. \tag{7.35} ∇ ϕ L π = E s , ϵ [ ∇ ϕ ( α log π ϕ ( f ϕ ( ϵ , s ) ∣ s ) ) − ∇ a Q θ ( s , a ) a = f ϕ ∇ ϕ f ϕ ( ϵ , s ) ] . ( 7.35 )
这就是第 3 节式(7.7) 的重参数化技巧原样复用。局限 :tanh \tanh tanh 压缩会改变密度,需在 log π \log\pi log π 上加雅可比修正项 − ∑ i log ( 1 − tanh 2 ( u i ) ) -\sum_i\log(1-\tanh^2(u_i)) − ∑ i log ( 1 − tanh 2 ( u i )) ;高斯族的表达力有限,无法精确表示多峰的 e Q / α e^{Q/\alpha} e Q / α (KL 投影是”模式寻求”的近似)。
9.3 温度自动调节(带熵约束的对偶)
手调 α \alpha α 很脆——不同任务、不同训练阶段的合适温度差异巨大。SAC 把它写成一个带约束的优化 :最大化期望回报,同时约束策略的平均熵不低于目标 H ˉ \bar{\mathcal H} H ˉ (常取 H ˉ = − dim ( A ) \bar{\mathcal H}=-\dim(\mathcal A) H ˉ = − dim ( A ) ):
max π E [ ∑ t r t ] s.t. E ( s t , a t ) ∼ ρ π [ − log π ( a t ∣ s t ) ] ≥ H ˉ ∀ t . (7.36) \max_{\pi}\ \mathbb{E}\Big[\sum_t r_t\Big]\quad \text{s.t.}\quad \mathbb{E}_{(s_t,a_t)\sim\rho_\pi}\big[-\log\pi(a_t|s_t)\big]\ge \bar{\mathcal H}\ \ \forall t. \tag{7.36} π max E [ t ∑ r t ] s.t. E ( s t , a t ) ∼ ρ π [ − log π ( a t ∣ s t ) ] ≥ H ˉ ∀ t . ( 7.36 )
写出拉格朗日、α \alpha α 为乘子,对 α \alpha α 的更新(对偶梯度下降)为:
L ( α ) = E a ∼ π ϕ [ − α ( log π ϕ ( a ∣ s ) + H ˉ ) ] ⇒ ∇ α L = E [ − ( log π ϕ ( a ∣ s ) + H ˉ ) ] . (7.37) \mathcal{L}(\alpha)=\mathbb{E}_{a\sim\pi_\phi}\big[-\alpha\big(\log\pi_\phi(a|s)+\bar{\mathcal H}\big)\big]\ \Rightarrow\ \nabla_\alpha \mathcal L=\mathbb{E}\big[-\big(\log\pi_\phi(a|s)+\bar{\mathcal H}\big)\big]. \tag{7.37} L ( α ) = E a ∼ π ϕ [ − α ( log π ϕ ( a ∣ s ) + H ˉ ) ] ⇒ ∇ α L = E [ − ( log π ϕ ( a ∣ s ) + H ˉ ) ] . ( 7.37 )
直觉
当当前策略熵低于目标(− log π < H ˉ -\log\pi<\bar{\mathcal H} − log π < H ˉ ,动作太确定)时,∇ α L \nabla_\alpha\mathcal L ∇ α L 使 α \alpha α 增大 → 更看重熵 → 策略变随机;反之 α \alpha α 减小 → 更看重奖励。α \alpha α 就这样被自动拉到”恰好维持目标熵”的水平。实践上优化 log α \log\alpha log α 以保证正性与数值稳定。
推导:熵约束的拉格朗日对偶——为什么 α 恰好是对偶变量(逐步)
关键假设
逐时刻的熵约束 E ( s t , a t ) ∼ ρ π [ − log π ( a t ∣ s t ) ] ≥ H ˉ \mathbb E_{(s_t,a_t)\sim\rho_\pi}[-\log\pi(a_t|s_t)]\ge\bar{\mathcal H} E ( s t , a t ) ∼ ρ π [ − log π ( a t ∣ s t )] ≥ H ˉ ;用动态规划从末步向前拆(dual DP);α t ≥ 0 \alpha_t\ge0 α t ≥ 0 为各步乘子(稳态下取同一 α \alpha α )。
第 1 步:写带约束的原问题与拉格朗日。 对约束优化 max π E [ ∑ t r t ] \max_\pi\mathbb E[\sum_t r_t] max π E [ ∑ t r t ] s.t. E [ − log π t ] ≥ H ˉ \mathbb E[-\log\pi_t]\ge\bar{\mathcal H} E [ − log π t ] ≥ H ˉ ,引入乘子 α t ≥ 0 \alpha_t\ge0 α t ≥ 0 ,拉格朗日为
L ( π , α ) = E [ ∑ t r t ] + ∑ t α t ( E [ − log π t ] − H ˉ ) . (7.38) \mathcal L(\pi,\alpha)=\mathbb E\Big[\sum_t r_t\Big]+\sum_t\alpha_t\big(\mathbb E[-\log\pi_t]-\bar{\mathcal H}\big). \tag{7.38} L ( π , α ) = E [ t ∑ r t ] + t ∑ α t ( E [ − log π t ] − H ˉ ) . ( 7.38 )
第 2 步:内层对 π \pi π 求最大(给定 α \alpha α )。 对最后一步,max π T E [ r T ] + α T E [ − log π T ] − α T H ˉ \max_{\pi_T}\mathbb E[r_T]+\alpha_T\mathbb E[-\log\pi_T]-\alpha_T\bar{\mathcal H} max π T E [ r T ] + α T E [ − log π T ] − α T H ˉ 。这是”奖励 + 加权熵”的最大化,其解正是 Boltzmann 策略 π T ⋆ ∝ exp ( 1 α T Q T ) \pi_T^\star\propto\exp(\tfrac1{\alpha_T}Q_T) π T ⋆ ∝ exp ( α T 1 Q T ) (第 7 节式(7.25) 的结论),把它代回得到只关于 α T \alpha_T α T 的对偶函数 g ( α T ) g(\alpha_T) g ( α T ) 。向前递归即得所有步。
第 3 步:外层对 α \alpha α 求最小(对偶问题)。 由弱对偶,min α ≥ 0 g ( α ) \min_{\alpha\ge0}g(\alpha) min α ≥ 0 g ( α ) 给出原问题上界;此处强对偶成立(凸对偶变量、约束线性于占用测度)。固定已解出的 π ⋆ \pi^\star π ⋆ 后,α \alpha α 的目标简化为
L ( α ) = E a ∼ π ϕ [ − α ( log π ϕ ( a ∣ s ) + H ˉ ) ] , ∇ α L = E [ − ( log π ϕ ( a ∣ s ) + H ˉ ) ] . (7.39) \mathcal L(\alpha)=\mathbb E_{a\sim\pi_\phi}\big[-\alpha\big(\log\pi_\phi(a|s)+\bar{\mathcal H}\big)\big],\qquad \nabla_\alpha\mathcal L=\mathbb E\big[-\big(\log\pi_\phi(a|s)+\bar{\mathcal H}\big)\big]. \tag{7.39} L ( α ) = E a ∼ π ϕ [ − α ( log π ϕ ( a ∣ s ) + H ˉ ) ] , ∇ α L = E [ − ( log π ϕ ( a ∣ s ) + H ˉ ) ] . ( 7.39 )
第 4 步:KKT 互补松弛读出 α 的含义。 最优处 α ⋆ ( E [ − log π ⋆ ] − H ˉ ) = 0 \alpha^\star\big(\mathbb E[-\log\pi^\star]-\bar{\mathcal H}\big)=0 α ⋆ ( E [ − log π ⋆ ] − H ˉ ) = 0 :若熵严格大于目标(约束不紧),α ⋆ = 0 \alpha^\star=0 α ⋆ = 0 (不需要熵激励);若约束紧(等号成立),α ⋆ > 0 \alpha^\star>0 α ⋆ > 0 恰好把平均熵钉在 H ˉ \bar{\mathcal H} H ˉ 。因此对偶梯度下降会自动把 α \alpha α 拉到”维持目标熵”的水平。局限 :这是把非平稳的逐步乘子近似成单一稳态 α \alpha α ,且用当前 π ϕ \pi_\phi π ϕ 的样本估计梯度;实践优化 log α \log\alpha log α (保证 α > 0 \alpha>0 α > 0 ),并与 actor/critic 交替更新而非精确解内层。
图 4:SAC 数据流。off-policy 从回放池采样;critic 做软策略评估,actor 做 KL 投影式软策略改进,温度 α 由对偶更新自动维持目标熵。
9.4 与其它算法的关系
算法 策略形式 value backup 探索来源 数据 DQN / DDPG 确定性贪婪 hard max ε-greedy / 外加噪声 off-policy Soft Q-Learning ∝ e Q / α \propto e^{Q/\alpha} ∝ e Q / α (SVGD 采样)soft (log∫e^Q) 内生(熵) off-policy SAC 高斯(KL 投影 e^{Q/α}) soft(Q−α logπ) 内生(熵)+ 自动 α off-policy A2C/PPO(+熵奖励) 参数化随机 hard(GAE) 熵奖励(启发式) on-policy
本质 Insight
PPO 之类算法常加一个”熵奖励”作为启发式 探索项;MaxEnt/SAC 则把熵放进目标本身与 Bellman backup 内部 ——熵不是外挂,而是价值函数的一部分。这就是为什么 SAC 的探索”内生一致”:critic 已经知道随机的好处,actor 的贪婪就自带探索。
10. MaxEnt 的好处与前沿
为什么要费这么大劲引入熵?MaxEnt 带来三个可证/可观测的好处:
探索 :策略天然保持随机,覆盖多个近优动作,不会过早坍缩到单一确定动作。
鲁棒性 :在特定不确定集合与附加条件下,MaxEnt 目标可对应奖励扰动的鲁棒目标,或给出动力学扰动下鲁棒目标的下界;这不是对任意模型误差的保证 [5] 。
多模态 :当存在多条同样好的解法时,MaxEnt 会把概率分给所有峰(受策略族表达力限制),而非任意打破对称选一个——利于微调、迁移与从演示中学习。
批判性追问:MaxEnt”更鲁棒”——对何种扰动鲁棒?
“熵项 = 对模型误差买保险”是一个有条件 的结论,不能读成”MaxEnt 普适地更鲁棒”。已有结果表明:对论文定义的特定奖励扰动集合,MaxEnt 目标具有精确的鲁棒解释;对特定动力学扰动,则需对训练奖励作悲观化修正,此时 MaxEnt 目标最大化相应鲁棒目标的一个下界 [5] 。这些结论不覆盖任意奖励错设、分布外状态或任意动力学变化。
本质 Insight
上面三条好处(探索、鲁棒、多模态)看似是三个独立的”卖点”,其实是同一个框架的三个推论 :一旦把控制写成”在真实动力学下、对指数化奖励做(结构化变分)推断”,最大熵项就不是外加的探索 trick,而是 KL-to-prior 的一个特例 (先验取均匀即退化为熵正则)。于是”保持随机”自动给出探索 、“对最坏情形奖励扰动的对偶”自动给出鲁棒 、“把概率分给所有近优峰”自动给出多模态 ——你无需为它们各设计一个机制,它们都是同一个 max π E [ r ] + α H ( π ) \max_\pi\mathbb{E}[r]+\alpha\mathcal{H}(\pi) max π E [ r ] + α H ( π ) 目标的必然结果。这正是”用一个统一框架取代三个独立 trick”的威力。
图 5:面对多模态奖励,确定性策略只押一个峰;MaxEnt 策略在多个近优峰上都保留概率,更鲁棒、更易迁移。
前沿实践
真实机器人 :扩展版 SAC 在四足运动和灵巧操作任务中进行了真实机器人评估;其中四足机器人实验报告了约两小时从零学习稳定步态 [4] [6] 。
控制即推断 ↔ 世界模型 :把动力学也建成隐变量模型(VAE/latent),“在想象中推断最优轨迹”直接连到 Dreamer 式世界模型(见 模块 08)与 Genie 式可交互视频生成——它们本质上都是”对隐变量轨迹做(变分)推断”。
MaxEnt ↔ LLM 后训练 :RLHF/DPO 的目标里那一项 KL-to-reference(− β D K L ( π ∥ π ref ) -\beta\,D_{\mathrm{KL}}(\pi\|\pi_{\text{ref}}) − β D KL ( π ∥ π ref ) )与 MaxEnt 的熵正则同源——都是”别离先验/参考太远”的软约束。把参考策略取均匀就退化为熵正则。控制即推断为理解”RLHF 为何是带正则的软最优化”提供了统一视角(见 模块 13)。
前沿实验室视角
原始 SAC 论文在连续控制基准上报告了样本效率、最终性能和跨随机种子的稳定性;后续扩展加入自动温度调节,并在真实机器人任务上评估。论文将这些结果表述为 SAC 适用于真实机器人学习的证据,而不是所有任务上的默认基线或无需调参的保证 [3] [4] 。
11. Soft Policy Iteration 的收敛性
第 8–9 节给了 Soft Q-Learning 与 SAC 的算法形式,但还欠一个理论保证:反复”软策略评估 + 软策略改进”真的会收敛到最优的最大熵策略吗? 答案是肯定的——在表格式(tabular)设定下,soft policy iteration 与经典 policy iteration 一样有干净的收敛性证明,由两块拼成:软评估算子是压缩 (保证评估收敛),软改进步单调不降 (保证策略越改越好)。SAC 正是它在函数逼近下的随机近似。
11.1 软策略评估:固定 π 的 soft Bellman 算子是 γ-压缩
对固定策略 π \pi π ,定义 soft Bellman 评估算子 :
( T π Q ) ( s , a ) = r ( s , a ) + γ E s ′ [ V π ( s ′ ) ] , V π ( s ) = E a ∼ π [ Q ( s , a ) − α log π ( a ∣ s ) ] . (7.40) (\mathcal T^\pi Q)(s,a)=r(s,a)+\gamma\,\mathbb E_{s'}\big[V^\pi(s')\big],\qquad V^\pi(s)=\mathbb E_{a\sim\pi}\big[Q(s,a)-\alpha\log\pi(a|s)\big]. \tag{7.40} ( T π Q ) ( s , a ) = r ( s , a ) + γ E s ′ [ V π ( s ′ ) ] , V π ( s ) = E a ∼ π [ Q ( s , a ) − α log π ( a ∣ s ) ] . ( 7.40 )
它比硬 Bellman 只多了熵项 − α log π -\alpha\log\pi − α log π 。关键观察:熵项只依赖 π \pi π 、不依赖 Q Q Q ,所以在比较两个 Q Q Q 时会相消。
推导:软评估算子的 γ-压缩性(逐步)
关键假设
有界奖励、γ < 1 \gamma<1 γ < 1 、π \pi π 固定且其熵有限(V π V^\pi V π 良定义);用 ∞ \infty ∞ 范数 ∥ Q ∥ ∞ = max s , a ∣ Q ( s , a ) ∣ \|Q\|_\infty=\max_{s,a}|Q(s,a)| ∥ Q ∥ ∞ = max s , a ∣ Q ( s , a ) ∣ 。
取任意两个动作价值 Q 1 , Q 2 Q_1,Q_2 Q 1 , Q 2 。因熵项相消:
( T π Q 1 − T π Q 2 ) ( s , a ) = γ E s ′ [ E a ′ ∼ π [ Q 1 ( s ′ , a ′ ) − Q 2 ( s ′ , a ′ ) ] ] . (7.41) (\mathcal T^\pi Q_1-\mathcal T^\pi Q_2)(s,a)=\gamma\,\mathbb E_{s'}\Big[\mathbb E_{a'\sim\pi}\big[Q_1(s',a')-Q_2(s',a')\big]\Big]. \tag{7.41} ( T π Q 1 − T π Q 2 ) ( s , a ) = γ E s ′ [ E a ′ ∼ π [ Q 1 ( s ′ , a ′ ) − Q 2 ( s ′ , a ′ ) ] ] . ( 7.41 )
逐点取绝对值并用 ∣ E [ X ] ∣ ≤ E ∣ X ∣ ≤ ∥ Q 1 − Q 2 ∥ ∞ |\mathbb E[X]|\le\mathbb E|X|\le\|Q_1-Q_2\|_\infty ∣ E [ X ] ∣ ≤ E ∣ X ∣ ≤ ∥ Q 1 − Q 2 ∥ ∞ :
∥ T π Q 1 − T π Q 2 ∥ ∞ ≤ γ ∥ Q 1 − Q 2 ∥ ∞ . (7.42) \|\mathcal T^\pi Q_1-\mathcal T^\pi Q_2\|_\infty\le\gamma\,\|Q_1-Q_2\|_\infty. \tag{7.42} ∥ T π Q 1 − T π Q 2 ∥ ∞ ≤ γ ∥ Q 1 − Q 2 ∥ ∞ . ( 7.42 )
由 Banach 不动点定理,T π \mathcal T^\pi T π 有唯一不动点 Q soft π Q^\pi_{\text{soft}} Q soft π ,且从任意初值迭代 Q ← T π Q Q\leftarrow\mathcal T^\pi Q Q ← T π Q 都几何收敛 到它。这就是”软策略评估”。注意 :这里 V π V^\pi V π 用真实动力学 下的期望 E s ′ [ V ] \mathbb E_{s'}[V] E s ′ [ V ] (结构化 VI 的成果),而非式(7.16) 那个乐观的 log E [ e V ] \log\mathbb E[e^V] log E [ e V ] (已如式(7.16) 的量化:抹掉了约 1 2 Var [ V ] \tfrac12\operatorname{Var}[V] 2 1 Var [ V ] 的偏差)——所以没有风险寻求偏差。
11.2 软策略改进:对指数化 Q 做 KL 投影使 Q 单调不降
给定当前策略 π old \pi_{\text{old}} π old 及其软价值 Q π old Q^{\pi_{\text{old}}} Q π old ,把策略更新为指数化 Q 的 KL 投影(第 9.2 节式(7.32) 的软策略改进):
π new ( ⋅ ∣ s ) = arg min π ′ ∈ Π D K L ( π ′ ( ⋅ ∣ s ) ∥ 1 Z ( s ) exp ( 1 α Q π old ( s , ⋅ ) ) ) . (7.43) \pi_{\text{new}}(\cdot|s)=\arg\min_{\pi'\in\Pi}\ D_{\mathrm{KL}}\!\Big(\pi'(\cdot|s)\ \Big\|\ \tfrac{1}{Z(s)}\exp\big(\tfrac1\alpha Q^{\pi_{\text{old}}}(s,\cdot)\big)\Big). \tag{7.43} π new ( ⋅ ∣ s ) = arg π ′ ∈ Π min D KL ( π ′ ( ⋅ ∣ s ) Z ( s ) 1 exp ( α 1 Q π old ( s , ⋅ ) ) ) . ( 7.43 )
软策略改进定理 :如此得到的 π new \pi_{\text{new}} π new 满足 Q π new ( s , a ) ≥ Q π old ( s , a ) Q^{\pi_{\text{new}}}(s,a)\ge Q^{\pi_{\text{old}}}(s,a) Q π new ( s , a ) ≥ Q π old ( s , a ) ,对所有 ( s , a ) (s,a) ( s , a ) 成立。
推导:软策略改进的单调性(逐步)
关键假设
策略族 Π \Pi Π 含 π old \pi_{\text{old}} π old (保证投影至少不比原策略差);Q π old Q^{\pi_{\text{old}}} Q π old 已由软评估算准。
第 1 步:投影不劣于原策略。 因为 π old ∈ Π \pi_{\text{old}}\in\Pi π old ∈ Π 是可行解,最优投影 π new \pi_{\text{new}} π new 的 KL 目标值 ≤ \le ≤ 取 π old \pi_{\text{old}} π old 时的值。把 KL 展开、乘 α \alpha α 、丢掉与 π ′ \pi' π ′ 无关的 log Z \log Z log Z ,等价于:对每个 s s s ,
E a ∼ π new [ α log π new ( a ∣ s ) − Q π old ( s , a ) ] ≤ E a ∼ π old [ α log π old ( a ∣ s ) − Q π old ( s , a ) ] . (7.44) \mathbb E_{a\sim\pi_{\text{new}}}\big[\alpha\log\pi_{\text{new}}(a|s)-Q^{\pi_{\text{old}}}(s,a)\big]\ \le\ \mathbb E_{a\sim\pi_{\text{old}}}\big[\alpha\log\pi_{\text{old}}(a|s)-Q^{\pi_{\text{old}}}(s,a)\big]. \tag{7.44} E a ∼ π new [ α log π new ( a ∣ s ) − Q π old ( s , a ) ] ≤ E a ∼ π old [ α log π old ( a ∣ s ) − Q π old ( s , a ) ] . ( 7.44 )
移项,并记 soft 状态价值 V π old ( s ) = E a ∼ π old [ Q π old − α log π old ] V^{\pi_{\text{old}}}(s)=\mathbb E_{a\sim\pi_{\text{old}}}[Q^{\pi_{\text{old}}}-\alpha\log\pi_{\text{old}}] V π old ( s ) = E a ∼ π old [ Q π old − α log π old ] :
E a ∼ π new [ Q π old ( s , a ) − α log π new ( a ∣ s ) ] ≥ V π old ( s ) . (7.45) \mathbb E_{a\sim\pi_{\text{new}}}\big[Q^{\pi_{\text{old}}}(s,a)-\alpha\log\pi_{\text{new}}(a|s)\big]\ \ge\ V^{\pi_{\text{old}}}(s). \tag{7.45} E a ∼ π new [ Q π old ( s , a ) − α log π new ( a ∣ s ) ] ≥ V π old ( s ) . ( 7.45 )
第 2 步:沿 soft Bellman 反复自举。 把上式(式(7.45))代入 Q π old Q^{\pi_{\text{old}}} Q π old 的 soft Bellman 方程并反复展开:
Q π old ( s , a ) = r + γ E s ′ [ V π old ( s ′ ) ] ≤ r + γ E s ′ [ E a ′ ∼ π new [ Q π old ( s ′ , a ′ ) − α log π new ] ] ≤ ⋯ ≤ Q π new ( s , a ) . (7.46) Q^{\pi_{\text{old}}}(s,a)=r+\gamma\mathbb E_{s'}[V^{\pi_{\text{old}}}(s')]\ \le\ r+\gamma\mathbb E_{s'}\big[\mathbb E_{a'\sim\pi_{\text{new}}}[Q^{\pi_{\text{old}}}(s',a')-\alpha\log\pi_{\text{new}}]\big]\le\cdots\le Q^{\pi_{\text{new}}}(s,a). \tag{7.46} Q π old ( s , a ) = r + γ E s ′ [ V π old ( s ′ )] ≤ r + γ E s ′ [ E a ′ ∼ π new [ Q π old ( s ′ , a ′ ) − α log π new ] ] ≤ ⋯ ≤ Q π new ( s , a ) . ( 7.46 )
每次把 V π old V^{\pi_{\text{old}}} V π old 替换成”用 π new \pi_{\text{new}} π new 至少不更差”的下界,重复收敛到 Q π new Q^{\pi_{\text{new}}} Q π new ,故 Q π new ≥ Q π old Q^{\pi_{\text{new}}}\ge Q^{\pi_{\text{old}}} Q π new ≥ Q π old 。局限 :函数逼近下 Π \Pi Π 只是高斯族,KL 投影是近似(e Q / α e^{Q/\alpha} e Q / α 未必在族内),单调性只近似成立——这正是 SAC “理论优雅、实践仍需双 Q / 目标网络等 trick”的原因。
本质 Insight
soft policy iteration = 压缩(评估收敛)+ 单调(改进不降)+ 有界(价值被 r max / ( 1 − γ ) r_{\max}/(1-\gamma) r m a x / ( 1 − γ ) 加熵上界封顶) 三件套,与经典 policy iteration 的证明结构一模一样,只是把 hard max 换成 log-sum-exp、把”贪婪改进”换成”KL 投影改进”。换汤不换药 :最大熵没有破坏动态规划的骨架,只是给每一步套上温度 α \alpha α 。SAC 就是把这两步各用一次随机梯度近似——critic 近似软评估、actor 近似软改进。
图 6:soft policy iteration 的单调阶梯——每次软改进抬高策略、每次软评估几何收敛,共同保证收敛到唯一软最优 Q soft ⋆ Q^\star_{\text{soft}} Q soft ⋆ 。
12. 软硬极限:α→0 退回标准 RL,α→∞ 退回均匀策略
温度 α \alpha α 是最大熵框架的总旋钮。把它拧到两个极端,能看清”控制即推断”与”标准 RL”如何在同一根谱线的两端相遇。回顾式(7.24)、式(7.25) 的带温度 soft value 与最优策略:
V α ( s ) = α log ∫ A exp ( 1 α Q ( s , a ) ) d a , π α ( a ∣ s ) = exp ( 1 α ( Q ( s , a ) − V α ( s ) ) ) . (7.47) V_\alpha(s)=\alpha\log\int_{\mathcal A}\exp\!\Big(\tfrac1\alpha Q(s,a)\Big)da,\qquad \pi_\alpha(a|s)=\exp\!\Big(\tfrac1\alpha\big(Q(s,a)-V_\alpha(s)\big)\Big). \tag{7.47} V α ( s ) = α log ∫ A exp ( α 1 Q ( s , a ) ) d a , π α ( a ∣ s ) = exp ( α 1 ( Q ( s , a ) − V α ( s ) ) ) . ( 7.47 )
12.1 α→0⁺:hardmax 与确定性贪婪(标准 RL 的极限)
当 α → 0 + \alpha\to0^+ α → 0 + ,1 α Q \tfrac1\alpha Q α 1 Q 把动作间的 Q Q Q 差异无限放大,log-sum-exp 被最大项主导:
lim α → 0 + V α ( s ) = max a Q ( s , a ) , π α ( ⋅ ∣ s ) ⟶ 集中在 arg max a Q 上的点质量(确定性贪婪) . (7.48) \lim_{\alpha\to0^+}V_\alpha(s)=\max_a Q(s,a),\qquad \pi_\alpha(\cdot|s)\ \longrightarrow\ \text{集中在 }\arg\max_a Q\text{ 上的点质量(确定性贪婪)}. \tag{7.48} α → 0 + lim V α ( s ) = a max Q ( s , a ) , π α ( ⋅ ∣ s ) ⟶ 集中在 arg a max Q 上的点质量(确定性贪婪) . ( 7.48 )
于是 soft Bellman 方程退回标准 Bellman 最优方程 、softmax 退回 hardmax、随机策略坍缩为确定性策略——标准 RL 就是最大熵 RL 在零温极限下的特例 。
推导:为何 α→0 时 α·log∫exp(Q/α) → max(逐步)
关键假设
离散情形假设动作集有限,并可定义最优集合与其余动作之间的正 gap;连续情形假设动作集有界、Q ( s , ⋅ ) Q(s,\cdot) Q ( s , ⋅ ) 连续。若需定量展开,再假设唯一内点最大值附近二阶可微且负 Hessian 非退化。
把最大值提出:α log ∫ e Q / α d a = Q ⋆ + α log ∫ e ( Q − Q ⋆ ) / α d a \alpha\log\int e^{Q/\alpha}da=Q^\star+\alpha\log\int e^{(Q-Q^\star)/\alpha}da α log ∫ e Q / α d a = Q ⋆ + α log ∫ e ( Q − Q ⋆ ) / α d a 。在连续且有界的动作空间上,只有最大值附近对积分有主要贡献,因此 V α → Q ⋆ V_\alpha\to Q^\star V α → Q ⋆ 。对有限离散动作,若非最优动作与最优值之间有 gap Δ > 0 \Delta>0 Δ > 0 ,其相对权重按 e − Δ / α e^{-\Delta/\alpha} e − Δ/ α 衰减。连续动作通常不存在覆盖所有非最优点的统一正 gap;此时应按最大点附近的局部曲率作 Laplace 分析。若最优动作不唯一,极限质量由最优集合及其局部几何决定。
12.2 α→∞:熵支配与均匀策略
当 α → ∞ \alpha\to\infty α → ∞ ,目标 E [ r ] + α H ( π ) \mathbb E[r]+\alpha\mathcal H(\pi) E [ r ] + α H ( π ) 里熵项压倒奖励项,最优策略趋向该动作空间上的最大熵分布 ——在有界动作集上即均匀分布 :
π α ( a ∣ s ) ⟶ Uniform ( A ) , 1 α ( Q ( s , a ) − V α ( s ) ) → 0. (7.49) \pi_\alpha(a|s)\ \longrightarrow\ \text{Uniform}(\mathcal A),\qquad \tfrac1\alpha\big(Q(s,a)-V_\alpha(s)\big)\to 0. \tag{7.49} π α ( a ∣ s ) ⟶ Uniform ( A ) , α 1 ( Q ( s , a ) − V α ( s ) ) → 0. ( 7.49 )
直觉:温度极高时,有限的 Q Q Q 差异除以巨大的 α \alpha α 趋于 0,指数权重趋于常数,策略被”抹平”。此时智能体几乎不看奖励、只求最随机——完全的探索、零利用。
本质 Insight:α 是一根连续谱线
α \alpha α 把”纯利用(确定性贪婪、标准 RL)“与”纯探索(均匀随机)“连成一条连续谱线,中间是 Boltzmann 软策略。这也解释了第 9.1 节的奖励尺度对偶 :把奖励整体放大 c c c 倍 ≡ \equiv ≡ 把温度除以 c c c ≡ \equiv ≡ 沿这根谱线向”更硬/更贪婪”一端滑动。因此”调奖励尺度”和”调温度”是同一件事的两种说法——SAC 的自动 α \alpha α 本质上是在这根谱线上自适应地找一个”维持目标熵”的落点。
图 7:随温度 α 增大,最优策略从集中于 argmax 的确定性尖峰(左),经 Boltzmann 软分布(中),过渡到均匀分布(右)。α 是利用↔探索的连续旋钮。
12.3 两极限的定量渐近:不止”退回谁”,还退回得多快
第 12.1–12.2 节给了两极限的定性 结论(α → 0 \alpha\to0 α → 0 退回硬 max、α → ∞ \alpha\to\infty α → ∞ 退回均匀)。把 V α ( s ) = α log ∫ A e Q ( s , a ) / α d a V_\alpha(s)=\alpha\log\int_{\mathcal A}e^{Q(s,a)/\alpha}da V α ( s ) = α log ∫ A e Q ( s , a ) / α d a 做渐近展开 ,能进一步读出”退回得多快”以及中间的定量修正项 。
低温端(α → 0 + \alpha\to0^+ α → 0 + )。 对连续 d d d 维动作,设 Q Q Q 在唯一内点最大值 a ⋆ a^\star a ⋆ 附近二阶可微,且 − ∇ a 2 Q ( s , a ⋆ ) -\nabla_a^2Q(s,a^\star) − ∇ a 2 Q ( s , a ⋆ ) 正定。Laplace 展开给出:
V α ( s ) = Q ⋆ + d 2 α log α + α 2 log ( 2 π ) d det ( − ∇ a 2 Q ( s , a ⋆ ) ) + o ( α ) . (7.49a) V_\alpha(s)=Q^\star+\frac{d}{2}\alpha\log\alpha+\frac{\alpha}{2}\log\!\frac{(2\pi)^d}{\det(-\nabla_a^2Q(s,a^\star))}+o(\alpha). \tag{7.49a} V α ( s ) = Q ⋆ + 2 d α log α + 2 α log det ( − ∇ a 2 Q ( s , a ⋆ )) ( 2 π ) d + o ( α ) . ( 7.49a )
因此 V α → Q ⋆ V_\alpha\to Q^\star V α → Q ⋆ ,修正项的量级为 O ( α log 1 α ) O(\alpha\log\tfrac1\alpha) O ( α log α 1 ) 。对与最优集合保持正距离、且其 Q Q Q 值与 Q ⋆ Q^\star Q ⋆ 相差至少 Δ > 0 \Delta>0 Δ > 0 的子集,其概率质量至多按 e − Δ / α e^{-\Delta/\alpha} e − Δ/ α 的尺度衰减;不能把这个 gap 推广到连续空间中的所有非最优动作。
高温端(α → ∞ \alpha\to\infty α → ∞ )。 把被积函数在 Q / α → 0 Q/\alpha\to0 Q / α → 0 处泰勒展开 e Q / α ≈ 1 + Q α + Q 2 2 α 2 e^{Q/\alpha}\approx 1+\tfrac{Q}{\alpha}+\tfrac{Q^2}{2\alpha^2} e Q / α ≈ 1 + α Q + 2 α 2 Q 2 ,对均匀测度(体积 ∣ A ∣ |\mathcal A| ∣ A ∣ )积分再取对数:
V α ( s ) = α log ∣ A ∣ + Q ‾ ( s ) ⏟ 均匀均值 + 1 2 α Var U n i f [ Q ( s , ⋅ ) ] + O ( 1 α 2 ) , Q ‾ = 1 ∣ A ∣ ∫ A Q d a . (7.49b) V_\alpha(s)=\alpha\log|\mathcal A|+\underbrace{\overline{Q}(s)}_{\text{均匀均值}}+\frac{1}{2\alpha}\operatorname{Var}_{\mathrm{Unif}}\!\big[Q(s,\cdot)\big]+O\!\big(\tfrac1{\alpha^2}\big),\qquad \overline{Q}=\tfrac1{|\mathcal A|}\!\int_{\mathcal A}\!Q\,da. \tag{7.49b} V α ( s ) = α log ∣ A ∣ + 均匀均值 Q ( s ) + 2 α 1 Var Unif [ Q ( s , ⋅ ) ] + O ( α 2 1 ) , Q = ∣ A ∣ 1 ∫ A Q d a . ( 7.49b )
三项各有含义:主导项 α log ∣ A ∣ \alpha\log|\mathcal A| α log ∣ A ∣ 正是均匀分布的熵值(乘以温度),Q ‾ \overline Q Q 是奖励地形的均值偏置,1 2 α Var [ Q ] \tfrac1{2\alpha}\operatorname{Var}[Q] 2 α 1 Var [ Q ] 是随温度下降才显现的”对高值动作的偏好”一阶修正 。相应地策略 π α ( a ∣ s ) ≈ 1 ∣ A ∣ ( 1 + 1 α ( Q ( s , a ) − Q ‾ ) ) \pi_\alpha(a|s)\approx\tfrac1{|\mathcal A|}\big(1+\tfrac1\alpha(Q(s,a)-\overline Q)\big) π α ( a ∣ s ) ≈ ∣ A ∣ 1 ( 1 + α 1 ( Q ( s , a ) − Q ) ) ——在均匀分布上叠加一个正比于”Q Q Q 偏离均值”、幅度 ∝ 1 / α \propto 1/\alpha ∝ 1/ α 的小扰动。这就把”α → ∞ \alpha\to\infty α → ∞ 退回均匀”精确成了”以 1 / α 1/\alpha 1/ α 的速率、沿 Q Q Q 的方向偏离均匀 ”。
13. 控制即推断的 KL 正则 ↔ RLHF 的 KL-to-reference
前面为推导简洁,一直把动作先验 p ( a ) p(a) p ( a ) 取成均匀分布,于是正则项化简成策略熵 H ( π ) \mathcal H(\pi) H ( π ) 。但先验不必均匀 ——把它换成一个一般的参考分布 π ref ( a ∣ s ) \pi_{\text{ref}}(a|s) π ref ( a ∣ s ) ,整套结构化变分推导原样成立,只是”熵正则”升级为”到参考分布的 KL 正则 ”。这一步把控制即推断与 RLHF / DPO 的目标显式对齐,是理解第 10 节那句”MaxEnt 与 KL-to-ref 同源”的技术兑现。
推导:一般动作先验 → KL-to-prior 正则(逐步)
关键假设
沿用第 6 节结构化变分设定,只把动作先验从均匀改为一般的 p ( a t ) = π ref ( a t ∣ s t ) p(a_t)=\pi_{\text{ref}}(a_t|s_t) p ( a t ) = π ref ( a t ∣ s t ) ;q q q 与 p p p 仍共享真实动力学与初始分布。
第 1 步:重走轨迹比。 动力学与初始分布相消后(同第 6 节),逐步项里 log p ( a t ) \log p(a_t) log p ( a t ) 不再是常数,而是 log π ref \log\pi_{\text{ref}} log π ref :
log p ( τ , O ) q ( τ ) = ∑ t [ r ( s t , a t ) + log π ref ( a t ∣ s t ) − log π ( a t ∣ s t ) ] . (7.50) \log\frac{p(\tau,\mathcal O)}{q(\tau)}=\sum_t\big[r(s_t,a_t)+\log\pi_{\text{ref}}(a_t|s_t)-\log\pi(a_t|s_t)\big]. \tag{7.50} log q ( τ ) p ( τ , O ) = t ∑ [ r ( s t , a t ) + log π ref ( a t ∣ s t ) − log π ( a t ∣ s t ) ] . ( 7.50 )
第 2 步:取期望,用 KL 定义合并后两项。 因 E a ∼ π [ log π ref − log π ] = − D K L ( π ∥ π ref ) \mathbb E_{a\sim\pi}[\log\pi_{\text{ref}}-\log\pi]=-D_{\mathrm{KL}}(\pi\|\pi_{\text{ref}}) E a ∼ π [ log π ref − log π ] = − D KL ( π ∥ π ref ) :
L = ∑ t E ( s t , a t ) ∼ q [ r ( s t , a t ) − D K L ( π ( ⋅ ∣ s t ) ∥ π ref ( ⋅ ∣ s t ) ) ] . (7.51) \mathcal L=\sum_t\mathbb E_{(s_t,a_t)\sim q}\big[r(s_t,a_t)-D_{\mathrm{KL}}\big(\pi(\cdot|s_t)\,\|\,\pi_{\text{ref}}(\cdot|s_t)\big)\big]. \tag{7.51} L = t ∑ E ( s t , a t ) ∼ q [ r ( s t , a t ) − D KL ( π ( ⋅ ∣ s t ) ∥ π ref ( ⋅ ∣ s t ) ) ] . ( 7.51 )
当 π ref \pi_{\text{ref}} π ref 取均匀分布时,− D K L ( π ∥ Unif ) = H ( π ) + const -D_{\mathrm{KL}}(\pi\|\text{Unif})=\mathcal H(\pi)+\text{const} − D KL ( π ∥ Unif ) = H ( π ) + const ,正好退回式(7.23) 的熵正则目标。这说明熵正则只是 KL 正则在”均匀参考”下的特例 。
带温度 β \beta β 的一般目标及其闭式最优解为(把最优性似然写成 p ( O t ∣ s t , a t ) ∝ e r / β p(\mathcal O_t|s_t,a_t)\propto e^{r/\beta} p ( O t ∣ s t , a t ) ∝ e r / β 、先验 π ref \pi_{\text{ref}} π ref ):
max π E [ ∑ t r ( s t , a t ) ] − β ∑ t E [ D K L ( π ( ⋅ ∣ s t ) ∥ π ref ( ⋅ ∣ s t ) ) ] , π ⋆ ( a ∣ s ) ∝ π ref ( a ∣ s ) exp ( 1 β Q ( s , a ) ) . (7.52) \max_\pi\ \mathbb E\Big[\sum_t r(s_t,a_t)\Big]-\beta\sum_t\mathbb E\big[D_{\mathrm{KL}}\big(\pi(\cdot|s_t)\,\|\,\pi_{\text{ref}}(\cdot|s_t)\big)\big],\qquad \pi^\star(a|s)\ \propto\ \pi_{\text{ref}}(a|s)\,\exp\!\Big(\tfrac1\beta Q(s,a)\Big). \tag{7.52} π max E [ t ∑ r ( s t , a t ) ] − β t ∑ E [ D KL ( π ( ⋅ ∣ s t ) ∥ π ref ( ⋅ ∣ s t ) ) ] , π ⋆ ( a ∣ s ) ∝ π ref ( a ∣ s ) exp ( β 1 Q ( s , a ) ) . ( 7.52 )
概念 控制即推断 / MaxEnt RL RLHF / LLM 后训练 参考 / 先验 均匀先验 p ( a ) p(a) p ( a ) 参考模型 π ref \pi_{\text{ref}} π ref (通常是 SFT 模型) 正则项 策略熵 α H ( π ) \alpha\,\mathcal H(\pi) α H ( π ) per-token KL β D K L ( π ∥ π ref ) \beta\,D_{\mathrm{KL}}(\pi\Vert \pi_{\text{ref}}) β D KL ( π ∥ π ref ) 最优策略 π ⋆ ∝ e Q / α \pi^\star\propto e^{Q/\alpha} π ⋆ ∝ e Q / α π ⋆ ∝ π ref e r / β \pi^\star\propto\pi_{\text{ref}}\,e^{r/\beta} π ⋆ ∝ π ref e r / β 温度 α \alpha α (熵权重)β \beta β (KL 系数)代表算法 SAC / Soft Q-Learning PPO-RLHF / DPO
本质 Insight
RLHF 里的 KL 惩罚和 SAC 的熵项都可写成到参考分布的 KL 正则;差别在于参考分布的选择。DPO 利用 KL 正则目标的闭式最优策略关系,将显式奖励模型与后续 RL 改写为直接的偏好分类目标 [7] 。这一对应说明控制即推断可作为理解相关目标的数学视角,但不表示这些算法的训练流程完全相同。
讨论课 · Section 6:Variational Inference(变分推断实操)
本节把第 2–3 节的 ELBO 与重参数化从”公式”落到”能上手算、能写成几行梯度更新”的层面,再补上 amortized VI 的推断网络、mean-field 与结构化变分的取舍;最后显式点明:控制即推断本质上就是把这套 VI 工具用在一张带最优性变量 O t \mathcal O_t O t 的概率图模型上 ——soft RL 不是新东西,而是 VI 的一个特例。
D6.1 一个完整可手算的例子:高斯隐变量的 ELBO 与重参数化梯度
取最小可算模型:隐变量 z ∈ R d z\in\mathbb R^d z ∈ R d 、先验 p ( z ) = N ( 0 , I ) p(z)=\mathcal N(0,I) p ( z ) = N ( 0 , I ) ;对单个观测 x x x ,近似后验取对角高斯 q ϕ ( z ∣ x ) = N ( μ , d i a g ( σ 2 ) ) q_\phi(z|x)=\mathcal N\big(\mu,\ \mathrm{diag}(\sigma^2)\big) q ϕ ( z ∣ x ) = N ( μ , diag ( σ 2 ) ) ,可训练参数 ϕ = ( μ , log σ ) \phi=(\mu,\ \log\sigma) ϕ = ( μ , log σ ) (优化 log σ \log\sigma log σ 以保证 σ > 0 \sigma>0 σ > 0 )。ELBO 用第 2.2 节的”重建 − 正则”形式:
L ( ϕ ) = E q ϕ [ log p θ ( x ∣ z ) ] ⏟ 重建 − D K L ( N ( μ , σ 2 ) ∥ N ( 0 , I ) ) ⏟ 正则(有闭式) . (7.53) \mathcal L(\phi)=\underbrace{\mathbb E_{q_\phi}\big[\log p_\theta(x|z)\big]}_{\text{重建}}\ -\ \underbrace{D_{\mathrm{KL}}\big(\mathcal N(\mu,\sigma^2)\,\|\,\mathcal N(0,I)\big)}_{\text{正则(有闭式)}}. \tag{7.53} L ( ϕ ) = 重建 E q ϕ [ log p θ ( x ∣ z ) ] − 正则(有闭式) D KL ( N ( μ , σ 2 ) ∥ N ( 0 , I ) ) . ( 7.53 )
两个高斯的 KL 有闭式 ,逐维求和即可手算:
D K L = 1 2 ∑ i = 1 d ( μ i 2 + σ i 2 − 1 − log σ i 2 ) , ∂ D K L ∂ μ i = μ i , ∂ D K L ∂ ( log σ i ) = σ i 2 − 1. (7.54) D_{\mathrm{KL}}=\tfrac12\sum_{i=1}^{d}\big(\mu_i^2+\sigma_i^2-1-\log\sigma_i^2\big),\qquad \frac{\partial D_{\mathrm{KL}}}{\partial\mu_i}=\mu_i,\quad \frac{\partial D_{\mathrm{KL}}}{\partial(\log\sigma_i)}=\sigma_i^2-1. \tag{7.54} D KL = 2 1 i = 1 ∑ d ( μ i 2 + σ i 2 − 1 − log σ i 2 ) , ∂ μ i ∂ D KL = μ i , ∂ ( log σ i ) ∂ D KL = σ i 2 − 1. ( 7.54 )
重建项的期望依赖 ϕ \phi ϕ ,用第 3 节的重参数化 写成对固定噪声的期望:z = μ + σ ⊙ ϵ , ϵ ∼ N ( 0 , I ) z=\mu+\sigma\odot\epsilon,\ \epsilon\sim\mathcal N(0,I) z = μ + σ ⊙ ϵ , ϵ ∼ N ( 0 , I ) ,于是梯度可穿过采样。
手算:一维数值走一遍重参数化梯度(点开看逐步)
关键假设
d = 1 d=1 d = 1 ;解码器取单位方差高斯 log p θ ( x ∣ z ) = − 1 2 ( x − z ) 2 + const \log p_\theta(x|z)=-\tfrac12(x-z)^2+\text{const} log p θ ( x ∣ z ) = − 2 1 ( x − z ) 2 + const (即”z z z 直接预测 x x x ”);用单样本蒙特卡洛估计期望。
第 1 步:重建项的重参数化梯度。 记 f ( z ) = − 1 2 ( x − z ) 2 f(z)=-\tfrac12(x-z)^2 f ( z ) = − 2 1 ( x − z ) 2 ,z = μ + σ ϵ z=\mu+\sigma\epsilon z = μ + σ ϵ 。链式法则:
∂ f ∂ μ = ∂ f ∂ z ⋅ ∂ z ∂ μ = ( x − z ) ⋅ 1 , ∂ f ∂ ( log σ ) = ∂ f ∂ z ⋅ ∂ z ∂ ( log σ ) = ( x − z ) ⋅ σ ϵ . (7.55) \frac{\partial f}{\partial\mu}=\frac{\partial f}{\partial z}\cdot\frac{\partial z}{\partial\mu}=(x-z)\cdot 1,\qquad \frac{\partial f}{\partial(\log\sigma)}=\frac{\partial f}{\partial z}\cdot\frac{\partial z}{\partial(\log\sigma)}=(x-z)\cdot\sigma\epsilon. \tag{7.55} ∂ μ ∂ f = ∂ z ∂ f ⋅ ∂ μ ∂ z = ( x − z ) ⋅ 1 , ∂ ( log σ ) ∂ f = ∂ z ∂ f ⋅ ∂ ( log σ ) ∂ z = ( x − z ) ⋅ σ ϵ . ( 7.55 )
(用到 ∂ z / ∂ log σ = σ ϵ \partial z/\partial\log\sigma=\sigma\epsilon ∂ z / ∂ log σ = σ ϵ ,因为 σ = e log σ \sigma=e^{\log\sigma} σ = e l o g σ 。)
第 2 步:合并 KL 梯度,得到 ELBO 的上升方向。
∇ μ L = E ϵ [ ( x − z ) ] − μ , ∇ log σ L = E ϵ [ ( x − z ) σ ϵ ] − ( σ 2 − 1 ) . (7.56) \nabla_\mu\mathcal L=\mathbb E_\epsilon[(x-z)]-\mu,\qquad \nabla_{\log\sigma}\mathcal L=\mathbb E_\epsilon[(x-z)\sigma\epsilon]-(\sigma^2-1). \tag{7.56} ∇ μ L = E ϵ [( x − z )] − μ , ∇ l o g σ L = E ϵ [( x − z ) σ ϵ ] − ( σ 2 − 1 ) . ( 7.56 )
第 3 步:代数字。 设 x = 1 x=1 x = 1 ,当前 μ = 0 , σ = 1 ( log σ = 0 ) \mu=0,\ \sigma=1(\log\sigma=0) μ = 0 , σ = 1 ( log σ = 0 ) ,采到 ϵ = 0.5 ⇒ z = 0.5 \epsilon=0.5\Rightarrow z=0.5 ϵ = 0.5 ⇒ z = 0.5 。则 ∇ μ L = ( 1 − 0.5 ) − 0 = 0.5 > 0 \nabla_\mu\mathcal L=(1-0.5)-0=0.5>0 ∇ μ L = ( 1 − 0.5 ) − 0 = 0.5 > 0 (把 μ \mu μ 往 x x x 拉);∇ log σ L = ( 0.5 ) ( 1 ) ( 0.5 ) − ( 1 − 1 ) = 0.25 > 0 \nabla_{\log\sigma}\mathcal L=(0.5)(1)(0.5)-(1-1)=0.25>0 ∇ l o g σ L = ( 0.5 ) ( 1 ) ( 0.5 ) − ( 1 − 1 ) = 0.25 > 0 (把 σ \sigma σ 略微调大)。方向与直觉一致:让后验均值靠近观测、保留合理的不确定度。局限 :单样本估计有方差,实践取 mini-batch 平均;tanh \tanh tanh 等非线性压缩会引入雅可比修正项(正是第 9 节 SAC 的做法)。
写成可直接落地的一步更新(VAE / amortized 版本,μ , σ \mu,\sigma μ , σ 由编码器网络输出):
# 一步 ELBO 上升(对 batch 求均值)
mu, log_sigma = encoder(x) # amortized:网络直接吐后验参数
sigma = exp(log_sigma)
eps = randn_like(sigma) # 与 phi 无关的噪声
z = mu + sigma * eps # 重参数化:把采样变成确定性变换
recon = log_p_decoder(x, z) # 重建对数似然(可微解码器)
kl = 0.5 * sum(mu**2 + sigma**2 - 1 - 2*log_sigma)
loss = -(recon.mean() - kl.mean()) # 最小化 −ELBO
loss.backward(); opt.step() # 梯度自动穿过 z=mu+sigma*eps
D6.2 Amortized VI 与推断网络
朴素 VI 为每个数据点 x ( i ) x^{(i)} x ( i ) 单独优化一组 ϕ ( i ) = ( μ ( i ) , σ ( i ) ) \phi^{(i)}=(\mu^{(i)},\sigma^{(i)}) ϕ ( i ) = ( μ ( i ) , σ ( i ) ) ——每来一个新点都要跑一轮内层优化,昂贵且不可泛化。Amortized VI(摊销变分推断) 改学一个共享的推断网络(编码器) q ϕ ( z ∣ x ) = N ( μ ϕ ( x ) , σ ϕ ( x ) ) q_\phi(z|x)=\mathcal N(\mu_\phi(x),\sigma_\phi(x)) q ϕ ( z ∣ x ) = N ( μ ϕ ( x ) , σ ϕ ( x )) :一次前向就把任意 x x x 映射到其后验参数,推断成本被”摊”到所有点上,且能对没见过的 x x x 直接泛化。代价是摊销间隙(amortization gap) :一个网络未必对每个点都输出该点的最优 ϕ \phi ϕ ,比逐点优化略差一截。
本质 Insight
amortization 把”推断 ”从一个优化问题变成一次前向预测 ——这正是”用学习替代搜索”的通用套路。它与 RL 里”用策略网络 π ϕ ( a ∣ s ) \pi_\phi(a|s) π ϕ ( a ∣ s ) 替代每步重新规划”(模块 08 的 MPC vs 学策略)是同一种权衡:预测快但有近似间隙,搜索准但昂贵。SAC 的策略网络就是一个摊销的推断网络 ——它摊销的是”给定 s s s ,从 e Q / α e^{Q/\alpha} e Q / α 里采动作”这个推断。
D6.3 Mean-field vs 结构化变分:取舍
近似族 形式 优点 代价 / 陷阱 Mean-field(平均场) q ( z ) = ∏ i q i ( z i ) q(z)=\prod_i q_i(z_i) q ( z ) = ∏ i q i ( z i ) 完全因子化最简单、每维可独立更新、坐标上升有闭式 丢弃变量间相关性 → 系统性低估后验方差 、对多峰”模式寻求” 结构化变分 保留部分依赖(如链式 q ( z t ∣ z t − 1 ) q(z_t\vert z_{t-1}) q ( z t ∣ z t − 1 ) 、低秩协方差) 能表达相关性、逼近更紧、下界更高 更新更贵、需设计依赖结构;仍是下界近似
经验法则:变量间相关性强(时间序列、图模型的相邻节点)时,mean-field 会明显偏差,值得上结构化变分;追求实现简单、维度间近似独立时,mean-field 足够。这不是纸上谈兵——它正是第 6 节修正”乐观推断”的核心手段 。
D6.4 接回控制即推断:soft RL 就是这套 VI 工具的应用
把上面每一件工具与本模块正文一一对上,就能看清”控制即推断”没有引入任何新数学,只是 VI 的复用:
隐变量模型 ↔ 轨迹 τ = ( s 1 : T , a 1 : T ) \tau=(s_{1:T},a_{1:T}) τ = ( s 1 : T , a 1 : T ) 是隐变量、最优性变量 O 1 : T = 1 \mathcal O_{1:T}=1 O 1 : T = 1 是观测(第 4 节);
精确后验推断(消息传递) ↔ backward messages β t \beta_t β t 、soft value V = log ∫ e Q V=\log\int e^{Q} V = log ∫ e Q (第 5 节)——这就是对图模型做精确推断 ;
朴素后验方差被低估 / 篡改 ↔ 精确后验”过于乐观”地改动了动力学(第 6 节);
结构化变分(把动力学钉死为真实转移、只让策略自由) ↔ 恰好导出 MaxEnt 目标 ∑ t E [ r + α H ( π ) ] \sum_t\mathbb E[r+\alpha\mathcal H(\pi)] ∑ t E [ r + α H ( π )] (第 6–7 节推导);
amortized VI(推断网络)+ 重参数化 ↔ SAC 的高斯策略网络与其 actor 更新(第 9 节)。
一句话
Soft RL = 在”轨迹图模型 + 最优性证据”上做结构化变分推断 。ELBO 就是 MaxEnt 目标,KL 投影就是软策略改进,重参数化就是让策略梯度可传的那一招——你在本节手算的每一步,第 8–9 节都会原样再用一次。
讨论课 · Section 4:DQN and SAC(SAC 训练实操)
第 9 节给了 SAC 的理论根基(软策略评估 + KL 投影式软策略改进 + 温度对偶)。本节把它拼成一份可照抄的完整训练伪代码 ,再给一份工程实践清单。SAC 的理论根基之所以放在本模块,是因为它整个就是 MaxEnt / 控制即推断的落地;至于同属 CS285 Section 4 的 DQN (value-based、hard max、ϵ \epsilon ϵ -greedy)部分,请见 模块 05。
D4.1 SAC 完整训练伪代码
初始化 critic Q_θ1, Q_θ2;actor π_φ(tanh 压缩的高斯);log α
目标网络 θ̄1←θ1, θ̄2←θ2;回放池 D=∅
目标熵 H̄ = −dim(A) # 连续动作的经验默认值
for 每个环境步:
a ~ π_φ(·|s) # 采样动作
执行 a,观测 r, s', done;存 (s,a,r,s',done) → D
for 每个梯度步 (每步可做 1~G 次):
采样 batch {(s,a,r,s',done)} ~ D
# ---------- critic:软策略评估 ----------
a' ~ π_φ(·|s'); logp' = log π_φ(a'|s') # 重新采样 + 概率
y = r + γ(1−done)·( min_{i∈{1,2}} Q_θ̄i(s',a') − α·logp' )
for i in {1,2}: θi ← θi − η ∇_θi (Q_θi(s,a) − y)² # y 停梯度
# ---------- actor:软策略改进(重参数化)----------
ã = tanh( μ_φ(s) + σ_φ(s)⊙ε ), ε~N(0,I) # 可微采样
logp = log π_φ(ã|s) # 含 tanh 雅可比修正
L_π = mean( α·logp − min_{i} Q_θi(s,ã) ) # =−(Q+熵)
φ ← φ − η ∇_φ L_π # 梯度穿过 ã
# ---------- 温度 α:带熵约束的对偶更新 ----------
L_α = mean( −logα · ( logp.detach() + H̄ ) ) # 对 logα 求导
logα ← logα − η ∇_{logα} L_α; α = exp(logα)
# ---------- 目标网络 Polyak 软更新 ----------
θ̄i ← ρ·θ̄i + (1−ρ)·θi (i=1,2), ρ≈0.995
三处要点与理论的对应:双 Q 取 min (min i Q \min_i Q min i Q )缓解自举带来的过估计;目标里的 − α log π -\alpha\log\pi − α log π 就是 soft value V ( s ′ ) = E a ′ [ Q − α log π ] V(s')=\mathbb E_{a'}[Q-\alpha\log\pi] V ( s ′ ) = E a ′ [ Q − α log π ] 的样本估计;α \alpha α 的对偶更新 把温度自动拉到”恰好维持目标熵 H ˉ \bar{\mathcal H} H ˉ “的水平(当前熵低于 H ˉ \bar{\mathcal H} H ˉ 时增大 α \alpha α → 更随机,反之减小)。
为什么 tanh 高斯策略要加雅可比修正(logp 的正确写法)
关键假设
基分布 u ∼ N ( μ ϕ ( s ) , σ ϕ ( s ) 2 ) u\sim\mathcal N(\mu_\phi(s),\sigma_\phi(s)^2) u ∼ N ( μ ϕ ( s ) , σ ϕ ( s ) 2 ) ,动作 a = tanh ( u ) a=\tanh(u) a = tanh ( u ) 把值域压到 ( − 1 , 1 ) (-1,1) ( − 1 , 1 ) 。
变量替换的密度变换给出:log π ( a ∣ s ) = log N ( u ; μ , σ ) − ∑ i log ( 1 − tanh 2 ( u i ) ) \log\pi(a|s)=\log\mathcal N(u;\mu,\sigma)-\sum_i\log\!\big(1-\tanh^2(u_i)\big) log π ( a ∣ s ) = log N ( u ; μ , σ ) − ∑ i log ( 1 − tanh 2 ( u i ) ) 。第二项是 tanh \tanh tanh 的对数雅可比,不能漏 ——漏掉会让熵估计错误、温度调节失灵。数值上常用 log ( 1 − tanh 2 u ) = log ( 1 − a 2 ) \log(1-\tanh^2 u)=\log(1-a^2) log ( 1 − tanh 2 u ) = log ( 1 − a 2 ) 并加 ϵ \epsilon ϵ 防溢出,或用更稳的 2 ( log 2 − u − softplus ( − 2 u ) ) 2(\log 2-u-\text{softplus}(-2u)) 2 ( log 2 − u − softplus ( − 2 u )) 写法。
D4.2 实践清单
工程要点
Replay buffer :off-policy,大容量(1e6 级)均匀采样即可;SAC 对回放数据”陈旧”相对鲁棒,无需优先级也能工作。
Target Q 的 Polyak 平均 :用 θ ˉ ← ρ θ ˉ + ( 1 − ρ ) θ \bar\theta\leftarrow\rho\,\bar\theta+(1-\rho)\theta θ ˉ ← ρ θ ˉ + ( 1 − ρ ) θ 的软更新(ρ ≈ 0.995 \rho\approx0.995 ρ ≈ 0.995 )而非硬拷贝,稳定自举目标;只对 critic 用目标网络,actor/α 不需要 。
Reward scale 直接改变熵权重 :因为 α \alpha α 是”每 nat 熵值多少奖励”的兑换率,把奖励整体乘 c c c 等价于把温度除以 c c c 。奖励尺度过大 → 相对熵太便宜 → 策略过早确定、探索不足;过小 → 策略过度随机学不动。用自动 α \alpha α 能吸收大部分尺度问题,但极端尺度仍建议归一化奖励。
目标熵 H ˉ \bar{\mathcal H} H ˉ :连续动作默认 − dim ( A ) -\dim(\mathcal A) − dim ( A ) 是稳健起点;想更确定/更随机可按比例调。
双 Q + min :几乎必开;去掉会明显过估计。actor 更新里也用 min i Q \min_i Q min i Q 。
优化 log α \log\alpha log α 而非 α \alpha α :保证正性与数值稳定。
讨论课 · Section 7:IRL and LLM RL(逆强化学习 / Inverse RL)
前面都假设奖励 r ( s , a ) r(s,a) r ( s , a ) 是给定的。但很多真实任务里,奖励恰恰是最难写对的东西 (自动驾驶的”开得好”、对话的”回答得好”)。逆强化学习(Inverse Reinforcement Learning, IRL) 反过来问:给定专家演示轨迹,能否反推出专家在优化的那个奖励函数? 本节说明:最大熵 IRL 恰恰就是本模块”控制即推断”框架的一次直接应用;而它与 RLHF 的奖励建模 存在深刻同构。
D7.1 问题设定与奖励歧义性
给定专家演示 D E = { τ ( i ) } \mathcal D_E=\{\tau^{(i)}\} D E = { τ ( i ) } (假设由某最优/近优策略产生),目标是找一个奖励 r ψ ( s , a ) r_\psi(s,a) r ψ ( s , a ) ,使得”在该奖励下的最优策略”能解释这些演示。核心困难是奖励歧义性(reward ambiguity) :
局限 / 陷阱:为什么 IRL 天生欠定
同一批最优行为可以由多个奖励解释;例如,势函数塑形可在相应条件下保持最优策略不变。因此 IRL 需要额外假设或正则。最大熵原则是在给定特征匹配约束下选择唯一的最大熵轨迹分布,而不一般唯一识别奖励参数,也不消除奖励塑形等价类 [8] 。
D7.2 特征匹配
经典设定把奖励写成特征的线性组合 r ψ ( s , a ) = ψ ⊤ f ( s , a ) r_\psi(s,a)=\psi^\top \mathbf f(s,a) r ψ ( s , a ) = ψ ⊤ f ( s , a ) 。一条轨迹的特征计数 F ( τ ) = ∑ t f ( s t , a t ) \mathbf F(\tau)=\sum_t \mathbf f(s_t,a_t) F ( τ ) = ∑ t f ( s t , a t ) 。若能让学到策略的期望特征 匹配专家的期望特征 E π [ F ] = E π E [ F ] \mathbb E_{\pi}[\mathbf F]=\mathbb E_{\pi_E}[\mathbf F] E π [ F ] = E π E [ F ] ,则在线性奖励下两者的期望回报相等——这就是 特征匹配(feature matching) 。问题:满足匹配的策略仍不唯一(回到歧义性),需要一个原则来定选择。MaxEnt IRL 用”熵最大”来定。
D7.3 最大熵 IRL:正是”控制即推断”的应用
最大熵 IRL(MaxEnt IRL, 2008) 假设专家轨迹服从与奖励指数挂钩的分布——这正是 第 4–5 节的最优性模型 p ( O 1 : T = 1 ∣ τ ) ∝ e ∑ t r p(\mathcal O_{1:T}=1|\tau)\propto e^{\sum_t r} p ( O 1 : T = 1∣ τ ) ∝ e ∑ t r [8] :
p ψ ( τ ) ∝ p ( τ ) exp ( ∑ t r ψ ( s t , a t ) ) = 1 Z ( ψ ) p ( τ ) exp ( ψ ⊤ F ( τ ) ) , (7.57) p_\psi(\tau)\ \propto\ p(\tau)\,\exp\!\Big(\sum_t r_\psi(s_t,a_t)\Big)\ =\ \frac{1}{Z(\psi)}\,p(\tau)\,\exp\big(\psi^\top\mathbf F(\tau)\big), \tag{7.57} p ψ ( τ ) ∝ p ( τ ) exp ( t ∑ r ψ ( s t , a t ) ) = Z ( ψ ) 1 p ( τ ) exp ( ψ ⊤ F ( τ ) ) , ( 7.57 )
其中 Z ( ψ ) = ∫ p ( τ ) e ψ ⊤ F ( τ ) d τ Z(\psi)=\int p(\tau)\,e^{\psi^\top\mathbf F(\tau)}\,d\tau Z ( ψ ) = ∫ p ( τ ) e ψ ⊤ F ( τ ) d τ 是配分函数 。学习 ψ \psi ψ = 最大化专家轨迹在此分布下的对数似然。其梯度有一个极其干净的形式(下推导),并且——关键——计算梯度需要在当前奖励 r ψ r_\psi r ψ 下解一次 soft RL(即本模块的 backward soft value / 控制即推断) 。
推导:MaxEnt IRL 的梯度 = 专家特征期望 − 当前策略特征期望(骨架)
关键假设
奖励线性于特征 r ψ = ψ ⊤ f r_\psi=\psi^\top\mathbf f r ψ = ψ ⊤ f ;专家演示 i.i.d. 采自 p ψ p_\psi p ψ ;能对当前 ψ \psi ψ 求解 soft 最优策略(做一次控制即推断的 backward pass)以估计其特征期望;有限时域。
第 1 步:写对数似然。 对专家集合 D E \mathcal D_E D E ,
L ( ψ ) = 1 ∣ D E ∣ ∑ τ ∈ D E log p ψ ( τ ) = 1 ∣ D E ∣ ∑ τ ∈ D E [ ψ ⊤ F ( τ ) + log p ( τ ) ] − log Z ( ψ ) . (7.58) \mathcal L(\psi)=\frac{1}{|\mathcal D_E|}\sum_{\tau\in\mathcal D_E}\log p_\psi(\tau)=\frac{1}{|\mathcal D_E|}\sum_{\tau\in\mathcal D_E}\Big[\psi^\top\mathbf F(\tau)+\log p(\tau)\Big]-\log Z(\psi). \tag{7.58} L ( ψ ) = ∣ D E ∣ 1 τ ∈ D E ∑ log p ψ ( τ ) = ∣ D E ∣ 1 τ ∈ D E ∑ [ ψ ⊤ F ( τ ) + log p ( τ ) ] − log Z ( ψ ) . ( 7.58 )
第 2 步:对 ψ \psi ψ 求梯度。 前一项直接给专家平均特征 E π E [ F ] \mathbb E_{\pi_E}[\mathbf F] E π E [ F ] ;难点在 ∇ ψ log Z \nabla_\psi\log Z ∇ ψ log Z :
∇ ψ log Z ( ψ ) = 1 Z ∫ p ( τ ) e ψ ⊤ F ( τ ) F ( τ ) d τ = E τ ∼ p ψ [ F ( τ ) ] . (7.59) \nabla_\psi\log Z(\psi)=\frac{1}{Z}\int p(\tau)\,e^{\psi^\top\mathbf F(\tau)}\,\mathbf F(\tau)\,d\tau=\mathbb E_{\tau\sim p_\psi}\big[\mathbf F(\tau)\big]. \tag{7.59} ∇ ψ log Z ( ψ ) = Z 1 ∫ p ( τ ) e ψ ⊤ F ( τ ) F ( τ ) d τ = E τ ∼ p ψ [ F ( τ ) ] . ( 7.59 )
(这是配分函数的经典性质:log Z \log Z log Z 对自然参数的梯度 = 充分统计量的期望。)第 3 步:合并。
∇ ψ L = E π E [ F ] ⏟ 专家特征期望 − E π ψ [ F ] ⏟ 当前(soft最优)策略特征期望 (7.60) \boxed{\ \nabla_\psi\mathcal L=\underbrace{\mathbb E_{\pi_E}[\mathbf F]}_{\text{专家特征期望}}-\underbrace{\mathbb E_{\pi_\psi}[\mathbf F]}_{\text{当前(soft最优)策略特征期望}}\ } \tag{7.60} ∇ ψ L = 专家特征期望 E π E [ F ] − 当前 (soft 最优 ) 策略特征期望 E π ψ [ F ] ( 7.60 )
梯度上升让”当前奖励诱导的软最优策略”的特征期望去追平专家——零梯度即特征匹配 。其中 E π ψ [ F ] \mathbb E_{\pi_\psi}[\mathbf F] E π ψ [ F ] 怎么算? 正是对当前 r ψ r_\psi r ψ 做一遍本模块的 soft value backward pass 得到软最优策略 π ψ ∝ e A ψ \pi_\psi\propto e^{A_\psi} π ψ ∝ e A ψ ,再前向求各状态访问频率(state visitation)× 特征。这就是”控制即推断”作为 IRL 内循环的确切位置。
局限 :小状态空间要精确算 Z Z Z 需动态规划(表格式可行);大/连续空间要用采样近似(重要性采样、引导代价学习 GCL),方差大;线性特征假设限制表达力(深度 MaxEnt IRL 用神经网络奖励放宽)。
图 8:MaxEnt IRL 的外循环更新奖励、内循环用”控制即推断”求软最优策略;奖励梯度 = 专家特征期望 − 当前策略特征期望。
D7.4 GAIL:对抗式模仿的直觉
MaxEnt IRL 的内循环(每步都要解一遍 RL)很贵。GAIL(Generative Adversarial Imitation Learning, 2016) 换个思路:不显式恢复奖励 ,而是像 GAN 一样对抗训练——判别器 D ω ( s , a ) D_\omega(s,a) D ω ( s , a ) 学着区分”专家的 ( s , a ) (s,a) ( s , a ) “与”当前策略的 ( s , a ) (s,a) ( s , a ) “;策略以判别器输出构造隐式奖励,从而把自己的占用度量(occupancy measure) 推向专家 [9] 。判别器扮演了 IRL 中隐式代价函数的角色,避免每轮先显式恢复奖励再完整求解策略。
前沿实践:IRL ↔ RLHF 奖励建模的深刻同构
RM ≈ 学一个奖励 :RLHF 的奖励模型(Reward Model, RM) 从人类偏好比较里拟合一个标量奖励 r ψ r_\psi r ψ (Bradley–Terry:P ( τ a ≻ τ b ) = σ ( r ψ ( τ a ) − r ψ ( τ b ) ) P(\tau_a\succ\tau_b)=\sigma(r_\psi(\tau_a)-r_\psi(\tau_b)) P ( τ a ≻ τ b ) = σ ( r ψ ( τ a ) − r ψ ( τ b )) )——这本质上就是一次 IRL :从”专家/被偏好的行为”反推奖励,再用它跑 RL。人类偏好数据 = 专家演示的软化版本。
DPO / RLHF 与正则化策略优化 :RLHF 的 KL-正则最优策略 π ⋆ ∝ π ref e r ψ / β \pi^\star\propto\pi_{\text{ref}}\,e^{r_\psi/\beta} π ⋆ ∝ π ref e r ψ / β 与本模块的 soft 最优策略同形;DPO 利用这一闭式关系,把显式奖励建模与后续 RL 改写为对偏好数据的分类目标 [7] 。控制即推断为理解其中的参考策略正则提供了统一视角(详见模块 13)。
方法溯源:动机 · 启发 · 局限
本模块的每个方法都不是凭空出现,而是被前一个方法的局限 逼出来的。下表把”控制即推断”这条谱系按时间与因果串起来——读法是:每一行的”关键局限”往往正是下一行”要解决的问题”。
方法 / 代表作(年代) 要解决什么问题(动机) 受什么启发 / 技术脉络 关键局限(→ 引出谁) 变分推断 / ELBO (Jordan 等 1999;Kingma–Welling VAE 2013)隐变量模型的边缘似然 p ( x ) p(x) p ( x ) 与后验 p ( z ∣ x ) p(z\vert x) p ( z ∣ x ) 含难解积分,无法直接做 MLE / 推断 Jensen 不等式、EM 算法、统计物理的平均场;重参数化让采样可微 反向 KL 的”模式寻求”低估多峰后验、有摊销间隙(→ 成为控制即推断的推断工具箱) 线性可解 MDP / KL 控制 (Todorov 2007;Kappen 路径积分 2005)希望最优控制有闭式、可组合 的解,而非逐问题数值求解 把控制代价写成一个 KL 散度、Feynman–Kac 公式;用 log-sum-exp 替代 hard max 依赖特殊结构(受控与被动动力学分离),难推广到一般 MDP(→ 启发一般化的图模型表述) 控制即推断框架 (Toussaint 2009;Levine 2018 综述)把 RL 统一进概率推断,借用成熟的消息传递 / 变分工具 概率图模型、最优性变量 O t \mathcal{O}_t O t 、p ( O t ∣ s , a ) ∝ e r p(\mathcal{O}_t\vert s,a)\propto e^{r} p ( O t ∣ s , a ) ∝ e r 、前向-后向消息 精确后验会”篡改动力学”、显得过于乐观 (→ 结构化变分修正) 最大熵 RL 目标 (结构化 VI 的产物)在真实随机性下既最大化奖励、又保留随机性(探索 / 鲁棒 / 多模态) 结构化变分把动力学钉死、只优化策略;Jaynes 最大熵原理 温度 α \alpha α 需选、连续动作下 V = α log ∫ e Q / α V=\alpha\log\int e^{Q/\alpha} V = α log ∫ e Q / α 的配分难算(→ Soft Q-Learning) Soft Q-Learning (Haarnoja 等 2017)把 soft Bellman 方程变成能训练的类 Q-learning 算法 能量模型、Stein 变分梯度下降(SVGD)采样 π ∝ e Q / α \pi\propto e^{Q/\alpha} π ∝ e Q / α 要显式估配分函数、SVGD 采样器实现复杂、方差大、调参敏感(→ SAC) SAC (Haarnoja 等 2018)要一个稳定、样本高效、超参鲁棒的实用 MaxEnt 算法 对指数化 Q 做 KL 投影得高斯策略、重参数化、双 Q 取 min;原始版本使用给定温度 高斯族表达力有限(难精确表示多峰 e Q / α e^{Q/\alpha} e Q / α )、仍需目标网络等 trick;自动温度见后续扩展 最大熵 IRL (2008)奖励难人工设定时,从专家演示学习能解释行为的奖励 最大熵原理 + 配分函数、特征匹配;内循环正是控制即推断的 backward pass 最大熵原则消除满足特征匹配时对轨迹分布的选择歧义,但不一般消除奖励参数的非可识别性或势函数塑形等价类;且需计算配分函数(→ GAIL) GAIL (Ho & Ermon 2016)绕开”显式恢复奖励 + 内层反复解 RL”的昂贵两层循环 GAN 式对抗博弈、占用度量匹配;判别器充当隐式奖励 对抗训练不稳、不产出可复用的显式奖励(成对抗式模仿主流)
演进故事线 ①:从”最优控制”到”概率推断”再到 SAC
整条主线由一个换框架的念头点燃:能否把”最大化回报”这件确定性最优化,重述成”在观测到最优的条件下推断动作”的概率问题? Todorov / Kappen 先在特殊结构上给出肯定答案(KL 控制、线性可解 MDP),Toussaint 与 Levine 再把它一般化为带最优性变量 O t \mathcal{O}_t O t 的图模型——此时 hard max 被自然软化成 log ∑ exp \log\!\sum\exp log ∑ exp ,“多出来的那一项”恰是策略熵。但精确推断露出破绽 :它会偷偷偏向”幸运的转移”(Q = r + log E [ e V ] Q=r+\log\mathbb{E}[e^{V}] Q = r + log E [ e V ] 的风险寻求),得到过于乐观 的策略。修补的关键洞察极朴素——把你无权控制的环境动力学从优化变量里剔除 (结构化变分),于是干净地掉出最大熵目标 ∑ t E [ r + α H ( π ) ] \sum_t\mathbb{E}[r+\alpha\mathcal H(\pi)] ∑ t E [ r + α H ( π )] 。剩下的只是工程化:Soft Q-Learning 把 soft Bellman 变成 Q-learning,却卡在配分函数与 SVGD 的复杂度上;SAC 用”对指数化 Q 做 KL 投影 + 重参数化 + 温度对偶”把它们一举绕开。每一步都是被上一步的局限推着走的。
演进故事线 ②:逆问题支线——奖励歧义 → 最大熵 → 对抗化
当奖励本身难写时,问题反了过来:给定专家演示,学习能解释行为的奖励 。这条支线的病根是奖励歧义 ——多个奖励可能诱导同一行为。最大熵 IRL 在给定特征匹配约束下选择唯一的最大熵轨迹分布,但不一般唯一识别奖励参数,也不消除势函数塑形等价类 [8] 。计算配分函数的内循环对应控制即推断的 backward pass。GAIL 则不显式恢复奖励,而以对抗训练直接匹配占用度量 [9] 。
贯穿线:温度 α \alpha α 是这条谱系的唯一旋钮
把整条谱系压成一句话:控制即推断只是把 RL 目标里的 hard max 换成软 max,而温度 α \alpha α 就是软硬之间的旋钮。 α → 0 \alpha\to0 α → 0 时它退回标准 RL(确定性贪婪),α → ∞ \alpha\to\infty α → ∞ 时退回均匀策略;把动作先验从均匀换成参考策略 π ref \pi_{\text{ref}} π ref ,熵正则就升级为 KL-to-reference——这正是 RLHF / DPO 里那一项 β D K L ( π ∥ π ref ) \beta\,D_{\mathrm{KL}}(\pi\|\pi_{\text{ref}}) β D KL ( π ∥ π ref ) 。因此本模块所有方法(soft value、SQL、SAC、MaxEnt IRL)共享同一个数学骨架,差别只在”先验取什么、温度设多大、以及在哪一步做近似”。这也印证了编者按:MaxEnt 框架在 LLM 时代真正落地的,几乎正是”目标里那一项 KL / 熵正则”(详见 模块 13)。
图 9:控制即推断的方法谱系。上排为”控制→推断→MaxEnt”主线与其算法落地(SQL→SAC),下排紫色为逆强化学习支线;箭头上的标注是”上一个方法的局限如何催生下一个”。
14. 小结
变分推断 :ELBO = log p ( x ) \log p(x) log p ( x ) − KL( q ∥ p ( z ∣ x ) ) (q\|p(z|x)) ( q ∥ p ( z ∣ x )) ,最大化 ELBO 同时做近似 MLE 与后验拟合;amortized VI 用编码器共享推断,重参数化让采样可微。
控制即推断 :引入 O t \mathcal O_t O t 、p ( O t ∣ s , a ) ∝ e r p(\mathcal O_t|s,a)\propto e^{r} p ( O t ∣ s , a ) ∝ e r ,精确后向推断给出 soft value V = log ∫ e Q V=\log\int e^{Q} V = log ∫ e Q 、后验策略 π ∝ e A \pi\propto e^{A} π ∝ e A 。
乐观陷阱与修正 :精确推断会篡改动力学(乐观);结构化 VI 固定真实动力学、只优化策略,干净地导出 MaxEnt 目标 ∑ t E [ r + α H ( π ) ] \sum_t\mathbb E[r+\alpha\mathcal H(\pi)] ∑ t E [ r + α H ( π )] 。
算法 :Soft Q-Learning 直接迭代 soft Bellman;SAC 用软策略评估 + KL 投影式软策略改进,并在后续扩展中加入温度自动调节;论文在特定连续控制基准上报告了较强结果(非跨任务「旗舰」断言)。
价值 :MaxEnt 带来内生探索、鲁棒性、多模态,并与世界模型、RLHF 的 KL 正则同源。