002- 强化学习基础

强化学习基础

1. 强化学习的基本概念

强化学习(Reinforcement Learning, RL)是机器学习的一个分支,它关注如何使智能体(agent)在与环境的交互中学习最优策略,以最大化累积奖励。与监督学习和无监督学习不同,强化学习强调通过试错(trial-and-error)来学习,而不是通过标记数据或预定义模式。

1.1 核心组件

执行动作
产生状态
提供奖励
智能体
环境

强化学习系统包含以下核心组件:

  1. 智能体(Agent):学习和决策的实体,在大语言模型(LLM)的上下文中,智能体是语言模型本身。
  2. 环境(Environment):智能体交互的外部系统,提供状态和奖励信号。
  3. 状态(State):环境的当前情况,智能体基于此做出决策。
  4. 动作(Action):智能体可以执行的操作,在LLM中,动作通常是生成的文本或token。
  5. 奖励(Reward):环境对智能体动作的反馈,用于评估动作的好坏。
  6. 策略(Policy):智能体的决策规则,决定在给定状态下应该采取什么动作。

1.2 强化学习的目标

强化学习的目标是找到一个最优策略π*,使得从任何初始状态开始,按照该策略行动所获得的期望累积奖励最大化:

π ∗ = arg ⁡ max ⁡ π E [ ∑ t = 0 T γ t r t ] \pi^* = \arg\max_\pi \mathbb{E}\left[\sum_{t=0}^{T} \gamma^t r_t\right] π=argπmaxE[t=0Tγtrt]

其中:

  • r t r_t rt 是在时间步t获得的奖励
  • γ \gamma γ 是折扣因子(0≤γ≤1),用于平衡即时奖励和未来奖励
  • T T T 是交互的总时间步数(可以是有限的或无限的)

1.3 强化学习在LLM中的应用

在大语言模型的上下文中,强化学习通常用于以下目的:

  1. 对齐人类偏好:使模型输出符合人类期望和价值观
  2. 提高特定能力:如推理、创造性、安全性等
  3. 优化特定任务性能:如数学问题求解、代码生成等
生成文本
提供奖励信号
更新模型参数
输入提示
LLM
奖励模型
强化学习算法

2. 策略优化方法简介

策略优化是强化学习中的一类方法,直接优化策略函数,而不是通过值函数间接优化。在LLM的上下文中,策略就是语言模型本身,它决定了给定输入后生成什么文本。

2.1 策略梯度方法

策略梯度方法是最基本的策略优化方法,它通过计算奖励相对于策略参数的梯度来更新策略:

∇ θ J ( θ ) = E τ ∼ π θ [ ∑ t = 0 T ∇ θ log ⁡ π θ ( a t ∣ s t ) ⋅ R ( τ ) ] \nabla_\theta J(\theta) = \mathbb{E}_{\tau \sim \pi_\theta} \left[ \sum_{t=0}^{T} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot R(\tau) \right] θJ(θ)=Eτπθ[t=0Tθlogπθ(atst)R(τ)]

其中:

  • θ \theta θ 是策略参数
  • π θ \pi_\theta πθ 是参数化的策略
  • τ \tau τ 是一个轨迹(状态-动作序列)
  • R ( τ ) R(\tau) R(τ) 是轨迹的累积奖励

策略梯度方法的主要问题是样本效率低和训练不稳定。

2.2 信任区域方法

信任区域方法通过限制每次更新的步长来提高训练稳定性。信任区域策略优化(Trust Region Policy Optimization, TRPO)是一种代表性算法,它在更新策略时添加了一个约束,确保新策略与旧策略的KL散度不会太大:

max ⁡ θ E s , a ∼ π θ o l d [ π θ ( a ∣ s ) π θ o l d ( a ∣ s ) A π θ o l d ( s , a ) ] \max_\theta \mathbb{E}_{s,a \sim \pi_{\theta_{old}}} \left[ \frac{\pi_\theta(a|s)}{\pi_{\theta_{old}}(a|s)} A^{\pi_{\theta_{old}}}(s,a) \right] θmaxEs,aπθold[πθold(as)πθ(as)Aπθold(s,a)]

subject to  E s ∼ π θ o l d [ D K L ( π θ o l d ( ⋅ ∣ s ) ∣ ∣ π θ ( ⋅ ∣ s ) ) ] ≤ δ \text{subject to } \mathbb{E}_{s \sim \pi_{\theta_{old}}} \left[ D_{KL}(\pi_{\theta_{old}}(\cdot|s) || \pi_\theta(\cdot|s)) \right] \leq \delta subject to Esπθold[DKL(πθold(s)∣∣πθ(s))]δ

其中:

  • A π θ o l d ( s , a ) A^{\pi_{\theta_{old}}}(s,a) Aπθold(s,a) 是优势函数,衡量动作a相对于平均表现的好坏
  • D K L D_{KL} DKL 是KL散度,衡量两个分布的差异
  • δ \delta δ 是允许的最大KL散度

TRPO的主要缺点是计算复杂,实现困难。

2.3 基于人类反馈的强化学习(RLHF)

基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)是一种特殊的强化学习方法,它使用人类反馈作为奖励信号。RLHF通常包括以下步骤:

  1. 监督微调(SFT):使用人类标记的数据对预训练模型进行微调
  2. 奖励模型训练:训练一个模型来预测人类对生成文本的偏好
  3. 强化学习:使用奖励模型的输出作为奖励信号,通过RL算法优化语言模型
强化学习优化
奖励模型训练
RL算法
监督微调
最终模型
训练奖励模型
人类标注偏好数据
预训练LLM
RLHF训练

3. 传统PPO算法及其局限性

3.1 近端策略优化(PPO)算法

近端策略优化(Proximal Policy Optimization, PPO)是一种流行的策略优化算法,它结合了TRPO的稳定性和实现简单性。PPO通过裁剪目标函数来限制策略更新的幅度,而不是像TRPO那样添加硬约束:

L C L I P ( θ ) = E t [ min ⁡ ( r t ( θ ) A t , clip ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A t ) ] L^{CLIP}(\theta) = \mathbb{E}_t \left[ \min(r_t(\theta) A_t, \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t) \right] LCLIP(θ)=Et[min(rt(θ)At,clip(rt(θ),1ϵ,1+ϵ)At)]

其中:

  • r t ( θ ) = π θ ( a t ∣ s t ) π θ o l d ( a t ∣ s t ) r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)} rt(θ)=πθold(atst)πθ(atst) 是概率比率
  • A t A_t At 是估计的优势
  • ϵ \epsilon ϵ 是裁剪参数(通常为0.1或0.2)

PPO的完整目标函数通常还包括值函数损失和熵正则化项:

L T O T A L ( θ ) = E t [ L C L I P ( θ ) − c 1 L V F ( θ ) + c 2 S [ π θ ] ( s t ) ] L^{TOTAL}(\theta) = \mathbb{E}_t \left[ L^{CLIP}(\theta) - c_1 L^{VF}(\theta) + c_2 S[\pi_\theta](s_t) \right] LTOTAL(θ)=Et[LCLIP(θ)c1LVF(θ)+c2S[πθ](st)]

其中:

  • L V F L^{VF} LVF 是值函数损失
  • S S S 是策略的熵
  • c 1 , c 2 c_1, c_2 c1,c2 是系数

3.2 PPO在LLM中的应用

在大语言模型中,PPO通常用于RLHF的最后阶段。具体步骤如下:

  1. 使用当前策略(LLM)生成多个响应
  2. 使用奖励模型评估这些响应
  3. 计算优势函数
  4. 使用PPO更新LLM参数
LLM 奖励模型 PPO 生成多个响应 提交响应评估 返回奖励值 计算优势函数 计算PPO目标 更新模型参数 LLM 奖励模型 PPO

3.3 传统PPO的局限性

尽管PPO在LLM训练中取得了成功,但它在处理复杂推理任务时存在以下局限性:

3.3.1 依赖价值模型

PPO需要一个单独的价值模型(critic)来估计每个响应的价值,这会使内存和计算需求加倍。价值模型的训练也复杂且容易出错,特别是对于具有主观或细微评估的任务。

3.3.2 样本效率低

PPO需要大量样本来稳定训练,这在计算资源有限的情况下是一个挑战。对于需要长思维链的复杂推理任务,生成足够的高质量样本尤其困难。

3.3.3 难以处理长期依赖

传统PPO难以有效处理需要长期规划和推理的任务,因为奖励信号通常是稀疏的,难以将远期结果与早期决策关联起来。

3.3.4 奖励塑造困难

为复杂推理任务设计适当的奖励函数是非常困难的。简单的奖励可能导致模型采取捷径,而复杂的奖励又难以计算和优化。

3.3.5 计算开销大

PPO需要同时维护和更新策略模型和价值模型,这增加了计算开销。对于已经很大的语言模型来说,这进一步增加了训练的难度。

传统PPO局限性
依赖价值模型
样本效率低
难以处理长期依赖
奖励塑造困难
计算开销大
内存和计算需求加倍
训练复杂且易出错
需要大量样本
高质量样本生成困难
稀疏奖励信号
难以关联远期结果与早期决策
简单奖励导致捷径
复杂奖励难以计算
维护多个模型
增加训练难度

这些局限性促使研究人员开发新的算法,如DeepSeek-R1中使用的群组相对策略优化(GRPO),以更有效地提升大语言模型的推理能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值