《强化学习的数学原理》赵世钰 著 · 第 3 章
第 2 章告诉我们如何评估一个给定策略的好坏(算状态值)。本章更进一步:如何找到最优策略?答案藏在贝尔曼最优方程中。
一、如何改进策略?
书中用一个启发式例子引入:给定一个策略 π,我们算出了它的状态值 vπ(s)。能不能找到一个更好的策略 π′,使得 vπ′(s)≥vπ(s) 对所有 s 成立?
答案是:可以!而且方法很自然——贪心地选择动作值最大的动作。
但这引出一个问题:什么是最优?最优策略存在吗?唯一吗?
二、最优状态值和最优策略
定义
最优状态值 定义为所有策略中状态值的上确界:
v∗(s)=πmaxvπ(s),∀s∈S
最优策略 π∗ 是达到这个上确界的策略:
vπ∗(s)=v∗(s),∀s∈S
关键定理
- 最优策略一定存在(对于有限 MDP)
- 最优策略不唯一,但所有最优策略的状态值都相同(都等于 v∗)
- 至少存在一个确定性最优策略
为什么至少有一个确定性最优策略? 直觉上,如果某个随机策略是最优的,那么它以正概率选择的每个动作都必须是最优的(否则可以去掉次优动作得到更好的策略)。所以总可以构造一个确定性策略达到同样的最优值。
三、贝尔曼最优方程(Bellman Optimality Equation)
把第 2 章的贝尔曼方程中的 ∑aπ(a∣s) 替换为 maxa,就得到贝尔曼最优方程:
v∗(s)=amaxs′∑p(s′∣s,a)[r(s,a,s′)+γv∗(s′)],∀s
用动作值表示更简洁:
v∗(s)=amaxq∗(s,a)
其中:
q∗(s,a)=s′∑p(s′∣s,a)[r(s,a,s′)+γv∗(s′)]
与普通贝尔曼方程的对比
|
贝尔曼方程 |
贝尔曼最优方程 |
| 对象 |
给定策略 π 的状态值 vπ |
最优状态值 v∗ |
| 方程 |
$v_\pi(s) = \sum_a \pi(a |
s) \sum_{s’} p(\cdot)[r + \gamma v_\pi(s’)]$ |
| 性质 |
线性方程 |
非线性方程(因为有 max) |
| 求解 |
直接求逆 |
需要迭代 |
关键区别:max 操作使得贝尔曼最优方程是非线性的,不能像第 2 章那样直接求矩阵逆。这引出了第 4 章的迭代算法。
四、矩阵-向量形式
v∗=amax(ra+γPav∗)
这里 max 是逐元素取最大。ra 和 Pa 分别是动作 a 对应的奖励向量和转移矩阵。
五、压缩映射定理
这是本章的数学核心,用于证明贝尔曼最优方程有唯一解。
压缩映射的定义
映射 f:X→X 是压缩映射,如果存在 α∈[0,1) 使得:
∥f(x1)−f(x2)∥≤α∥x1−x2∥,∀x1,x2
Banach 不动点定理
如果 f 是完备度量空间上的压缩映射,则:
- f 有唯一不动点 x∗:f(x∗)=x∗
- 从任意初始点出发,迭代 xk+1=f(xk) 收敛到 x∗
- 收敛速度:∥xk−x∗∥≤1−ααk∥x1−x0∥
应用到贝尔曼最优方程
定义算子 T:
[Tv](s)=amaxs′∑p(s′∣s,a)[r(s,a,s′)+γv(s′)]
可以证明 T 是 γ-压缩映射(在无穷范数下)。因此:
- 贝尔曼最优方程有唯一解 v∗
- 迭代 vk+1=Tvk 收敛到 v∗
为什么压缩因子是 γ? 因为折扣因子 γ<1,每次迭代把差异缩小 γ 倍。这就是折扣因子除了"经济意义"之外的数学意义——它保证了压缩性,从而保证了收敛。
六、从贝尔曼最优方程得到最优策略
一旦求出 v∗,最优策略就是:
π∗(s)=argamaxq∗(s,a)=argamaxs′∑p(s′∣s,a)[r(s,a,s′)+γv∗(s′)]
即在每个状态选择动作值最大的动作。
七、影响最优策略的因素
书中详细讨论了哪些因素影响最优策略:
1. 折扣因子 γ
γ 越大,越重视长期回报;γ 越小,越短视。
极端情况:
- γ=0:只看即时奖励(贪心策略)
- γ→1:重视所有未来奖励(可能不收敛)
2. 奖励分布
奖励的绝对值不重要,相对值才重要。把所有奖励加一个常数 c,最优策略不变(但状态值会变)。
3. 状态转移概率
环境动力学直接决定哪些策略可行、哪些策略好。
实践启示:在工程中,如果你发现最优策略"不合理",首先检查奖励函数的设计——这是最常出错的地方。
八、总结
| 概念 |
公式 |
作用 |
| 最优状态值 |
v∗(s)=maxπvπ(s) |
所有策略能达到的最好值 |
| 贝尔曼最优方程 |
v∗=maxa(ra+γPav∗) |
v∗ 满足的方程 |
| 压缩映射 |
∣Tv1−Tv2∣∞≤γ∣v1−v2∣∞ |
保证解存在唯一且迭代收敛 |
| 最优策略 |
π∗(s)=argmaxaq∗(s,a) |
从 v∗ 导出 |
评论(0)