Skip to content
Tolshao
Go back

强化学习笔记8:整合学习和规划

1、introduction

第7章节,讲了PG,从episode经验学习到 策略 policy 之前的章节,讲了从episode 经验学习到 价值函数

本章,从过去经验学习到环境模型

通过规划的手段,构建值函数或者策略

本讲指出解决这类问题的关键在于“前向搜索”和“采样”,通过将基于模拟的前向搜索与各种不依赖模型的强化学习算法结合,衍生出多个用来解决类似大规模问题的切实可行的算法,如:Dyna-2算法之类。

2、Model-based reinforcement learning

当学习价值函数或策略变得很困难的时候,学习模型可能是一条不错的途径,像下棋这类活动,模型是相对直接的,相当于就是游戏规则。

模型,我们要做什么

St+1Pη(St+1St,At)Rt+1=Rη(Rt+1St,At)\begin{array}{l} S_{t+1} \sim \mathcal{P}_{\eta}\left(S_{t+1} \mid S_{t}, A_{t}\right) \\ R_{t+1}=\mathcal{R}_{\eta}\left(R_{t+1} \mid S_{t}, A_{t}\right) \end{array}

假设状态转移和 奖励 无关

P[St+1,Rt+1St,At]=P[St+1St,At]P[Rt+1St,At]\mathbb{P}\left[S_{t+1}, R_{t+1} \mid S_{t}, A_{t}\right]=\mathbb{P}\left[S_{t+1} \mid S_{t}, A_{t}\right] \mathbb{P}\left[R_{t+1} \mid S_{t}, A_{t}\right]

Model learning

S1,A1R2,S2S2,A2R3,S3ST1,AT1RT,ST\begin{aligned} S_{1}, A_{1} & \rightarrow R_{2}, S_{2} \\ S_{2}, A_{2} & \rightarrow R_{3}, S_{3} \\ & \vdots \\ S_{T-1}, A_{T-1} & \rightarrow R_{T}, S_{T} \end{aligned}

模型实例

例子 Table lookup example

模型是显示MDP,表示为P^,R^\hat P, \hat R 采样、奇数,即可得到概率的估计值

P^s,sa=1N(s,a)t=1T1(St,At,St+1=s,a,s)R^sa=1N(s,a)t=1T1(St,At=s,a)Rt\begin{aligned} \hat{\mathcal{P}}_{s, s^{\prime}}^{a} &=\frac{1}{N(s, a)} \sum_{t=1}^{T} 1\left(S_{t}, A_{t}, S_{t+1}=s, a, s^{\prime}\right) \\ \hat{\mathcal{R}}_{s}^{a} &=\frac{1}{N(s, a)} \sum_{t=1}^{T} 1\left(S_{t}, A_{t}=s, a\right) R_{t} \end{aligned}

特点:

-w526

Planning with a model

Sample-based planning

要素2个点:

特点

Planning with an inaccurate Model

显然,模型的准确性,直接制约了Model-based RL 性能的上限

Solution:

3、integrated architectures

本节将把基于模型的学习和不基于模型的学习结合起来,形成一个整合的架构,利用两者的优点来解决复杂问题。从两种渠道进行采样

实际经历: SPs,sa,R=RsaS^{\prime} \sim P_{s, s^{\prime}}^{a}, \quad R=R_{s}^{a}

模拟经历:SPη(SS,A),R=Rη(RS,A)S^{\prime} \sim P_{\eta}\left(S^{\prime} \mid S, A\right), \quad R=R_{\eta}(R \mid S, A)

- 集成学习规划 Dyna

Dyna

Dyna是并列、综合与model-free、model-based的学习方法

-w381

Dyna-Q 算法框图

-w498 a,b,c,d,和e都是从实际经历中学习,d过程是学习价值函数,e过程是学习模型。 在f步,给以个体一定时间(或次数)的思考。在思考环节,个体将使用模型,在之前观测过的状态空间中随机采样一个状态,同时从这个状态下曾经使用过的行为中随机选择一个行为,将两者带入模型得到新的状态和奖励,依据这个来再次更新行为价值和函数。

类似监督学习里,用数据增强,来丰富数据集。

Dyna-Q with 不准确模型

由于Dyna综合了实际和模拟两种情况,在实际环境改变时,错误的模型会被逐渐更正。

Q+ 算法,奖励函数里 鼓励 episode 探索新的状态

4、simulation-based search

搜索相对于规划,区别之一就是,不搜索整个空间,用采样的方法来优化

两个重要特征:

两点都可以显著降低计算量

-w388

步骤:

总结:仿真+学习 = 搜索

选择动作a,根据的Q值,只包含当前的状态sts_t和动作集A

  1. 给定模型 Mv\mathcal{M_v} 和simulation policy π\pi
  2. For each action aAa\in A
  1. 选择最优动作 at=argmaxaAQ(st,a)a_{t}=\underset{a \in \mathcal{A}}{\operatorname{argmax}} Q\left(s_{t}, a\right)

小结:值函数,只根据当前状态s 和 策略 π\pi产生,因此,可能不是最优的。

MC tree search (evaluation)

对于真正的MC tree search,Q值的构建,包含了所有状态s和动作a 估计步骤:

小结:完整版的MCTS,比简单版,记录了(s,a)对,不是(st,as_t,a)对,顺便将状态空间和动作空间的值函数进行了更新,丰富了信息。

MC tree search (Simulation)

【区别】:搜索树并不包括整个状态行为对空间的Q值,因此在改进策略时要分情况对待

  1. 树内确定性策略(Tree Policy):对于在搜索树中存在的状态行为对,策略的更新倾向于最大化Q值,这部分策略随着模拟的进行是可以得到持续改进的;
  2. 树外默认策略(Default Policy):对于搜索树中不包括的状态,可以使用固定的随机策略。

也就是说,每一次从当前状态到终止状态的模拟都包括两个阶段:状态在搜索树内和状态在搜索树外。两个状态对应的策略分别是树内的确定性(最大化Q)策略和树外的默认(随机)策略。

随着不断地重复模拟,状态行为对的价值将得到持续地得到评估。同时基于ϵgreedy(Q)\epsilon-greedy(Q)的搜索策略使得搜索树将不断的扩展,策略也将不断得到改善。

上述方法就相当在某一个状态sts_t时,针对模拟的经历使用蒙特卡罗控制来寻找以当前状态sts_t为根状态的最优策略。之前的讲解已经解释过:这种方法最终将找到最优策略。我们来看一个具体的例子:

仿真步骤:

例子:围棋Go

Position evaluation in go

-w388

MC evaluation in go

-w321

MCTS 步骤:

随着迭代次数增加:

MCTS 优点

步骤

  1. 根据当前真实状态sts_t, 开始仿真episodes
  2. 估计动作价值函数Q(s,a)Q(s,a)
  3. 每个仿真步骤,用Sarsa更新动作价值函数 ΔQ(S,A)=α(R+γQ(S,A)Q(S,A))\Delta Q(S, A)=\alpha\left(R+\gamma Q\left(S^{\prime}, A^{\prime}\right)-Q(S, A)\right)
  4. 根据Q值选择最优动作 e.g. ϵgreedy\epsilon - greedy

在上述过程,优化函数估计器 for Q

相比于MC搜索,TD搜索不必模拟Episode到终止状态,其仅聚焦于某一个节点的状态,这对于一些有回路或众多旁路的节点来说更加有意义,这是因为在使用下一个节点估计当前节点的价值时,下一个节点的价值信息可能已经是经过充分模拟探索了的,在此基础上更新的当前节点价值会更加准确。

Dyna-2

与Dyna-Q不同,dyna-Q只有一套参数,虽然经验有2个source(env和model)

Dyna-2 特征权重来源于两部分

显而易见,将仿真产生数据应用于搜索,并将搜索结合到学习中,增强了数据,会产生显著的提升 -w444


Share this post on:

Previous Post
免费图床搭建:Github+Picgo+jsDelivr
Next Post
hexo 进阶设置指南(持续更新)