
RL
文章平均质量分 69
昨日啊萌
这个作者很懒,什么都没留下…
展开
-
MARL学习篇----MADDPG
MARL学习篇----MADDPG前言MADDPG是DDPG在多智能体任务中的一种扩展,其基础思想为:集中式学习,分散式执行(CTDE)。简单来说,在训练的时候,引入可以观察全局的critic来指导actor训练,而测试的时候只使用有局部观测的actor采取行动。。你可以这么理解:每一个agent都有一个全知全能的老师指导,而在做决策的时候,agent只需要根据自己对环境的观察做出正确的动作。这种思想简单粗暴但方法却行之有效,可见这其中的trick应该不少。算法简介传统强化学习方法很难用在mul原创 2021-04-02 17:23:20 · 16883 阅读 · 3 评论 -
进阶篇---TD3(Twin Delayed DDPG)
进阶篇—TD3(Twin Delayed DDPG)这篇文章研究了actor-critic类算法里面消除overestimation bias的方法。同时,还研究了target network在TD update中消除累积误差的作用。1、消除overestimation bias与Double DQN类似,使用两个网络交替更新由于agent每次都会选择价值高的动作,因此高估的估计误差会累积起来,因此,我们宁可低估不可高估2、target network当policy固定不变的时候,是否使用ta原创 2021-03-07 19:55:18 · 1140 阅读 · 0 评论 -
进阶篇---Soft Actor-Critic (SAC)
进阶篇—Soft Actor-Critic (SAC)SAC是一个off-policy + actor critic + maximum entropy的RL算法。比DDPG,SVG等方法稳定并且效果更好。代码参见我的GitHub前言1、on-policy 与 off-policy:on-policy:“边交互边学习” ,每一次参数更新时,都需要与环境交互,因而当遇到复杂任务时,需要的更新步骤更多,增大了复杂度off-policy :“重用过去的经验”,典型的就是经验池策略的方法,比如DQN,DD原创 2021-03-04 18:12:35 · 2004 阅读 · 9 评论 -
进阶篇---PPO代码逐行分析
进阶篇—PPO代码逐行分析一、TRPO、PPO、DPPOPG (Policy gradient)最常用的策略梯度估计其表达形式如下TRPO(Trust Region Policy Optimization)这是一种具有单调递增性质的PG算法,构造了一个带有约束的目标函数在对目标进行线性近似并对约束进行二次近似后,可以使用共轭梯度算法有效地解决该问题。。PPO(Proximal Policy Optimization)DPPO(Distributed Proximal Policy Opt原创 2021-03-01 11:52:09 · 8846 阅读 · 1 评论 -
进阶篇---DQN的改良
进阶篇—DQN的改良代码参见我的GitHubDDQN也叫 Double DQN。之前我们提到的DQN方法目标Q值是通过贪婪法直接得到的,虽然使用max虽然可以快速让Q值向可能的优化目标靠拢,但是很容易过犹不及,导致过度估计。为了解决这个问题, DDQN通过解耦目标Q值动作的选择和目标Q值的计算这两步,来达到消除过度估计的问题。简单来说,就是通过多增加一个网络来降低迭代过程中Q网络的关联性,其余步骤和传统DQN方法基本没有区别。Prioritized Replay DQN之前的DQN方法中,原创 2021-03-01 19:50:14 · 3313 阅读 · 2 评论 -
入门篇---DDPG代码逐行分析(pytorch)
入门篇—DDPG代码逐行分析(pytorch)在上一篇中我们简单整理了一下DQN的代码,这一篇则是解决连续状态,连续动作的问题----DDPG算法优化了代码框架,修正了一些小错误。之后打算更新一些做项目使用的DRL算法,最后会将代码上传到我的gihub中import mathimport randomimport gymimport numpy as npimport torchimport torch.nn as nnimport torch.optim as optimimport原创 2021-02-28 15:51:25 · 11738 阅读 · 25 评论 -
入门篇---Actor-Critic系列(pytorch)
入门篇—Actor-Critic系列(pytorch)A3C算法理论与传统的Actor-Critic算法相比,A3C算法有更好的收敛性,同时避免了经验回访相关性过强的问题,做到了异步并发的学习模型。优化部分主要有三点:异步训练框架,网络结构优化,Critic评估点的优化。其中异步训练框架是最大的优化。异步训练框架主要框架为一个公共神经网络,下面有n个子网络。他们的网络架构和初始参数都是完全一样的。区别在于,每个子网络独立的在环境中进行交互,但是每隔一段时间子网络会将自己的累计梯度更新公共部分的原创 2021-03-03 18:44:39 · 5398 阅读 · 5 评论 -
入门篇---DQN代码逐行分析(pytorch)
pytorch版DQN代码逐行分析前言如强化学习这个坑有一段时间了,之前一直想写一个系列的学习笔记,但是打公式什么的太麻烦了,就不了了之了。最近深感代码功底薄弱,于是重新温习了一遍几种常用的RL算法,并打算做一个代码库,以便之后使用。正文这是第一站-----DQN的代码解读源代码:https://github.com/higgsfield/RL-Adventure无奈,这个代码库里的代码实在有点古老-_-!!,而且存在一些小错误,加上代码结构我很不喜欢。。。于是重新整理了一下,同时添加了大量注原创 2021-02-26 21:44:34 · 5587 阅读 · 2 评论