深度学习课程笔记(十四)深度强化学习 --- Proximal Policy Optimization (PPO)
深度学习课程笔记(十四)深度强化学习 --- Proximal Policy Optimization (PPO)
2018-07-17 16:54:51
Reference: https://blog.openai.com/openai-baselines-ppo/
Code: https://github.com/openai/baselines
Paper: https://arxiv.org/pdf/1707.06347.pdf
Video Tutorials: https://www.youtube.com/watch?v=OAKAZ hFmYoI&t=1s
Proximal Policy Optimization Algorithms (原文解析) :
Abstract:
首先要说的是本文提出一种新的 Policy Gradient 的方法,可以在如下两个步骤之间来回迭代进行学习:
1. sampling data through interaction with the environment ; 通过与环境进行交互,进行采样;
2. optimizing a "surrogate" objective function using stochastic gradient ascent. 利用梯度上升的方法进行代替的目标函数(surrgogate objective function)的优化。
传统的 Policy Gradient Method 仅仅能够利用采样得到的 samples 进行一次更新,就要将这些samples扔掉,重新采样,再实现更新。而本文所提出的方法可以进行 multiple epochs of minibatch updates.
Introduction :
最近深度学习的方法和强化学习的组合,得到了很多新的成果,如:Deep Q-leanring, "Vanilla" policy gradient method, trust region/natural poliicy gradient methods. 但是这些方法其实都是有其各自不足的地方,如:
Deep Q-learning 在很多简单的任务上却失败了,并且 poorly understood,
vanilla policy gradient methods 数据的效率和鲁棒性很差;
TRPO(trust region policy optimization)是一个相对较为复杂,并且不能与其他框架兼容的(not compatiable with architecture that including noise (such as dropout) or parameter sharing (between the policy and value function, or with auxiliary tasks)).
这篇文章旨在通过引入算法获得 data efficiency,and reliable performance of TRPO,来改善当前算法的情况,与此同时,仅仅采用 first-order optimization. 我们提出 a novel objective with clipped probability ratios,为了优化策略,我们用该 policy 进行采样,然后在采样的数据上进行几个 epoch 的更新。作者的实验证明,本文的方法在几个数据集上都取得了不错的效果。
2. Background:Policy Optimization
2.1 Policy Gradient Methods

2.2 TRPO

















深度学习课程笔记(十四)深度强化学习 --- Proximal Policy Optimization (PPO)的更多相关文章
- 深度学习课程笔记(四)Gradient Descent 梯度下降算法
深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...
- ng-深度学习-课程笔记-1: 介绍深度学习(Week1)
1 什么是神经网络( What is a neural network ) 深度学习一般是指非常非常大的神经网络,那什么是神经网络呢? 以房子价格预测为例,现在你有6个房子(样本数量),你知道房子的大 ...
- 深度学习课程笔记(十八)Deep Reinforcement Learning - Part 1 (17/11/27) Lectured by Yun-Nung Chen @ NTU CSIE
深度学习课程笔记(十八)Deep Reinforcement Learning - Part 1 (17/11/27) Lectured by Yun-Nung Chen @ NTU CSIE 201 ...
- 深度学习课程笔记(十六)Recursive Neural Network
深度学习课程笔记(十六)Recursive Neural Network 2018-08-07 22:47:14 This video tutorial is adopted from: Youtu ...
- 深度学习课程笔记(十五)Recurrent Neural Network
深度学习课程笔记(十五)Recurrent Neural Network 2018-08-07 18:55:12 This video tutorial can be found from: Yout ...
- 深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods)
深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods) 2018-07-17 16:50:12 Reference:https://www.you ...
- 深度学习课程笔记(十)Q-learning (Continuous Action)
深度学习课程笔记(十)Q-learning (Continuous Action) 2018-07-10 22:40:28 reference:https://www.youtube.com/watc ...
- 深度学习课程笔记(十二) Matrix Capsule
深度学习课程笔记(十二) Matrix Capsule with EM Routing 2018-02-02 21:21:09 Paper: https://openreview.net/pdf ...
- 深度学习课程笔记(七):模仿学习(imitation learning)
深度学习课程笔记(七):模仿学习(imitation learning) 2017.12.10 本文所涉及到的 模仿学习,则是从给定的展示中进行学习.机器在这个过程中,也和环境进行交互,但是,并没有显 ...
随机推荐
- uvalive 4848 Tour Belt
题意: 一个KTO被定义为一个特殊的连通块,这个连通块满足一个要求,这个连通块中的最短的边大于 与这个连通相连的不属于这个连通块的边中的最大值. 给出一个图,统计KTO里面的点有多少个.(一个点可以属 ...
- Python pyodbc安装
1)下面这个链接找个适合自己python版本的文件下载下来 https://pypi.org/project/pyodbc/#files 2)放到scripts下面 3) 在scripts路径上输入c ...
- docker能用来干嘛
http://blog.csdn.net/wangtaoking1/article/details/44340445 什么是Docker Docker 是一个开源项目,诞生于 2013 年初,最初 ...
- mysql-day06
##视图 - 什么是视图:在数据库中存在多种对象,表和视图都是数据库中的对象,创建视图时名称不能和表重名,视图实际上就代表一段sql查询语句,也可以理解成视图是一张虚拟的表,此虚拟表中的数据会随着原表 ...
- python 闭包和装饰器
python 闭包和装饰器 一.闭包闭包:外部函数FunOut()里面包含一个内部函数FunIn(),并且外部函数返回内部函数的对象FunIn,内部函数存在对外部函数的变量的引用.那么这个内部函数Fu ...
- Linux下解析域名命令-dig 命令使用详解
Linux下解析域名除了使用nslookup之外,开可以使用dig命令来解析域名,dig命令可以得到更多的域名信息.dig 命令主要用来从 DNS 域名服务器查询主机地址信息.dig的全称是 (dom ...
- 关于DNS 和根证书你了解多少?
由于最近发生的一些事件,我们(Privacy Today 组织)感到有必要写一篇关于此事的短文.它适用于所有读者,因此它将保持简单 —— 技术细节可能会在稍后的文章发布. 什么是 DNS,为什么它与你 ...
- 写出优质Java代码的4个技巧
我们平时的编程任务不外乎就是将相同的技术套件应用到不同的项目中去,对于大多数情况来说,这些技术都是可以满足目标的.然而,有的项目可能需要用到一些特别的技术,因此工程师们得深入研究,去寻找那些最简单但最 ...
- Action的编写方式
四.Action 的编写方式 : 三种 第一种 创建普通类 不继承任何类,不实现任何接口 Public class HelloAction{ } 第二种 创建类,实现接口action Public ...
- kivy中size和pos的使用
kivy中位置和大小属性的使用: -------------------位置---------------------------- 1.pos_hint(‘x-axis-key’:value,’y- ...