强化学习笔记——第二节

第二节——贝尔曼公式

1.State Value

G t G_t Gt为一个轨迹的discounted return,则State value就是 G t G_t Gt的期望值Expectation

简单来说,就是从一点到终点所有轨迹的return的平均值
v π ( s ) = E [ G t ∣ S t = s ] v 表示当前的 v a l u e π 表示当前策略 p o l i c y v_\pi(s) = \mathbb{E}[G_t|S_t = s] \\ v表示当前的value \\ \pi表示当前策略policy vπ(s)=E[GtSt=s]v表示当前的valueπ表示当前策略policy
state value与return的区别

  • state value是多个trajectory的return的平均值
  • return是单个trajectory的结果

2.贝尔曼公式

t时刻的价值函数为
v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s) = \mathbb{E}[G_t|S_t = s] vπ(s)=E[GtSt=s]
返回值 G t G_t Gt等于
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + … … = R t + 1 + γ ( R t + 2 + γ R t + 3 + … … ) = R t + 1 + γ G t + 1 \begin{aligned} G_t &= R_{t+1}+\gamma R_{t+2} + \gamma^2 R_{t+3} + …… \\ &= R_{t+1}+\gamma (R_{t+2} + \gamma R_{t+3} + ……) \\ &= R_{t+1} + \gamma G_{t+1} \end{aligned} Gt=Rt+1+γRt+2+γ2Rt+3+……=Rt+1+γ(Rt+2+γRt+3+……)=Rt+1+γGt+1
则价值函数可分为
v π ( s ) = E [ G t ∣ S t = s ] = E [ R t + 1 + γ G t + 1 ∣ S t = s ] = E [ R t + 1 ∣ S t = s ] ① + γ E [ G t + 1 ∣ S t = s ] ② \begin{aligned} v_\pi(s) &= \mathbb{E}[G_t|S_t = s] \\ &= \mathbb{E}[R_{t+1}+\gamma G_{t+1}|S_t=s] \\ &= \mathbb{E}[R_{t+1}|S_t=s]① +\gamma\mathbb{E}[G_{t+1}|S_t=s]② \end{aligned} vπ(s)=E[GtSt=s]=E[Rt+1+γGt+1St=s]=E[Rt+1St=s]+γE[Gt+1St=s]
其中

  • ①式表示当前奖励的均值,用全概率公式分解
    E [ G t ∣ S t = s ] = ∑ a π ( a ∣ s ) E [ R t + 1 ∣ S t = s , A t = a ] = ∑ a π ( a ∣ s ) ∑ r π ( r ∣ s , a ) r \begin{aligned} \mathbb{E}[G_t|S_t = s] &= \sum_{a}\pi(a|s)\mathbb{E}[R_{t+1}|S_t=s,A_t=a] \\ &= \sum_{a}\pi(a|s)\sum_{r}\pi(r|s,a)r \\ \end{aligned} E[GtSt=s]=aπ(as)E[Rt+1St=s,At=a]=aπ(as)rπ(rs,a)r
    其中 π ( a ∣ s ) \pi(a|s) π(as)表示采取采用策略 π \pi π动作a的概率, E [ R t + 1 ∣ S t = s , A t = a ] \mathbb{E}[R_{t+1}|S_t=s,A_t=a] E[Rt+1St=s,At=a]由期望的定义分解为 ∑ r π ( r ∣ s , a ) r \sum_{r}\pi(r|s,a)r rπ(rs,a)r

  • ②式表示未来奖励的均值
    E [ G t + 1 ∣ S t = s ] = ∑ s ′ E [ G t + 1 ∣ S t = s , S t + 1 = s ′ ] p ( s ′ ∣ s ) 由于马尔可夫性质,即后面状态与前面无关,则 = ∑ s ′ E [ G t + 1 ∣ S t + 1 = s ′ ] p ( s ′ ∣ s ) = ∑ s ′ v π ( s ′ ) p ( s ′ ∣ s ) = ∑ s ′ v π ( s ′ ) ∑ a p ( s ′ ∣ s , a ) π ( a ∣ s ) \begin{aligned} \mathbb{E}[G_{t+1}|S_t=s] &= \sum_{s'}\mathbb{E}[G_{t+1}|S_t=s,S_{t+1}=s']p(s'|s) \\ & 由于马尔可夫性质,即后面状态与前面无关,则\\ &= \sum_{s'}\mathbb{E}[G_{t+1}|S_{t+1}=s']p(s'|s) \\ &= \sum_{s'}v_\pi(s')p(s'|s) \\ &= \sum_{s'}v_\pi(s')\sum_{a}p(s' | s,a)\pi(a|s) \end{aligned} E[Gt+1St=s]=sE[Gt+1St=s,St+1=s]p(ss)由于马尔可夫性质,即后面状态与前面无关,则=sE[Gt+1St+1=s]p(ss)=svπ(s)p(ss)=svπ(s)ap(ss,a)π(as)
    a为动作集

故贝尔曼公式为
v π ( s ) = E [ R t + 1 ∣ S t = s ] + γ E [ G t + 1 ∣ S t = s ] , = ∑ a π ( a ∣ s ) ∑ r p ( r ∣ s , a ) r ⏟ 当前奖励的平均值 + γ ∑ a π ( a ∣ s ) ∑ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ⏟ 未来奖励的平均值 = ∑ a π ( a ∣ s ) [ ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ’ ∣ s , a ) v π ( s ′ ) ] , ∀ s ∈ S . \begin{aligned} v_\pi(s) &= \mathbb{E}[R_{t+1}|S_t=s] +\gamma\mathbb{E}[G_{t+1}|S_t=s], \\ &= \underbrace{\sum_{a}\pi(a|s)\sum_r p(r|s,a)r}_{当前奖励的平均值} +\underbrace{\gamma \sum_a \pi(a|s)\sum_{s'}p(s'|s,a)v_{\pi}(s')}_{未来奖励的平均值}\\ &= \sum_{a}\pi(a|s) \left[ \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \right], \forall s\in S. \end{aligned} vπ(s)=E[Rt+1St=s]+γE[Gt+1St=s],=当前奖励的平均值 aπ(as)rp(rs,a)r+未来奖励的平均值 γaπ(as)sp(ss,a)vπ(s)=aπ(as)[rp(rs,a)r+γsp(s’∣s,a)vπ(s)],sS.
描述了不同状态值之间的关系,对于所有状态都成立,即一个状态对应一个式子

矩阵形式

v π ( s i ) = r π ( s i ) + γ ∑ s j p π ( s j ∣ s i ) v π ( s j ) v_{\pi}(s_i)=r_{\pi}(s_i)+\gamma \sum_{s_j}p_{\pi}(s_j|s_i)v_{\pi}(s_j) vπ(si)=rπ(si)+γsjpπ(sjsi)vπ(sj)

例子

image-20240608115405362

3.Action value

定义
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_\pi(s,a) = \mathbb{E}[G_t|S_t=s, A_t=a] qπ(s,a)=E[GtSt=s,At=a]
表示从当前状态s出发,进行行动a后所得到return的平均值,依赖于策略 π \pi π

有贝尔曼公式可得
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] = ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ’ ∣ s , a ) v π ( s ′ ) \begin{aligned} q_\pi(s,a) &= \mathbb{E}[G_t|S_t=s, A_t=a] \\ &= \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \end{aligned} qπ(s,a)=E[GtSt=s,At=a]=rp(rs,a)r+γsp(s’∣s,a)vπ(s)

state value 与 action value的区别

状态值 v π ( s ) v_{\pi}(s) vπ(s)与动作值 q π q_{\pi} qπ计算关系
v π ( s ) = ∑ a π ( a ∣ s ) q π ( s , a ) v_{\pi}(s)=\sum_{a}\pi(a|s)q_{\pi}(s,a) vπ(s)=aπ(as)qπ(s,a)

  • state value: 从一个状态出发得到的平均返回值
  • action value:从一个状态出发,采取一种行动后,得到的平均返回值

4.贝尔曼最优公式

  • 贝尔曼公式用于 评估策略,你给出一个策略,它就计算该策略的价值。
  • 贝尔曼最优公式用于 寻找最优策略,你给出一个游戏环境,它就找到在这个环境下最优的策略。

v π ( s ) = max ⁡ π ∑ a π ( a ∣ s ) [ ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ’ ∣ s , a ) v π ( s ′ ) ] = max ⁡ π ∑ a π ( a ∣ s ) q ( s , a ) , ∀ s ∈ S . = max ⁡ π ( r π + γ P π v ) (向量表示) \begin{aligned} v_\pi(s) &= \max_{\pi} \sum_{a}\pi(a|s) \left[ \sum_{r}p(r|s,a)r+\gamma\sum_{s'}p(s’|s,a)v_{\pi}(s') \right] \\ &= \max_{\pi}\sum_{a}\pi(a|s)q(s,a) , \forall s\in S. \\ &= \max_{\pi}(r_{\pi} + \gamma P_{\pi}v) (向量表示) \end{aligned} vπ(s)=πmaxaπ(as)[rp(rs,a)r+γsp(s’∣s,a)vπ(s)]=πmaxaπ(as)q(s,a),sS.=πmax(rπ+γPπv)(向量表示)

其中 p ( r ∣ s , a ) , p ( s ′ ∣ s , a ) , r , γ p(r|s,a), p(s'|s, a), r, \gamma p(rs,a),p(ss,a),r,γ已知,求解 v ( s ) , v ( s ′ ) , π ( a ∣ s ) v(s),v(s'),\pi(a|s) v(s)v(s)π(as)

当有最优策略 π ∗ \pi^* π,则
v ∗ = r π ∗ + γ P π v ∗ v^*= r_{\pi^*} + \gamma P_{\pi}v^* v=rπ+γPπv
v ∗ v^* v为最优解且唯一, π ∗ \pi ^* π不一定唯一

5.压缩映射定理

不动点

若存在映射 f : X → X , 且 x ∈ X f:X \to X, 且x \in X f:XX,xX, 有 f ( x ) = x f(x) = x f(x)=x,则称 x x x为不动点

压缩映射(压缩函数)

若映射 f f f满足 ∣ ∣ f ( x 1 ) − f ( x 2 ) ∣ ∣ ≤ γ ∣ ∣ x 1 − x 2 ∣ ∣ , γ ∈ ( 0 , 1 ) ||f(x_1) - f(x_2)|| \le \gamma ||x_1 - x_2||, \gamma \in (0,1) ∣∣f(x1)f(x2)∣∣γ∣∣x1x2∣∣,γ(0,1), 映射 f f f就称为压缩映射

压缩映射定理性质

若有 压缩映射 f ,且 x = f ( x ) 压缩映射f,且x = f(x) 压缩映射f,且x=f(x),则有

  • 存在性:必定有一个不动点 x ∗ x^* x满足 f ( x ∗ ) = x ∗ f(x^*) = x^* f(x)=x
  • 唯一性:不动点唯一
  • 可求性(有一种算法能求):有序列 { x k } \{x_k\} {xk} X k + 1 = f ( x k ) X_{k+1} = f(x_k) Xk+1=f(xk), 当 k → ∞ k\to \infty k则 $x_k \to x^* $,收敛越来越块

本节代码

1_Bellman(github.com)
1_Bellman(gitee.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值