强化学习
在不远的过去,强化学习被各种唱衰,环境难以模拟、算法难以泛化、激励难以设计、应用场景有限等等,很多人认为强化学习很酷,但就是“没用”。但随着LLM的兴起,RL可以帮助LLM实现对齐人类偏好、、提升生成质量、低成本Post Train,RL瞬间成为了一种杀手级应用。于是最近一段时间,无论是LLM、Diffusion、具身智能,都开始搞RL了。
我最近打算使用RL训练Diffusion,以提升美学质量和图文对齐程度,于是从头开始学习RL
概述
强化学习(reinforcement learning,RL)讨论的是智能体(agent)如何在环境中最大化奖励。智能体一直在与环境交互,智能体会评估当前状态,输出动作,获得奖励。
环境
强化学习的环境由四部分组成:
- 状态空间
- 动作空间
- 状态转移概率
- 奖励函数
对于一些情况,我们并没有显式的状态转移概率和奖励函数,智能体依赖交互数据对去学习策略。这种环境是一种黑箱的情况,我们称之为model free。而那种有显式的可学习的状态转移函数+奖励模型的情况,称之为model base
马尔可夫决策过程
过程
过程(Process):一个随着时间变化的随机变量序列。如每天的股票价格、每天的天气情况
马尔可夫性
马尔可夫性:未来仅依赖于当前,而不依赖过去
$$
P(s_{t+1},|,s_t, s_{t-1}, \dots, s_0) = P(s_{t+1},|,s_t)
$$
马尔可夫链
马尔可夫链(Markov Chain):一种满足马尔可夫性的随机过程
马尔可夫过程
马尔可夫过程(Markov Process):马尔可夫链的形式化定义
$$
\langle S, P \rangle
$$
-
$S$:状态空间
-
$P$:状态转移概率矩阵
马尔可夫奖励过程
马尔可夫奖励过程(Markov Reward Process, MRP):在MP上加入奖励信号
$$
\langle S, P, R, \gamma \rangle
$$
- $R(s)$:在状态 $s$ 下得到的期望奖励
- $\gamma \in [0,1]$:折扣因子,控制未来奖励的重要性
马尔可夫决策过程
马尔可夫决策过程 (Markov Decision Process, MDP),在MRP中引入动作,智能体可以通过策略来影响环境演化
$$
\langle S, A, P, R, \gamma \rangle
$$
- $A$:动作空间
传统RL算法
Q-Learning
Q表格是一张已经训练好的表格,行是状态数,列表示在该状态下该动作的平均总奖励,形如
| 动作1 | 动作2 | |
|---|---|---|
| 状态1 | 0 | -90 |
| 状态2 | 0 | 10 |
表格型方法:通过查Q表格,我们就可以判断某个状态应该使用什么动作。训练的过程就是将一张空的Q表格填满,用蒙特卡洛采样的方式更新Q表格
PPO
近端策略优化(proximal policy optimization,PPO)
- 同策略(on-policy):学习的策略和与环境交互的策略是同一个,如PPO
- 异策略(off-policy):学习的策略和与环境交互的策略可以不同,如Q-Learning、DQN
以学下棋为例,如果一个人每下一步棋,就有老师给他打分,这个棋局是自己下出来的,就是同策略。而如果是观察他人下棋,老师告诉你哪一步是好棋/坏棋,这就是异策略
策略梯度
策略(policy)是智能体的决策规则,是智能体在状态 $s$ 下采取行动 $a$ 的概率,由参数 $\theta$ 控制
$$
\pi_\theta(a|s)
$$
策略是参数化的 $\pi_\theta$,将长期奖励目标视为 $\theta$ 的函数,用梯度上升的方法优化它
直观含义是:
- 如果一个动作回报高,则增加这个动作的概率
- 如果一个动作回报低,则降低这个动作的概率
RL Diffusion相关工作
- Reward Model:作为一个评估函数,输入一张(pointwise)或一对(pairwise)数据,输出一个标量奖励值或相对值,用于衡量生成结果是否符合目标或人类偏好
- RL:一种优化算法,调整Diffusion的生成策略,使其学会讨好RM
要解决的事情:
- 好的Reward Model
- 令RL可以优化Diffusion
- 采样生成
- 计算奖励
- 更新Diffusion参数
- Reward Hacking:Diffusion模型学会了最大化奖励函数,但没能真的学会你想要的能力,而是利用奖励函数的漏洞来作弊,取巧没学到真东西
Reward model
Reward Dance
《RewardDance: Reward Scaling in Visual Generation》
动机:构建一个统一的、可缩放的的RM
创新点:
- 训练一个VLM,输入两张图片和prompt,输出yes/no,判断第一张图是否更好
- 奖励分数设置为VLM预测yes的概率
- 相较于CLIP等模型,VLM更容易进行scale up,可以使用1B~26B的模型
- 可以引入CoT,除了简单的yes/no,还可以额外生成reason,以提高RM的可解释性
HPSv3
《HPSv3: Towards Wide-Spectrum Human Preference Score》
MPS
《Learning Multi-dimensional Human Preference for Text-to-Image Generation》
UnifiedReward
《Unified Reward Model for Multimodal Understanding and Generation》
OneReward
《OneReward: Unified Mask-Guided Image Generation via Multi-Task Human Preference Learning》
计算奖励
BoN
Best-of-N
生成N个结果,从中挑选出最优的
更新Diffusion
ReFL
Reward Feedback Learning,奖励反馈学习,《 ImageReward: Learning and Evaluating Human Preferences for Text-to-Image Generation 》(arXiv:2304.05977)
ReFL是一种基于偏好反馈的强化学习方法,在ImageReward论文中引入,使用一个Reward model来优化diffusion model
diffusion模型生图是从噪声逐步去噪的过程,在生图的某个中间阶段,将中间图像送至Reward模型,得到一个分数,用这个分数作为loss回传,更新diffusion参数
Flow-GRPO
《Flow-GRPO: Training Flow Matching Models via Online RL》
基于Reward models fine-tune大模型/扩散模型
RM分为:
- 打分器:只能输出分数/好坏,但是没有梯度(不知道该往哪个方向改)
- 可微打分器:不仅能输出分数/好坏,还能输出梯度,直接反向传播到主模型中
DPO:无需RM,在同一个prompt下生成两个回答,由人类标注更喜欢某个回答,模型学习人类偏好
GRPO:DPO的泛化版,依旧是一个prompt生成两个回答,但通常是由一个RM负责打分
Pref-GRPO
《Pref-GRPO: Pairwise Preference Reward-Based GRPO for Stable Text-to-Image Reinforcement Learning》
DiffusionNFT
《DiffusionNFT: Online Diffusion Reinforcement with Forward Process》