写在前面的
前一章链接:
《强化学习与最优控制》学习笔记(二):强化学习与最优控制的一些术语对比
这章主要是对应书中第二章前面的值空间近似和策略空间近似的简要介绍部分。
在本书的第一章就指出,用DP精确求解最优控制问题通常是不可能的,这是因为存在“维度诅咒(curse of dimensionality)”,即随着问题规模的增加,所需的计算和内存存储会迅速增加。此外,在许多情况下,给定问题的结构是预先知道的,但一些数据(例如各种系统参数),可能在准备开始控制之前才知道,因此严重限制了DP计算的可用时间。所以我们通常找不到最优的结果,但是可以找到次优(suboptimal)的方案,即在方便实施性和性能之间做一个合理的平衡。
强化学习中的近似方法
基于DP的次优控制有两种方法,分别是值空间近似(Approximation in value space)和策略空间近似(Approximation in policy space)。
值空间近似就是我们去近似最优的cost function或者给定策略的cost function,进而得到次优的策略。
策略空间近似就是我们构建一个策略空间,对其进行优化来选择最好的策略。
值空间近似 - one-step lookahead
首先我们来讲one-step lookahead的值空间近似,用次优的来近似最优的cost-to-go functions
, 有几种方法都可以计算这个
,这个会在之后来说。那么我们就能获得一组次优的策略{
}通过下面的公式:
我们可以注意到,右边的期望部分其实在我的学习笔记第一章里就有说到,这可以看作一个近似的Q-factor:
那么我们可以通过这个近似的Q-factor来直接获得策略:
也就是说,通过这个近似的Q-factor(比如通过神经网络来拟合),我们甚至不需要中间那获取的这一步,就可以直接求得策略。
值空间近似 - Multistep lookahead
前面我们讲的大多数例子都是one-step lookahead的,也就是只往前看一步。其实还有一种变式,就是往前看多步,也就是Multistep lookahead。这里我先讲讲一下这个Multistep lookahead,如下图所示:
这是一种更 ambitious,但是会增加计算量(因为多看了一步)的一种方案。
以two-step lookahead为例,即上图的=2,那么我们就需要把
表示出来:
那么我们就把这个式子代到第一个式子里面,就可以得到了。可以注意到,实际上我们只会用
来直接作用到系统上,而
只是用来求
,并不会直接作用到系统,而在后面我们会讲怎么计算出这个
甚至是
。
那为什么要用这个Multistep lookahead呢?其实直觉上来讲,就像下棋一样,走一步往往要考虑后面几步的事情,这样才能获胜,但是我们往往很难想考虑到最后几十步,或者最后一步上去。所以说,这种方法用了更不准确的近似来得到更好的性能,所以说这是ambitious的,但是
真的是越大越好吗?我觉得这有待商榷。
策略空间近似
除了值空间近似,我们可以用策略空间近似来得到次优的策略。策略空间近似就是通过构建一个参数化的策略空间,里面有一类合理的(符合约束的)的策略供我们选择,其形式如下:
,
其中就是参数,如果是神经网络的话就是里面的权重啦。
那为什么会有策略空间近似这种方法呢,因为相比于Lookahead Minimization,它能更直接地计算出控制序列,因为我们已经构建了这个策略空间,只需要把当前状态输入就能得到控制量,这更有利于在线(on-line)学习,这个会在后面讨论。
那么我们的目标当然是用一些优化方法来优化这个策略空间,使其能够得到更好的策略,这个部分也会在后面提到。
写在后面的
下一章链接:
《强化学习与最优控制》学习笔记(四): Model-Based 与 Model-Free Implementation以及Off-line 与 On-line Method概述