抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

强化学习

在不远的过去,强化学习被各种唱衰,环境难以模拟、算法难以泛化、激励难以设计、应用场景有限等等,很多人认为强化学习很酷,但就是“没用”。但随着LLM的兴起,RL可以帮助LLM实现对齐人类偏好、、提升生成质量、低成本Post Train,RL瞬间成为了一种杀手级应用。于是最近一段时间,无论是LLM、Diffusion、具身智能,都开始搞RL了。

我最近打算使用RL训练Diffusion,以提升美学质量和图文对齐程度,于是从头开始学习RL

概述

强化学习(reinforcement learning,RL)讨论的是智能体(agent)如何在环境中最大化奖励。智能体一直在与环境交互,智能体会评估当前状态,输出动作,获得奖励。

AE_loop

环境

强化学习的环境由四部分组成:

  • 状态空间
  • 动作空间
  • 状态转移概率
  • 奖励函数

对于一些情况,我们并没有显式的状态转移概率和奖励函数,智能体依赖交互数据对去学习策略。这种环境是一种黑箱的情况,我们称之为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$ 的函数,用梯度上升的方法优化它

直观含义是:

  1. 如果一个动作回报高,则增加这个动作的概率
  2. 如果一个动作回报低,则降低这个动作的概率

RL Diffusion相关工作

  • Reward Model:作为一个评估函数,输入一张(pointwise)或一对(pairwise)数据,输出一个标量奖励值或相对值,用于衡量生成结果是否符合目标或人类偏好
  • RL:一种优化算法,调整Diffusion的生成策略,使其学会讨好RM

要解决的事情:

  1. 好的Reward Model
  2. 令RL可以优化Diffusion
    1. 采样生成
    2. 计算奖励
    3. 更新Diffusion参数
  3. Reward Hacking:Diffusion模型学会了最大化奖励函数,但没能真的学会你想要的能力,而是利用奖励函数的漏洞来作弊,取巧没学到真东西

Reward model

Reward Dance

《RewardDance: Reward Scaling in Visual Generation》

动机:构建一个统一的、可缩放的的RM

创新点:

  1. 训练一个VLM,输入两张图片和prompt,输出yes/no,判断第一张图是否更好
  2. 奖励分数设置为VLM预测yes的概率
  3. 相较于CLIP等模型,VLM更容易进行scale up,可以使用1B~26B的模型
  4. 可以引入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》

参考

easy-rl

评论