clipped surrogate loss in PPO
PPO是一种off policy的强化学习算法,它的优势就是可以重复使用之前policy与环境交互得到的数据,它通过将一个分布中的采样数据转换为从另一个分布中的采样数据,即从old policy这个分布转换为new policy这个分布 PPO就是在此基础上做了进一步优化使得其能适应强化学习的环境,其核心就是下面这个公式: 其中的 \( r_t(θ) \) …
Archive
PPO是一种off policy的强化学习算法,它的优势就是可以重复使用之前policy与环境交互得到的数据,它通过将一个分布中的采样数据转换为从另一个分布中的采样数据,即从old policy这个分布转换为new policy这个分布 PPO就是在此基础上做了进一步优化使得其能适应强化学习的环境,其核心就是下面这个公式: 其中的 \( r_t(θ) \) …
现象 本来自己写了一个SAC模型用于测试parking环境(http://highway-env.farama.org/environments/parking/),该环境模拟自动停车过程,小车需要停到停车场随机的一个目标车位(见下视频) 无奈模型怎么也无法达到预期效果,经过多次测试发现,仅仅将DDPG修改为不确定性策略是可行的,但一旦加上最大熵(SAC的核 …
报错: OSError: [WinError 126] The specified module could not be found. Error loading "xxx\site-packages\torch\lib\fbgemm.dll" or one of its dependencies. 安装 VC_redist.X64 没用(即 …
注:本文没有给出真正的答案,只是作为一个记录 有效收敛是我自己创造的词,例如在训练过程中,模型收敛到输出与输入无关的状态,或者其他意料外的状态则为无效收敛,反之为有效收敛 DDPG的基本思想是 先训练一个critic,然后使用该critic训练actor,接着再用该actor训练critic。。。不停迭代,和GAN类似 DDPG用到了一些trick,但我在实 …
本实验仅仅是一个简单的实验,用于比较在 “Pendulum-v1”(gym提供的一个小游戏,用于训练RL模型)环境下,使用: double net:critic和actor都拷贝一个副本,并延迟同步参数,在计算目标q值时使用改副本进行计算 每轮迭代次数:之前都是一局游戏结束就从历史数据中sample一批数据更新一次网络,而这里就是进行多次sample然后更新 …
直观理解 在DDPG(一种强化学习方法)采集数据过程中,会在actor输出的action上加上随机噪声以获得更好的探索性。 action是一个连续值,下图中的origin表示一个输出序列(一段时间内模型输出的action值) 最简单的加噪声方式就是直接在输出上加随机噪声,例如高斯噪声(第二行图像) 假如此时actor控制的是一个一辆汽车的方向盘,方向盘转动的 …
译自:https://www.linkedin.com/advice/0/what-advantages-disadvantages-using-actor-critic 优点: 1. 通过将critic net输出的q value作为baseline,可以降低policy gradient算法带来的误差,使得使用较少数据就能够使模型收敛 解释:PG算法性能 …
本文不讲理论上的东西,只说实现上的不同。 事实上,如果单从实现来看,SAC和DDPG的差别不大。从 stable-baselines3 看,区别仅仅在于,SAC在训练critic和actor时,多在reward上加了一个熵值,而这也正是SAC的特性来源。 关于什么是熵,可以参见 交叉熵。简单来说,它就是一个值,与事件发生的概率呈负相关关系。因为在reward …
policy gradient可以直接输出action的概率来进行离散动作的选择,而对于连续动作空间,则需要直接输出动作的值,需要想办法将其转换为概率,方法就是输出一个action的分布(例如输出正态分布,就让模型输出 均值 和 方差 两个值即可),然后从该分布中采样一个action,进而计算该action在该分布中的概率,使用模型提高这个概率即可。 以下为 …
之前看李宏毅关于强化学习视频的时候,他说PPO是 off policy 的方法,但是刚看openai spinningup的时候,里面又明确写明它是一种on policy的方法。 如何区分 我个人觉得,一个非常简单的区分方法为:如果与环境交互的策略与目标策略相关,则是on policy的,否则是off policy的。 注意:我这里说的是“相关”,而严格定义 …