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

发布于:2024-12-07 ⋅ 阅读:(503) ⋅ 点赞:(0)

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

课程视频网址: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)γx1x2γ(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 sS

在贝尔曼公式的基础上, 求解使得状态值 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)maxaAπ(as)(rRp(rs,a)r+γsSp(ss,a)v(s))=π(s)Π(s)maxaAπ(as)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 sS,贝尔曼最优公式的最优解唯一, 且是确定性贪婪策略:

π ∗ ( 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} π(as)={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)maxaAπ(as)(rRp(rs,a)r+γsSp(ss,a)v(s)),sS.

  • 求解目标: 状态值 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, 结果不会有任何变化.

推荐阅读


网站公告

今日签到

点亮在社区的每一天
去签到