RNN+RL

模型训练不是朝着灯塔方向走,而是使用一个不太靠谱的陀螺仪导航

clipped surrogate loss in PPO

PPO是一种off policy的强化学习算法,它的优势就是可以重复使用之前policy与环境交互得到的数据,它通过将一个分布中的采样数据转换为从另一个分布中的采样数据,即从old policy这个分布转换为new policy这个分布 PPO就是在此基础上做了进一步优化使得其能适应强化学习的环境,其核心就是下面这个公式: 其中的 \( r_t(θ) \) …

stable-baselines3中的SAC

现象 本来自己写了一个SAC模型用于测试parking环境(http://highway-env.farama.org/environments/parking/),该环境模拟自动停车过程,小车需要停到停车场随机的一个目标车位(见下视频) 无奈模型怎么也无法达到预期效果,经过多次测试发现,仅仅将DDPG修改为不确定性策略是可行的,但一旦加上最大熵(SAC的核 …

pytorch 安装

报错: 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训练时如何判断有效收敛

注:本文没有给出真正的答案,只是作为一个记录 有效收敛是我自己创造的词,例如在训练过程中,模型收敛到输出与输入无关的状态,或者其他意料外的状态则为无效收敛,反之为有效收敛 DDPG的基本思想是 先训练一个critic,然后使用该critic训练actor,接着再用该actor训练critic。。。不停迭代,和GAN类似 DDPG用到了一些trick,但我在实 …

DDPG中各trick效果对比

本实验仅仅是一个简单的实验,用于比较在 “Pendulum-v1”(gym提供的一个小游戏,用于训练RL模型)环境下,使用: double net:critic和actor都拷贝一个副本,并延迟同步参数,在计算目标q值时使用改副本进行计算 每轮迭代次数:之前都是一局游戏结束就从历史数据中sample一批数据更新一次网络,而这里就是进行多次sample然后更新 …

Ornstein Uhlenbeck 噪声

直观理解 在DDPG(一种强化学习方法)采集数据过程中,会在actor输出的action上加上随机噪声以获得更好的探索性。 action是一个连续值,下图中的origin表示一个输出序列(一段时间内模型输出的action值) 最简单的加噪声方式就是直接在输出上加随机噪声,例如高斯噪声(第二行图像) 假如此时actor控制的是一个一辆汽车的方向盘,方向盘转动的 …

Actor-Critic优缺点

译自:https://www.linkedin.com/advice/0/what-advantages-disadvantages-using-actor-critic 优点: 1. 通过将critic net输出的q value作为baseline,可以降低policy gradient算法带来的误差,使得使用较少数据就能够使模型收敛 解释:PG算法性能 …

SAC、TD3、DDPG

本文不讲理论上的东西,只说实现上的不同。 事实上,如果单从实现来看,SAC和DDPG的差别不大。从 stable-baselines3 看,区别仅仅在于,SAC在训练critic和actor时,多在reward上加了一个熵值,而这也正是SAC的特性来源。 关于什么是熵,可以参见 交叉熵。简单来说,它就是一个值,与事件发生的概率呈负相关关系。因为在reward …