首发于 科研之路
强化学习采样频率和更新频率的关系探讨

强化学习采样频率和更新频率的关系探讨

# 强化学习采样频率和更新频率的关系探讨

前言:

这个问题很多做强化的朋友都遇到过,今天中午答应群友今天要写出来,尽管少了几组实验没做,但是先勉强凑出一个文档解析吧。

并且可能因为我关键词没找对,我只在spinningup的代码中,看到了一个update every的关键词,但是搜索起来,好像也没有太多帖子和论文(只看到了rainbow那篇论文是4个agent step,更新一次网络)讨论这个,如果有人看到过类似的帖子,或者论文,欢迎告知!

问题起源:

在经典的论文伪代码和SpinningUp这种代码库中,会出现这样的一个经典问题:agent和环境交互一次,policy就要update一次。

DQN的伪代码:

DDPG 也是这样:


甚至TD3都是:


SpinningUp关于这部分的注释:

Number of env interactions that should elapse between gradient descent updates. Note: Regardless of how long you wait between updates, the ratio of env steps to gradient steps is locked to 1. 即openai团队的人认为应该绑定起来。采样多少次,更新多少次。

即采样频率和策略网络更新的频率绑定一致。但是实际上我们的代码中并不会采取这样的操作。

潜在的缺陷--限制了batch-size的设定:

如果我们的buffer的大小是常用的1e6,batch-size是256,采样一次,更新一次,那么对于某一个具体的transition来说,它进入一个先入先出的buffer中,从它刚进入的那一个时间步,它被随机采样的概率是多少?P=batch_size/buffer_size=256/1e6.

那么它在整个buffer的“生存周期”中,它总的被采样次数的期望是多少?

当update_every_n_steps=1时,即交互获取1个样本,更新1次网络;

当update_every_n_steps=2时,即交互获取2个样本,更新1次网络;

E=P*buffer_size/(update_every_n_steps)=batch_size/update_every_n_steps!

问题一目了然了,如果采样次数和更新次数绑定,即update_every_n_steps=1,那么一个transition被策略网络利用的次数,就等于batch-size了!

这样如果你想调大batch-size,就会发现,有时候batch-size值越大,性能越下降!

这个性能下降,有两个可能,一个是这个 博客里面提到的:batch-size增加了会让梯度更加平滑,噪声波动没有那么大,但是也可能会陷入局部最优。

也有另外一个可能, 是因为单一数据被更新的次数太多,产生了某种类似于“过拟合”的效果。

我下面贴一下我之前的比较简单的实验结果,可以证明绑定的情况下,更新次数增加,确实会降低性能。

下周会丰富一下实验,解绑之后,单纯的batch-size的增加,是否在一定程度上增加性能。

也许可以在实验中,为大家找到一个比较好的参数:单个样本的更新次数。

如果有人对这个点感兴趣的话,欢迎合作和讨论~

updata_every=1的情况下,batch-size的增加会性能降低:


左右图的batch-size都是512,左边网络的更新频次是512,右边是64,性能就上去了。如果这个实验结果具有普适性的话,那么可以说明在大的batch-size情况下,降低更新频次,可以提高性能。


左右图的更新频次都是64,左边网络的batch-size是64,右边是512,性能就上去了。如果这个实验结果具有普适性的话,那么可以说明在一定的更新频次下,增加batch-size,可以提高性能。


总结:

目前我的实验经验模糊的告诉我,batch-size可以适当的调大一点,单个样本更新的频次可以降低一些。

联系方式:

ps: 欢迎做强化的同学加群一起学习:

深度强化学习-DRL:799378128 Mujoco建模:818977608 欢迎玩其他物理引擎的同学一起玩耍~

欢迎关注知乎帐号: 未入门的炼丹学徒

CSDN帐号: blog.csdn.net/hehedadaq

极简spinup+HER+PER代码实现: github.com/kaixindelele

代做工资流水公司惠州入职工资流水模板威海工作收入证明开具菏泽企业银行流水图片徐州薪资流水单代办西安查工资流水app截图南通工资流水账单多少钱重庆代做签证银行流水廊坊银行流水账单代做长春薪资流水单图片武汉代做签证流水打转账流水咸阳办理企业流水打印泉州查询银行流水单洛阳代做房贷银行流水唐山打车贷银行流水沧州制作房贷流水沈阳打薪资流水江门代做转账流水桂林公司银行流水公司台州对公银行流水样本泰安查询消费贷流水黄冈打印日常消费流水海口银行对公流水价格桂林流水账单代做宁波转账流水价格上海购房银行流水图片漳州银行流水电子版办理苏州工作收入证明查询湘潭个人工资流水 样本珠海查询企业贷流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化