Deep Reinforcement Learning - 1. DDPG原理和算法

DDPG(Deep Deterministic Policy Gradient)是深度强化学习中用于连续动作空间的算法,从PG和DPG发展而来。它解决了Policy Gradient方法在高维动作空间的计算难题,采用确定性策略和深度学习网络模拟策略函数与Q函数。DDPG通过经验回放缓冲区和目标网络提升学习稳定性,是连续控制任务中的有效方法。
摘要由CSDN通过智能技术生成

##Deep Reinforcement Learning - 1. DDPG原理和算法##



以下用RL作为Reinforcement Learning 的简称。


背景描述

概括来说,RL要解决的问题是:让agent学习在一个环境中的如何行为动作(act), 从而获得最大的奖励值总和(total reward)。
这个奖励值一般与agent定义的任务目标关联。
agent需要的主要学习内容:第一是行为策略(action policy), 第二是规划(planning)。
其中,行为策略的学习目标是最优策略, 也就是使用这样的策略,
可以让agent在特定环境中的行为获得最大的奖励值,从而实现其任务目标。

行为(action)可以简单分为:

  • 连续的:如赛 车游戏中的方向盘角度、油门、刹车控制信号,机器人的关节伺服电机控制信号。
  • 离散的:如围棋、贪吃蛇游戏。 Alpha Go就是一个典型的离散行为agent。

DDPG是针对连续行为的策略学习方法。

如果要了解完整和系统的RL背景知识,推荐大家看R.Sutton的这本书: 《Reinforcement Learning: An Introduction, by Sutton, R.S. and Barto, A.G.


DDPG的定义和应用场景

在RL领域,DDPG主要从:PG -> DPG -> DDPG 发展而来。

先复述一下相关的基本概念

  • s t s_{t} st : 在t时刻,agent观察到的环境状态,比如观察到的环境图像,agent在环境中的位置、速度、机器人关节角度等;

  • a t a_{t} at : 在t时刻,agent选择的行为(action),通过环境执行后,环境状态由 s t s_{t} st转换为 s t + 1 s_{t+1} st+1

  • $r(s_{t} , a_{t}) 函 数 : 环 境 在 状 态 函数: 环境在状态 :s_{t}$ 执行行为 a t a_{t} at后,返回的单步奖励值;
    上述关系可以用一个状态转换图来表示:
    state transition img

  • R t R_{t} Rt:是从当前状态直到将来某个状态,期间所有行为所获得奖励值的加权总和,即discounted future reward:
    R t = ∑ i = t T γ i − t r ( s i , a i ) R_{t} = \sum ^{T} _{i=t} \gamma ^{i-t} r(s_{i} , a_{i}) Rt=i=tTγitr(si,ai)
    其中$\gamma $叫做discounted rate, $\in [0,1] $ ,通常取0.99.


PG

R.Sutton 在2000年提出的Policy Gradient 方法,是RL中,学习连续的行为控制策略的经典方法,其提出的解决方案是:
通过一个概率分布函数 π θ ( s t ∣ θ π ) \pi_{\theta}(s_{t} | \theta^{\pi}) πθ(stθπ), 来表示每一步的最优策略, 在每一步根据该概率分布进行action采样,获得当前的最佳action取值;即:
a t ∼ π θ ( s t ∣ θ π ) a_{t}\sim\pi_{\theta}(s_{t} | \theta^{\pi}) atπθ(stθπ)
生成action的过程,本质上是一个随机过程;最后学习到的策略,也是一个随机策略(stochastic policy).


DPG
Deepmind的D.Silver等在2014年提出DPG: Deterministic Policy Gradient, 即确定性的行为策略,每一步的行为通过函数 μ \mu μ直接获得确定的值:
a t = μ ( s t ∣ θ μ ) a_{t} = \mu(s_{t} | \theta^{\mu}) at=μ(stθμ)
这个函数 μ \mu μ即最优行为策略,不再是一个需要采样的随机策略。

为何需要确定性的策略?简单来说,PG方法有以下缺陷:

  1. 即使通过PG学习得到了随机策略之后,在每一步行为时,我们还需要对得到的最优策略概率分布进行采样,才能获得action的具体值;而action通常是高维的向量,比如25维、50维,在高维的action空间的频繁采样,无疑是很耗费计算能力的;
  2. 在PG的学习过程中,每一步计算policy gradient都需要在整个action space进行积分:
    ▽ θ = ∫ S ∫ A ρ ( s ) π θ ( a ∣ s ) Q π ( s , a ) d a d s \triangledown_{\theta} = \int_{\mathcal{S}} \int_{A} \rho(s) \pi_{\theta}(a|s)Q^{\pi} (s,a)dads θ=SAρ(s)πθ(as)Qπ(s,a)dads
    ($ Q, \rho $ 参见下面DDPG部分的概念定义.)
    这个积分我们一般通过Monte Carlo 采样来进行估算,需要在高维的action空间进行采样,耗费计算能力。

如果采取简单的Greedy策略,即每一步求解 $\mathop{argmax}_{a} Q(s,a) $也不可行,因为在连续的、高维度的action空间,如果每一步都求全局最优解,太耗费计算性能。

在这之前,业界普遍认为,环境模型无关(model-free)的确定性策略是不存在的,在2014年的DPG论文中,D.Silver等通过严密的数学推导,证明了DPG的存在, 其数学表示参见DDPG算法部分给出的公式 (3)。

然后将DPG算法融合进actor-critic框架,结合Q-learning或者Gradient Q-learning这些传统的Q函数学习方法,经过训练得到一个确定性的最优行为策略函数。


DDPG

Deepmind在2016年提出DDPG,全称是:Deep Deterministic Policy Gradient,是将深度学习神经网络融合进DPG的策略学习方法。
相对于DPG的核心改进是: 采用卷积神经网络作为策略函数 μ \mu μ Q Q Q函数的模拟,即策略网络和Q网络;然后使用深度学习的方法来训练上述神经网络。

Q函数的实现和训练方法,采用了Deepmind 2015年发表的DQN方法 ,即 Alpha Go使用的Q函数方法。


DDPG算法相关基本概念定义

我们以Open Gym 作为环境为例来讲解。

先复述一下DDPG相关的概念定义:

  • 确定性 行为策略 μ \mu μ: 定义为一个函数,每一步的行为可以通过 $a_{t} = \mu(s_{t}) $ 计算获得。
  • 策略网络:用一个卷积神经网络对 μ \mu μ函数进行模拟,这个网络我们就叫做策略网络,其参数为 θ μ \theta^{\mu} θμ
  • behavior policy β \beta β: 在RL训练过程中,我们要兼顾2个e: exploration和exploit;exploration的目的是探索潜在的更优策略,所以训练过程中,我们为action的决策机制引入随机噪声:
    将action的决策从确定性过程变为一个随机过程, 再从这个随机过程中采样得到action,下达给环境执行.
    过程如下图所示:
    behaviour policy

上述这个策略叫做behavior策略,用 β \beta β来表示, 这时RL的训练方式叫做off-policy.
这里与 ϵ − g r e e d y \epsilon-greedy ϵgreedy的思路是类似的。
DDPG中,使用Uhlenbeck-Ornstein随机过程(下面简称UO过程),作为引入的随机噪声:
UO过程在时序上具备很好的相关性,可以使agent很好的探索具备动量属性的环境。

注意
– 这个 β \beta β不是我们想要得到的最优策略,仅仅在训练过程中,生成下达给环境的action, 从而获得我们想要的数据集,比如状态转换(transitions)、或者agent的行走路径等,然后利用这个数据集去 训练策略 μ \mu μ,以获得最优策略。
– 在test 和 evaluation时,使用 μ \mu μ,不会再使用 β \beta

评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值