从DPG到DDPG

Mar 07, 2025
2 views
Reinforcement Learning

引言

DDPG同样使用了Actor-Critic的结构,Deterministic的确定性策略是和随机策略相对而言的,对于某一些动作集合来说,它可能是连续值,或者非常高维的离散值,这样动作的空间维度极大。如果我们使用随机策略,即像DQN一样研究它所有的可能动作的概率,并计算各个可能的动作的价值的话,那需要的样本量是非常大才可行的。于是有人就想出使用确定性策略来简化这个问题。

作为随机策略,在相同的策略,在同一个状态 s 处,采用的动作 \(\pi_\theta(a|s)\) 是基于一个概率分布的,即是不确定的。而确定性策略则决定简单点,虽然在同一个状态处,采用的动作概率不同,但是最大概率只有一个,如果我们只取最大概率的动作,去掉这个概率分布,那么就简单多了。即作为确定性策略,相同的策略,在同一个状态处,动作是唯一确定的,即策略变成

\[ a = \mu(s, \theta) \]

所以DDPG基于确定性策略梯度(DPG)算法,结合了DQN的成功经验。

  1. 使用回放缓冲区中的样本进行离策略训练,以减少样本之间的相关性
  2. 使用目标Q网络在时序差分更新过程中提供一致的目标
  3. 应用批归一化技术,这是深度学习中的一项最新进展

DDPG(Deep Deterministic Policy Gradient)

确定性策略梯度(DPG)基础

在连续动作空间中,无法直接应用Q Learning,因为在连续空间中找到贪婪策略需要在每个时间步对\(a_t\) 进行优化;对于大型、无约束的函数逼近器和非平凡的动作空间,这种优化太慢而不实用。

作者使用基于DPG算法的 actor-critic 方法。DPG算法维护一个参数化的 Actor函数 \(\mu(s|\theta^\mu)\),它通过确定性地将状态映射到特定动作来指定当前策略。Critic \(Q(s, a)\)使用贝尔曼方程像Q学习一样学习。根据确定性策略梯度定理, 有

\[ \begin{equation}\begin{aligned}\nabla_\theta J(\theta) &= \sum_{s\in S}\eta(s)\nabla_\theta\mu(s)\nabla_a q_\mu(s, a)|_{a=\mu(s)} \\&= E_{S\sim\eta}[\nabla_\theta\mu(S)(\nabla_a q_\mu(S, a))|_{a=\mu(S)}]\end{aligned}\end{equation} \]

DDPG算法详解

与Q学习一样,引入非线性函数逼近器意味着不再保证收敛。然而,这些逼近器对于在大型状态空间上学习和泛化似乎是必不可少的。

DDPG算法是对DPG的修改,受到DQN成功的启发,允许它使用神经网络函数逼近器在大型状态和动作空间中在线学习。

经验回放

使用神经网络进行强化学习的一个挑战是,大多数优化算法假设样本是独立同分布的。显然,当样本是从环境中顺序探索生成的,这个假设不再成立。此外,为了有效利用硬件优化,必须以小批量而非在线方式学习。

与DQN一样,作者使用经验回放解决这些问题。经验回放是一个有限大小的缓存 \(R\)。根据探索策略从环境中采样转换,并将元组\((s_t, a_t, r_t, s_{t+1})\) 存储在回放缓冲区中。当回放缓冲区满时,最旧的样本被丢弃。在每个时间步,通过从缓冲区均匀采样小批量来更新actor和critic。由于DDPG是一种离策略算法,回放缓冲区可以很大,允许算法从一组不相关的转换中学习。

目标网络

直接使用神经网络实现Q学习在许多环境中被证明是不稳定的。由于用于计算目标值的网络\(Q(s, a|\theta^Q)\) 也在更新中使用,Q更新容易发散。

作者的解决方案类似于DQN中使用的目标网络,但针对 actor-critic 进行了修改,并使用"soft"目标更新,而不是直接复制权重。创建了 actor-critic 网络的副本,分别为 \(Q'(s, a|\theta^{Q'})\)\(\mu'(s|\theta^{\mu'})\) ,用于计算目标值。这些目标网络的权重通过让它们缓慢跟踪学习网络来更新:

\[ \theta' \leftarrow \tau\theta + (1-\tau)\theta' \]

其中\(\tau \ll 1\).

这意味着目标值被限制为缓慢变化,大大提高了学习的稳定性。这个简单的变化将相对不稳定的学习动作-价值函数的问题转变为更接近监督学习的问题,这是一个存在稳健解决方案的问题。作者发现,同时拥有目标 \(\mu'\)\(Q'\) 对于拥有稳定的目标 \(y_i\) 以便持续训练 critic 而不发散是必要的。

💡 DDPG算法中包含四个神经网络,每个网络都有其特定的功能和作用。以下是对这四个网络的详细总结:

探索策略

连续动作空间学习的一个主要挑战是探索。离策略算法如DDPG的一个优势是可以独立于学习算法处理探索问题。作者通过向行动者策略添加从噪声过程 \(N\) 采样的噪声来构建探索策略:

\[ \mu'(s_t) = \mu(s_t|\theta^\mu_t) + N \]

\(N\)可以根据环境选择。作者使用Ornstein-Uhlenbeck过程生成时间相关的探索,以提高具有惯性的物理控制问题的探索效率。

image

关键创新点总结

  1. 连续动作空间的处理:通过确定性策略梯度方法,DDPG有效解决了连续高维动作空间中的强化学习问题,避免了离散化带来的维度灾难。
  2. 稳定的深度强化学习:结合DQN的关键创新(回放缓冲区和目标网络),使深度神经网络在强化学习中的应用更加稳定。
  3. 软目标更新:不同于DQN中直接复制权重,DDPG使用软更新机制(\(\theta' \leftarrow \tau\theta + (1-\tau)\theta'\)),使目标值缓慢变化,进一步提高学习稳定性。
  4. 批归一化应用:将批归一化技术应用于强化学习,解决不同环境中状态值尺度差异的问题,增强算法的泛化能力。
  5. 时间相关探索:使用Ornstein-Uhlenbeck过程生成时间相关的噪声,特别适合于具有惯性的物理控制问题的探索。
  6. 端到端学习能力:能够直接从原始像素输入学习控制策略,无需手工特征工程。