10. 最优控制与规划(Optimal Control and Planning)

主要内容:

  • 介绍基于模型的强化学习
  • 如果我们知晓模型的转移概率,如何进行决策控制
  • 随机优化方法(Stochastic optimization methods)介绍
  • MCTS(Monte Carlo tree search)算法介绍
  • Trajectory优化

1. 基于模型的强化学习

引入基于模型的强化学习

首先回顾下强化学习的目标函数:


image.png

环境给出一个初始状态,然后agent根据状态给出动作,环境接受动作,根据模型给出奖励以及下一个状态,agent进一步作出决策,如此往复循环。RL的目标函数就是要找到一组参数,最大化所有trajectory上能获得的总和。

基于这个目标,首先引入了策略梯度(Policy Gradient)系列的方法,直接对这个目标函数关于参数做梯度运算,并进行梯度下降,而value based的方法则是通过找到每个状态能够获得最大期望奖励的动作,从而得到策略。而actor-critic方法则是结合两者,将value function 引入policy gradient中降低方差。

但是可以看到,这两大类方法其实都默认忽略掉了 p(s_{t+1}| s_t,a_t), 这也就是为什么它们被称为model-free的方法。

从本节开始我们引入模型,首先会讨论如何在已知环境的dynamics下做规划,后续讨论如何学习dynamics,以及如何同时学习dynamic和策略。

open-loop与closed-loop

image.png

open与closed是用来描述agent和环境交互模式的概念。

在closed-loop planning中,agent在每次执行动作后得到环境的反馈,一直在和环境做交互,根据新的状态和奖励作出新的动作。

在open-loop planning中,agent仅仅在开始接收初始状态,根据初始状态作出一系列决策a_1,\cdot \cdot \cdot, a_T,并直接传给环境所有规划的一系列动作。

如果从基于模型的角度来看,open-loop planning应该是更加合理的方法,因为既然知道了模型的dynamic的情况,那么就不需要环境的反馈,agent直接进行推断就可以了。但是在实际基于模型的学习中,模型通常都是不完美的,如果仅仅在开始做规划,那么则可能造成非常大的累积误差,而closed-loop learning则可以根据每一步的反馈修正模型与规划的结果,从而使算法效果更好。

open-loop planning

在这里首先从open-loop planning开始介绍,它的整体目标是这种形式:


image.png

也就是说在给定初始状态以及dynamic得到一系列的动作,他们可以使得这个trajectory上的奖励最大化。

2. Stochastic Optimization方法

首先介绍的是基于Stochastic Optimization的一类方法,它是一种黑盒优化方法,它不关系目标是什么形式的,从而也不利用目标本身的性质,只是在优化目标本身。所以把目标当作黑盒,这样就是在优化一个不知形式的目标。

image.png

2.1 random shooting方法

首先是最简单的方法,直接从整个动作的分布中采样处若干组动作,计算每组动作能获得的奖励,选择最大的一组动作作为结果。在这种模式下,你的采样越多,得到的结果就越好。

image.png

2.2 Cross-entropy method

很自然的,随机采样并不是一种特别好的方法。那么比较直观的改进方案就是从采样方法上下手,CEM就是基于这种思路发展得到的算法。它的也不难,将采样分成多轮,在每轮采样后通过fit一个概率分布将获得reward高的action的概率提高,具体流程如下:

image.png

在第三步中,会挑选出reward比较高的action组,用分布去fit它,从而提高它与它附近的样本的采样概率,在CEM中通常会使用高斯分布作为采样的分布,这时候整体的分布相当于就是在拟合reward的分布。

基于stochastic optimization的方法的优势是它简单且速度快,而且容易并行。但是问题在于它在动作空间维度高的时候效果会变得特别差,而且它只能在open-loop planning中使用。所以在大型的场景以及closed-loop planning它还是不足的。

3. MCTS(Monte Carlo Tree Search)

3.1 Discrete planning as tree search

接下来看看close-loop planning部分。MCTS的基本思路是将discrete planning问题当作一个tree search的问题,每层都是一个动作的选择,那么最理想的情况,如果我们能够将所有的叶节点都能搜索到,自然也就能找到最优解了:

image.png

但叶节点的数量是随着树的层数指数级增长的,对于动作空间比较大的情况,要遍历完基本是不可能的。所以需要找些方法做些剪枝,MTCS就是基于对叶节点的好坏评估以及探索次数的平衡做的剪枝。

3.2 Upper Confidence bounds for Trees

在介绍算法前,首先介绍一个评分方式Upper Confidence bounds for Trees(UCT),它的计算如下:

image.png

其中Q某个state的价值高低,N表示对某个state的探索次数,这个分数的第一项表示某个state的平均价值,第二项则表示对于探索次数的衡量,探索次数越多,第二项会越小。通过C这个常数来控制两个部分的权重,C越大,则表示算法越鼓励探索新的节点,这个也就是exploration与exploitation之间的tradeoff。在这个计算方式中,如果某个节点没有被探索过,那么它的N是零,这个时候选择它的概率最大,这个也就是后面的UCT TreePolicy首先选择没有探索过的state的原因,

3.3 BehaviorPolicy and TreePolicy

接着介绍MCTS中的两个核心概念:

首先是BehaviorPolicy,它描述的是如何判断一个节点的价值的问题,也就是如何得到上面UCT score中的Q,在许多MCTS的相关应用中都会使用random policy。
其次是UCT TreePolicy,来到一个state后如何选择哪一个分支做拓展,在这里使用了UCT,也就是说在某个state,如果存在没有充分探索的子节点,那么会先探索这些子节点,直到没有子节点,则深入到它的子节点中,而这里探索使用的就是BehaviorPolicy。

接下来用图解释一下整体过程,假设当前处于s_1, 按照UCT TreePolicy的准则,首先选择没有探索过的子节点,所以它会依次选择a_1, a_2, 在其上使用BehaviorPolicy,从而得到两个没有探索过的子节点的Q,并将N计为1。

image.png

接着进入UCT TreePolicy的第二阶段,探索完所有子节点,那么就只能根据UCT score来计算选择哪个节点了,在上面自然是右边的节点score高,所以选择右边节点进一步搜索。在右边子节点中,按照上面的逻辑,仍然是选择新的节点,然后对整个路径上的state的Q和N都进行更新:例如此处22=12+10, 2=1+1;


image.png

接着再从s_1开始通过计算UCT来选择节点,直到达到某种停止准则:

image.png

所以MCTS的流程就可以分为这三步进行循环,首先根据TreePolicy选择一个子节点,然后用BehaviroPolicy进行探索,最后将得到的Q和N一路更新回起点。

image.png

4. Trajectory Optimization

上节介绍了利用MCTS来解决closed-loop planning,这节介绍另外一类方法:trajectory optimization。

在介绍具体的方法之前首先对比一下两类解决方案的差异:shooting methods与collocation methods。

对于shooting mothod,它是关乎actions层面的优化,算法通过控制actions达到最优,其中dynamic只是用来提供planning的一个结果,通过带入dynamic(下面公式中的f),得到一个无限制的优化问题。在这种模式下,由于对states没有控制,所以即使从同一个点开始,只要选择了不同的action,就可以得到不同的trajectory,

image.png

而另一类方法则是collocation methods,它同时针对actions和states来进行控制,这个也就是最符合直觉的约束问题 。它虽然从控制上引入了更多的变量,但是它的震荡会更小,在下图中,如果改变了第一个action,那么只有一小段局部位置会发生震荡。所以求解这个问题就变得简单了些,只需要对约束做些简单的relaxation,然后逐步求解这个问题即可。


image.png

4.1 Linear Quadratic Regulator(LQR)

4.1.1 问题描述

首先给出LQR的问题描述,其实就是说明LQR中的L和Q的含义,这里用linear表示对model的假设,它假设model是locally linear and time-varied的,而quadratic则是表示对cost function的二次假设:

image.png

推到过程有些难,基本上是先计算,然后依次向前计算。
image.png

image.png

image.png

image.png

4.1.2 LQR算法描述

image.png

4.1.3 Stochastic dynamics

前面的dynamics都是假设是deterministic的,那么LQR是否可以用在stochastic dynamics上呢?这时候其实只要用高斯分布去model这个dynamics就可以了:

image.png

4.2 Iterative Linear Quadratic Regulator(iterative LQR)

在LQR中,我们做了一个重要的假设:model是locally linear的,这很自然地也就限制了它的表达能力。那么如果将它的假设扩展到non-linear的,是否有方法能够找到合适的方法处理得这种假设呢?这也就是iLQR存在的意义了。在iLQR中,我们首先会初始化一个trajectory,通过LQR去修他进行修正,得到新的trajectory,迭代进行,直到收敛到最优解。

在具体介绍iLQR之前,需要简单地回顾一下优化中的Newton's method。在gradient dscenet利用Taylor expansion的first-order term去approximate函数,并用来找到下一次迭代的点。而在Newton's method中,则是利用同时利用first-order和second-order derivative去达到这个目的。
Newton's method做最优化就可以表达为如下的流程:


image.png

而iLQR其实就可以理解为利用Newton's method去求解原始的优化问题的过程:


image.png

image.png

伪代码可以描述为如下流程:


image.png

4.3 Differential Dynamic Programming(DDP)

在前面提到的iLQR中,虽然是对dynamic做了approximation,但是实际并没有将它扩展到second order:


image.png

所以它实际上并不算是真正使用了Newton's method,故而在这里将iLQR的dynamic扩展到second-order approximation,然后仍然按照上面的求解方式进行求解:


image.png

而在Newton's method中如果first-order derivative做得不够好,则可能造Overshoot的问题,会导致收敛性能下降,基于这个问题,一个比较简单的解决思路就是使用line search,在当前值与新的值之间按照固定间隔\alpha展开line search,在其中找到最小的值作为结果:

image.png

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,142评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,298评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,068评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,081评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,099评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,071评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,990评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,832评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,274评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,488评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,649评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,378评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,979评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,625评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,643评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,545评论 2 352

推荐阅读更多精彩内容