文章目录

  • 所解决的问题?
  • 背景
  • 所采用的方法?
    • 在动作空间中的策略规划
    • 在参数空间中的策略规划
    • 策略提炼
    • 代码实现
  • 取得的效果?
  • 所出版信息?作者信息?
  • 论文题目:Exploring Model-based Planning with Policy Networks

所解决的问题?

  结合模型预测控制方法的基于模型的强化学习算法已近取得不错的成绩,但是在模型预测控制那一环中如果采用的是随机动作的话,那效率就会比较低。作者就是在这个规划方面结合了一个策略。

背景

  基于模型的强化学习算法学一个model,然后拿这个model产生一些imaginary数据,或者直接优化策略。但是学一个模型就一定会产生误差,而这个误差在长期的规划过程中就会累计,导致这种方法也很难落地。

  结合random shooting(RS)算法和模型预测控制(MPC)方法能够获得较好的鲁棒性和稳定性。但是RS这种随机采样出动作的算法效率是比较低的,也较难用于高维、复杂动态的环境中去。

  作者将从另外一个视角分析,将之前的采样结合MPC的这种方法看作一个优化问题来求解。在正式介绍Model-Based Policy Planning之前,先需要了解一下Random Shooting算法和PETS算法。

  在Random Shooting算法中,我们首先需要收集一个来自真实数据的经验数据D={(st,at,st+1)}\mathcal{D}=\left\{\left(s_{t}, a_{t}, s_{t+1}\right)\right\}D={(st​,at​,st+1​)}。之后学习多个状态转移模型,再结合集成学习得到最终的输出,假设整个参数被定义为ϕ\phiϕ,那这个模型可以表示为fϕ(st+1∣st,at)f_{\phi}\left(s_{t+1} \mid s_{t}, a_{t}\right)fϕ​(st+1​∣st​,at​)。在规划的过程中,智能体随机生成KKK个候选动作序列,每个候选动作序列可以定义为a={a0,…,aτ}\mathbf{a}=\left\{a_{0}, \ldots, a_{\tau}\right\}a={a0​,…,aτ​},它包含了在规划的horizon τ\tauτ长度的所有控制信号。有了modelshen fϕ(st+1∣st,at)f_{\phi}\left(s_{t+1} \mid s_{t}, a_{t}\right)fϕ​(st+1​∣st​,at​)和动作序列a={a0,…,aτ}\mathbf{a}=\left\{a_{0}, \ldots, a_{\tau}\right\}a={a0​,…,aτ​}之后就可以计算期望奖励了。拿到最大的那个候选动作序列之后,只执行一步action,然后重新开始规划。在PETS中作者使用CEM方法进行规划。

所采用的方法?

  作者介绍了两种算法在动作空间中的规划,和在参数空间中的规划。定义:在时间步ttt期望的规划奖励可以表示为:

R(si,ai)=E[∑t=ii+τr(st,at)]\mathcal{R}\left(s_{i}, \mathbf{a}_{i}\right)=\mathbb{E}\left[\sum_{t=i}^{i+\tau} r\left(s_{t}, a_{t}\right)\right]R(si​,ai​)=E[t=i∑i+τ​r(st​,at​)]

  其中st+1∼fϕ(st+1∣st,at)s_{t+1} \sim f_{\phi}\left(s_{t+1} \mid s_{t}, a_{t}\right)st+1​∼fϕ​(st+1​∣st​,at​),动作序列由一个策略模块生成ai={ai,ai+1,…,ai+τ}\mathbf{a}_{i}=\left\{a_{i}, a_{i+1}, \ldots, a_{i+\tau}\right\}ai​={ai​,ai+1​,…,ai+τ​}。由此就可以预测出一个状态的轨迹{si,si+1,…,si+τ}\left\{s_{i}, s_{i+1}, \ldots, s_{i+\tau}\right\}{si​,si+1​,…,si+τ​}。

在动作空间中的策略规划

  在动作空间的策略规划方法中,采用一个策略网络去生成一个好的初始动作分布。定义策略网络为π(st)\pi\left(s_{t}\right)π(st​)。一旦策略网络在期望的轨迹上生成一个动作序列,我们就可以添加一些高斯噪声到这个候选动作上面去,得到δi={δi,δi+1,…,δi+τ}\delta_{i}=\left\{\delta_{i}, \delta_{i+1}, \ldots, \delta_{i+\tau}\right\}δi​={δi​,δi+1​,…,δi+τ​},然后采用CEM的方式微调均值和方差。在每次CEM迭代规划的时候,都是在所有的候选动作集合中,选取前ξ\xiξ个期望奖励最大的候选动作集合用于更新均值和方差:

Σ′←Cov⁡({δi0,δi1,…,δiξ}),μ′←Mean⁡({δi0,δi1,…,δiξ})\Sigma^{\prime} \leftarrow \operatorname{Cov}\left(\left\{\delta_{i}^{0}, \delta_{i}^{1}, \ldots, \delta_{i}^{\xi}\right\}\right), \mu^{\prime} \leftarrow \operatorname{Mean}\left(\left\{\delta_{i}^{0}, \delta_{i}^{1}, \ldots, \delta_{i}^{\xi}\right\}\right)Σ′←Cov({δi0​,δi1​,…,δiξ​}),μ′←Mean({δi0​,δi1​,…,δiξ​})

  算法可描述为:

在参数空间中的策略规划

  在动作上加噪声的这种方法改进还是比较小,还是可能会陷入到局部最优中去,因此直接在网络上加噪声可能会更不容易陷入局部最优。定义网络参数为θ\thetaθ,从iii步开始的参数噪声序列为ωi={ωi,ωi+1,…,ωi+τ}\omega_{i}=\left\{\omega_{i}, \omega_{i+1}, \ldots, \omega_{i+\tau}\right\}ωi​={ωi​,ωi+1​,…,ωi+τ​}。此时的期望奖励可以表示为:

R(si,ωi)=E[∑t=ii+τr(st,πθ+ωt(st))],\mathcal{R}\left(s_{i}, \boldsymbol{\omega}_{i}\right)=\mathbb{E}\left[\sum_{t=i}^{i+\tau} r\left(s_{t}, \pi_{\theta+\omega_{t}}\left(s_{t}\right)\right)\right],R(si​,ωi​)=E[t=i∑i+τ​r(st​,πθ+ωt​​(st​))],

  其中st+1=fϕ(st+1∣st,πθ+ωt(st))s_{t+1}=f_{\phi}\left(s_{t+1} \mid s_{t}, \pi_{\theta+\omega_{t}}\left(s_{t}\right)\right)st+1​=fϕ​(st+1​∣st​,πθ+ωt​​(st​))。之后同样更新均值和方差:

Σ′←Cov⁡({ωi0,ωi1,…,ωiξ}),μ′←Mean⁡({ωi0,ωi1,…,ωiξ})\Sigma^{\prime} \leftarrow \operatorname{Cov}\left(\left\{\boldsymbol{\omega}_{i}^{0}, \boldsymbol{\omega}_{i}^{1}, \ldots, \boldsymbol{\omega}_{i}^{\xi}\right\}\right), \mu^{\prime} \leftarrow \operatorname{Mean}\left(\left\{\boldsymbol{\omega}_{i}^{0}, \boldsymbol{\omega}_{i}^{1}, \ldots, \boldsymbol{\omega}_{i}^{\xi}\right\}\right)Σ′←Cov({ωi0​,ωi1​,…,ωiξ​}),μ′←Mean({ωi0​,ωi1​,…,ωiξ​})

  在最终的策略选择上,作者还比较了模型预测控制(MPC)和策略直接控制两种方法。

策略提炼

  作者用模仿学习来获取规划的策略,数据来自与MPC采用的最好的动作与真实环境的交互。模仿学习有很多方法,最简单的就是behavior cloning算法:

min⁡θEs,a∈D∥πθ(s)−a∥2\min _{\theta} \mathbb{E}_{s, a \in \mathcal{D}}\left\|\pi_{\theta}(s)-a\right\|^{2}θmin​Es,a∈D​∥πθ​(s)−a∥2

  我们也可以采用GAN网络来训练一个策略网络:

min⁡πθmax⁡ψEs,a∈Dlog⁡(Dψ(s,a))+Es∈D,z∼N(0,σ0I)log⁡(1−Dψ(s,πθ+z(s)))\min _{\pi_{\theta}} \max _{\psi} \mathbb{E}_{s, a \in \mathcal{D}} \log \left(D_{\psi}(s, a)\right)+\mathbb{E}_{s \in \mathcal{D}, z \sim \mathcal{N}\left(0, \sigma_{0} I\right)} \log \left(1-D_{\psi}\left(s, \pi_{\theta+z}(s)\right)\right)πθ​min​ψmax​Es,a∈D​log(Dψ​(s,a))+Es∈D,z∼N(0,σ0​I)​log(1−Dψ​(s,πθ+z​(s)))

  通过模型学习算法学习planning采样中比较好的算法,然后渐渐地使得整个算法变得更强。

代码实现

  1. tensorflow实现: https://github.com/WilsonWangTHU/POPLIN

取得的效果?

  可以看到POPLIN算法采样会有聚焦点的改变。

所出版信息?作者信息?

  • 主页链接:http://www.cs.toronto.edu/~tingwuwang/

解读【ICLR2020】多伦多大学:基于策略网络的探索模型规划相关推荐

  1. 深度CTR之AFM:基于Attention网络的FM模型

    文章目录 解决的问题 介绍 FM模型 AFM 模型 Pair-wise 交互层 Attention-based 池化层 学习 过拟合的预防 Related Work Experiments Exper ...

  2. 基于活动网络的工作流过程模型FlowMark

    在FlowMark中,一个完整的经营过程(工作流过程)由一个无自环的有向图构成.有向图中的节点元素表示可执行的步骤或任务,节点间的连接弧代表了过程中的控制流与数据流.组成模型的元素包括过程(Proce ...

  3. KDD 18论文解读 | 斯坦福大学提出全新网络嵌入方法 — GraphWave

    在碎片化阅读充斥眼球的时代,越来越少的人会去关注每篇论文背后的探索和思考. 在这个栏目里,你会快速 get 每篇精选论文的亮点和痛点,时刻紧跟 AI 前沿成果. 点击本文底部的「阅读原文」即刻加入社区 ...

  4. X-Pool:多伦多大学提出基于文本的视频聚合方式,在视频文本检索上达到SOTA性能!(CVPR 2022)...

    关注公众号,发现CV技术之美 本文分享 CVPR 2022 论文『X-Pool: Cross-Modal Language-Video Attention for Text-Video Retriev ...

  5. 与计算机互动大学英语,【2017年整理】基于与网络和计算机的大学英语教学模式.ppt...

    [2017年整理]基于与网络和计算机的大学英语教学模式 基于网络和计算机的大学英语教学模式 贾国栋 flgdjia@ 华南理工大学 主要内容 <大学英语课程教学要求>(试行)----教学模 ...

  6. 大学校园IP网络广播-厂家基于局域网的大学校园IP广播设计指南

    北京海特伟业科技有限公司于2022年7月5日原创发布 文/任洪卓 一.大学校园IP网络广播系统建设背景 某大学位于长江中游具有"南国完壁"美誉的历史文化名城湖北省荆州市,是湖北省属 ...

  7. 大学校园IP网络广播-厂家基于校园局域网的大学校园IP广播方案设计指南

    大学校园IP网络广播-基于校园局域网的大学校园IP广播方案设计 北京海特伟业科技有限公司发布于2022年6月26日 一.大学校园IP网络广播系统建设背景 某大学位于长江中游具有"南国完壁&q ...

  8. 多伦多大学计算机人工智能,解读加拿大人工智能专业

    随着科学技术和互联网的发展,人工智能领域也掀起一场热潮.就拿随身携带的手机来说,它拉进了人与人之间的距离,也慢慢的融入到我们生活中的方方面面.当然,其专业也开始日渐火爆,加拿大的计算机和信息技术在国际 ...

  9. 网络跑满 限制可保留宽带 基于策略的Qos

    限制可保留宽带 基于策略的Qos: 1:gpedit.msc-- windows设置--基于策略的qos:3: 2:gpedit.msc--管理模板--Qos数据--限制可保留宽带:0

  10. 揭秘|多伦多大学反人脸识别,身份欺骗成功率达99.5%

    来源 :机器人大讲堂 摘要:在一些社交媒体平台,每次你上传照片或视频时,它的人脸识别系统会试图从这些照片和视频中得到更多信息.比如,这些算法会提取关于你是谁.你的位置以及你认识的其他人的数据,并且,这 ...

最新文章

  1. linux启动关闭脚本,Linux下自动启动关闭Oracle脚本
  2. Kotlin实战指南十六:Synchronized、Volatile
  3. mysql 写入随机字中文符_MySQL产生随机字符
  4. Android “再按一次退出“
  5. stl vector 函数_vector :: front()函数以及C ++ STL中的示例
  6. 助力高校数字化建设,QQ小程序开发大赛正式启动
  7. C盘pc的Android文件夹,清理系统盘C盘的无用文件
  8. 阿里云数据库与自建数据库的性能对比
  9. 【数据分析可视化】股票市场分析实战之风险分析
  10. awb数据怎么计算_自动白平衡(AWB)算法
  11. 生命倒计时-倒数9116日
  12. 管出来的老公嘴服,疼出来的老公心服
  13. VMware XP安装安装程序没有找到硬盘驱动器
  14. Java校招面经_小米java校招面经,面试题整理(一面)
  15. 使用Pandas处理美国人口数据
  16. MATLAB/Simulink中的S函数报错
  17. 2022下半年软考合格标准是多少?你可知?
  18. 微信语音识别 php,微信公众号开发之语音消息识别php代码
  19. 预制墙板一般包括哪些类型?
  20. 英语中的国籍,国家和地区

热门文章

  1. webService的使用-----Eclipse
  2. HCIE-Security Day21:GRE协议:实验(二)配置基于OSPF的GRE隧道
  3. 基础网络函数介绍及其Cpp实例(C++)
  4. LAMP架构调优(六)——开启长链接
  5. Linux系统忘记密码怎么办?
  6. Linux之SELinux自主访问控制系统
  7. 【转】正则表达式之基本概念
  8. 经典股票图形:蛟龙出海
  9. [saiku] JCR在saiku中的运用原理
  10. jQuery系列:Ajax