强化学习 RL

一、强化学习介绍

1.概念

强化学习(Reinforcement Learning, RL)是机器学习的一个子领域,是一种机器学习方法。它的核心在于 “试错” (Trial and Error)。

定义1:强化学习就是训练一个智能体(Agent),通过与环境(Environment)进行交互,通过不断的尝试(试错,Trial and Error)来发现哪些行为能获得最大的奖励(Reward),从而学会做决策完成某项任务。

定义2:强化学习(Reinforcement Learning, RL)是一种让智能体(agent)通过“试错”来学习做决策的机器学习方法:它在环境(environment)里采取动作(action),环境给它奖励(reward)或惩罚,它的目标是在长期内获得尽可能大的累计回报。

定义3:强化学习:智能体与环境交互、通过回报最大化来学习

  • 策略(Policy):在某个状态下该选哪个动作(可以是确定的,也可以输出概率)。
  • 利用(Exploration):选当前看起来最好的动作拿分
  • 探索( Exploitation):尝试没怎么试过的动作,可能发现更好的路
    强化学习难点之一就是平衡这俩。

2.核心组成部分:5个

  • 智能体(Agent):做决定的人/程序(比如游戏里的 AI、机器人)。
  • 环境(Environment):智能体所处的世界(游戏规则、物理世界、交易市场等)。
  • 状态(State):当前局面是什么样(棋盘局面、机器人位置等)。
  • 动作(Action):在当前状态下能做什么(走一步、转向、买/卖)。
  • 奖励(Reward):环境对动作的反馈分数(得分+1、撞墙-10)。

智能体的学习目标通常写成:最大化 长期累计奖励(而不是只看眼前这一步的奖励)。


3.RL分类

(1)在线强化学习(Onlien RL) vs 离线强化学习(Offline RL)

1.数据来源
(1)Online RL:训练时边交互边收集新数据(轨迹/transition),并用这些新数据立即或很快更新策略。
(2)Offline RL:训练时只用预先收集好的静态数据集,不再进行额外在线交互/探索。


2.表格对比

维度在线强化学习(Online RL)离线强化学习(Offline RL)
数据来源策略与环境实时交互产生预先收集的静态数据集
探索方式当前策略主动探索环境无法探索,只能利用已有数据
策略更新采样 → 评估 → 更新 → 再采样(循环)在固定数据上直接训练
核心挑战样本效率、探索-利用权衡分布偏移(Distribution Shift)、外推误差
计算成本高(需持续 rollout)低(一次训练,无需环境交互)
安全性训练过程可能产生危险行为训练过程安全(不接触真实环境)
典型算法PPO、GRPO、DQNDPO

4.例子

训练一只“游戏 AI”:

  • 状态:当前画面/位置/血量
  • 动作:向左/右/跳跃/攻击
  • 奖励:过关 +100、死亡 -100、捡到道具 +10

AI 一开始乱按,慢慢发现哪些行为会带来更高的长期收益,于是策略越来越像高手。


5.强化学习和其他学习方式的区别

  • 监督学习:有标准答案(输入→正确标签),像“做题对答案”。
  • 无监督学习:没有标签,主要发现结构(聚类、降维)。
  • 强化学习:没有一步步的标准答案,只有“做了之后得了多少分”,而且很多奖励是延迟的(比如下棋:走了很多步才知道赢没赢)。



二、术语表 glossary

缩写英文全称中文释义拓展
RLReinforcement Learning强化学习
SFTSupervised Fine-Tuning监督微调
PPOProximal Policy Optimization近端策略优化RLHF 的强化学习阶段。
最早的方法,缺点是消耗显存,成本高
DPODirect Preference Optimization直接偏好优化消耗显存少,简单,快速上手微调一个demo
GRPOGroup Relative Policy Optimization群组相对策略优化组均分作为baseline,适合长思维链(CoT)的推理训练
KL散度Kullback–Leibler divergence



三、强化学习算法

0.分类

(1)基于「价值/策略」的经典分类,決定了模型到底是记住「分数」还是记住「动作」

1.基于价值 (Value-Based):SarsaQ-learning。主要用于离散动作 (比如玩馬里奧:左、右、跳)
2.基于策略 (Policy-Based):REINFORCE (Policy Gradient)。可以处理连续动作 (比如机器人手臂的力度控制),也能学出随机策略 (剪刀石头布)
3.两者结合:Actor-Critic(AC 架构),是目前最强、最主流的架构
①Actor (演员/策略):负责做动作
②Critic (评论家/价值):负责打分
代表算法:PPO (ChatGPT用PPO), A3C, SAC, DDPG, TRPO


(2)根据「学习方式」,分为 同策略(On-Policy)、异策略(Off-Policy)

決定了训练的效率和稳定性

1.同策略 (On-Policy):
(1)定义:「边做边学」。学习的数据必须是当前最新的策略亲自跑出来的。旧数据一旦用过就得扔。
(2)代表算法:Sarsa, PPO, TRPO
(3)优点:稳定
(4)缺点:慢 (数据利用率低,因为不能用旧经验)

2.异策略 (Off-Policy):
(1)定义:「博采众长」。把过去的经验存进一个经验回放池 (Replay Buffer),或者学习别人的经验。
(2)代表算法:Q-Learning, DQN, DDPG, SAC
(3)优点:快(数据利用率高)
(4)缺点:不稳定 (难收敛)


(3)根据「是否懂世界」,分为 无模型(Model-Free) 和 有模型(Model-Based)

1.无模型 (Model-Free):
(1)比喻:像学骑自行车。你不需要懂牛顿力学公式 (环境模型),你只要凭感觉试错,知道怎么骑不倒就行。
(2)现状:目前90%的主流RL(包括PPO, DQN) 都是 Model-Free 的。因为现实世界太复杂,很难建模。

2.有模型 (Model-Based):
(1)比喻:像下围棋。你知道规则 (环境模型),知道我在这里落子,下一步棋盘会变成什么样。你可以预测未来 (Planning)
(2)代表算法:AlphaZero(结合了搜索), World Models
(3)现状:效率极高 (不用真的去试错,脑子里推演就行),但如果模型建錯了,就会产生极大的误差。


1.SARSA

1.流程: S → A → R → S ′ → A ′ S→A→R→S'→A' SARSA

2.Q-learning

Q-learning:学“动作价值”再间接得到策略 (Value-based)

Q-learning:RL 里一类最经典的 价值函数方法(value-based),更具体地说是学 动作价值函数 𝑄(𝑠,𝑎),再用 arg max ⁡ 𝑎 𝑄 ( 𝑠 , 𝑎 ) \argmax_𝑎𝑄(𝑠,𝑎) argmaxaQ(s,a)选动作。


3.异同点

(1)相同

更新公式结构: N e w Q = O l d Q + α × [ T a r g e t − O l d Q ] NewQ=OldQ+α×[{\rm Target}-OldQ] NewQ=OldQ+α×[TargetOldQ]


(2)不同

1.对于Q值的更新
(1)SARSA 必须实际迈出下一步(选好A’),才能回头更新上一步的价值。
(2)Q-learning 不需要提前选定下一步的A’。它在更新时,会假设下一步“即使我不这么走,我也按最好的那种可能(Max)来算分”

算法Target(目标值)计算部分解释
SARSA R + γ ⋅ Q ( S ′ , A ′ ) R+γ·Q(S',A') R+γQ(S,A)使用实际上下一步采取的动作A’的价值
Q-learning R + γ ⋅ m a x a Q ( S ′ , a ) R+γ·{\rm max_aQ(S',a)} R+γmaxaQ(S,a)使用下一步所有可能动作中理论上最好的那个价值 (不管实际上会不会选它)

2.本质区别
(1)SARSA 是 On-Policy (同策略):

(2)Q-learning 是 Off-Policy (异策略):

在这里插入图片描述


(3)如何选择?

在这里插入图片描述



四、RL与SFT

1.在当前的“大模型训练流水线”中,SFT 和 RL 是继“预训练(Pre-training)”之后的两个关键步骤。


2.可以把大模型想象成一个刚毕业的大学生:
(1)预训练 (Pre-training):他在大学里读了海量的书,知识渊博,但不懂职场规矩,说话可能没头没尾,甚至会胡言乱语。
(2)SFT 是 “入职培训”:教他怎么按要求干活(比如写邮件、写代码)。
(3)RL 是 “绩效考核”:通过不断的奖惩反馈,让他学会如何把活干得更好、更符合老板(人类)的喜好。


3.为什么先做 SFT 再做 RL?
这就像教人学做菜:
(1)SFT 阶段:先照着菜谱学(模仿标准动作),至少得先把菜做熟,别把糖当成盐。如果连基本的菜都做不出来,直接去比赛(RL)肯定全是负分,学不到东西。
(2)RL 阶段:基本功扎实了,再通过顾客的评价(咸了、淡了、不够鲜)来微调火候,最终成为特级厨师。


4.一句话总结:SFT 决定了模型的下限(能不能用),RL 决定了模型的上限(好不好用)。


0.大模型训练的三步走:pre-train、SFT、Alignment

pre-train 预训练,学通识
post-train 后训练,包括 Fine-tuning 和 Alignment

什么时候“没必要”上 post-train?
①只是想更新事实/知识(比如公司最新政策、今年数据)→ 通常 RAG/检索比训练更快更稳
②只是想固定一点输出格式 → 先试 提示词+约束解码/校验器,不一定要训练
③数据很少且高风险 → 先做小规模 LoRA + 严格评测,别盲目全参后训练

(1)预训练 (pre-train)

大规模通用语料学语言规律

(2)监督微调 (SFT)

用高质量指令数据/领域数据,学“怎么按要求回答”


(3)偏好对齐 (Preference Alignment)

例如RLHF/DPO等,用偏好数据让回答更符合人类偏好(安全、帮助性、少胡编等)


1.SFT (Supervised Fine-Tuning) —— 有监督微调

“手把手教,照猫画虎”

1.是什么:
我们给模型提供成对的高质量数据(Question + Answer)。告诉模型:“当用户问这个问题时,标准答案就是这个,你给我背下来,以后照着这个写。”

2.目的:
激发模型的能力,让它学会**“遵循指令”**。 预训练后的模型只会“接龙”(比如你说“床前明月光”,它接“疑是地上霜”)。SFT 后的模型学会了“回答问题”(你说“请写一首关于月亮的诗”,它会真的去写一首诗,而不是接着你的话往下编)。

3.数据形式:
Prompt(提示词)+ Perfect Response(完美回答)。

4.局限性:
模型只能模仿训练数据。如果训练数据里没有写过某种复杂的代码,模型就很难无师自通。


2.RL (Reinforcement Learning) —— 强化学习

“自主探索,优胜劣汰”

1.是什么:
在 LLM 领域,这通常指 RLHF (Reinforcement Learning from Human Feedback)。 我们不给模型标准答案了,而是给它一个问题,让它自己生成几个回答。然后,我们(或者一个模拟人类的奖励模型)给这些回答打分:“这个好(+1分),那个差(-1分)”。模型通过试错,自己琢磨出什么样的回答能拿高分。

2.目的:
“对齐” (Alignment)。让模型不仅能回答问题,还能回答得更安全、更有逻辑、更符合人类价值观。同时,RL 能帮助模型突破 SFT 的天花板,通过探索找到比训练数据更好的解法(比如 AlphaGo 下出了人类棋谱里没有的招数)。

3.数据形式:
Prompt + Reward Signal(好坏评分)。

4.核心优势:
解决了“有些东西很难写出标准答案,但很容易判断好坏”的问题(比如写一篇“幽默”的小说,很难手把手教,但很容易判断是否好笑)。



五、大模型对齐算法(Alignment)

1.概念

(1)PPO (Proximal Policy Optimization)

1.地位:RLHF(基于人类反馈的强化学习)的**“工业界标准”**,也是 OpenAI 训练 ChatGPT(GPT-3.5/4)时使用的核心算法。

2.原理: PPO 是一种经典的强化学习算法。它采用 Actor-Critic (演员-评论家))架构。

  • Policy 策略模型 / Actor模型:生成回答
  • Reward Model 奖励模型:给回答打分
  • Critic 评估模型:评估这个状态的价值

PPO通过比较,更新Actor的参数,让它下次生成分数更高的回答。为了防止模型更新步子迈得太大导致“学坏”,PPO引入了“裁剪(Clipping)”机制,限制每次更新的幅度。

3.痛点: 极度消耗显存训练极不稳定。标准的 PPO 训练过程中通常需要同时加载 4 个模型 (Actor, Reference, Reward, Critic),对 GPU 资源要求极高,且超参数很难调。


(2)DPO (Direct Preference Optimization)

1.地位:RLHF 的**“简化颠覆者”**,由斯坦福大学在 2023 年提出。它让很多开源模型(如Llama 3的某些微调版本)放弃了 PPO。

2.原理: DPO 的核心思想是:不需要显式的奖励模型(Reward Model)。 它通过数学推导证明,可以直接利用人类的偏好数据(即“A回答比B回答好”这种数据对)来优化模型。它把复杂的强化学习问题,转换成了一个类似于“分类”的损失函数问题。

  • 公式直觉:如果不在这儿(好的回答),就在那儿(坏的回答)。让模型生成好回答的概率变大,生成坏回答的概率变小。

3.优点:

  • 省资源:不需要单独加载巨大的奖励模型和 Critic 模型。
  • 稳定:训练过程比 PPO 稳定得多,不容易跑飞。

4.缺点: 完全依赖于偏好数据的质量,对于一些复杂的推理任务(如奥数题),可能不如 PPO 这种通过探索(Explore)带来的上限高(这也是目前学术界争论的点)。

5.拓展 面试题:
Q:DPO实际上也有Reference Model,为什么说它省显存?
A: “确实,DPO训练时也需要计算Reference Model 的 Log Probability。但Reference Model是冻结的(Frozen),不需要计算梯度,也不需要优化器状态(Optimizer States),所以显存占用只有训练模型的一半甚至更少。而PPO的Critic是要训练的,需要存梯度和状态,那是实打实的显存大户。”


(3)GRPO (Group Relative Policy Optimization)

1.地位:“效率优化版 PPO”,由 DeepSeek(深度求索)在DeepSeek-V3和R1中发扬光大。

2.原理:GRPO依然是基于PPO的思路,但它砍掉了PPO中最占资源的Critic(价值模型)。

  • 怎么做到的? 传统的 PPO 需要 Critic 来告诉模型“现在的表现相对于平均水平怎么样”。GRPO 则是让模型对同一个问题生成一组(Group) 回答(比如生成 64 个),然后计算这组回答的平均奖励。

3.优势:
(1)相对优势:某个回答的奖励如果高于这组的平均值,就鼓励该回答;反之则抑制。
(2)核心优势:

  • 省去了 Critic 模型:在大模型时代,Critic 模型通常和主模型一样大。去掉它意味着显存占用大幅减少,训练速度变快。
  • 适合推理(Reasoning):DeepSeek R1 使用它在数学和代码任务上取得了巨大成功,证明了它在长链条推理能力培养上的有效性。

2.PPO、DPO、GRPO的区别

(1)成本与效果的权衡

PPO、DPO、GRPO都是post-training阶段的大模型对齐算法 (Alignment),都属于RLHF:
(1)PPO是代价最高,效果最好的。(传统在线强化学习方案,训练代价最高、工程最难,效果上限高,但落地成本极高)。[OpenAI的GPT在早期RLHF时用的就是PPO]
(2)DPO是实现最简化的,成本最低,(训练稳定易复现),效果略低于PPO和GRPO。目前业界首选
(3)GRPO属于在DPO和PPO之间取了折中,只牺牲极少效果,就能大幅降低对齐成本,性价比最高。(DPO成本最低,PPO效果最好)。DeepSeek用的便是GRPO对齐算法

GRPO是deepseek能火的一个关键原因之一,在稍微牺牲了一点效果的情况下,大幅度降低了成本
主观打分:
PPO效果10分,DPO效果9分,GRPO效果9.5分
PPO成本10分,DPO成本1分,GRPO成本2.5分


在这里插入图片描述


  • 定性:DPO = 离线刷题(省资源,上限低);PPO/GRPO = 在线试错(费资源,上限高)
  • 原理:GRPO 赢在用 Group Statistics 杀死了 Critic Model。
  • 应用:学说话用 DPO,学奥数/写代码用 GRPO。

(2)本质:权衡 显存效率、训练稳定性、探索能力

1.这三者本质上是在权衡 显存效率、训练稳定性 和 探索能力。
(1)PPO是工业界的 Baseline,它是Online算法,有Critic网络,虽然稳但显存开销大
(2)DPO是为了去繁就简,把强化学习转化成了Offline的分类问题(SFT的变种),去掉了Reward和 Critic模型,省显存,但失去了模型自我探索(Explore)产生新解的能力
(3)GRPO是DeepSeek为了解决PPO在超大模型上显存不够用而搞出来的优化版。GRPO用一采样的平均分(平均奖励,Mean Reward)作为Baseline,以此去掉了Critic(价值函数,Value Function)。特别适合长思维链(CoT)的推理训练

在这里插入图片描述


(3)各自的适用场景

选择 PPO/DPO/GRPO 取决于我们想要模型学会什么。

  • 如果要学‘语气、格式、安全’(Style & Safety):DPO 是首选。因为这些任务有明确的好坏之分,给数据就行,不需要模型去‘顿悟’。
  • 如果要学‘数学、代码、逻辑推理’(Reasoning):DPO 就乏力了。因为 DPO 是由人类数据喂出来的,它很难超越人类标注的上限(Data Bound)。
  • GRPO/PPO 的核心优势在于 Exploration(探索)。在推理任务中,模型可以通过采样生成多种解题路径,只要结果对(比如通过单元测试),哪怕路径是人类没教过的,模型也能获得奖励。这就是 DeepSeek-R1 能产生‘Aha Moment’(顿悟时刻)的原因——它是试出来的,不是背出来的。”

💡 核心得分点:DPO 上限由数据决定,RL (GRPO/PPO) 上限由环境反馈决定(可超越人类)。


(4)实战:设计一个类似DeepSeek R1的训练流程

“我会参考 DeepSeek-R1 的 Pipeline,分阶段进行:

  • 1.Cold Start (冷启动):先用少量高质量的 CoT(思维链)数据做 SFT,让模型学会"先思考再回答"的模式。

  • 2.纯RL阶段 (GRPO):这是关键。
    (1)重点:我不会训练复杂的神经网络 Reward Model。
    (2)技巧:对于数学/代码题,直接用**规则(Rule-based)**给分。答案算对给1分,跑通代码给1分,格式不对给0分。
    (3)让模型在GRPO的机制下,通过大规模采样(Group Sampling),自己去卷出最有效的思维链路径。

  • 3.迭代:把RL跑出来的优秀样本收集起来,再做一轮 SFT,循环往复。”

💡 核心得分点:提到 Rule-based Reward(规则奖励)在推理任务中的巨大价值(比训练一个黑盒 RM 更准、更便宜)。



六、KL散度

1.概念
KL散度 (Kullback–Leibler divergence),用来衡量两个概率分布 P 和 Q 的“差异” (更准确说是 用Q去近似P会损失多少信息)

2.公式:
(1)离散情形 (Discrete Case): D KL ( P ∥ Q ) = ∑ x P ( x ) log ⁡ P ( x ) Q ( x ) D_{\text{KL}}(P\|Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} DKL(PQ)=xP(x)logQ(x)P(x)
(2)连续情形 (Continuous Case): D KL ( P ∥ Q ) = ∫ p ( x ) log ⁡ p ( x ) q ( x )   d x D_{\text{KL}}(P\|Q) = \int p(x) \log \frac{p(x)}{q(x)} \, dx DKL(PQ)=p(x)logq(x)p(x)dx

3.作用
在 RLHF / PPO 里经常加 KL 惩罚项:
让新策略(当前模型)不要偏离参考策略(通常是 SFT 模型)太远
防止“为了拿高奖励”而语言质量崩、胡乱钻奖励模型空子(reward hacking)



七、Agentic RL (智能体强化学习)

1.如果说传统的 RLHF(基于人类反馈的强化学习)是让模型学会“说话得体”,那么 Agentic RL 则是让模型学会“办事靠谱”。

2.传统 RL: S t a t e → A c t i o n → R e w a r d State \rightarrow Action \rightarrow Reward StateActionReward(例如:下围棋、控制机械臂)。Agentic RL: T a s k → P l a n n i n g → T o o l   U s e → F e e d b a c k → A d a p t a t i o n Task \rightarrow Planning \rightarrow Tool\ Use \rightarrow Feedback \rightarrow Adaptation TaskPlanningTool UseFeedbackAdaptation(例如:自主编写代码、查阅文档并修复 Bug)。

3.Agentic RL 的实现通常依赖于以下“组件”的协同:

  • 多轮推理与规划 (Planning): Agent 不再是一次性输出答案,而是学习如何将大任务拆解为子任务(如 Chain-of-Thought 或 Tree-of-Thoughts)。
  • 工具使用 (Tool Use): 学习在什么时候调用搜索、计算器或数据库。RL 的目标是让模型学会“最有效地使用工具”,而不是盲目调用。
  • 可验证反馈 (Verifiable Rewards): 相比于人类主观偏好(RLHF),Agentic RL 更偏向使用客观结果作为奖励。
    例子: 代码是否通过了 Unit Test?数学题答案是否正确?
  • 自我反思与迭代 (Reflexion): 模型在收到错误反馈后,通过 RL 学习如何调整接下来的策略,而不是在错误路径上死磕
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员爱德华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值