Deep Deterministic Policy Gradient(DDPG)是一种强化学习算法,它将actor-critic架构与深度神经网络相结合,以处理连续动作空间。该算法由Google DeepMind的研究人员于2016年提出,基于确定性策略梯度定理,并借鉴了深度Q学习中的经验回放和目标网络等技术来提高训练稳定性。DDPG专为动作是连续值而非离散选择的环境而设计,使其适用于机器人和模拟中的控制任务。
该算法在标准强化学习框架内运行,其中智能体与建模为马尔可夫决策过程的环境进行交互。在每个时间步,智能体观察状态、选择动作、接收奖励,并转移到新状态。DDPG通过使用两个神经网络学习最大化累积奖励信号的策略:一个将状态映射到动作的actor网络,以及一个估计给定状态-动作对的预期回报的critic网络。
算法架构
DDPG使用actor-critic架构,将策略学习和价值函数学习分离。actor网络为给定状态输出确定性动作,而critic网络通过估计动作价值函数(通常记为Q(s,a))来评估该动作的质量。训练在更新critic以更好地逼近真实回报和更新actor以选择最大化critic估计值的动作之间交替进行。
为了提高稳定性,DDPG采用带有软更新的目标网络。目标网络是actor和critic的副本,使用混合参数(通常为0.001)缓慢跟踪学习网络。该技术降低了训练过程中发散的风险,并借鉴自深度Q学习方法。
探索与经验回放
由于DDPG学习的是确定性策略,它通过在训练期间向动作选择添加噪声来解决探索-利用困境,通常使用Ornstein-Uhlenbeck过程。这允许智能体在探索环境的同时仍向最优行为靠拢。该算法还使用一个存储过去转移的回放缓冲区;在学习过程中,从该缓冲区均匀采样小批量经验,以打破时间相关性并提高样本效率。这些设计选择使DDPG能够处理连续动作空间,这在机器人和控制应用中很常见。
算法描述
DDPG的核心是actor-critic架构。critic被训练为使用贝尔曼方程逼近动作价值函数,最小化预测Q值与目标Q值之间的均方误差。actor使用确定性策略梯度定理进行更新,该定理通过链式法则应用于critic的输出,计算预期回报相对于actor参数的梯度。目标网络通过软替换(polyak平均)进行更新,以稳定训练。
连续动作空间
与处理离散动作的基于价值的方法(如DQN)不同,DDPG直接从策略网络输出连续动作。这是通过让actor产生确定性动作值而非离散集合上的概率来实现的。这使得DDPG适用于机器人控制、自动驾驶以及其他具有高维连续动作空间的控制任务。
应用与变体
DDPG已应用于机器人技术、模拟控制基准(如MuJoCo)以及自动驾驶车辆研究。它是后续方法(如双延迟DDPG(TD3)和软actor-critic(SAC))的基础算法,这些方法提高了样本效率和稳定性。DDPG还与确定性策略梯度方法以及Deep learning中的actor-critic架构密切相关。
与其他强化学习方法的关系
DDPG在更广泛的Machine learning领域,特别是Reinforcement learning中运行,其中智能体从交互中学习策略。与Supervised learning不同,DDPG不需要标记数据;它从奖励信号中学习。其离策略性质允许它重用存储在回放缓冲区中的过去经验,与策略梯度方法等在线策略算法相比,实现了样本高效的学习。作为早期用于连续控制的深度强化学习算法之一,它影响了后续在Artificial intelligence和自主系统中的研究。