强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL
个人理解:

  • 离散:可数(整数表示的)
  • 连续:不可数(小数/浮点数表示的)

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
这里一共有四个网络,Q网络以及它的target_Q网络,策略网络以及它的target_P网络,两个target是为了稳定计算,每隔一段时间复制一下参数,投入到评估网络使用。

  • target_Q是为了稳定计算Q_target中的 Q w ˉ ( s ′ , a ′ ) Q_{\bar{w}}(s^{'},a^{'}) Qwˉ​(s′,a′),而其中的 a ′ = μ θ ( s ′ ) a^{'}=\mu_{\theta}(s^{'}) a′=μθ​(s′)则是由策略网络里的那个target_P网络来稳定计算的。
  • Q w ˉ ( s ′ , a ′ ) Q_{\bar{w}}(s^{'},a^{'}) Qwˉ​(s′,a′) 这里的w加了一个横线就是为了和前面的那个区分开。

强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL

  • 策略网络对应的是model.py中的演员Actor类(ActorModel),有一个policy函数,
  • Q网络对应的是评论家类(CriticModel类),有一个value函数

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
DQN里是硬更新,每次直接把 Q w Q_w Qw​网络的所有参数全部给 Q w ˉ Q_{\bar{w}} Qwˉ​, μ θ \mu_{\theta} μθ​同理。
而DDPG采取的是一种更为平滑的方式,软更新,每次只更新一点点。如公式所示,用了一个 τ \tau τ,来控制每次 w w w或者 θ \theta θ更新的幅度。

也是为了让Q网络这个参数的更新更加稳定(属于工程/代码上的一种小trick吧)

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL

https://github.com/PaddlePaddle/RLSchool也是百度做的一个环境,目前暂时只有电梯环境和四轴飞行器这两个环境。

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL
强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL

强化学习PARL——5. 基于连续动作空间上方法求解RL

上一篇:A*(A star)搜索总结


下一篇:PyQt5快速上手基础篇5-messagebox用法