强化学习基础
2026-01-20
强化学习
00

目录

state value定义
单步过程
多步trajectory链
return和state value区别
例子

image.png

图中有四个状态s1、s2、s3、s4,策略如箭头所示,对应reward是r1、r2、r3、r4,计算从不同状态出发得到的return

viv_i表示从不同状态sis_i出发得到的return:

{v1=r1+γr2+γ2r3+v2=r2+γr3+γ2r4+v3=r3+γr4+γ2r1+v4=r4+γr1+γ2r2+\left\{\begin{aligned} v_1 & =r_1+\gamma r_2+\gamma^2 r_3+\ldots \\ {v_2} & ={r_2}+{\gamma r_3}+{\gamma^2 r_4}+\ldots \\ {v_3} & =r_3+\gamma r_4+\gamma^2 r_1+\ldots \\ v_4 & =r_4+\gamma r_1+\gamma^2 r_2+\ldots \end{aligned}\right.

既可以表示成:

v1=r1+γ(r2+γr3+)=r1+γv2v2=r2+γ(r3+γr4+)=r2+γv3v3=r3+γ(r4+γr1+)=r3+γv4v4=r4+γ(r1+γr2+)=r4+γv1\begin{aligned} & v_1=r_1+\gamma\left(r_2+\gamma r_3+\ldots\right)=r_1+\gamma v_2 \\ & v_2=r_2+\gamma\left(r_3+\gamma r_4+\ldots\right)=r_2+\gamma v_3 \\ & v_3=r_3+\gamma\left(r_4+\gamma r_1+\ldots\right)=r_3+\gamma v_4 \\ & v_4=r_4+\gamma\left(r_1+\gamma r_2+\ldots\right)=r_4+\gamma v_1 \end{aligned}

矩阵形式:

[v1v2v3v4]v=[r1r2r3r4]+[γv2γv3γv4γv1]=[r1r2r3r4]r+γ[0100001000011000]P[v1v2v3v4]v\underbrace{\left[\begin{array}{c} v_1 \\ v_2 \\ v_3 \\ v_4 \end{array}\right]}_{\mathbf{v}}=\left[\begin{array}{c} r_1 \\ r_2 \\ r_3 \\ r_4 \end{array}\right]+\left[\begin{array}{l} \gamma v_2 \\ \gamma v_3 \\ \gamma v_4 \\ \gamma v_1 \end{array}\right]=\underbrace{\left[\begin{array}{c} r_1 \\ r_2 \\ r_3 \\ r_4 \end{array}\right]}_{\mathbf{r}}+\gamma \underbrace{\left[\begin{array}{cccc} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \end{array}\right]}_{\mathbf{P}} \underbrace{\left[\begin{array}{l} v_1 \\ v_2 \\ v_3 \\ v_4 \end{array}\right]}_{\mathbf{v}}

可以表示成:

v=r+γPv\mathbf{v}=\mathbf{r}+\gamma \mathbf{P} \mathbf{v}

一个状态的value实际上依赖于其他状态的value

state value定义

单步过程

StAtRt+1,St+1S_t \xrightarrow{A_t} R_{t+1}, S_{t+1}

这些跳跃由probability distribution决定

  • StAtS_t \rightarrow A_t
    • StS_t采取的动作由策略决定 π(At=aSt=s)\pi\left(A_t=a \mid S_t=s\right)
  • St,AtRt+1S_t, A_t \rightarrow R_{t+1}
    • reward probability决定, p(Rt+1=rSt=s,At=a)p\left(R_{t+1}=r \mid S_t=s, A_t=a\right)
  • St,AtSt+1S_t, A_t \rightarrow S_{t+1}
    • state transition probability决定, p(St+1=sSt=s,At=a)p\left(S_{t+1}=s^{\prime} \mid S_t=s, A_t=a\right)

多步trajectory链

StAtRt+1,St+1At+1Rt+2,St+2At+2Rt+3,S_t \xrightarrow{A_t} R_{t+1}, S_{t+1} \xrightarrow{A_{t+1}} R_{t+2}, S_{t+2} \xrightarrow{A_{t+2}} R_{t+3}, \ldots

对其求discounted return:

Gt=Rt+1+γRt+2+γ2Rt+3+G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\ldots

Rt+2Rt+3R_{t+2}、R_{t+3}是随机变量,所以GtG_t也是随机变量

state value是GtG_t的期望值,即平均值:

vπ(s)=E[GtSt=s]v_\pi(s)=\mathbb{E}\left[G_t \mid S_t=s\right]
  • 是s的函数,从不同的s出发得到的discounted return不同,求平均自然也不同
  • 也是策略的函数
  • 代表了一种状态的价值,当一个state value较大时,认为该状态比较有价值,即从这个状态出发,会得到更多return

return和state value区别

return针对单个trajectory求出的;state value针对多个trajectory得到的return,再取其平均值

例子

计算状态s1s_1在不同策略下的state value: image.png

vπ1(s1)=0+γ1+γ21+=γ(1+γ+γ2+)=γ1γvπ2(s1)=1+γ1+γ21+=1+γ(1+γ+γ2+)=1+γ1γvπ3(s1)=0.5(1+γ1γ)+0.5(γ1γ)=0.5+γ1γ\begin{aligned} & v_{\pi_1}\left(s_1\right)=0+\gamma 1+\gamma^2 1+\cdots=\gamma\left(1+\gamma+\gamma^2+\ldots\right)=\frac{\gamma}{1-\gamma} \\ & v_{\pi_2}\left(s_1\right)=-1+\gamma 1+\gamma^2 1+\cdots=-1+\gamma\left(1+\gamma+\gamma^2+\ldots\right)=-1+\frac{\gamma}{1-\gamma} \\ & v_{\pi_3}\left(s_1\right)=0.5\left(-1+\frac{\gamma}{1-\gamma}\right)+0.5\left(\frac{\gamma}{1-\gamma}\right)=-0.5+\frac{\gamma}{1-\gamma} \end{aligned}

vπ3v_{\pi_3}有两条trajectory,取平均方法是乘上各自的reward probability

本文作者:cc

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!