TRPO

TRPO通过采取最大可能的步骤来更新策略,以提高性能,同时满足新策略和旧策略允许的接近程度的特殊限制。约束是用kl散度表示的,kl散度是对概率分布之间距离的度量(有点像,但不完全是)。这不同于一般的策略梯度,它使新旧策略在参数空间上保持接近。但是,即使参数空间上看起来很小的差异也可能会在性能上产生很大的差异,因此一个错误的步骤可能会破坏策略的性能。

这里需要注意的是,这根正常的梯度下降也不大一样,因为这里优化的不是旧的参数,而是优化的新的参数,主要原因在于使用了优势函数,需要重要性采样。

PPO

PPO的动机和TRPO是一样的:我们如何利用现有的数据,在策略上获取最大的改进,而不导致意外的性能崩溃?当TRPO试图用复杂的二阶方法解决这个问题时,PPO是一个一阶方法,它使用一些其他的技巧使新策略与旧策略保持一致。PPO方法实施起来明显更简单,而且从经验上看,其效果至少和TRPO一样好。

PPO有两种主要变体:PPO- penalty和PPO- clip。

PPO-Penalty近似地解决了像TRPO这样的kl约束的更新,但目标函数中加入kl散度惩罚,而不是使其成为一个硬约束,并在训练过程中自动调整惩罚系数,使其适当缩放。

PPO-Clip在目标中没有kl散度项,也没有任何约束。相反,它依赖于目标函数中的专门裁剪,以消除新政策偏离旧政策的动机。

关键点

简化版本

这就相当于限制了新策略不能过于偏离旧策略

From TRPO to PPO相关推荐

  1. 强化学习(9):TRPO、PPO以及DPPO算法

    本文主要讲解有关 TRPO算法.PPO 算法.PPO2算法以及 DPPO 算法的相关内容. 一.PPO 算法 PPO(Proximal Policy Optimization) 是一种解决 PG 算法 ...

  2. DPPO算法(顺便对比PG、TRPO、PPO、PPO2以及A3C算法)

    强化学习(9):TRPO.PPO以及DPPO算法:https://blog.csdn.net/zuzhiang/article/details/103650805 DPPO深度强化学习算法实现思路(分 ...

  3. Policy-based RL小结(Policy Gradient ; Natural policy gradient ;TRPO;ACKTR;PPO )

    文章目录 Policy-based RL 前言 1. 预备知识 1.1 策略类型 1.2 策略优化的目标函数 1.2.1 可结束的环境的目标函数 1.2.3 连续动作环境的目标函数 1.2.4 实际的 ...

  4. 深度强化学习(DRL)简介与常见算法(DQN,DDPG,PPO,TRPO,SAC)分类

    简单介绍深度强化学习的基本概念,常见算法.流程及其分类(持续更新中),方便大家更好的理解.应用强化学习算法,更好地解决各自领域面临的前沿问题.欢迎大家留言讨论,共同进步. (PS:如果仅关注算法实现, ...

  5. 深度学习(四十二)——深度强化学习(5)PPO, IMPALA, Hierarchical RL, OpenAI

    PPO(Proximal Policy Optimization) PPO是2017年由OpenAI提出的一种基于随机策略的DRL算法,也是当前OpenAI的默认算法. PPO是一种Actor-Cri ...

  6. Proximal Policy Optimization (PPO)详解

    文章目录 On-policy v.s. Off-policy 将On-policy变为Off-policy PPO算法/TRPO算法 PPO2 总结 On-policy v.s. Off-policy ...

  7. Proximal Policy Optimization (PPO) 算法理解:从策略梯度开始

    近端策略优化(PPO)算法是OpenAI在2017提出的一种强化学习算法,被认为是目前强化学习领域的SOTA方法,也是适用性最广的算法之一.本文将从PPO算法的基础入手,理解从传统策略梯度算法(例如R ...

  8. RL极简入门:从MDP、DP MC TC到Q函数、策略学习、PPO

    前言 22年底/23年初ChatGPT大火,在写ChatGPT通俗笔记的过程中,发现ChatGPT背后技术涉及到了RL/RLHF,于是又深入研究RL,研究RL的过程中又发现里面的数学公式相比ML/DL ...

  9. PPO Algorithm

    ''目录 PPO ALGORITHM 进行看别人文章: 如何直观理解PPO算法?[理论篇] - 知乎 (zhihu.com) [强化学习8]PPO - 知乎 (zhihu.com) PPO(OpenA ...

最新文章

  1. [java手把手教程][第二季]java后端博客系统文章系统——No10
  2. HttpClient 大量连接等待异常的处理
  3. 嵌入式计算机与pc机架构,PC架构与嵌入式架构的录播主机的区分
  4. 带有权重的服务器SLB的实现
  5. jQuery调用其他JS文件中的方法
  6. [BUUCTF-pwn]——pwn1_sctf_2016
  7. spring 事务-使用@Transactional 注解(事务隔离级别)
  8. 用蒙特卡洛方法计算派-python和R语言
  9. python api是什么_Python/C API
  10. syslog打印不带等级_syslog之一:Linux syslog日志系统详解
  11. thikphp 控制器
  12. 165体重_身高165的女性体重多少比较合适?过胖和过瘦都不太好
  13. linux tomcat配置https
  14. IE 下 telerik RadAjaxManager 多次请求,LoadingPanel 点击消失
  15. 【组合数学】组合恒等式 ( 八个组合恒等式回顾 | 组合恒等式 积 1 | 证明 | 使用场景 | 求组合数通用方法 )
  16. 高级web前端面试题
  17. 51单片机电子琴设计
  18. python爬取固定酒店评论_爬取携程上酒店评论数据
  19. 多多自走棋服务器不稳定,《多多自走棋》将登陆Epic平台 PC版数据将与移动版互通...
  20. 【测试】11月11日的测试

热门文章

  1. udp 视频包网络传输花屏
  2. 固高科技在创业板提交注册:业绩开始下滑,实控人均为“学院派”
  3. 维视智造与英特尔就人工智能教学、人工智能专业配套展开合作
  4. 图像分类性能提升方案
  5. win10配置远程桌面 不同版本的配置
  6. 科杰科技:企业数据资产管理的一体化实现
  7. android聊天界面对话气泡_android 模仿QQ聊天气泡 入门级示例源码
  8. 如何在ssh 工具 Linux screen会话中使用鼠标进行上下滚动
  9. 荧光标记氨基酸:FITC标记D-精氨酸;FITC-D-Arginine
  10. Redis + Caffeine实现多级缓存