《强化学习与最优控制》第 4 章 · 无穷阶段动态规划
有限阶段问题有明确的终止时刻 N。但很多实际问题——持续运行的控制系统、不终止的博弈、在线服务——需要无穷阶段模型。这会带来数学上的新挑战,但也带来优美的结构。
一、为什么需要无穷阶段?
| 场景 |
阶段数 |
模型 |
| 走出迷宫 |
有限(到达终点即止) |
有限阶段 |
| 下一盘棋 |
有限(分出胜负即止) |
有限阶段 |
| 控制无人机持续飞行 |
无限 |
无穷阶段 |
| 股票交易 |
无限 |
无穷阶段 |
| 机器人持续工作 |
无限 |
无穷阶段 |
无穷阶段问题的费用是无限求和,需要保证收敛。
二、两大无穷阶段模型
1. 随机最短路径问题(SSP)
Jμ(i)=E{k=0∑∞g(ik,μk(ik),wk)}
- 费用不折扣(γ=1)
- 存在终止状态 t,到达后费用为 0 且不再离开
- 假设:最优策略下,从任何状态都能(以概率 1)到达终止状态
- 例子:走出迷宫(每步代价 -1,目标是尽快到达终点)
2. 折扣问题
Jμ(i)=E{k=0∑∞αkg(ik,μk(ik),wk)}
- α∈(0,1):折扣因子
- 不需要终止状态
- 折扣保证收敛:∣Jμ∣≤1−αgmax
- 例子:持续控制系统(每步有代价,未来代价折扣)
学习心得:折扣因子 α 的作用与有限阶段问题中的 γ 类似——让远期费用权重更小。但在无穷阶段中,折扣因子还有更深的数学意义:它使贝尔曼算子成为压缩映射,从而保证解的存在唯一性和算法收敛性。
三、贝尔曼方程
折扣问题的贝尔曼方程
J∗(i)=u∈U(i)minj∑pij(u)[g(i,u,j)+αJ∗(j)]
这是函数方程——J∗ 出现在等式两边。与有限阶段不同,没有"终止条件"来从后向前递推。
贝尔曼算子
定义算子 T:
(TJ)(i)=u∈U(i)minj∑pij(u)[g(i,u,j)+αJ(j)]
贝尔曼方程变为:J∗=TJ∗,即 J∗ 是 T 的不动点。
四、压缩映射定理——数学核心
压缩映射的定义
算子 T 是压缩映射,如果存在 ρ∈(0,1) 使得:
∥TJ1−TJ2∥∞≤ρ∥J1−J2∥∞,∀J1,J2
折扣问题的压缩性
对于折扣问题,T 是压缩映射,压缩系数为 α:
∥TJ1−TJ2∥∞≤α∥J1−J2∥∞
证明直觉:T 中含 αJ(j),两个不同 J 的差异被 α 缩小。
压缩映射定理
如果 T 是压缩映射,则:
- 存在唯一不动点:存在唯一的 J∗ 使 J∗=TJ∗
- 值迭代收敛:从任意 J0 出发,Jk+1=TJk 收敛到 J∗
- 收敛速度:∥Jk−J∗∥≤1−ρρk∥J1−J0∥
学习心得:压缩映射定理是无穷阶段 DP 的数学基石。它告诉我们:
- 最优费用函数 J∗ 存在且唯一——不是所有优化问题都有解
- 值迭代一定能收敛——不需要猜测初始值
- 收敛速度是几何级数——每步误差至少缩小 α 倍
这三个保证在有限阶段问题中是"显然"的(有限步递推),但在无穷阶段中需要严格证明。
五、值迭代算法
Jk+1=TJk
即:
Jk+1(i)=u∈U(i)minj∑pij(u)[g(i,u,j)+αJk(j)]
性质
- 从任意 J0 出发都收敛到 J∗
- 收敛速度:线性收敛率 α
- 每步对所有状态做一次最小化
异步值迭代
不需要同步更新所有状态——可以异步更新:
- 按任意顺序更新各状态
- 某些状态更新频率高,某些低
- 只要每个状态被更新无穷次,就收敛
实际意义:异步值迭代是分布式计算和在线学习的基础。在多处理器环境中,各处理器可以独立更新不同状态的值;在在线学习中,只更新遇到的状态。
六、策略迭代算法
两步循环
1. 策略评价:给定策略 μ,求解 J_μ 满足 J_μ = T_μ J_μ
2. 策略改进:μ_new(i) = argmin_u Σ_j p_ij(u) [g(i,u,j) + α J_μ(j)]
3. 重复
数学描述
策略评价:解线性方程组
Jμ(i)=j∑pij(μ(i))[g(i,μ(i),j)+αJμ(j)]
这是 n 个未知数、n 个方程的线性方程组(n 为状态数)。
策略改进:
μnew(i)=argu∈U(i)minj∑pij(u)[g(i,u,j)+αJμ(j)]
收敛性
- 策略序列的费用单调递减:Jμk+1≤Jμk
- 有限状态/控制空间下,有限步收敛到最优策略
- 无限空间下,收敛到 J∗
七、值迭代 vs 策略迭代
| 维度 |
值迭代 |
策略迭代 |
| 每步操作 |
对所有状态做 min |
解线性方程组 + min |
| 每步计算量 |
$O(n^2 \cdot |
U |
| 收敛类型 |
线性收敛(速率 α) |
超线性/有限步收敛 |
| 初始值要求 |
任意 |
需要一个初始策略 |
| 适合场景 |
状态多、控制少 |
状态少、需要精确 |
学习心得:值迭代和策略迭代是 DP 的两大算法,各有优劣。值迭代每步简单但收敛慢,策略迭代每步复杂但收敛快。实践中常常混合使用——先用值迭代几步粗调,再用策略迭代精调。
八、Q 因子版本
Q 因子的贝尔曼方程
Q∗(i,u)=j∑pij(u)[g(i,u,j)+αu′minQ∗(j,u′)]
Q 因子的策略迭代
策略评价:
Qμ(i,u)=j∑pij(u)[g(i,u,j)+αQμ(j,μ(j))]
策略改进:
μnew(i)=arguminQμ(i,u)
Q 因子的优势:策略改进只需要 Q 因子,不需要知道 pij。这是 Q 学习的基础——通过采样 (i,u,j,g) 来近似 Q 因子,完全不需要系统模型。
九、半马尔可夫问题
当状态转移的时间是随机的(不固定为 1),需要半马尔可夫模型:
Jμ(i)=G(i,μ(i))+j∑mij(μ(i))Jμ(j)
- G(i,u):一步转移的期望折扣费用
- mij(u):折扣转移概率(含随机时间的折扣因子 E[e−βτ])
数学结构与标准折扣问题完全平行,只是 pij 被 mij 代替。
十、本章核心公式速查
| 概念 |
公式 |
| 折扣费用 |
J=E{∑αkgk} |
| 贝尔曼方程 |
J∗=TJ∗ |
| 贝尔曼算子 |
(TJ)(i)=minu∑jpij(u)[g+αJ(j)] |
| 压缩性 |
∣TJ1−TJ2∣≤α∣J1−J2∣ |
| 值迭代 |
Jk+1=TJk |
| 策略评价 |
Jμ=TμJμ |
| 策略改进 |
μ′(i)=argminu∑jpij(u)[g+αJμ(j)] |
下一篇将进入第 5 章——无穷阶段强化学习。在第 4 章的精确算法基础上,引入近似:拟合值迭代、Q 学习、DQN、TD(λ) 等。
评论(0)