深度强化学习之———从确定性策略(DPG)到深度确定性策略梯度(DDPG)算法的原理讲解及tensorflow代码实现

2018 年 6 月 10 日 深度强化学习实验室

本文章同步发在博客,欢迎访问博客系列文章:

如果此处阅览效果不佳,请直接访问博客地址: 

https://blog.csdn.net/gsww404/article/details/80403150

1、背景知识

在前文系列博客第二篇中讲解了DQN(深度强化学习DQN原理),可以说它是神经网络在强化学习中取得的重大突破,也为强化学习的发展提供了一个方向和基础,Sliver等人将其应用在Atari游戏中取得了重大突破, 后来大批量的论文均采用了DQN的思想,同时提出了更多的但是该算法有以下缺点:

Atari 游戏所需的动作是离散的,且属于低维(只有少数几个动作),但现实生活中很多问题都是连续的,且维度比较高,比如机器人控制(多个自由度)、汽车方向盘转向角度,油门大小、天气预报推荐指数等。虽然可以对连续性高维度的动作做离散型的处理,但是对于一个经过离散处理的大状态空间,使用DQN训练仍然是仍然是一个比较棘手的问题,因为DQN算法的核心思想是利用随机策略进行探索,对于高维度的来说,第一个问题是:模型很难收敛,第二个问题是需要在探索和利用之间进行协调。

因此用DQN解决高维度连续状态空间的任务变得非常的困难。为了解决该问题,David Sliver在2014年ICML大会论文中提出了确定性策略梯度((Deterministic Policy Gradient Algorithms)), 是的,这就是福音!下面先从DPG算法开始,然后再说Deep DPG(DDPG)

1、确定性策略梯度(Deterministic policy gradient )

首先解决一个强化学习问题,我们想到的就是累计折扣奖励的定义,即状态满足