【强化学习】强化学习数学基础:贝尔曼公式

文章介绍了强化学习中的核心概念——贝尔曼公式,通过状态值和动作值来评估策略的优劣。贝尔曼公式描述了状态值之间的关系,可以用来进行策略评估。文章通过示例展示了如何利用矩阵-向量形式的贝尔曼公式计算状态值,并探讨了求解状态值和动作值的方法。

强化学习的数学原理课程总览

强化学习数学基础总览图

贝尔曼公式(Bellman Equation)

  • 一个核心的概念:状态值(state value
  • 一个基础工具:the Bellman equation

一个示例

**为什么return是重要的?**首先我们根据一个轨迹(trajectory)获得rewards的(discounted)sum。如下所示:
trajectory
根据上图所示,有两个问题:

  • 问题1:从s1点出发,哪种policy是“best”?,哪一个是“worst”?
    直观上看,第一个是最优的,第二个是最差的,这是因为第二个经过了forbidden area。

  • 问题2:是否可以用数学公式描述这样一种直观感觉?
    可以,使用return来评估policies。

基于策略1(左边图),从s1开始,the discounted return计算如下:
r e t u r n 1 = 0 + γ 1 + γ 2 1 + . . . = γ ( 1 + γ + γ 2 + . . . ) = γ 1 − γ return_1=0+\gamma 1+\gamma ^21+...=\gamma (1+\gamma +\gamma ^2+...)=\frac{\gamma }{1-\gamma } return1=0+γ1+γ21+...=γ(1+γ+γ2+...)=1γγ
基于策略2(中间图),从s1开始,the discounted return是:
r e t u r n 2 = − 1 + γ 1 + γ 2 1 + . . . = − 1 + γ ( 1 + γ + γ 2 + . . . ) = − 1 + γ 1 − γ return_2=-1+\gamma 1+\gamma ^21+...=-1+\gamma (1+\gamma +\gamma ^2+...)=-1+\frac{\gamma }{1-\gamma } return2=1+γ1+γ21+...=1+γ(1+γ+γ2+...)=1+1γγ
策略3是随机性的,基于第三个策略(右边图),从s1出发,discounted return是:
r e t u r n 3 = 0.5 ( − 1 + γ 1 − γ ) + 0.5 ( γ 1 − γ ) = − 0.5 + γ 1 − γ return_3=0.5(-1+\frac{\gamma }{1-\gamma } )+0.5(\frac{\gamma }{1-\gamma } )=-0.5+\frac{\gamma }{1-\gamma } return3=0.5(1+1γγ)+0.5(1γγ)=0.5+1γγ

基于上面的计算可知,从s1出发, r e t u r n 1 > r e t u r n 3 > r e t u r n 2 return_1>return_3>return_2 return1>return3>return2。因此从结果上看,这是符合之前的直觉的。所以,通过计算return可以评估一个policy的优劣

那么如何计算return?刚才是用return的定义,现在用一个更好的方法来计算它。以如下图为例:
示例

  • 方法1:由定义计算,令 v i v_i vi表示从 s i ( i = 1 , 2 , 3 , 4 ) s_i(i=1,2,3,4) si(i=1,2,3,4)出发得到的return
    by definition
  • 方法2:先看下面式子
    迭代式子
    从上面式子中可以得出结论:return依赖于其他状态,这个思想称为Boostrapping

如何求解这些等式?我们可以将上面的公式写成一个矩阵向量的形式:
矩阵向量形式
可以写为:
v = r + γ P v \mathrm{v}=\mathrm{r}+\gamma \mathrm{Pv} v=r+γPv
这个公式就是一个贝尔曼公式(Bellman equation)(对于这样一个具体的确定性问题):

  • 尽管简单,但是它证明一个关键思想:一个状态的值依赖于其他状态的值
  • 一个矩阵-向量形式可以更加清晰地知道如何求解状态值。

状态值

首先,定义几个概念。考虑这样一个单步(single-step)的过程:
单步过程
其中:

  • t , t + 1 t, t+1 t,t+1:离散时间
  • S t S_t St:在时刻 t t t的状态
  • A t A_t At:在状态 S t S_t St采取的动作
  • R t + 1 R_{t+1} Rt+1:采取动作 A t A_t At之后得到的奖励
  • S t + 1 S_{t+1} St+1:采取动作 A t A_t At之后转移到的状态

注意: S t , A t , R t + 1 S_t, A_t, R_{t+1} St,At,Rt+1都是随机变量(random variables)。

根据下面的概率分布决定后续的步骤:
条件概率
在某一时刻,我们假设我们知道这个模型,即概率分布。

将上面的单步过程推广到一个多步的trajectory上,可以得到:
multi-step
则discounted 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}+...... Gt

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

镰刀韭菜

看在我不断努力的份上,支持我吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值