强化学习——连续动作空间与DDPG

本文内容源自百度强化学习 7 日入门课程学习整理
感谢百度 PARL 团队李科浇老师的课程讲解

目录

1.离散动作VS连续动作

2.DDPG

3.Actor-Critic结构(评论家-演员)

4.目标网络target network+经验回放replay memory


1.离散动作VS连续动作

  • 离散的动作:游戏的操作动作可数,例:向上下左右
  • 连续动作:输出的动作不可数 例:推锤子推的力,转方向盘的角度,四轴飞行器的电压

强化学习——连续动作空间与DDPG_第1张图片

  • 在离散的动作场景下,有几个离散动作,就输出几个概率值。
  • 在连续的动作场景下,输出具体的浮点数代表确定性策略。
  • 随机性策略:当输入某一个状态s,采取某一个动作a可能性具有一定的概率,
  • 确定性策略:没有概率的影响,输入同样的状态s,输出同样的动作a

  • 离散动作里面,输出所有动作的概率总和为1。
  • 连续动作的输出,在输出层加一层tanh,把输出限制到[-1,1],再通过缩放,对应到实际动作。

强化学习——连续动作空间与DDPG_第2张图片

2.DDPG

  • Policy Gradient:用到的是策略网络,每一步都更新的policy网络。
  • Deterministic:DDPG输出的是确定的动作,用于连续动作的环境。

  • DDPG是为了让DQN的应用扩展到连续动作空间,在DQN的基础上加上了策略网络,用来输出动作值
  • DDPG一边学习Q网络,一边学习策略网络,这样的结构为Actor-Critic结构。
  • Q网络:,其中参数为w
  • 策略网络:,其中参数为

强化学习——连续动作空间与DDPG_第3张图片

3.Actor-Critic结构(评论家-演员)

  • 策略网络类似于Actor(对外展示舞动动作)。
  • Q网络类似于Critic(在每一个step对于Actor输出的action做一个评估)估计一下这次actor输出的的action的收益Q值。
  • Actor根据评论家的打分调整自己的策略,更新Actor的神经网络的参数。
  • Critic根据环境的反馈reward调整自己的打分策略,目标:最大化未来的总收益(一场表演的掌声越多越好)。
  • 刚开始的时候,Critic和Actor都是随机的,经过环境的反馈,Critic的评分和Actor的表现越来越好。

强化学习——连续动作空间与DDPG_第4张图片

  • DQN最佳策略:得到一个很好的Q网络,选取的action对应的Q值最大。
  • DDPG最佳策略:求解让Q值最大的action,优化策略网络的梯度,最大化Q值。
  • 不仅策略网络需要优化,Q网络也需要优化,Q-target是未来总收益,Loss=MSE(Q估计,Q-target)
  • 优化Q网络的方法:用真实的reward和下一步的Q去拟合未来的收益Q-target,让Q网络的输出去逼近Q-target,构造的Loss求Q估计和Q-target的均方差。

4.目标网络target network+经验回放replay memory

策略网络优化的是参数

  • 这里的Loss是一个复合函数
  • ,代入上式
  • 最终我们要优化的是参数

 

Q网络优化的是参数

  • 最终要优化的是输出 Q 和 目标 Q 的均方差
  • 这里的 Loss 也是个复合函数
  • Q网络的优化存在一个问题,Q-target是不稳定的,所以需要固定Q网络

 

为了固定 Q_target

  • DDPG分别给策略网络和Q网络搭建target_P 和 target_Q,用于固定 Q_target
  •  
  • 需要的next action通过target P输出,
  • 这2个target网络也是固定一段时间后,再和评估网络更新一下最新的参数。

经验回放

训练网络所需的数据是:s,a,r,s’

所以经验池 ReplayMemory 中存储的就是这 4 组数据

 

你可能感兴趣的:(强化学习)