深度学习课程笔记(十四)深度强化学习 --- 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