强化学习中的奖励、回报、状态值以及贝尔曼方程
一、概念
- 奖励 r :一步的即时收益
- 回报 G :从当前步到最终的总收益(折扣和)
- 状态值 V (s) :在状态 s 下,未来能获得的 期望回报 (平均值)
关系:
状态值 = 对未来所有奖励的折扣和的期望
1. 奖励Reward: rtr_trt
智能体在时刻 t 执行动作后,立刻得到的单个数值反馈。
特点:
- 只和当前状态、当前动作、下一状态有关
- 是即时、局部、确定的信号
- 是环境直接给出的 "反馈信号"
它是 RL 里最底层的信号,所有目标都建立在它之上。
2. 回报Return:GtG_tGt
定义
从时刻 t 开始,到 episode 结束,所有未来奖励的折扣总和。
公式:
Gt=rt+1+γrt+2+γ2rt+3+⋯=∑k=0∞γkrt+k+1G_t=r_{t+1}+γr_{t+2}+γ^2r_{t+3}+⋯=∑{k=0}^∞γ^kr{t+k+1}Gt=rt+1+γrt+2+γ2rt+3+⋯=∑k=0∞γkrt+k+1
其中:
- γ∈[0,1]:折扣因子,越远的奖励权重越小
- Gt 衡量从 t 时刻往后,这条轨迹到底有多好
关键理解
- 回报是一条轨迹的 "总分数"
- 同状态出发,不同动作、不同随机性 → 不同轨迹 → 不同 G
- 回报是随机变量,不是固定数
3.状态值函数 State Value:V(s)
定义
在状态 s 下,遵循策略 π 时,未来能获得的期望回报。
公式:
Vπ(s)=Eπ[Gt∣st=s]V_π(s)=E_π[G_t∣s_t=s]Vπ(s)=Eπ[Gt∣st=s]
核心含义
- 不是某一条轨迹的分数
- 是从 s 出发,按策略 π 一直走下去,平均能拿到多少回报
- 它衡量这个状态本身有多好
4. 三者最本质的关系
层级关系(从底层到高层)
- 奖励 r:基础单元
- 回报 G:r 的折扣累加(一条轨迹)
- 状态值 V (s):G 的期望(所有可能轨迹的平均)
二、贝尔曼方程的推导
回报的定义: Gt=rt+1+γrt+2+γ2rt+3+⋯G_t=r_{t+1}+γr_{t+2}+γ^2r_{t+3}+⋯Gt=rt+1+γrt+2+γ2rt+3+⋯
改写一下:
Gt=rt+1+γ(rt+2+γrt+3+γ2rt+4+⋯)G_t=r_{t+1}+γ(r_{t+2}+γr_{t+3}+γ^2r_{t+4}+⋯)Gt=rt+1+γ(rt+2+γrt+3+γ2rt+4+⋯)
所以:
Gt=rt+1+γGt+1G_t=r_{t+1}+γG_{t+1}Gt=rt+1+γGt+1
对等式两边取 在状态 s 下的条件期望:
E[Gt∣st=s]=E[rt+1+γGt+1∣st=s]=E[rt+1∣st=s]+γE[Gt+1∣st=s]\mathbb E[G_t | s_t=s]=\mathbb E[r_{t+1}+γG_{t+1} | s_t=s]=\mathbb E[r_{t+1}| s_t=s]+γ\mathbb E[G_{t+1} | s_t=s]E[Gt∣st=s]=E[rt+1+γGt+1∣st=s]=E[rt+1∣st=s]+γE[Gt+1∣st=s]
左边就是状态值的定义:
E[Gt∣st=s]=V(s)\mathbb E[G_t | s_t=s]=V(s)E[Gt∣st=s]=V(s)
右边第二项:
下一状态的分布只依赖当前状态:
E[Gt+1∣st=s]=∑s′P(st+1=s′∣st=s)⋅E[Gt+1∣st+1=s′]\mathbb E[G_{t+1}∣s_t=s]=∑{s′} \mathbb P(s{t+1}=s′∣s_t=s)⋅\mathbb E[G_{t+1}∣s_{t+1}=s′]E[Gt+1∣st=s]=∑s′P(st+1=s′∣st=s)⋅E[Gt+1∣st+1=s′]
而E[Gt+1∣st+1=s′]=V(s′)\mathbb E[G_{t+1}∣s_{t+1}=s′]=V(s′)E[Gt+1∣st+1=s′]=V(s′) ,所以:
E[Gt+1∣st=s]=∑s′P(s′∣s)⋅V(s′)\mathbb E[G_{t+1}∣s_t=s]=∑_{s′} \mathbb P(s′∣s)⋅V(s′)E[Gt+1∣st=s]=∑s′P(s′∣s)⋅V(s′)
这可以写成 期望形式:
E[Gt+1∣st=s]=E[V(st+1)∣st=s]\mathbb E[G_{t+1}∣s_t=s]=\mathbb E[V(s_{t+1}) |s_t=s]E[Gt+1∣st=s]=E[V(st+1)∣st=s]
代回去
V(s)=E[rt+1∣st=s]+γE[V(st+1)∣st=s]V(s)=\mathbb E[r_{t+1}| s_t=s]+γ\mathbb E[V(s_{t+1}) | s_t=s]V(s)=E[rt+1∣st=s]+γE[V(st+1)∣st=s]
这就是 贝尔曼方程,本质是:
当前状态的价值 = 当下奖励 + 下一状态价值的折扣期望。