【强化学习入门笔记】1.5 贝尔曼最优公式

本系列为学习赵世钰老师的《强化学习的数学原理》所作的学习笔记.

课程视频网址: https://space.bilibili.com/2044042934

1.5.1 定义

1.5.1.1 Contraction mapping theorem (收缩映射定理)

  • fixed point(不动点)

如果 x ∗ x^* x∗满足下式, x ∗ x^* x∗称之为fixed point(不动点)

f ( x ∗ ) = x ∗ f\left(x^*\right)=x^* f(x∗)=x∗

  • Contraction mapping (收缩映射)

如果一个函数满足下面不等式, 则称这个函数满足Contraction mapping

∥ f ( x 1 ) − f ( x 2 ) ∥ ≤ γ ∥ x 1 − x 2 ∥ γ ∈ ( 0 , 1 ) \left\|f\left(x_1\right)-f\left(x_2\right)\right\| \leq \gamma\left\|x_1-x_2\right\| \\ \gamma \in(0,1) ∥f(x1)−f(x2)∥≤γ∥x1−x2∥γ∈(0,1)

  • Contraction mapping theorem (收缩映射定理)

如果函数 f ( x ) f(x) f(x)满足Contraction mapping, 则有Contraction mapping theorem:

  • 存在性: 一定存在fixed point, 使其满足 f ( x ∗ ) = x ∗ f\left(x^*\right)=x^* f(x∗)=x∗
  • 唯一性: fixed point x ∗ x^* x∗一定是唯一的
  • 求解算法: x ∗ x^* x∗可以通过迭代计算得到, 并且迭代会指数收敛

1.5.1.2 贝尔曼最优公式

如果对于所有的状态 S \mathcal{S} S, 策略 π ∗ \pi^* π∗的状态值大于等于其他任何一个策略的状态值, 那么 π ∗ \pi^* π∗称之为 S \mathcal{S} S状态空间中的最优策略:

v π ∗ ( s ) ≥ v π ( s ) for all s ∈ S v_{\pi^*}(s) \geq v_\pi(s) \text { for all } s \in \mathcal{S} vπ∗(s)≥vπ(s) for all s∈S

在贝尔曼公式的基础上, 求解使得状态值 v ( s ) v(s) v(s)最大的策略 π ( s ) \pi(s) π(s)就是贝尔曼最优公式:

v ( s ) = max ⁡ π ( s ) ∈ Π ( s ) ∑ a ∈ A π ( a ∣ s ) ( ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ( s ′ ) ) = max ⁡ π ( s ) ∈ Π ( s ) ∑ a ∈ A π ( a ∣ s ) q ( s , a ) , \begin{aligned}v(s) & =\max {\pi(s) \in \Pi(s)} \sum{a \in \mathcal{A}} \pi(a \mid s)\left(\sum_{r \in \mathcal{R}} p(r \mid s, a) r+\gamma \sum_{s^{\prime} \in \mathcal{S}} p\left(s^{\prime} \mid s, a\right) v\left(s^{\prime}\right)\right) \\& =\max {\pi(s) \in \Pi(s)} \sum{a \in \mathcal{A}} \pi(a \mid s) q(s, a),\end{aligned} v(s)=π(s)∈Π(s)maxa∈A∑π(a∣s)(r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v(s′))=π(s)∈Π(s)maxa∈A∑π(a∣s)q(s,a),

将贝尔曼最优公式写成矩阵形式:

v = max ⁡ π ∈ Π ( r π + γ P π v ) v=\max {\pi \in \Pi}\left(r\pi+\gamma P_\pi v\right) v=π∈Πmax(rπ+γPπv)

如果将右边的最优化问题, 定义为函数 f ( x ) f(x) f(x):

v = f ( v ) = max ⁡ π ( r π + γ P π v ) v=f(v)=\max \pi\left(r\pi+\gamma P_\pi v\right) v=f(v)=πmax(rπ+γPπv)

书中详细证明了函数符合Contraction mapping, 有兴趣可以看详细证明, 这里我们使用结论即可.

1.5.2 最优解及其特性

1.5.2.1 最优解

Contraction mapping theorem告诉我们:贝尔曼最优公式一定存在唯一解 v ∗ v^* v∗, 并且可以用迭代的方式求解.

当我们有了最优解 v ∗ v^* v∗之后, 就有它对应的最优策略 π ∗ \pi^* π∗:

π ∗ = arg ⁡ max ⁡ π ∈ Π ( r π + γ P π v ∗ ) \pi^*=\arg \max {\pi \in \Pi}\left(r\pi+\gamma P_\pi v^*\right) π∗=argπ∈Πmax(rπ+γPπv∗)

那么贝尔曼最优公式可以简写成:

v ∗ = r π ∗ + γ P π ∗ v ∗ v^*=r_{\pi^*}+\gamma P_{\pi^*} v^* v∗=rπ∗+γPπ∗v∗

我们可以发现, 这就是一个贝尔曼公式. 只不过他的参数是最优策略 π ∗ \pi^* π∗, 也就是说贝尔曼最优公式是贝尔曼公式在最优策略下的一个特殊形式.

v ∗ = v π ∗ ≥ v π v^*=v_{\pi^*} \geq v_\pi v∗=vπ∗≥vπ, 书中同样详细证明了为什么 v ∗ v^* v∗和 π ∗ \pi^* π∗是最优的.

1.5.2.2 Greedy optimal policy(贪婪最优定理)

最优策略 π ∗ \pi^* π∗的Greedy optimal policy(贪婪最优定理), 对于任何 s ∈ S s ∈ S s∈S,贝尔曼最优公式的最优解唯一, 且是确定性贪婪策略:

π ∗ ( a ∣ s ) = { 1 , a = a ∗ ( s ) , 0 , a ≠ a ∗ ( s ) , \pi^*(a \mid s)= \begin{cases}1, & a=a^*(s), \\ 0, & a \neq a^*(s),\end{cases} π∗(a∣s)={1,0,a=a∗(s),a=a∗(s),

之所以称之为贪婪, 是因为只有最优动作的概率是1, 其他动作概率都是0. 但是仍然有以下两个性质需要注意:

  • π ∗ \pi^* π∗不唯一: 虽然最优解 v ∗ v^* v∗的值是唯一的, 但是最优策略不唯一. 也就是说, 可能有多个策略的状态值都是最优.
  • π ∗ \pi^* π∗可能是随机策略: 虽然Greedy optimal policy告诉我们, 一定存在一个确定性的策略 π ∗ \pi^* π∗; 但是因为 π ∗ \pi^* π∗不唯一, 其他的 π ∗ \pi^* π∗可能是随机策略.

这个例子可以说明上面的两个特性: 两个策略的状态值都是最优, 那么它们都是最优策略; 并且左边是确定策略, 右边是随机策略.

1.5.3 例子

我们重新回顾贝尔曼最优公式:

v ( s ) = max ⁡ π ( s ) ∈ Π ( s ) ∑ a ∈ A π ( a ∣ s ) ( ∑ r ∈ R p ( r ∣ s , a ) r + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) v ( s ′ ) ) , s ∈ S . v(s)=\max {\pi(s) \in \Pi(s)} \sum{a \in \mathcal{A}} \pi(a \mid s)\left(\sum_{r \in \mathcal{R}} p(r \mid s, a) r+\gamma \sum_{s^{\prime} \in \mathcal{S}} p\left(s^{\prime} \mid s, a\right) v\left(s^{\prime}\right)\right), \quad s \in \mathcal{S} . v(s)=π(s)∈Π(s)maxa∈A∑π(a∣s)(r∈R∑p(r∣s,a)r+γs′∈S∑p(s′∣s,a)v(s′)),s∈S.

  • 求解目标: 状态值 v ( s ) v(s) v(s), 策略 π ( s ) \pi(s) π(s)
  • 参数 r , γ r,\gamma r,γ: 通过改变奖励设计和折扣率, 可以改变最优解

1.5.3.1 γ \gamma γ的影响

举个例子说明参数的影响,在这样参数设置时:

  • 抵达禁止格或边界的奖励是-1: r boundary = r forbidden = − 1 r_{\text {boundary }}=r_{\text {forbidden }}=-1 rboundary =rforbidden =−1
  • 抵达终点的奖励是1: r target = 1 r_{\text {target }}=1 rtarget =1
  • γ = 0.9 \gamma=0.9 γ=0.9
  • 其他行为奖励是0

它的最优策略和最优状态值如下图所示, 它会倾向于穿过禁止格, 抵达终点:

当我们把 γ = 0.5 \gamma=0.5 γ=0.5时, 最优策略则倾向于绕过禁止格, 抵达终点:

当我们把 γ = 0 \gamma=0 γ=0时, 最优策略则几乎放弃抵达终点, 倾向于脱离禁止格后原地不动, 因为它只考虑了眼前的即时动作奖励:

这几个例子说明了 γ \gamma γ代表奖励设计的远视程度: γ \gamma γ越大说明越鼓励长远的收益; γ \gamma γ越小说明越鼓励眼前的收益;

不过需要说明的是, 只要 γ \gamma γ不等于1, 远期收益都会逐渐衰减. 我们可以看return的公式:

G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ... G_t =R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\ldots Gt=Rt+1+γRt+2+γ2Rt+3+...

因为 0 ≤ γ ≤ 1 0\leq \gamma \leq1 0≤γ≤1, 越远期的奖励折扣率越小, 它自然的就会使得远期收益逐渐衰减.

1.5.3.2 r r r的影响

如果我们非常不希望策略进入禁止格, 那么我们可以将禁止格惩罚设置为-10或者是更小的值, 来惩罚对应的动作.

但是显而易见的是: 如果整体性的放大奖励, 比如将终点奖励也设置为10, 结果不会有任何变化.

推荐阅读

相关推荐
神雕大侠mu34 分钟前
大数据笔记之flink-cdc实时同步数据
大数据·笔记·flink
ladymorgana43 分钟前
【日常笔记】nginx端口转发到其他ip:端口
笔记·tcp/ip·nginx
我叫czc1 小时前
【数字花园】个人知识库网站搭建:⑤本地构建+云服务器部署数字花园plus
笔记·博客·教程·网站搭建·数字花园·第二大脑·网站搭建教程
LuckyLay2 小时前
Rust学习笔记_17——HashMap
笔记·学习·rust
逆光的July3 小时前
arthas学习笔记
笔记·学习
hacker7073 小时前
Datawhale AI冬令营学习笔记--定制你的专属大模型
人工智能·笔记·学习
汇能感知4 小时前
颜色的基本处理
经验分享·笔记·科技·数码相机·相机
github_czy4 小时前
k8s折腾笔记
笔记·容器·kubernetes
π大星星️4 小时前
nginx编译安装
linux·运维·笔记·nginx
sealaugh325 小时前
aws(学习笔记第十七课) SQS Amazon Simple Queue Service服务
笔记·学习·aws