DanceGRPO:首个统一视觉生成的强化学习框架

360影视 日韩动漫 2025-05-14 18:38 1

摘要:本文由字节跳动 Seed 和香港大学联合完成。第一作者薛泽岳为香港大学 MMLab@HKU 在读博士生,在 CVPR、NeurIPS 等国际顶级会议上发表多篇研究成果。项目通讯作者为黄伟林博士和罗平教授。

本文由字节跳动 Seed 和香港大学联合完成。第一作者薛泽岳为香港大学 MMLab@HKU 在读博士生,在 CVPR、NeurIPS 等国际顶级会议上发表多篇研究成果。项目通讯作者为黄伟林博士和罗平教授。

R1 横空出世,带火了 GRPO 算法,RL 也随之成为 2025 年的热门技术探索方向,近期,字节 Seed 团队就在图像生成方向进行了相关探索。

现在,我们推出名为 DanceGRPO 的创新框架,这是首个旨在统一视觉生成强化学习的解决方案,实现了单一强化学习算法在两大生成范式(diffusion/rectified flow)、三项任务(文本到图像、文本到视频、图像到视频)、四种基础模型(SD、HunyuanVideo、FLUX、SkyReels-I2V)以及五类奖励模型(图像 / 视频美学、图文对齐、视频动态质量、二元奖励)中的全面覆盖。

论文标题:DanceGRPO: Unleashing GRPO on Visual GenerationarXiv 链接:https://arxiv.org/pdf/2505.07818

动机

在生成式 AI 快速发展的这三年,RLHF 逐渐的走进了大家的视野,首先是 GPT-3.5/o1 等一系列工作让大家明白了 RLHF 在 LLM 中的意义,LLM 领域的 RLHF 方案百花齐放,发展的相对成熟一些,今年更催生了 R1 这一类的大爆款工作。同时,大家也发现,对于视觉生成任务,RLHF 对美感等指标几乎有着决定性影响,但相较 LLM 的成熟度,生成领域的 RLHF 方案显然没那么成熟,目前的主流方案大概分为两类:

1. Diffusion/Flow-DPO:这一类方法是也是直接来自于 LLM 的 DPO 的影响,在实际操作中,大体分为两种方案,第一种是离线 DPO,即让模型去生成一批数据,然后人工标注,然后让好和坏的数据组成 pairs 送回模型去优化,第二种是在线 DPO,即在线生成数据,然后让 reward model 实时打分,然后拿回去训练,这两种思路大同小异。在实际操作中,我们发现 DPO 对模型的效果比较微弱,比如 DPO 前后的生成结果区别并不是很大,原因也很好理解,DPO 并没有拿 reward 作为信号去 reinforce 模型的学习,而是用一种类似 SFT 的方案去做,这种情况下对模型的作用并不是很大。

2. ReFL:这一类方案是 diffusion/rectified flow 所专有的,思路非常简单直接,就是直接在 z_t 步下直接预测 z_0 的结果,然后 vae 去 decode 直接送进 reward model 去直接反向传播进行优化。这一类方案在图像上效果很明显,但是因为要对 reward model 和 decode 后的 features 进行反向传播,在面对 100 帧以上的视频生成的时候显存压力很大。而且,目前 LLM 和 diffusion 联合训练已成为大势所驱,ReFL 这种通过建模 z_t 和 z_0 的关系,并且直接反向传播的方式,似乎和这一类模型的建模策略有着很大的 gap。

于是,利用强化学习对模型进行优化的思路也就呼之欲出了,之前社区也对强化学习优化生成模型有过一些探索,例如 DDPO 和 DPOK,但是他们都有很强的局限性:

1. 尝试的数据集非常小,一般小于 100 个 prompts,

2. 只针对文生图 diffusion model 进行了测试,并没有涉及到目前流行的 rectified flow 和视频生成模型

实现目标

于是,我们的目标也呼之欲出,我们的强化学习算法需要满足以下特征:

1. 提升明显,reward 上涨的足够多

2. 在 video 上实现的时候显存压力不能大,即,不能直接反向传播 reward model 和 vae

3. 能在大型 prompt 数据集上训练

4. 能迁移到 rectified flow 和视频生成模型

DanceGRPO

核心贡献

我们是第一个视觉生成 + 强化学习的大一统框架,一个 DanceGRPO,可以应用在 diffusion 和 rectified flow,可以应用在文生图,文生视频,图生视频三类任务,我们在四个 foundation model 上进行了测试,包括了 Stable Diffusion,FLUX,HunyuanVideo,SkyReel-I2V,我们还在五个 reward model 上进行了测试。

方案设计

受最近在 LLM 大火的 GRPO 影响,我们开始尝试 GRPO 这一类方案是否能在 diffusion model 或者 rectified flow 上稳定训练,首先我们要 claim 的点是,diffusion model 和 rectified flow 的出发点虽然不同,即 diffusion 和 rectified flow 都可以表示成 stochastic interpolant 的特殊情况,在这种 case 下,他们的采样方程都可以用 SDE 实现,具体的公式推导参见原文即可。

接下来,我们就开始实现啦,核心的思路还是 follow 了 DeepSeek 的 GRPO 策略,即,用一个 prompt,生成一批数据,然后用 GRPO 的目标函数进行优化,但我们并没有加入 KL 散度的正则项,因为发现这一项实际上作用不大,以下是我们实验过程中的一些核心发现:

1. 同一个 prompt 的初始化噪声最好相同,不然容易 reward hacking

2. 我们可以采样一个子集的 timesteps 来加速训练,同时让模型见过更多的 prompts

3. 实现中可以使用多个 reward model 叠加,而且实现的时候最好是多个 advantage 来叠加

4. DanceGRPO 可以学会 best-of-n inference scaling 的轨迹

5. 强化学习会削弱生成的多样性

6. 训练尽量不要打开 cfg,如果非要打开的话,一批 prompt 只能更新一次梯度

算法流程如下:

接下来是关于 reward model 的讨论,我们一共使用了五类 reward model:

(1) 图像美感

(2) 视频美感

(3) 图文匹配

(4) 视频动态质量

(5) 我们提出了一种新的 reward model,即把美感 & 图文匹配 reward model 的结果给二值化,意思是大于某个阈值就是 1,小于这个阈值就是 0

我们在文生图,文生视频和图生视频上进行了测试。

实验结果

我们使用了 HPS-v2.1 和 Clip score 去优化模型,结果如下所示:

我们利用 VideoAlign 在 HunyuanVideo 上进行训练:

以下是一些 reward 曲线:

ps:i2v 任务有一些区别,我们拿视觉美感 reward model 训练的时候很容易发散,个人认为是因为 i2v 的美感更多取决于首帧,这个任务本身只有 motion quality 可言,所以我们只选择了使用 motion quality reward 去进行训练。

这是一个随着 FLUX 训练迭代次数的增加,可视化的变化,我们在训练过程中引入随机性,但是可视化是不会引入的,就是正常的 ODE solver。

更多的结果欢迎看原文~

来源:机器之心Pro一点号

相关推荐