2024年,强化学习的主流是什么?

财富   2024-10-29 18:46   北京  

转载自很棒的知乎UP https://zhuanlan.zhihu.com/p/703648372


前言:

这个帖子信息量比较多,主要有好几位群里的硕博同学的观点表达,我做了一个整理。可能有少许认知偏差,但我个人认为他们的认知,还是相对靠谱的。

题目起的比较大,因为群聊确实容易比较散,今天好不容易周日,几位工作的群友(应该是国内第一批强化的博士)有时间分享观点。

问题起点:2024年,强化学习在哪些领域有独一档的优势?

早上和 

@张海抱

 大佬聊的时候,我提到了24年,强化在哪些方面取得了比较独特的优势,简单列举了一下:


  • 首先最有说服力的就是有游戏引擎的游戏AI场景。基本上强化是ppo大规模并发是独一档的存在;

  • 其次是22年底火的RLHF。基于transformer架构的强化学习微调(或者说对齐),它也是PPO,不仅在语言模型,在TTS任务中,也有比较好的效果,比如前段时间字节的Seed-TTS。

  • 再然后就是24年再次火起来的机器人场景。其实在前两年,基于Isaac gym+PPO的四足机器人(可能还有无人机)场景,强化学习已经取得了很好的效果了。但今年人形机器人的爆火,又带动了一波。借助Isaac的大规模并发,ppo可以跳出随机性,跳出对奖励函数的敏感性。通过增加域随机化,可以一定程度上消弭sim2real的gap,从而搜索到近全局最优解。

目前这三个是我知道的,三个主要的应用落地场景。可以看出一些共性:

算法:PPO。简单,稳定,适合并发。

环境:尽可能的并发(可以看我之前的一个提问:ChenShawn的回答 - 知乎 强化学习有自己的scaling law吗?)最理想的情况是,训练和测试一致,比如游戏场景,或语言模型。次优情况是,仿真一次性建好,可以迁移到众多场景,比如本体机器人场景。比较难的场景是训练和测试差异过大,难以预估真实的应用场景,比如真实世界的物体操作任务。

强化学习有自己的scaling law吗?

说到上面三个共性的时候,其实我们就讨论到了强化的性能和并发数量的关系了。

@赵鉴

 提出,二者是正相关的关系,这几天也有一位答主表达出类似的观点。


这样的观点和我这种常年使用单智能体的旧版本RLer来说,确实是超纲了。

和LLM横坐标是模型参数大小的scaling law不同,RL的横坐标更可能是并发的数量。

这一点上面那个知乎提问下,有不少答主提供了一些参考文献,但我目前没有时间去看。欢迎看过的朋友一起讨论。

大家的反馈是,PPO的并发数量低于某个量级,可能性能就非常难以提升,且性能不够稳定,直到提升到某个关键变量时,则会有一个稳定的性能提升表现,这种类似于llm的“涌现”现象。其实本质上还是针对特定任务场景,RL的数据分布得足够广,才能有比较好的策略更新。

并发数量和Batch Size的关系。

赵博群里提到的另外一个点就是,并发量需要和BS匹配。

这个也比较直观。哪怕我做单智能体的任务,对于简单的单物体场景,batch 可以设为256,但三物体就必须提升到2048才能收敛了。只不过对于ppo的大规模并发,这个量级可能会更高。某群友的量化任务,需要提高到8K。

PPO的batch size性能提升是否有天花板?

王博贴出了他之前的一个疑问:ppo本身限制了policy更新的幅度,那么给ppo上大规模资源进行训练是一个高效的事情吗?总感觉上到某-batch size后,对于ppo再增资源是一件效率不高的事情?

我认为也合理。RL其实一直都是绑定env的信息,env的难度对策略的学习有非常显著的影响。

但上面说的三种场景,都是传统规则难以设计的任务,因此,对应的batch size天然要很高才行。

纯on policy的算法能否融入一些额外的高质量数据?

额外的数据本身和PPO的策略约束可能会冲突,但约束又能限制好幅度,所以这种东西应该算是一种trick。

至于相关的研究,我好像看过一些,但都是针对任务场景的先验信息的融合。

具体有熟悉的朋友,欢迎评论区或私信讨论交流。

样本高效的单智能体off-policy DRL还有研究的意义嘛?

关注过我的朋友应该知道,我的博士课题就是这个,好在我已经答辩过了。所以,我现在可以较为客观的评估这个方向。

前文讨论的三个方向,确实都是on-policy的PPO+多进程并发,性能可以通过堆叠算力来获得。

但这样操作的前提时,任务足够复杂,有仿真环境(其实相当于对任务建模了)。

而我们单进程的单智能体off policy DRL,可以在环境动力学未知的情况下,充分利用每次探索机会,每次交互采集到样本,高效在线学习新任务。

但有意思的是,我们这里的高效探索和高效利用样本的前提,也是对环境有一定的先验。比如,要有一个传统控制策略做引导,比如说根据任务结构,去做数据扩增(我的算法可以做到无损扩增20多倍)。

整体来说,相比完整的构建一个和真机类似的仿真环境,高效率的单进程的单智能体off policy DRL算法,对环境的先验信息要小的多。

这种情况在LLM guidance的范式下,好像又有了新的解法,所以,又是一个新话题了,后面等我有机会试试。

总结:

最近发现写帖子太花时间了,本身忙着离校的事情,也太忙了,这个帖子我拖了一周多才总结出来。

如果大家对这个帖子相关的问题感兴趣,欢迎加群讨论:QQ智能决策RL-LLM-Agent 495175345


编辑于 2024-06-27 10:49・IP 属地日本

内容所属专栏



    科研之路

    RL,LLM,aigc相关的干货文章合集

    订阅专栏

机器学习


深度学习(Deep Learning)


强化学习 (Reinforcement Learning)


已赞同 33146 条评论

分享

喜欢收藏申请转载

理性发言,友善互动


46 条评论

默认

最新

强化学徒

作者

今天我师弟问我强化学习怎么学,我跟他说,只用学ppo和isaac就够了

06-27 · 安徽

回复13

强化学徒

作者

逐梦星空

某位群友说,mujoco和雅它丽对强化的落地没有任何作用

06-28 · 安徽

回复2

丰臣英俊

isaac是指的isaac gym这个gpu仿真环境么?

08-14 · 上海

回复喜欢

展开其他 3 条回复

张海抱

我关注的人

很好的一些问题,特别是RL的scaling law。个人觉得,相比起说并发数和计算量,说数据量似乎更准确一些。个人还觉得,离线强化学习以后可能是强化学习性能的主要来源,而在线强化学习的作用可能主要还是fine-tuning或者 in-context learning。

06-27 · 北京

回复7

江水连萍

并发数应该是和data coverage有一定关联。offline RL要做scaling law,可能得需要满足一些隐含的条件(例如data convergence,quality,distribution合理)

06-27 · 德国

回复1

强化学徒

作者

但目前来说,离线强化学习有比较主流的应用落地和方法框架么,可能我看的确实比较少。

06-27 · 日本

回复1

展开其他 1 条回复

HasturOfficial

在搞强化学习+游戏王,经典双人零和博弈,试了一堆什么DouZero、Impala、RNAD、DeepNash,最终都不如PPO一把梭

06-27 · 北京

回复7

强化学徒

作者

这里面还有一个隐含的问题没讨论: 大的并发数量,对性能的提升,是数据多样性起的作用,还是高质量数据起的作用?
在在线学习的过程中,固定并发数的情况下,每次采样的数据分布中,数据质量肯定会逐渐提升的,在全状态空间下,分布的多样性自然也会下降,这二者天然冲突。
和off policy的不一样,off会把过去的数据都存经验池中,数据分布可以近似为全状态空间(低质量和高质量都有)。
但off对于复杂任务场景,一个非常难的点在于,它没法存得下这么多数据。
所以这个问题也值得大家讨论

06-27 · 安徽

回复3

木丰心

想听一听有无讨论 MARL 的

06-27 · 山西

回复1

强化学徒

作者

有,但不多,因为做这块的朋友都不太喜欢了~

06-27 · 安徽

回复喜欢

MoonCancer

现在有没有能高效使用先验知识的RL算法呢?比如说自动驾驶,如果用纯RL方法,网络需要闯红灯无数次被扣reward无数次才会学习到“不能闯红灯”,而人类学习这一点只需要别人说一次“不能闯红灯”这句话就足够了。

所以,有没有一种类似人类学习,高效的在RL框架中增加先验知识的方法?基于规则的系统在这里并不符合要求,因为知识也可能是模糊的,比如“下雨开慢点”,这里的“开慢点”不是一个明确的表述,但人类确实能从类似的模糊的指导意见中学习

07-10 · 浙江

回复喜欢

朱贤程

可以用大模型的先验知识引导

08-07 · 新加坡

回复喜欢

MoonCancer

豆皮豆皮

这肯定不在纯RL的框架下,毫无疑问

07-17 · 浙江

回复喜欢

展开其他 3 条回复

半张纸

关注我的人

请教骆大佬一个问题:理论上SAC等sample-efficient off-policy算法也可以并行,只是需要多进程间同步管理buffer(不清楚这个代价大不大)。实际上有人这么做吗?如果不计进程间通信代价的话,是否效果会比多进程并行PPO更好?

06-27 · 河北

回复喜欢

强化学徒

作者

好问题,这个当天群里也聊了,但我忘了整理了。
这个我回头再梳理一下

06-27 · 安徽

回复喜欢

ChenShawn

我关注的人

大胆回答一下这个问题(实现并且训练过异步大并发的SAC,只不过没玩多久老板就劝我目标导向,后来就没有继续推进了),初步大概的结论是,如果action是连续空间SAC会好一些,但是如果action空间很复杂(高维离散、带层次化的结构、带各种action mask),SAC处理起来会比较麻烦,最后效果也不见得比PPO好

06-27 · 上海

回复喜欢

丰臣英俊

大佬,有微信群么?QQ几乎不用了

08-14 · 上海

回复喜欢

momo

看过往ppo里加经验的,很抽象,根据经验相似度来加的

07-06 · 广东

回复喜欢

强化学徒

作者

雕花罢了~~

07-07 · 日本

回复喜欢

wertyuilife

ppo+高并发+issac的方案看起来相当naive而且promising,有人实践过吗?

07-04 · 陕西

回复喜欢

登山小文

有论文learning to walk in minutes using massively parallel deep reinforcement learning可以看看


人工智能与量化交易算法知识库
黄含驰的人工智能、优化与量化交易算法知识库,干货满满,不容错过!
 最新文章