浅谈RLHF - PPO最通俗易懂的数学解释

前言

曾在游戏世界挥洒创意,也曾在前端和后端的浪潮间穿梭,如今,而立的我仰望AI的璀璨星空,心潮澎湃,步履不停!愿你我皆乘风破浪,逐梦星辰!

简单回顾RLHF & PPO

RLHF (Reinforcement Learning from Human Feedback)PPO (Proximal Policy Optimization) 是强化学习中的两个重要概念,它们常用于训练代理系统,以便让它们在复杂环境中做出更好的决策。下面是对它们的简单介绍:

RLHF - 强化学习从人类反馈学习

RLHF 是一种基于人类反馈的强化学习方法。在这种方法中,代理并不是直接从环境中得到奖励信号,而是通过人类的反馈来调整行为。人类通过提供一些关于代理行为的反馈(比如点赞或批评),来引导代理改进其决策过程。这种方法特别适用于那些难以定义明确奖励函数的任务。

  • 基本流程

    1. 代理首先通过环境进行探索,产生一些行为序列。

    2. 然后,代理将这些行为展示给人类或使用预先设计的评分系统来获取反馈。

    3. 代理根据反馈调整策略,优化其未来的行为。

RLHF 的一个著名应用是在 GPT 等大型语言模型的训练中,通过人类评审来调整模型的输出,使其更符合人类的期望和价值观。

PPO - 近端策略优化

PPO(Proximal Policy Optimization)是一种基于策略梯度的强化学习算法,它在训练过程中优化代理的行为策略。PPO 通过在每一步更新中采取保守的更新策略,避免了策略更新过大,从而提高了学习的稳定性和效率。

  • 基本原理: PPO 通过最大化一个目标函数来更新策略,其中目标函数包括:

    • 旧策略的行为概率新策略的行为概率的比值。

    • 该比值的变化被限制在一个小范围内(通过剪切函数),从而避免策略更新过大导致的训练不稳定。

  • 特点

    1. 易于实现:PPO 算法相对简单且稳定,常被应用于各种强化学习任务。

    2. 样本效率较高:通过限制策略更新的幅度,PPO 能够更好地利用训练数据。

  • 优点

    • 比传统的策略梯度方法更稳定。

    • 能够处理连续动作空间和离散动作空间。

RLHF 与 PPO 结合

在许多实际应用中,RLHF 和 PPO 可以结合使用。例如,GPT 类模型训练中,代理可以通过 PPO 来学习一个合适的策略,同时通过 RLHF 进一步从人类的反馈中进行微调。这样的结合使得模型能够在复杂任务中不断优化,不仅符合环境奖励,还能符合人类的需求和期望。

简而言之:

  • RLHF 用人类的反馈来辅助强化学习过程,使得模型能更好地理解和优化行为。

  • PPO 通过稳定的策略更新来优化代理的行为策略,确保训练过程的稳定性和高效性。

这两者结合时,可以在不完备或复杂的奖励环境中,提供更加符合人类价值观的决策和行为。

✅ 一、回顾 PPO Loss 核心公式:

L(θ) = E[min(r(θ) * A, clip(r(θ), 1 - ε, 1 + ε) * A)]

其中:
r(θ) = πθ(a|s) / πθ_old(a|s)
A = advantage(优势值)
ε = 超参数(通常 0.1 ~ 0.2)

我们现在就用这个公式走一遍真实数值计算。


✅ 二、假设的数字输入(模拟一次模型行为)

我们设定以下场景:

项目解释
状态 s(prompt)"讲一个笑话"当前输入
动作 a(生成的回复)"有一天程序员掉进了 Bug 坑..."模型输出
πθ_old(as)0.05
πθ(as)0.06
Advantage A+3.0表示这是一个非常好的动作(好回答)
ε(clip range)0.2超参数,常用值

✅ 三、代入公式开始计算

1. 计算概率比值 r(θ)

r = πθ(a|s) / πθ_old(a|s)
  = 0.06 / 0.05 = 1.2

👉 表示新模型比旧模型更倾向于这个回答(增加了 20%)


2. 计算 unclipped loss

unclipped_loss = r * A = 1.2 * 3.0 = 3.6

3. 计算 clipped loss

先 clip r 到 [1 - ε, 1 + ε] = [0.8, 1.2]

clip(r) = min(max(1.2, 0.8), 1.2) = 1.2(没被截断)
clipped_loss = clip(r) * A = 1.2 * 3.0 = 3.6

4. 最终 loss 取两者中较小值:

L = min(unclipped_loss, clipped_loss) = min(3.6, 3.6) = 3.6 ✅

✅ 四、换一种情况(r 超过 clip)

比如 πθ(a|s) = 0.08:

r = 0.08 / 0.05 = 1.6
A = 3.0
r * A = 1.6 * 3.0 = 4.8
clip(r) = min(max(1.6, 0.8), 1.2) = 1.2
clip(r) * A = 1.2 * 3.0 = 3.6

→ L = min(4.8, 3.6) = **3.6**

🔺虽然模型越来越偏向这个动作,但为了稳定,我们最多只让它提升 20%!


✅ 再来一个负优势的情况(坏动作)

| πθ_old | 0.10 | | πθ | 0.06 | | A | -2.0 |

r = 0.06 / 0.10 = 0.6
r * A = 0.6 * (-2) = -1.2
clip(r) = clip(0.6, 0.8, 1.2) = 0.8
clip(r) * A = 0.8 * (-2) = -1.6

→ L = min(-1.2, -1.6) = **-1.6**

👉 模型太不想选这个动作了,但 clip 限制不能太快降低,否则会误伤潜力动作。


✅ 五、总结

情况概率比 rAdvantage ALoss 结果解读
动作比原来好一点1.23.03.6允许优化
动作太偏离原来1.63.03.6(被 clip)限制更新,防止过拟合
坏动作0.6-2.0-1.6惩罚,但不能惩罚太狠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值