16. 蒙特卡洛强化学习基本概念与算法框架

文章目录

  • 1. 是什么
  • 2. 有何优点
  • 3. 基本概念
    • 3.1 立即回报
    • 3.2 累积回报
    • 3.3 状态值函数
    • 3.4 行为值函数
    • 3.4 回合(或完整轨迹,episode)
    • 3.5 多个回合(或完整轨迹)的描述
  • 4.MC强化学习问题的正式描述
  • 5. 蒙特卡洛(MC)强化学习算法的基本框架

1. 是什么

蒙特卡洛强化学习(简称MC强化学习)是一种无模型强化学习算法,该算法无需知道马尔科夫决策环境模型,即不需要提前获得立即回报期望矩阵R(维度为(nS,nA))、状态转移概率数组P(维度为(nA,nS,nS)),而是通过与环境的反复交互,使用统计学方法,利用交互数据直接进行策略评估和策略优化,从而学到最优策略。

2. 有何优点

  • 无需环境模型
  • 易于编程、通用性强。

3. 基本概念

为了更好的描述MC方法,深入理解如下概念非常必要。

3.1 立即回报

  • 在某状态

    s

    t

    s_t

    st​下,智能体执行某行为

    a

    t

    a_t

    at​后,获得的一次来自环境的即时奖励,例如,在格子世界中寻宝的实验中,智能体在距离宝藏较远的距离时,向右移动后,获得来自环境的即时奖励为-1,在智能体位于宝藏左边时,向右移动1格后,获奖来自环境的即时奖励为0.

  • 立即回报是随机变量,为了反映它的特征,可以用立即回报期望来描述,符号为

    R

    s

    a

    =

    E

    π

    (

    R

    t

    +

    1

    s

    t

    =

    s

    ,

    a

    t

    =

    a

    )

    R_s^a=E_\pi(R_{t+1}|s_t=s,a_t=a)

    Rsa​=Eπ​(Rt+1​∣st​=s,at​=a)

3.2 累积回报

G

t

=

R

t

+

1

+

γ

R

t

+

2

+

γ

2

R

t

+

3

+

=

k

=

1

T

γ

k

1

R

t

+

k

G_t = R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots=\sum_{k=1}^{T}\gamma^{k-1}R_{t+k}

Gt​=Rt+1​+γRt+2​+γ2Rt+3​+⋯=k=1∑T​γk−1Rt+k​

  • G

    t

    G_t

    Gt​:从某个状态s开始,遵循某个策略时从状态s开始直到最后终止状态

    s

    T

    s_T

    sT​的带折扣的累积回报

  • 由于

    R

    t

    +

    k

    R_{t+k}

    Rt+k​为随机变量,故

    G

    t

    G_t

    Gt​为随机变量;

3.3 状态值函数

  • 为衡量状态s下遵循策略

    π

    \pi

    π的价值,取状态值函数

    V

    π

    (

    s

    )

    =

    E

    π

    (

    G

    t

    s

    t

    =

    s

    )

    V_\pi(s)=E_\pi(G_t|s_t=s)

    Vπ​(s)=Eπ​(Gt​∣st​=s)作为度量标准

  • 为了从交互产生的统计数据中计算得到接近真实的状态值函数

    V

    π

    (

    s

    )

    V_\pi(s)

    Vπ​(s),可以取足够多回合的交互获得的

    G

    t

    G_t

    Gt​的样本的平均值

3.4 行为值函数

行为值函数是策略改进的依据,理论上,它可以通过状态值函数计算得到:

Q

(

s

,

a

)

=

R

s

a

+

γ

s

S

P

s

s

a

V

(

s

)

Q(s,a) = R_s^a+\gamma\sum_{s’\in S}P_{ss’}^aV(s’)

Q(s,a)=Rsa​+γs′∈S∑​Pss′a​V(s′)

然而,实际上,由于

R

s

a

R_s^a

Rsa​与

P

s

s

a

P_{ss’}^a

Pss′a​未知,因此,MC方法通常不会通过估计状态值函数

V

(

s

)

V(s)

V(s),然后使用Q(s,a)进行策略改进。

MC方法是利用交互数据直接估计Q(s,a),然后再基于Q(s,a)进行策略改进的。

3.4 回合(或完整轨迹,episode)

  • 由3.3可知,要获得1个

    G

    t

    G_t

    Gt​样本,可以让智能体从任意某初始状态出发,一直遵循某种策略

    π

    \pi

    π与环境交互,直至状态转移到环境的终止状态

    s

    T

    s_T

    sT​才结束。

  • 我们把从某状态

    s

    S

    \forall s\in S

    ∀s∈S出发,到终止状态

    s

    T

    s_T

    sT​之间的完整状态、动作、立即回报的转换过程,称为1次完整的轨迹或1个回合,英文单词为Episode

3.5 多个回合(或完整轨迹)的描述

假设以任意起始状态开始的完整轨迹有多条条,则这多条完整轨迹可以表示为:

轨迹0:

s

0

,

0

,

a

0

,

0

,

r

0

,

1

,

s

0

,

1

,

a

0

,

1

,

r

0

,

2

,


,

s

0

,

L

0

,

a

0

,

L

0

,

r

0

,

L

0

+

1

,

s

T

,

a

0

,

L

0

+

1

,

r

0

,

L

0

+

2

s_{0,0},a_{0,0},r_{0,1},s_{0,1},a_{0,1},r_{0,2},\cdots,s_{0,L_0},a_{0,L_0},r_{0,L_0+1},s_T,a_{0,L_0+1},r_{0,L_0+2}

s0,0​,a0,0​,r0,1​,s0,1​,a0,1​,r0,2​,⋯,s0,L0​​,a0,L0​​,r0,L0​+1​,sT​,a0,L0​+1​,r0,L0​+2​

轨迹1:

s

1

,

0

,

a

1

,

0

,

r

1

,

1

,

s

1

,

1

,

a

1

,

1

,

r

1

,

2

,


,

s

1

,

L

1

,

a

1

,

L

1

,

r

1

,

L

1

+

1

,

s

T

,

a

1

,

L

1

+

1

,

r

1

,

L

1

+

2

s_{1,0},a_{1,0},r_{1,1},s_{1,1},a_{1,1},r_{1,2},\cdots,s_{1,L_1},a_{1,L_1},r_{1,L_1+1},s_T,a_{1,L_1+1},r_{1,L_1+2}

s1,0​,a1,0​,r1,1​,s1,1​,a1,1​,r1,2​,⋯,s1,L1​​,a1,L1​​,r1,L1​+1​,sT​,a1,L1​+1​,r1,L1​+2​

轨迹k:

s

k

,

0

,

a

k

,

0

,

r

k

,

1

,

s

k

,

1

,

a

k

,

1

,

r

k

,

2

,


,

s

k

,

L

k

,

a

k

,

L

k

,

r

k

,

L

k

+

1

,

s

T

,

a

k

,

L

k

+

1

,

r

k

,

L

k

+

2

s_{k,0},a_{k,0},r_{k,1},s_{k,1},a_{k,1},r_{k,2},\cdots,s_{k,L_k},a_{k,L_k},r_{k,L_k+1},s_T,a_{k,L_k+1},r_{k,L_k+2}

sk,0​,ak,0​,rk,1​,sk,1​,ak,1​,rk,2​,⋯,sk,Lk​​,ak,Lk​​,rk,Lk​+1​,sT​,ak,Lk​+1​,rk,Lk​+2​

上述每条轨迹中的三元组

(

s

k

,

m

,

a

k

,

m

,

r

k

,

m

+

1

(s_{k,m},a_{k,m},r_{k,m+1}

(sk,m​,ak,m​,rk,m+1​表示轨迹k中,状态为

s

k

+

m

s_{k+m}

sk+m​,执行行为

a

k

+

m

a_{k+m}

ak+m​后获得的立即回报的采样值为

r

k

,

m

+

1

r_{k,m+1}

rk,m+1​,

r

k

,

L

k

+

1

r_{k,L_k+1}

rk,Lk​+1​表示轨迹k时,智能体观测到的环境状态为终止状态的上一状态

s

k

,

L

k

s_{k,L_k}

sk,Lk​​下,执行动作

a

k

,

L

k

a_{k,L_k}

ak,Lk​​的立即回报采样。

可见,一条完整轨迹(回合或episode),必须满足:

  • 最后一个状态值

    s

    T

    s_T

    sT​对应终止状态

  • L

    k

    0

    L_k\ge 0

    Lk​≥0

4.MC强化学习问题的正式描述

已知:一个MDP(马尔科夫决策过程)环境的折扣系数

γ

\gamma

γ、环境与智能体的交互接口,利用这个接口,智能体可以获得从任意状态

s

t

S

s_t \in S

st​∈S下,执行行为空间中的某个行为

a

t

A

a_t \in A

at​∈A后,来自环境的即时回报

r

t

+

1

r_{t+1}

rt+1​和转移后的状态

s

t

+

1

s_{t+1}

st+1​、该新的状态是否为终止状态。

$$

求解:智能体如何利用环境的对外接口与环境交互,如何通过交互获得最优策略

π

(

a

s

)

\pi^*(a|s)

π∗(a∣s)?

5. 蒙特卡洛(MC)强化学习算法的基本框架

π

(

a

s

)

=

初始策略

π

s

a

m

p

l

e

(

a

s

)

=

蒙特卡诺采样策略

(

可以和初始策略一样)

Q

(

s

,

a

)

=

0

w

h

i

l

e

T

r

u

e

:

依据

π

s

a

m

p

l

e

与环境交互生成完整轨迹

利用轨迹数据进行策略评估以更新

Q

(

s

,

a

)

利用

Q

(

s

,

a

)

进行策略控制以改进

π

(

a

s

)

i

f

满足结束条件

:

b

r

e

a

k

输出优化后的

π

(

a

s

)

\begin{align*} &\pi(a|s)=初始策略\\ &\pi_{sample}(a|s)=蒙特卡诺采样策略(可以和初始策略一样)\\ &Q(s,a)=0\\ & while \quad True:\\ &\qquad 依据\pi_{sample}与环境交互生成完整轨迹\\ &\qquad 利用轨迹数据进行策略评估以更新Q(s,a)\\ &\qquad 利用Q(s,a)进行策略控制以改进\pi(a|s)\\ &\qquad if\quad 满足结束条件:\\ &\qquad \qquad break\\ &输出优化后的\pi(a|s) \end{align*}

​π(a∣s)=初始策略πsample​(a∣s)=蒙特卡诺采样策略(可以和初始策略一样)Q(s,a)=0whileTrue:依据πsample​与环境交互生成完整轨迹利用轨迹数据进行策略评估以更新Q(s,a)利用Q(s,a)进行策略控制以改进π(a∣s)if满足结束条件:break输出优化后的π(a∣s)​

可见,MC强化学习的关键在于策略评估与策略控制

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/deafdcf940.html