Lyapunov与SAC算法的数学结构对比:从二次漂移到TD损失
一、李雅普诺夫优化中二次漂移函数的推导
李雅普诺夫优化的核心是通过设计 “李雅普诺夫函数” 和 “漂移项”,保证系统状态收敛到稳定点。以下以线性时不变系统为例(非线性系统推导逻辑类似,仅动力学方程更复杂),推导二次漂移函数的形式。
1. 系统定义与假设
考虑连续时间线性系统(离散时间推导类似,仅用差分替代微分):x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = Ax(t) + Bu(t)x˙(t)=Ax(t)+Bu(t) 其中:
- x(t)∈Rnx(t) \in \mathbb{R}^nx(t)∈Rn为系统状态向量,
- (u(t)∈Rm(u(t) \in \mathbb{R}^m(u(t)∈Rm 为控制输入,
- A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n、B∈Rn×mB \in \mathbb{R}^{n \times m}B∈Rn×m为系统矩阵(已知,体现动力学特性)。
目标:设计控制输入 u(t)u(t)u(t),使系统状态 x(t)x(t)x(t) 收敛到原点(稳定点,即 x∗=0x^* = 0x∗=0。
2. 李雅普诺夫函数的构造
李雅普诺夫函数 V(x)V(x)V(x) 需满足:
-
正定性:V(x)>0V(x) > 0V(x)>0 对所有 x≠0x \neq 0x=0 成立,且 V(0)=0V(0) = 0V(0)=0;
-
径向无界性:当 ∥x∥→∞\|x\| \to \infty∥x∥→∞ 时,V(x)→∞V(x) \to \inftyV(x)→∞(保证全局收敛)。
最常用的二次型李雅普诺夫函数为:V(x)=xTPxV(x) = x^T P xV(x)=xTPx 其中 P∈Rn×nP \in \mathbb{R}^{n \times n}P∈Rn×n 是正定对称矩阵(P>0P > 0P>0),确保 V(x)V(x)V(x) 满足正定
3. 二次漂移函数的推导
“漂移” 指李雅普诺夫函数随时间的变化率(连续时间为导数,离散时间为差分),用于衡量系统偏离稳定点的趋势。
(1)连续时间漂移
对 V(x)V(x)V(x) 求时间导数:
V˙(x)=ddt(xTPx)=x˙TPx+xTPx˙\dot{V}(x) = \frac{d}{dt} (x^T P x) = \dot{x}^T P x + x^T P \dot{x}V˙(x)=dtd(xTPx)=x˙TPx+xTPx˙
代入系统动力学方程
x˙=Ax+Bu:dotV(x)=(Ax+Bu)TPx+xTP(Ax+Bu)\dot{x} = Ax + Bu:dot{V}(x) = (Ax + Bu)^T P x + x^T P (Ax + Bu) x˙=Ax+Bu:dotV(x)=(Ax+Bu)TPx+xTP(Ax+Bu)
展开并利用用矩阵转置性质(AB)T=BTAT(AB)^T = B^T A^T(AB)T=BTAT:
V˙(x)=xTATPx+uTBTPx+xTPAx+xTPBu\dot{V}(x) = x^T A^T P x + u^T B^T P x + x^T P A x + x^T P B uV˙(x)=xTATPx+uTBTPx+xTPAx+xTPBu
因 (P) 对称PT=PP^T = PPT=P,故
xTPAx=(xTPAx)T=xTATPx x^T P A x = (x^T P A x)^T = x^T A^T P xxTPAx=(xTPAx)T=xTATPx
合并同类项:
V˙(x)=2xTATPx+uTBTPx+xTPBu\dot{V}(x) = 2x^T A^T P x + u^T B^T P x + x^T P B uV˙(x)=2xTATPx+uTBTPx+xTPBu
为使系统稳定,需设计 u(t)u(t)u(t) 使 V˙(x)<0\dot{V}(x) < 0V˙(x)<0(负定性,保证V(x)V(x)V(x) 随时间减小,即状态向原点收敛。
若采用线性反馈控制 u=−Kxu = -Kxu=−Kx, KKK 为反馈增益矩阵,代入得:
V˙(x)=xT(ATP+PA−PBK−KTBTP)x\dot{V}(x) = x^T \left( A^T P + P A - P B K - K^T B^T P \right) x V˙(x)=xT(ATP+PA−PBK−KTBTP)x
令Q=−(ATP+PA−PBK−KTBTP)Q = -(A^T P + P A - P B K - K^T B^T P)Q=−(ATP+PA−PBK−KTBTP) ,则:
V˙(x)=−xTQx\dot{V}(x) = -x^T Q xV˙(x)=−xTQx 其中 (Q > 0)(正定)
因此 V˙(x)\dot{V}(x)V˙(x) 是负定二次型,即漂移函数为二次形式。
(2)离散时间漂移
若系统为离散时间(更贴近强化学习的时序特性):
xt+1=Axt+Butx_{t+1} = A x_t + B u_txt+1=Axt+But
则漂移定义为相邻时刻李雅普诺夫函数的差分:
ΔV(xt)=V(xt+1)−V(xt)=xt+1TPxt+1−xtTPxt\Delta V(x_t) = V(x_{t+1}) - V(x_t) = x_{t+1}^T P x_{t+1} - x_t^T P x_tΔV(xt)=V(xt+1)−V(xt)=xt+1TPxt+1−xtTPxt
代入 xt+1=Axt+Butx_{t+1} = A x_t + B u_txt+1=Axt+But:
ΔV(xt)=(Axt+But)TP(Axt+But)−xtTPxt\Delta V(x_t) = (A x_t + B u_t)^T P (A x_t + B u_t) - x_t^T P x_tΔV(xt)=(Axt+But)TP(Axt+But)−xtTPxt
展开得:
ΔV(xt)=xtTATPAxt+xtTATPBut+utTBTPAxt+utTBTPBut−xtTPxt\Delta V(x_t) = x_t^T A^T P A x_t + x_t^T A^T P B u_t + u_t^T B^T P A x_t + u_t^T B^T P B u_t - x_t^T P x_tΔV(xt)=xtTATPAxt+xtTATPBut+utTBTPAxt+utTBTPBut−xtTPxt
合并后可写成:
ΔV(xt)=xtT(ATPA−P)xt+2xtTATPBut+utTBTPBut\Delta V(x_t) = x_t^T (A^T P A - P) x_t + 2 x_t^T A^T P B u_t + u_t^T B^T P B u_tΔV(xt)=xtT(ATPA−P)xt+2xtTATPBut+utTBTPBut
这仍是关于xtx_txt和 utu_tut的二次型函数,即二次漂移函数。
4. 核心结论
李雅普诺夫优化的二次漂移函数(连续时间的V˙(x)\dot{V}(x)V˙(x) 或离散时间的ΔV(xt)\Delta V(x_t)ΔV(xt)本质是二次型误差度量,通过约束状态(及控制输入)的二次项,确保系统向稳定点收敛。
二、SAC 中 TD 目标损失函数的推导
SAC(Soft Actor-Critic)是基于最大熵强化学习的算法,其价值网络的损失函数通过 TD(Temporal Difference)目标定义,核心是最小化 “预测 Q 值” 与 “bootstrapped 目标 Q 值” 的偏差。
1. 问题定义(马尔可夫决策过程,MDP)
SAC 的优化对象是 MDP,定义为 (S,A,r,p,γ)(\mathcal{S}, \mathcal{A}, r, p, \gamma)(S,A,r,p,γ):
- S\mathcal{S}S:状态空间,A\mathcal{A}A:动作空间,
- r(s,a)∈Rr(s,a) \in \mathbb{R}r(s,a)∈R:状态 sss 下执行动作aaa 的即时奖励,
- p(s′∣s,a)p(s'|s,a)p(s′∣s,a):状态转移概率(从 sss 到 s′s's′ ),
- γ∈[0,1)\gamma \in [0,1)γ∈[0,1):折扣因子(未来奖励的权重)。
目标:学习策略 π(a∣s)\pi(a|s)π(a∣s)(状态 sss 下动作 aaa 的概率分布),最大化累积熵奖励:
J(π)=Eτ∼π[∑t=0∞γt(r(st,at)+αH(π(⋅∣st)))]J(\pi) = \mathbb{E}_{\tau \sim \pi} \left[ \sum_{t=0}^\infty \gamma^t \left( r(s_t,a_t) + \alpha H(\pi(\cdot|s_t)) \right) \right]J(π)=Eτ∼π[t=0∑∞γt(r(st,at)+αH(π(⋅∣st)))]
其中 H(π(⋅∣s))=−Ea∼π[logπ(a∣s)]H(\pi(\cdot|s)) = -\mathbb{E}_{a \sim \pi} [\log \pi(a|s)]H(π(⋅∣s))=−Ea∼π[logπ(a∣s)] 是策略的熵(鼓励探索),α>0\alpha > 0α>0 是熵温度参数。
2. 软 Q 值(Soft Q-Function)的定义
为量化策略的累积熵奖励,定义 “软 Q 值” Qπ(s,a)Q^\pi(s,a)Qπ(s,a) 为:
Qπ(s,a)=E[∑k=0∞γk(r(st+k,at+k)+αH(π(⋅∣st+k)))∣st=s,at=a]Q^\pi(s,a) = \mathbb{E} \left[ \sum_{k=0}^\infty \gamma^k \left( r(s_{t+k}, a_{t+k}) + \alpha H(\pi(\cdot|s_{t+k})) \right) \bigg| s_t = s, a_t = a \right]Qπ(s,a)=E[k=0∑∞γk(r(st+k,at+k)+αH(π(⋅∣st+k)))st=s,at=a]
利用时序分解(类似贝尔曼方程),软 Q 值满足:
Qπ(s,a)=r(s,a)+γEs′∼p,a′∼π[Qπ(s′,a′)]Q^\pi(s,a) = r(s,a) + \gamma \mathbb{E}_{s' \sim p, a' \sim \pi} \left[ Q^\pi(s', a') \right]Qπ(s,a)=r(s,a)+γEs′∼p,a′∼π[Qπ(s′,a′)]
(推导:将累积和拆分为即时奖励 + 未来奖励的折扣期望,因a′∼πa' \sim \pia′∼π,故未来熵奖励已包含在 Qπ(s′,a′)Q^\pi(s',a')Qπ(s′,a′)中)。
3. TD 目标与损失函数的构造
SAC 通过价值网络参数化软 Q 值:Qθ(s,a)≈Qπ(s,a)Q_\theta(s,a) \approx Q^\pi(s,a)Qθ(s,a)≈Qπ(s,a)(θ\thetaθ 为网络参数)。为优化 θ\thetaθ,需定义损失函数,使其最小化 “预测 Q 值” 与 “目标 Q 值” 的偏差。
(1)TD 目标的定义
目标 Q 值(TD 目标)由 “即时奖励 + 未来软 Q 值的折扣期望” 构成,为避免训练不稳定,SAC 使用目标网络 (Qθ′Q_{\theta'}Qθ′(参数 θ\thetaθ缓慢更新,与 θ\thetaθ 分离):
yt=rt+γEa′∼πϕ[Qθ′(s′,a′)−αlogπϕ(a′∣s′)]y_t = r_t + \gamma \mathbb{E}_{a' \sim \pi_\phi} \left[ Q_{\theta'}(s', a') - \alpha \log \pi_\phi(a'|s') \right]yt=rt+γEa′∼πϕ[Qθ′(s′,a′)−αlogπϕ(a′∣s′)]
其中:
- piϕ(a∣s)pi_\phi(a|s)piϕ(a∣s) 是参数化策略(ϕ\phiϕ 为策略参数),
- 减去 αlogπϕ(a′∣s′)\alpha \log \pi_\phi(a'|s')αlogπϕ(a′∣s′) 是因为:Ea′∼π[Qπ(s′,a′)]=Ea′∼π[Qθ′(s′,a′)−αlogπ(a′∣s′)]\mathbb{E}_{a' \sim \pi} [Q^\pi(s',a')] = \mathbb{E}_{a' \sim \pi} [Q_{\theta'}(s',a') - \alpha \log \pi(a'|s')]Ea′∼π[Qπ(s′,a′)]=Ea′∼π[Qθ′(s′,a′)−αlogπ(a′∣s′)](软 Q 值的性质)。
(2)损失函数的推导
价值网络的优化目标是最小化 “预测 Q 值 Qθ(s,a)Q_\theta(s,a)Qθ(s,a)” 与 “TD 目标 yty_tyt” 的均方误差(MSE),即:
L(θ)=E(s,a,r,s′)∼D[(Qθ(s,a)−yt)2]\mathcal{L}(\theta) = \mathbb{E}_{(s,a,r,s') \sim \mathcal{D}} \left[ \left( Q_\theta(s,a) - y_t \right)^2 \right]L(θ)=E(s,a,r,s′)∼D[(Qθ(s,a)−yt)2]
其中 D\mathcal{D}D 是经验回放池(存储历史样本 (s,a,r,s′)(s,a,r,s')(s,a,r,s′))。
代入 yty_tyt 的表达式,损失函数展开为:
L(θ)=E[(Qθ(s,a)−(r+γEa′∼πϕ[Qθ′(s′,a′)−αlogπϕ(a′∣s′)]))2]\mathcal{L}(\theta) = \mathbb{E} \left[ \left( Q_\theta(s,a) - \left( r + \gamma \mathbb{E}_{a' \sim \pi_\phi} \left[ Q_{\theta'}(s',a') - \alpha \log \pi_\phi(a'|s') \right] \right) \right)^2 \right]L(θ)=E[(Qθ(s,a)−(r+γEa′∼πϕ[Qθ′(s′,a′)−αlogπϕ(a′∣s′)]))2]
4. 核心结论
SAC 的 TD 目标损失函数是二次型误差,衡量 “当前 Q 值预测” 与 “基于未来奖励和策略熵的目标值” 的偏差,通过梯度下降最小化该误差,使 Q 值估计收敛到真实软 Q 值。
三、两者数学结构的相似性对比
通过推导可见,两个公式的核心相似性体现在二次型误差和时序递推的数学结构上:
维度 | 李雅普诺夫二次漂移函数(离散时间) | SAC 的 TD 目标损失函数 |
---|---|---|
二次项形式 | ΔV(xt)=xt+1TPxt+1−xtTPxt\Delta V(x_t) = x_{t+1}^T P x_{t+1} - x_t^T P x_tΔV(xt)=xt+1TPxt+1−xtTPxt)(二次型差分) | L(θ)=(预测值−目标值)2\mathcal{L}(\theta) = (\text{预测值} - \text{目标值})^2L(θ)=(预测值−目标值)2(二次误差) |
时序关联 | 依赖 xtx_txt 与 xt+1x_{t+1}xt+1 的关系(状态转移) | 依赖 (s,a)(s,a)(s,a) 与 (s′,a′)(s',a')(s′,a′) 的关系(MDP 转移) |
优化目标 | 最小化漂移(使 ΔV≤0\Delta V \leq 0ΔV≤0,保证状态收敛 | 最小化二次误差,使 Q 值估计收敛到真实值 |
核心变量 | 系统状态 x(物理 / 抽象状态) | 价值估计 Q(对累积奖励的预测) |
总结
两者的数学推导均围绕 “二次型误差度量” 和 “相邻时间步的递推关系” 展开:李雅普诺夫漂移通过状态的二次型差分约束系统稳定性,SAC 的 TD 损失通过 Q 值的二次误差约束估计准确性。这种相似性源于动态系统优化的共性需求 —— 用可微的二次项量化偏差,并通过时序关联将长期目标转化为局部优化问题。