强化学习笔记2

参考资料:

1) David Silver的强化学习视频

2) Sutton的Reinforcement Learning入门,第二版

3) Shangtong Zhang代码,地址:https://github.com/ShangtongZhang/reinforcement-learning-an-introduction

对应了Sutton的书中的练习;

 

接下来是MDP。

1,状态S_{t}是Markov的

状态S_{t}是Markov的当且仅当P[S_{t+1} | S_{t}] = P[S_{t+1} | S_{1},..., S_{t}],也就是t+1时刻的状态仅和t时刻的状态有关;

 

2,状态转移矩阵P

若共有n个状态,则有状态转移矩阵:

6

其中,

7

当然,矩阵每一行,每一列的之和为1。

 

3,Markov process的定义

Markov process用状态的集合S和状态转移矩阵P的元组<S, P>来定义。

 

4, 举例

Student Markov Chain

18

 

Student Markov Chain Episodes

每个Episode是对Markov Chain的一次采样,有始有终,以S1 = C1为例,以下都是一个Episode:

19

状态转移矩阵为:

20

 

5,MRP(Markov Reward Process)

MRP = Markov Process + Reward
用元组<S, P, R, \gamma>来定义

其中,

R是奖赏函数,一般定义为:R_{s} = E[R_{t+1} | S_{t} = s ] 

\gamma是折扣系数, 0 \leqslant\gamma \leqslant1

 

6,Returns

t时刻的Reward R_{t}是一个随机变量(因为t时刻的状态S是随机变量),是标量,如果t时刻处于状态S= s,则R_{t} = R_{s} = E[R_{t+1} | S_{t} = s ]

t时刻的Returns G_{t}定义为:

R&R

其中,0 \leqslant\gamma \leqslant1

\gamma接近于0的时候,只考虑未来一小段时间的Reward,这个G_{t}被看成是myopic的;

\gamma接近于0的时候,考虑了未来很长一段时间的Reward,这个G_{t}被看成是far-sighted的;

 

7,Value Function

状态值函数v(s)是对当前所处状态s好坏(能得到多少奖赏)的评价。定义为:

v(s)= E[G_{t} | S_{t} = s ]

 

8,举例

21

S_{1} = C1为例,红色字体的R = -2就是R_{C1} = -2

而若以S_{1} = C1为起点,令\gamma = \frac{1}{2}(注意S_{1}的下标1表示的是t = 1,也就是时刻t,则S_{1} = C1表示时刻1处于状态C1)

此时,22

则状态值函数值v(C1) = E{G_{1} | S_{1} = C1}

G_{1}是随机变量:有多少个Episode采样,就会有多少个G_{1}可能的取值:

23

而v(C1) 其实就是对最后一列求均值(数学期望)。

 

9, Bellman equation

由上可见,求解v(s)很重要。先来看Bellman equation

这个方程的证明除了用了数学期望的展开,还用到了条件数学期望的一个性质:

8

补充了几个步骤如下,详细证明如下:

9

另外需要注意的是,PPT中经常出现的10是随机变量;

 

10, Bellman equation的求解

先将Bellman equation写成矩阵形式:

11

可见,可以直接求解为:

12

但是直接求解有难度:计算复杂度是O(n^{3})的,其中n是状态数,当状态很多的时候,就很难直接求解了;

因此,直接求解只能用在一些小型的MRP中,对于大型的MRP问题,通常用一些迭代算法来求解:

有动态规划,Mote-Carlo估计,和TD,后续会详细讲;

 

11,Markov Decision Process

MDP = MRP + decisions

MDP是元组<S, A, P, R, \gamma>

新增加的A是动作集;

由于新增了动作集,状态的变化和动作有了关联,因此状态转移矩阵P需要重新定义,其元素的定义为:13

同理奖赏函数重新定义,其元素定义为:14

 

12,MDP引入策略\pi

策略\pi(a | s) = P[A_{t} = a | S_{t} = s]是一个条件概率,它完全定义了Agent的行为;

可见,现在的A_{t}是一与 S_{t}有关的随机变量,自然地,可以对7中的MDP引入策略:

给定一个MDP  M = <S, A, P, R, \gamma>和策略\pi,则

S1,S2,...是 Markov process<S, P^{\pi}>

S1, R2, S2是Markov reward process<S, P^{\pi}, R^{\pi}, \gamma>

其中:

15

对上两式的理解:

第1式使用了全概公式:16

对应1式,A = {当策略为\pi时,状态s转移到s'}

Bi = {当策略为\pi时,在状态为s的时候,对环境Environment使用动作a}

也就是,P(Bi)对应了\pi(a | s),P(A | Bi)对应了P_{ss'}^{a}

 

第2式使用了数学期望的全概公式:

17

13,目前对 MDP引入策略\pi后的一个理解

\pi(a | s) = P[A_{t} = a | S_{t} = s]看出,A_{t} = a 的概率与S_{t} = s由关系,因此

S_{t} = s决定。所以,S_{t} = s就决定了整个模型的情形;(这里不知如何表达。。。隐约觉得MDP就是由S_{t} 是什么状态决定的)

 

14,引入策略\pi后的Value Function v_{\pi}(s)q_{\pi}(s)

状态值函数v_{\pi}(s) = E_{\pi}[G_{t} | S_{t} = s] ,其含义为t时刻的状态为s,后续时刻都采用策略\pi,得到的状态值,也就是说在t时刻可能采用的不是策略\pi

动作值函数q_{\pi}(s) = E_{\pi}[G_{t} | S_{t} = s, A_{t} = a],其含义为t时刻的状态为s,并执行动作a,后续时刻都采用策略\pi,得到的动作值,也就是说在t时刻可能采用的不是策略\pi,动作a也很可能和策略\pi无关;

 

15,引入策略\pi后的Bellman Equation

24

证明:

仿照9,略去部分中间步骤,证明如下:

26

 

25

证明:

27

其他几个公式:

 


28         (1)

根据数学期望的全概率公式可证明:

29

 

30(2)

证明:

仿照9,略去部分中间步骤,证明如下:

(2)代入(1)有:

32(3)

(1)代入(2)有:

33(4)

另外:
MDP的Bellman方程的矩阵形式直接从MRP的Bellman方程的矩阵形式推断出:
34

16, 最优值函数的定义

2

我觉得这里的定义有这样一层意思:也就说,很可能不存在一个策略\Pi,使得\forall s\in S,v_{\Pi}(s)=v_{*}(s)。即如果s_{1} \neq s_{2},并且v_{*}(s_{1}) = v_{\pi_{1}}(s_{1})v_{*}(s_{2}) = v_{\pi_{2}}(s_{2}),也就是s_{1}\pi _{1}上达到最大状态值,s_{2}\pi _{2}上达到最大,则\pi _{1}可以不等于\pi _{2}

17,策略大小的定义

1

 

18, 最优策略

最优策略就是最大的策略,并且最优策略可能有多个,都记为\pi_{*}

 

19,一个重要的定理

对于任意的 MDP过程:
a)总是存在最优策略 \pi_{*}
b)v_{\pi_{*}}(s) = v_{*}(s),这里的意思是,任意的状态都能够在\pi _{*}上达到最大的状态值(对照16理解);
c)q_{\pi_{*}}(s, a) = q_{*}(s, a)

 

20,寻找最优策略

由上述定理,很明显,最优策略可以这样得到:

3

也就是说如果q_{*}(s, a)得到了,最优策略\pi_{*}(s | a)也就得到了。

于是,关键就是如何求解q_{*}(s, a)的了。

 

21,求解q_{*}(s, a)

先看Bellman Optimality Equation

4

证明如下:

(1)的证明需要用到公式28

以及定义3

以及定理v_{\pi_{*}}(s) = v_{*}(s)

证明步骤如下:

v_{*}(s) = v_{\pi_{*}}(s)

           = \sum_{a\in A}\pi_{*}(a | s)q_{\pi_{*}}(s, a)

           =max_{a}q_{*}(s, a)

 

(2)的证明用到了公式q_{\pi}(s, a)= R_{s}^{a} + \gamma \sum_{s'\in S}P_{ss'}^{a}v_{\pi}(s')

以及定理q_{\pi_{*}}(s, a) = q_{*}(s, a)  v_{\pi_{*}}(s) = v_{*}(s)

证明步骤如下:

q_{*}(s, a) = q_{\pi_{*}}(s, a)

               = R_{s}^{a} + \gamma \sum_{s'\in S}P_{ss'}^{a}v_{*}(s')

               = R_{s}^{a} + \gamma \sum_{s'\in S}P_{ss'}^{a}v_{\pi_{*}}(s')

Bellman最优方程是非线性的(是因为有max),没有封闭的解。

Bellman最优方程的求解一般使用一些迭代算法,后面的章节会逐步说到。

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值