CS229 Lesson 18 线性二次型调节控制
课程视频地址:http://open.163.com/special/opencourse/machinelearning.html
课程主页:http://cs229.stanford.edu/
更具体的资料链接:https://www.jianshu.com/p/0a6ef31ff77a
笔记参考自中文翻译版:https://github.com/Kivy-CN/Stanford-CS-229-CN
这一讲介绍了LQR以及Ricatti方程。
Part XIV LQR,DDP和LQG
LQR,DDP和LQG分别代表线性二次调节,微分动态规划和线性二次高斯分布。
1.有限范围的MDP
在之前关于强化学习的讲义中,我们在简化的情形中定义了马尔可夫决策过程(MDP)并涵盖了价值迭代/策略迭代。更具体地说,我们引入了最优Bellman方程,该方程定义了最优策略
回想一下,从最优价值函数,我们能够根据下式恢复最优策略
在这部分讲义中,我们将把自己置于更一般的情形中:
1.我们想要给出对离散和连续情况都有意义的公式。因此我们按照
而不是
来给出公式。上式表示对下一个状态的价值函数的期望。在有限状态的情形下,我们可以将期望重写为关于状态的求和。 在连续的情况下,我们可以将期望重写为一个积分。 符号
表示状态 是从分布 取样得来的。2.我们假设奖励取决于状态和行动。 换句话说,
。这意味着先前用于计算最优行动的机制被改变为3.假设我们有一个有限范围的MDP而不是一个无限范围的MDP,它将被定义为如下一个元组
其中
为时间范围(例如 )。在这种情形下,我们的对收益的定义将(略微)不同:而不是(无限范围的情形)
折扣因子
为什么消失了呢? 请记住, 的引入(部分)是因为必须确保无限和是有限的并且是定义良好的。 如果奖励的上界为 ,那么收益的上界为这里我们得到了几何级数!而在有限范围MDP中,由于收益是有限和,因此不再需要折扣因子。
在新的假设下,事情表现非常不同。 首先,最优政策
可能是非平稳的,这意味着它会随着时间而变化。换句话说,现在我们有
其中上标
为什么最优政策恰好在有限时间范围内不稳定? 直观地说,由于我们要采取一些行动,我们可能希望根据我们在环境中的位置以及我们剩下多少时间采取不同的策略。 想象一个有
4.这种观察允许我们使用依赖时间的动态
这意味着转移分布
随时间改变。关于 可以说同样的事情。 请注意,这样的设定是现实生活中更好的模型。 结合之前的注记,我们将使用以下通用公式来表达我们的有限范围MDP注记:注意,上述公式相当于将时间加入状态。
策略
在第 个时间戳的价值函数和之前的定义一样,作为策略 从状态 出发生成的轨迹的期望。
现在的问题是,在有限范围的设定下,我们如何找到最优价值函数
事实证明,Bellman的值迭代方程是为动态规划而制定的。 这可能并不令人意外,因为贝尔曼是动态规划的先驱之一,而贝尔曼方程与该领域密切相关。 为了理解我们如何通过采用基于迭代的方法来简化问题,我们进行以下观察:
1.注意到,在策略结束时(即在第
个时间戳),最优值是显而易见的2.对于其他的时间戳
,如果我们知道下一个时间戳的最优价值函数 ,那么我们有
有了这些观察结果,我们可以提出一个聪明的算法来求解最优值函数:
1.利用公式
计算2.对
: 根据公式
,利用 计算
旁注:我们可以将标准值迭代解释为这种一般情况不记录时间的特例。 事实证明,在标准设置中,如果我们进行
定理:令
换句话说,Bellman算子
2.线性二次调节(LQR)
在本节中,我们将介绍第
首先,让我们描述模型的假设。 我们将自己置身于连续的情形中,其中
然后我们假设线性变换(带噪声)
其中
我们还假设二次奖励
其中
注记:注意奖励为二次型等同于说我们希望我们的状态接近原点(此时奖励更高)。 例如,如果
现在我们已经定义了LQR模型的假设,让我们来看看LQR算法的两个步骤
步骤1
- 假设我们不知道矩阵
。 为了估计它们,我们可以遵循RL讲义中值近似部分的想法。 首先,从任意策略中收集状态转移。 然后,使用线性回归找到 。最后,使用高斯判别分析中的技术来学习 。
步骤2
- 假设我们的模型的参数是已知的(给出或通过步骤
估计),我们可以使用动态规划推导出最优策略。换句话说,给定
我们希望计算
1.初始步骤
对于最后一个时间戳
,2.递归步骤
令
,假设已知 。事实1:可以证明,如果
是关于 的二次函数,那么 也是二次函数。 换句话说,存在某个矩阵 和某个标量 使得对于时间戳
,我们有事实2:我们可以证明最优政策只是状态的线性函数。
知道
相当于知道 和 ,所以我们只需要解释我们如何从 和 及问题的其他参数计算 和 。其中第二行是最优价值函数的定义,第三行是通过插入模型的动态和二次假设得到的。接下来先求解上述期望,注意到
以及如果
, 为向量,那么所以
上面的推导过程利用到如下几个事实:
因此上式可以化为
记
对
关于 求梯度可得令上式为
可得其中
这是一个令人印象深刻的结果:我们的最优政策和
有线性关系。将
带入 可得由
可得带入上式可得
结合
的计算式,我们得到对比
,不难得到如下计算式上式被称为离散Ricatti方程。
备注:这里推导的结果和老师的讲义上不同,但暂时没找出问题。
事实3:注意到
既不依赖 也不依赖噪音 !又因为 是 和 的函数,这意味着最优策略也不依赖于噪声! (但由于 依赖于 ,这意味着 依赖于 。)
现在,总结一下,LQR算法的工作原理如下
- 1.(如果有必要)估计参数
- 2.初始化
- 3.遍历
来使用离散Ricatti方程,利用 来更新 。 如果存在使状态变趋于 的策略,则保证收敛!
使用事实3,我们可以使我们的算法运行地更快! 由于最优策略不依赖于