原始文章发布在知乎,欢迎移步:《关于GR-RL与PI-0.6的一些想法》
最近学习了字节跳动gr-1/gr-2/gr-3/gr-rl(关于gr-rl:文档1和文档2)系列工作,再结合以前看的pi系列模型或算法,产生了一些想法,想法可能不成熟甚至有错误,仅在此记录总结一下,以便回顾。
1,gr-1/gr-2是基于视频生成的技术路线去设计,核心就是通过未来帧的预测,一方面可以利用海量的视频数据,另一方面可以学习到一些语义和操作的通用知识。而gr-3完全换了路线,切换到了pi0/pi0.5这种基于VLM+action expert(flow matching)的路线上,是否说明在技术路线上前者不如后者呢?
2,两个系列模型发展路线:
pi0->pi0.5->pi0.6(RL)
gr-1->gr-2->gr-3->gr-rl
pi0.5与gr-3,pi0.6与gr-rl这两两之间的思路已经相当接近了,有一种殊途同归的感觉,读相关的技术报告确实可以学习到很多。字节的开源精神再强一些,把相关的代码开源一下,可以让大家复现就更好了。
3,今天详细的阅读了gr-rl论文,它是based在gr-3的基础之上,有一些收获吧:
3.1,通过时序差分(TD)的思想去训练一个critic网络,并且先通过数据离线进行训练,这点和pi0.6中的思路是一样的。离线先训练critic应该可以减少RL整体的训练时间。有些细节不同之处是:pi0.6是训练了一个V函数,而gr-rl训练了一个Q函数,另外gr-rl训练的Q函数输出是一个分布,而不是传统强化学习中的一个值,论文中说分布更加鲁棒。
3.2,策略网络的训练,gr-rl与pi0.6差别比较大,最近也看了一些如何在flow matching基础之上让强化学习去训练它的一些方法,例如:《 π RL(piRL)算法支持用强化学习方法训练π 0/π 0.5(pi0/pi0.5)》。其实大家所做的目标只有一个,就是如何将RL与flow matching结合,一句话说核心点:
pi0.6是通过训练好的critic网络生成一个condition去sft监督训练策略网络;
gr-rl不会动已经sft训练好的策略网络,而是对flow matching初始时的那个原始噪声进行了优化,通过一个噪声网络
去预测这个初始噪声,同时也增加了一个Q网络
对噪声策略输出的噪声进行打分。在前向推理的时候,不再从高斯采样,而是让 π_θ′ 根据当前观测直接给出最优噪声 ε,再由冻结的流模型一步(或少量几步)解码成动作。整体上,此方案相当于在flow matching基础之上,找到了一个突破口(初始噪声),在这个突破口上添加了一个外挂,在强化学习中去训练这个外挂,外挂外的其它部分不参与训练。论文中相关的描述如下:
pi0.6/gr-rl/piRL三者的思路有没有优劣之分,目前还不太清楚,后续有时候看一下相关的参考文献或亲自尝试一下。如果各位有相关信息,希望能不吝赐教!
3.3,双buffer的设计类似于:《具身智能hil-serl强化学习算法在lerobot机械臂上复现》中的双buffer。
3.4,通过模仿学习,数据增强,强化学习协同的方式持续提升效果,短期有可能会是一个主流的范式。