<GPS> Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics

来源:互联网 发布:ipad越狱软件 编辑:程序博客网 时间:2024/05/21 12:45

1. Abstract

该论文[2]承接于[1], 在前一篇博客中整理. 提出一个策略搜索方法, 算法中迭代的拟合局部线性模型去优化大型连续的轨迹分布, 得到的轨迹分布被用在引导策略搜索(GPS)算法中, 学习任意参数的策略. 论文拟合时变线性动态模型去加速局部动态拟合过程, 并不学习一个全局模型. 在全局动态模型复杂并且不连续的情况下, 很难被成功学习. 该算法是model-based和model-free的混合方法, 比model-free方法需求更少的样本, 又能很好的解决model-based方法难以成功学习复杂不连续动态模型的问题. 最后, 在仿真平台上, 针对环境部分可观测的复杂机器人操作任务, 算法能够成功学习到一个复杂的神经网络策略, 并取得一个比较理想的结果.

2. Preliminaries

策略搜索一般分为两类: model-based方法, 需要用到系统的动态模型, 而实际系统往往难以得到精准的系统模型. model-free方法, 仅仅依靠现实世界尝试去寻找最优策略, 不依赖于具体系统模型. model-free方法很好的避免了这个难题, 但是策略往往需要精细的设计, 低维度表示, 否则搜索时间太长, 需求样本过多, 搜索空间过大, 最终导致搜索陷入局部最优并失败.

策略搜索方法, 一般包括: 优化策略πθ(utxt)的参数θ, 代价函数(xt,ut)的期望Eπθ[Tt=1(xt,ut)]. 该期望是在策略和动态模型p(utxt)的条件下求得. 由策略和动态模型可以确定轨迹ζ的分布. 代价函数期望也可表示成: Eπθ[(ζ)].

论文所述算法, 是学习一个时变线性高斯策略p(utxt)=N(Ktxt+kt,Ct). 当初始状态分布是一个比较窄的高斯分布时, 该结构的策略可以使用一些特别有效的优化方法来求解. 而任意参数的策略πθ使用GPS算法来优化, 通过匹配一个或多个高斯策略p来训练. 实验论证, 这样的方法比直接学习策略的参数θ效果要好.

3. Trajectory Optimization under Unknown Dynamics

在动态模型N(fxtxt+futut,Ft)未知的情况下, 我们可以利用前一个的线性高斯控制器πθ(utxt)在实际系统中运行, 获取到轨迹, ζi={x1i,u1i,...,xTi,uTi}表示第i个rollout, 然后利用样本{(xti,uTti),xt+1i}来估计该动态模型.

只要我们估计每一时间步局部的线性高斯动态模型, 紧接着我们就可以运行动态规划算法来学习到新的线性高斯控制器. 在这个思路下, 会遇到另一个问题. 我们估计的动态模型是局部的, 然后通过iLQG算法新学习到的控制器确有可能与老的控制器有很大的变化. 之前的一些工作针对这个问题也提出了一些解决方案, 但是都不怎么理想. 该论文提出通过加入新老控制器的KL-divergence约束项来限制每一次动态规划时的变化, 来解决该问题.

3.1 KL-Divergence Constraints

加入KL-Divergence约束项, 修改代价函数期望:

minp(ζ)N(ζ)Ep[(ζ)] s.t. DKL(p(ζ)p^(ζ))ϵ

朗格朗日对偶问题:

L(p(ζ),η)=Ep[(ζ)]+η[DKL(p(ζ))p^(ζ)ϵ]

因为前后两次迭代的局部动态模型假定一致, 即p(xt+1xt,ut)=p^(xt+1xt,ut)=N(fxtxt+futut,Ft) 成立, 则上述目标函数中KL-Divergence项可以简化, 则上诉朗格朗日对偶问题可以重写如下:

Ltraj(p(ζ),η)=[tEp(xt,ut)[(xt,ut)ηlogp^(utxt)]]ηH(p(ζ))ηϵ

定义增广代价函数: ~(xt,ut)=1n(xt,ut)ηlogp^(utxt). 则上诉朗格朗日目标函数可以通过对偶梯度下降(dual gradient descent)或前述章节中的动态规划算法来解决.

3.2 Background Dynamics Distribution

在拟合动态模型时, 我们可以利用priors (应该用”先验知识”来翻译感觉更贴切) 来减少每一次迭代样本的需求量, 即通过之前迭代过程中所产生的样本来归纳, 总结一个对整体模型的大致估计. 常用的方法, 通过拟合一个背景动态分布(background dynamics distribution)作为粗略的全局动态模型, 来构建prior. 对于像机器人这类的物理系统, 高斯混合模型(GMM)是一个很好的选择. 机器人动态模型可以合理的近似为一系列分段线性函数. 通过(xt,ut,xt+1)构建GMM, 每一个cluster ci的条件(the conditional) ci(xt+1xt,ut)代表线性高斯动态模型, ci(xt,ut)的边缘(the marginal)指示模型有效的状态-行为空间的区域.

然而, 在实际操作中, GMM并不是一个好的前向模型(forward model), 因为边缘ci(xt,ut)不能够精确的描述两个线性模型之间的边界. 一般而言, 边界具有复杂的形状, 进而很难被GMM描述. 但如果我们利用GMM获取的prior是用来做线性回归, 就很容易的利用在当前样本的时间步t关于(xti,uti)的协方差来确定精确的线性模型. 即使行为转换的状态非常类似, 依据这些转换, 时变线性动态模型仍能在不同的时间步获取到不同的线性模型.

为动态模型使用GMM构建prior, 为了确保足够样本可利用, 从当前迭代对所有样本的所有时间步, 每一次迭代都重拟合GMM. 然后, 利用每一个时间步的{xti,uti,xt+1i} 样本拟合一个高斯估计当前的时变线性动态模型. 重拟合的GMM被用来为每个时间步高斯的均值和协方差产生一个normal-inverse-Wishart prior (normal-inverse-Wishart distuibution又称作Gaussian-inverse-Wishart distribution, 是多随机变量带四个参数的分布族., 是多变量未知均值和协方差高斯分布的共轭先验(conjugate prior, 若后验概率p(θ|x)与先验概率p(θ)具有相同类型的分布, 则p(θ|x)p(θ)称作共轭分布, p(θ)称作似然函数的共轭先验) ). 在当前时间步, 通过样本推断出cluster权重, 然后使用该带权重的均值和协方差作为先验参数.论文实验论证, 这个方法减少了大概4到8倍的迭代次数.

4. General Parameterized Policies

为了学习包含任意参数的策略, 我们合并前述章节中的算法与GPS算法. GPS算法中, 轨迹分布通过同时优化代价函数以及与当前策略的差距来学习, 所以这些轨迹分布能够为策略学习生成一个比较好的训练集, 参数化的策略学习问题转换为监督学习问题, 通过匹配轨迹分布所产生的样本进行学习. 由于将策略优化问题转换为监督学习问题, 所以GPS算法可以训练带有数以千计参数的复杂策略. 在轨迹优化算法中, GPS开发了线性高斯控制器的结构信息, 使得算法可以使用较一般目的的model-free方法(general-purpose model-free method)更少的样本来优化每个轨迹.

论文所提出算法使用更加标准的期望代价目标函数:

minθ,p(ζ)Ep(ζ)[(ζ)] s.t. DKL(p(xt)πθ(utxt)p(xt,ut))=0,t

其中, 从不同的初始状态或不同条件训练得到不同的轨迹分布pi(ζ). 为了简单起见, 我们忽略了下标i, 因为每个pi(ζ)是从不同初始条件不同条件下开始的轨迹分布, 算法会独立的处理. 上诉目标函数的朗格朗日函数如下:

LGPS(θ,p,γ)=Ep(ζ)[(ζ)]+t=1TγtDKL(p(xt)πθ(utxt)p(xt,ut))

在优化上诉拉格朗日函数的实际操作中, 发现每一次迭代之后, 增大对偶变量γ KL-divergence的α (α=10都可以)倍就行. 整体算法总结如下:

Guided Policy Search with unknown dunamics 01: for k=1:K 02:   分别运行每一个线性高斯控制器pi(ζ)生成样本{ζji} 03:   使用样本{ζji}拟合动态模型pi(xt+1xt,ut) 04:   在样本集{ζji}上优化θ=argminθi,tγi,tDKL(pi(xt)πθ(utxt)pi(xt,ut)) 05:   使用章节3所述算法更新动态模型pi(xtut) 06:   使用因子αDKL(pi(xt)πθ(utxt)pi(xt,ut))增大α 07: end for 08: return θ

虽然算法需要优化策略的代价期望, 目标函数中熵项往往一直较高, 因为策略和轨迹必须一起减小他们的熵来满足约束条件. 为了加速学习进程, 试验中发现直接通过惩罚来调整策略是一个很有效的方式, 能够加快学习进程并产生一个更确定的策略.

5. 实验 + 总结

与前一篇博客类似, 这俩部分我就没有细看了, 也就没有形成文档. 因为作者是在仿真平台上做的, 并且这篇论文已经是几年前的成果了. 后面还有好几篇等着我, 所以这个阶段的讨论和实验就不那么重要了.

6. 个人总结

未知动态下的约束GPS算法[2], 由Levine 在14年论文中提出. 应对[1]中, 轨迹分布的学习需要动态已知的问题, 提出通过迭代的拟合局部动态模型, 在局部动态模型的前提下, 学习到时变线性高斯控制器. 有效的在未知动态的状况下, 解决了高斯控制器的学习问题. 论文中针对于局部动态的拟合提出了一些不错的优化方式, 还对策略的训练给出了提升, 算法总结于上表.

在[1]中,详见前一篇博客, 利用轨迹优化的方式, 在已知线性动态的情况下, 我们可以学习到线性高斯控制器. 然而在实际状况中, 一般动态都是未知的, 并且动态往往都是复杂非线性的, 违背了假设前提, 使得其应用大大受限. 而[2]在时间步t拟合局部线性动态N(fxtxt+futut,Ft), 学习到对应的受约束线性高斯控制器, 最终合并成为时变线性高斯控制器. 并针对局部线性动态拟合问题提出了可以使用背景动态分布来加速其拟合过程. 在策略训练的阶段, 使用更为标准的代价期望目标函数, 硬约束强制策略和时变线性高斯控制器保持一致.

[2]很好的解决了[1]中待解决的后两个问题, 虽然训练仍较为耗时, 但离实际机器人应用已经跨出了很大一步.

7. 参考文献

[1] Sergey Levine, Vladlen Koltun, Guided Policy Search, ICML 2013

[2] Sergey Levine, Pieter Abbeel. Learning Neural Network Policies with Guided Policy Search under Unknown Dynamics, NIPS, 2014

0 0