强化学习&MPC——(三)

本文介绍了价值函数在强化学习中的作用,阐述了状态价值函数的概念,以及如何通过动态规划和贝尔曼方程来评估策略和计算累积奖励。着重讲解了状态转移、轨迹和策略选择对价值函数的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一次来由浅入深认识一下价值函数以及动态规划解决优化问题
首先我们要理解一下状态价值函数,这是bellman equation的第一次正式推导。

trajectory

作为一个trajectory,必须是一个完整的过程,也就是状态转移全部过程,从其实状态到终止状态,没有什么状态是达不到的,只是每种状态都会有代价或者是收益而已。
在这里插入图片描述
这里就展示了几条不同的trajectory,注意哈,trajectory可以是像第三种那样的有多条方向的

return

累计奖励是根据一条trajectory得到的,也就是说,针对每一种trajectory都会有一个return,它就是评价我的trajectory好不好的一种方式。所以说到这里,trajectory有点像策略的意思了。

v i v_i vi

反应一个trajectory好不好,当然就是用到v价值函数了。
v 1 = r 1 + γ r 2 + γ 2 r 3 + ⋯ v_1=r_1+\gamma r_2+\gamma^2r_3+\cdots v1=r1+γr2+γ2r3+
v 2 = r 2 + γ r 3 + γ 2 r 4 + ⋯ v_2=r_2+\gamma r_3+\gamma^2r_4+\cdots v2=r2+γr3+γ2r4+
v 3 = r 3 + γ r 4 + γ 2 r 1 + ⋯ v_3=r_3+\gamma r_4+\gamma^2r_1+\cdots v3=r3+γr4+γ2r1+
v 4 = r 4 + γ r 1 + γ 2 r 2 + ⋯ v_4=r_4+\gamma r_1+\gamma^2r_2+\cdots v4=r4+γr1+γ2r2+
其实可以看的出来,他和return没有什么区别。它就是return存在的意义。
接下来做一个递归:
v 1 = r 1 + γ r 2 + γ 2 r 3 + ⋯ = r 1 + γ v 2 v_1=r_1+\gamma r_2+\gamma^2r_3+\cdots=r_1+\gamma v_2 v1=r1+γr2+γ2r3+=r1+γv2
v 2 = r 2 + γ r 3 + γ 2 r 4 + ⋯ = r 2 + γ v 3 v_2=r_2+\gamma r_3+\gamma^2r_4+\cdots=r_2+\gamma v_3 v2=r2+γr3+γ2r4+=r2+γv3
v 3 = r 3 + γ r 4 + γ 2 r 1 + ⋯ = r 3 + γ v 4 v_3=r_3+\gamma r_4+\gamma^2r_1+\cdots=r_3+\gamma v_4 v3=r3+γr4+γ2r1+=r3+γv4
v 4 = r 4 + γ r 1 + γ 2 r 2 + ⋯ = r 4 + γ v 1 v_4=r_4+\gamma r_1+\gamma^2r_2+\cdots=r_4+\gamma v_1 v4=r4+γr1+γ2r2+=r4+γv1
写成矩阵的形式就是:
[ v 1 v 2 v 3 v 4 ] = [ v 1 v 2 v 3 v 4 ] + γ P [ v 1 v 2 v 3 v 4 ] \left[\begin{matrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix} \right] =\left[\begin{matrix}v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix}\right]+\gamma P\left[\begin{matrix} v_1 \\ v_2 \\ v_3 \\ v_4 \end{matrix} \right] v1v2v3v4 = v1v2v3v4 +γP v1v2v3v4
简写为:
v = v + γ P v \pmb{v}=\pmb{v}+\gamma P \pmb{v} v=v+γPv
其实也就是两部分,即时奖励和未来奖励。

G t G_t Gt

考虑一条trajectory:
在这里插入图片描述
这里看起来是确定的action和reward,但是也可以是有转移概率的:

p ( r ∣ s , a ) p(r|s,a) p(rs,a)

位于状态s,采取动作a后的奖励r的概率

p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)

位于状态s,采取动作a后的状态s’的概率
当然,计算的 G ( t ) G(t) G(t)用不到,它本身就是上面v函数的一个表示:
G ( t ) = R t + 1 + γ R t + 2 + γ 2 R t + 3 + c d o t s G(t)=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+cdots G(t)=Rt+1+γRt+2+γ2Rt+3+cdots
这个其实也是累计奖励。return和v函数和它有什么区别呢?下面介绍状态价值函数

V π ( s ) V_{\pi}(s) Vπ(s)

这里开始深入强化学习的本质了,所有的价值函数都不是用来玩的,状态价值看似只与状态有关,其实隐含着与策略有关,甚至可以写成是 v ( π , s ) v(\pi,s) v(π,s),所以不要再觉得它没用了。
价值函数的定义式非常简单:
v π ( s ) = E [ G t ∣ S t = s ] v_\pi(s)=\mathbb{E}[G_t|S_t=s] vπ(s)=E[GtSt=s]
也就是处于状态s时的累计奖励。千万注意它是基于策略的函数,不同的策略会得到不同的价值函数,这样我们就能评价策略的好坏
以下是一个具体的例子:
在这里插入图片描述
怎么说呢,如果策略是确定的,那么就只与s有关,但是如果是在选在策略的过程中,价值函数是一直都在变化的。

状态价值函数与bellman equation

状态价值函数可以进一步表示,将累计奖励 G t G_t Gt迭代展开:
在这里插入图片描述
这样我们求的就变成了两个期望,期望就是加权平均,先看左边的式子,就是从状态s出发得到的r的期望,我们把它转化为标准的状态s,动作a的格式,并且引入在状态s动作a时的奖励概率来消除期望符号:
在这里插入图片描述
右边的式子也是一样的,主要目标是消除掉期望符号,于是通过状态转移概率来化简:
在这里插入图片描述
然后综合两者就得到了bellman公式了:
在这里插入图片描述
概率部分是模型,红色的是我们要求的价值函数,策略是用来评价的,所以计算时也是给定的。
以上就完成了bellman公式的分析过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

白云千载尽

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值