强化学习(7):深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)

本文主要讲解有关 DDPG 算法的有关内容。

一、DDPG 算法

DDPG 是 Deep Deterministic Policy Gradient 的缩写,其中深度 (Deep) 代表 DQN;确定性(Deterministic)是指不再先生成各个动作的概率然后再选择概率最高的动作,而是直接输出一个确定性的动作;Policy Gradient 就不用解释了吧。

因为在 Actor-Critic 中连续状态中前后状态具有相关性,所以会导致神经网络只能片面的看待问题,甚至导致神经网络学不到东西、收敛慢。为了解决这个问题,DDPG 使用了类似于 DQN 的经验回放池。在实操中,一开始时先由 Actor 随机的采取动作,当经验回放池存储满后,再从里面随机选择 batch 个样本进行网络参数更新。

DDPG 可以看作是 Actor-Critic 算法和 DQN 算法的结合,该算法中还是有 Actor 和 Critic 两个网络。与 Actor-Critic 算法不同的是 Actor 网络直接采用 Critic 网络对自己动作的评估值 TD-error 作为 Actor 网络的损失函数。而两者的 Critic 网络的损失函数是相同的。

因为 DDPG 还结合 DQN 算法,所以 Actor 和 Critic 网络又分别有两个—— target 网络和 eval 网络。与 DQN 一样,eval 网络的参数保持最新,而 target 网络的参数隔一段时间后才会更新。

总结一下,Actor-target 网络和 Critic-target 网络是一对,前者做动作,后者对动作进行评估,然后前者再根据评估值改变自己选择动作的概率。同理 Actor-eval 网络和 Critic-eval 网络是一对,前者做动作,后者对动作进行评估,不同的是,前者没有自己的损失函数,而是靠 Actor-target 来更新自己的参数。而 Actor-target 网络和 Actor-eval 网络是一对,它们的存在是为了打乱观测值前后的相关性。同理 Critic-target 和 Critic-eval 这两个网络也是如此。

由于 Actor-Critic 算法中是先 Critic 更新参数然后再 Actor 更新参数,而 DDPG 与之相反,这使得 DDPG 中获得两个网络的输出和更新两个网络的参数这两个阶段是分离的(先同时得到两个网络的输出,再更新两个网络的参数)。所以说 DDPG 的网络结构写起来是比较蛋疼的,具体情况建议大家根据代码自己理顺两个网络中数据的传递流程。

二、DDPG 中的 Tricks

(1)soft-replacement

在把 eval 网络的参数赋值给 target 网络时,不再是 hard replacement,而是软替换 soft replacement,这样可以避免不收敛的问题。hard replacement 就是每隔一定的步数就将 eval 网络中的参数赋值给 target 网络,而 soft replacement 就是每一步都对 target 网络的参数更新一部分。

(2) 为 action 增加噪声

这样可以增加网络的鲁棒性。

三、DDPG 算法流程

DDPG

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Deep Deterministic Policy GradientDDPG)是一种基于深度神经网络的强化学习算法。它是用来解决连续控制问题的,即输出动作的取值是连续的。DDPG是在DPG(Deterministic Policy Gradient)的基础上进行改进得到的,DPG是一种在连续动作空间中的直接求导策略梯度的方法。DDPG和DPG都属于策略梯度算法的一种,与其他策略梯度算法(如REINFORCE)的不同之处在于,DPG和DDPG都是基于偏微分方程的直接求导,而不是蒙特卡罗方法进行计算。DDPG使用一个确定性策略来生成动作,但同时使用一个噪声过程来扰动输出的动作,以产生更多的状态动作样本。这样一来,DDPG就具有了良好的探索能力,使得它在解决复杂的连续动作问题时能取得较好的效果。 ### 回答2: 深度确定性策略梯度Deep Deterministic Policy GradientDDPG)是一种用于解决深度强化学习问题的方法。 DDPG是基于确定性策略梯度(Deterministic Policy Gradient,DPG)的算法,可以在连续动作空间下进行强化学习。与传统的策略梯度方法不同,DDPG直接学习确定性策略,在给定状态下选择最优的动作。 DDPG主要由两个网络组成:一个是Actor网络,用于学习确定性策略;另一个是Critic网络,用于估计状态-动作对的Q值。Actor网络根据当前状态选择动作,Critic网络根据当前状态和动作的组合估计其对应的Q值。通过不断地交互环境、收集数据和更新网络参数,DDPG算法逐渐优化确定性策略和Q值估计,以使得智能体在环境中获得更高的累积奖励。 DDPG算法的核心思想是通过使用Experience Replay和目标网络来提高学习的稳定性和收敛性。Experience Replay将智能体与环境的交互经验存储在一个经验回放缓冲区中,然后从中随机采样进行训练;目标网络通过延迟更新目标网络的方式,减小训练中的目标值变动,从而提高算法的稳定性。 DDPG算法在解决连续控制任务中表现出良好的性能和收敛性,可以应用于机器人控制、无人驾驶、金融交易等复杂任务中。然而,DDPG算法也存在一些挑战和问题,如对超参数的敏感性、样本效率较低等,这些问题是DDPG算法持续改进的方向之一。 ### 回答3: Deep Deterministic Policy GradientDDPG)是一种用于连续动作空间的深度强化学习算法。它结合了深度神经网络和确定性策略梯度的优势,可以应用于诸如机器人控制和金融投资等领域。 DDPG算法的核心思想是通过在连续动作空间中学习一个行动者-评论家系统。行动者使用确定性策略,即给定状态输出一个具体的动作,而评论家则评估行动者的动作质量。这两个网络都是用深度神经网络来表示,并通过梯度下降来进行优化。 在训练过程中,DDPG使用了经验回放缓冲区来存储之前的转换并随机采样进行训练。这样做可以解决样本相关性和非稳定性问题。同时,为了保持算法的探索性,DDPG采用了一个目标网络,用于与主网络进行定期的软更新。 DDPG的优点在于能够处理连续动作空间,通过近似价值函数和策略函数,对高维、非线性状态空间进行建模。此外,DDPG还有很好的收敛性和稳定性,可以在复杂任务中取得较好性能。 然而,DDPG也存在一些挑战。由于使用了神经网络近似值函数,对网络结构的选择和超参数的调整都非常重要。此外,训练过程中可能会出现训练不稳定的问题,需要进行合适的技巧和调整。 总结来说,DDPG是一种深度强化学习算法,适用于连续动作空间的问题。通过结合确定性策略梯度深度神经网络的优势,DDPG能够解决高维、非线性状态空间的问题,并在复杂任务中取得好的性能。然而,对网络结构和超参数的选择需要仔细调整,且训练过程中可能存在稳定性问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值