深度强化学习-DDPG-笔记(八)

离散动作 vs. 连续动作

离散动作:动作个数是可数的。比如,在 CartPole 环境中,可以有向左推小车、向右推小车两个动作。在 Frozen Lake 环境中,小乌龟可以有上下左右四个动作。在 Atari 的 Pong 游戏中,游戏有 6 个按键的动作可以输出。
连续动作:动作个数是不可数的。推小车力的大小、 选择下一时刻方向盘的转动角度或者四轴飞行器的四个螺旋桨给的电压的大小等等。

对于这些连续的动作控制空间,Q-learning、DQN 等算法是没有办法处理的。那我们怎么输出连续的动作呢,这个时候,万能的神经网络又出现了。
深度强化学习-DDPG-笔记(八)
深度强化学习-DDPG-笔记(八)
深度强化学习-DDPG-笔记(八)
深度强化学习-DDPG-笔记(八)

DDPG(Deep Deterministic Policy Gradient)

深度强化学习-DDPG-笔记(八)

DDPG 的特点

提出 DDPG 是为了让 DQN 可以扩展到连续的动作空间。
DDPG 的特点:

  • Deep 是因为用了神经网络
  • Deterministic 表示 DDPG 输出的是一个确定性的动作,可以用于连续动作的一个环境
  • Policy Gradient 代表的是它用到的是策略网络。REINFORCE 算法每隔一个 episode 就更新一次,但 DDPG 网络是每个 step 都会更新一次 policy 网络,也就是说它是一个单步更新的 policy 网络

DDPG 是 DQN 的一个扩展的版本。在 DDPG 的训练中,它借鉴了 DQN 的技巧:目标网络和经验回放。经验回放这一块跟 DQN 是一样的,但 target network 这一块的更新跟 DQN 有点不一样。