本文为笔者观看伯克利大学CS285 2019 MB部分课程结合自己理解所做笔记。如果错误请指出。欢迎讨论。
课程源地址
文章推导过程、公式皆来自于课堂ppt

1. MB概念引出

1.1 概念

强化学习的目标就是希望agent做出的动作序列得到最多的累计奖励,假设我们知道两个状态之间的转换概率p(st+1st,at)p(s_{t+1}|s_t,a_t),那么我们的算法可以表示为:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

上图中第一个式子是状态动作序列τ\tau的概率。优化agent训练的依据就是最大化序列奖励的数学期望。

Model-Based reinforcement learning就是学习动力学转换概率,然后算出如何去选择动作。

1.2 MB三个阶段

  • 知道了动力学模型,如何做出好的决策,最优控制和计划。Optimal Control and Planning
  • 如何学习一个描述动力学环境的模型model
  • 如何直接学习策略,不使用控制和计划。

2. Optimal Control and Planning

2.1 三种情况

概念辨别closed-loop和open-loop

close-loop是一个动作进行一次交互,得到新的状态。

open-loop是指观察第一个状态,然后返回一系列动作,这些都是agent自己想的。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

1. Deterministic情况下open-loop

Deterministic 是指下一个动作直接通过状态当前状态动作产生。得到初始状态s1s_1,进而agent想象出接下来的一些列动作:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

这里f包括了环境。你的模型f通过状态和动作就能直接产生下一个动作。

动作序列的产生是依据最大化累计奖励。

2. 随机开循环Stochastic open-loop case

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

环境模型是随机的,下一状态是基于概率产生的,即通过model我们得到的是p(st+1st,at)p(s_{t+1}|s_t,a_t)下一个状态的概率,所以我们在计划动作序列的时候,由于知道的是概率,所以在计划动作序列的时候,是利用累计奖励的数学期望。

3. 随机闭循环

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

和开循环相比,引入了策略函数π\pi。那么下一个动作产生的概率为π(atst)\pi(a_t|s_t)。我们使用最大化累计奖励来优化π\pi的参数。

  • 如果策略是用神经网络表示的,则可以得到全局最优。
  • 如果适应时变线性函数(time-varying linear),则为局部最优函数。(较为简单)

2.2 优化问题

问题抽象

上述的三种情况问题进行抽象,我们动作序列的优化可以成:
a1...aT=argmaxa1...aTJ(a1...aT) a_1...a_T = \arg \max_{a_1...a_T} J(a_1...a_T)

J代表deterministic和stochastic open-loop的优化项,我们暂时不用考虑具体是哪个。

进而写成:
A=argmaxAJ(A) A = \arg \max_A J(A)

A代表动作序列a1,a2...aTa_1,a_2...a_T

2.3 优化方法

2.3.1 CEM

CEM: Cross-Entropy method

如何能找到最佳的动作序列的?

最简单的想法:猜测->验证。即

  1. 从某个分布中(例如均一分布,就是随机选取)选择N个组动序列A1...ANA_1...A_N

  2. 基于argmaxJ(A)\arg \max J(A)选择最大的那组动作序列。

CEM的思想:

假设当动作序列A1....A_1....服从分布p

  1. 采样A1...ANA_1...A_N依照分布p(A)
  2. 评估这N组动作序列 J(A1)...J(AN)J(A_1)...J(A_N)
  3. 从N组序列中选择M个效果最好的A1...AMA_{1}^*...A_{M}^*,这里M<N
  4. A1...AMA_{1}^*...A_{M}^*重新拟合分布p(A)。使得下次我们按照这个分布的采样能够得到更高的 J 。跳转到步骤1继续循环。

通常来说使用高斯分布能够得到更好的效果。随着CEM的迭代,p能更好的拟合J的分布。

优点

  • 如果并行就非常快
  • 十分简单

缺点

  • 高纬度限制,超过100维就很难了。
  • 只能用在开循环的规划(open-loop planning)

2.3.2 MCTS

对于离散问题的规划,可以使用搜索树的思想。

如果从起始状态开始,每一个绘制出每一个动作和状态的树图,那么找到最理想的动作序列就很容易了。

但是叶节点的数量是指数增长的,如果想要遍历所有路径,对于大规模问题来说显然是不实际的。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

所以我们需要对数进行剪枝处理。

MCTS的基本流程:(循环)

  1. 使用TreePolicy(s1)策略选择一个叶节点sls_l
  2. 使用DefaultPolicy(sls_l)评估该叶节点
  3. 更新从s1s_1sls_l所有的价值,并且在s1装填选择最好的动作。回到1第一步。

其中TreePolicy是选择叶节点的一种方法,以UCT TreePolicy(sts_t)为例:

  • 如果sts_t下的某些动作没有尝试,那么就选择一个新的动作ata_t

  • 如果所有的动作都尝试过了,那么就选择子节点Score(st+1)Score(s_{t+1})最高的。
    Score(st)=Q(st)N(st)+2C2lnN(st1)N(st) Score(s_t) = \frac{Q(s_t)}{N(s_t)} + 2C \sqrt{\frac{2\ln N(s_{t-1})}{N(s_t)}}

    Q为sts_t节点的状态动作价值

    N为sts_t节点的访问次数

DefaultPolicy()如果很好,就能得到一个很好的价值估计。实际上经常使用随机策略,因为容易使用。

例:

  • 第一次迭代:选择动作0,到达s2,通过DefaultPolicy的评估方法,得到该节点Q = 10, N = 1;

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

  • 第二次迭代:然后依据TreePolicy,动作2没有选过,所以第二次循环选择动作2,评估得到Q = 12, N=1

    Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

  • 第三次迭代,动作1,2都试过,所以我们选择Score大的,计算发现a1=1的叶节点Score较大。选择这个节点。然后发现这个节点还没有被探索,我们就选择一个动作到达s3。评估Q = 10 , 这个10代表这个s3以后的累计奖励是10, N = 1

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

​ 然后执行算法第3步,回溯这条路线的数据。更新a1,s2的Q = 10+12 = 22, N = 2;

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

  • 第四轮次代:s1开始,选择的Score值较大的a1= 0; 然后在该状态下执行一个动作a2=0。同第三次迭代。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

  • 第五轮迭代:

    Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

  • 第六轮迭代:

    Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

材料阅读
  1. Browne, Powley, Whitehouse, Lucas, Cowling, Rohlfshagen, Tavener,
    Perez, Samothrakis, Colton. (2012). A Survey of Monte Carlo Tree
    Search Methods

案例分析材料:

  1. Deep Learning for Real-Time Atari Game Play Using Offline Monte-Carlo Tree Search Planning

    ​ - Imitation learning from MCTS

2.2.3 LQR

接下来的字母表示有些改动:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

我们是否可以直接使用求导的方式来优化问题呢?

shoot method:

只对动作u进行优化,即算法只通过改变u来达到最优值。对状态x没有控制。状态x是u的函数。只要动作改变,就会产生一个新的不同序列。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

collocation method:

优化目标有状态x和动作u两个自变量,这两个自变量之间有额外的限制。这样虽然引入更多变量,但是波动较小

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

LQR属于shooting method,它的定义如下:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

L:对model的假设是一个线性方程

Q:损失函数是二次的

R:Regression

中间推导过程详见ppt

最终算法描述:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

上述针对的是deterministic,如果是stochastic环境,使用高斯分布去拟合。

原本的xt+1=f(xt,ut)x_{t+1} = f(x_t,u_t),那么介入高斯分布,则p(xt+1xt,ut)=N(f(xt,ut),t)p(x_{t+1}|x_t,u_t) = N(f(x_t,u_t), \sum_t)

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

LQR可以用在随机闭循环中。

2.2.4 DDP/Iterative LQR

这是LQR在非线性环境的使用。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

LQR假设动力学环境是线性的,且cost是二次的。把非线性系统近似为一个线性的二次系统,得到如下:

这个是利用泰勒展开式在(x^t,u^t)(\hat x_t , \hat u_t)处展开,保留前两项。

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR·

注:泰勒展开式公式:**

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

Iterative LQR算法描述:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

直观感受:在局部使用线性方程去拟合非线性的方程。

LQR原理:

事实上,iLQR是牛顿法求解

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

的一种近似方法。

牛顿法计算minxg(x)\min_xg(x)迭代原理:

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

真正使用牛顿法求解,还需要对使用second order dynamics approximation(红框那项)

Model-Based RL-基于模型的强化学习-理论详解1:最优控制和规划问题(Optimal Control and Planning)/ CEM/MCTS/LQR

具体阅读材料:

  1. Mayne, Jacobson. (1970). Differential dynamic programming.
    • Original differential dynamic programming algorithm.
  2. Tassa, Erez, Todorov. (2012). Synthesis and Stabilization of Complex Behaviors through Online Trajectory Optimization.
    Practical guide for implementing non-linear iterative LQR.
  3. Levine, Abbeel. (2014). Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics.
    • Probabilistic formulation and trust region alternative to deterministic line search

案例材料

Nonlinear model-predictive control :

  1. Synthesis and Stabilization of Complex Behaviors through Online Trajectory Optimization, Yuval Tassa etc.

  2. Synthesis of Complex Behaviors with Online Trajectory Optimization, Yuval Tassa etc.

相关文章:

  • 2021-06-28
  • 2021-09-16
  • 2022-12-23
  • 2021-04-28
  • 2021-10-17
  • 2021-12-17
  • 2021-06-05
猜你喜欢
  • 2021-05-23
  • 2021-05-25
  • 2021-05-06
  • 2021-04-04
  • 2021-04-07
  • 2021-04-01
  • 2021-07-19
相关资源
相似解决方案