Skip to content

强化学习现在已经是大模型后训练的标配了,随着强化学习算法的成熟以及大模型能力的提升,今后会出现越来越多使用强化学习思路打造的"智能产品"。原因说明:大模型(LLM、多模态模型)的能力增强后,价值评价和策略评价变得更加容易,大模型可以直接替代人工或者传统目标规则进行评价,同时生成模型/世界模型可以逼真地创造模拟环境,几者结合,强化学习的学习周期会快速缩短。

今天整理下基础的强化学习算法,其实了解之后会发现,强化学习基础原理并不难,本质就是基于反馈经验来决定下一步该走什么动作。

强化学习(Reinforcement Learning, RL)是一种机器学习范式,代理(Agent)通过与环境(Environment)交互来学习最优策略(Policy),以最大化累积奖励(Reward)。其核心是试错学习:代理执行动作(Action),观察状态(State)变化和奖励反馈,并据此调整行为。RL 的数学基础是马尔可夫决策过程(Markov Decision Process, MDP),包括状态集 S、动作集 A、转移概率 P、奖励函数 R 和折扣因子 γ。

RL 算法可大致分类为:

  • 基于值函数(Value-based):估计状态或状态-动作对的价值(如 Q 值),然后选择价值最高的动作。
  • 基于策略(Policy-based):直接优化策略函数,通常使用梯度下降。
  • Actor-Critic:结合上述两者,Actor 优化策略,Critic 评估价值。
  • 模型-based vs 模型-free:前者学习环境模型,后者直接从经验中学习。
  • On-policy vs Off-policy:前者使用当前策略生成数据,后者可使用历史数据。

下面梳理了常见的 RL 算法,并分类比较,便于清晰呈现。

值函数方法(Value-based Methods)

这些方法通过学习值函数(如 V(s) 或 Q(s,a))来间接优化策略。

算法名称本质实现方法优缺点
Monte Carlo Methods通过完整轨迹(Episode)采样计算平均回报来估计值函数。适用于无模型环境,不依赖即时转移。1. 生成完整轨迹:从初始状态采样动作直到结束。
2. 计算回报 G_t = ∑ γ^{k} r_{t+k+1}。
3. 更新值函数 V(s) ← (1-α) V(s) + α G_t(First-visit 或 Every-visit)。
伪代码:for each episode: collect trajectory, compute G, update V.
优点:简单,无偏估计。
缺点:高方差,需要完整轨迹,不适用于连续任务。
Temporal Difference (TD) Learning结合 Monte Carlo 和动态规划,使用 bootstrapping(用后续估计更新当前估计)来学习值函数。1. 初始化 V(s)。
2. 对于每个步:δ = r + γ V(s') - V(s)(TD 误差)。
3. 更新 V(s) ← V(s) + α δ。
伪代码:while not converged: sample s,a,r,s', compute TD error, update V.
优点:在线学习,低方差。
缺点:有偏估计,需要调参 α 和 γ。
SARSA (State-Action-Reward-State-Action)On-policy TD 方法,学习 Q 值函数,选择 ε-greedy 动作。1. 初始化 Q(s,a)。
2. 采样 s,a,r,s',a'(a' 来自当前策略)。
3. 更新 Q(s,a) ← Q(s,a) + α [r + γ Q(s',a') - Q(s,a)]。
伪代码:for each step: choose a (ε-greedy), observe r,s', choose a' (ε-greedy), update Q.
优点:安全(考虑探索)。
缺点:收敛慢,不如 off-policy 高效。
Q-LearningOff-policy TD 方法,使用最大 Q 值 bootstrapping,学习最优 Q 值。1. 初始化 Q(s,a)。
2. 采样 s,a,r,s'。
3. 更新 Q(s,a) ← Q(s,a) + α [r + γ max_{a'} Q(s',a') - Q(s,a)]。
伪代码:for each step: choose a (ε-greedy), observe r,s', update Q using max Q(s',a').
优点:高效,可重用经验。
缺点:过估计问题,在连续空间需函数逼近。
Deep Q-Network (DQN)Q-Learning 的深度版本,使用神经网络逼近 Q 值,处理高维状态(如图像)。1. 使用 CNN/MLP 作为 Q 网络,目标网络稳定训练。
2. 经验回放(Replay Buffer):存储 (s,a,r,s'),随机采样 mini-batch。
3. 更新:loss = [r + γ max Q_target(s',a') - Q(s,a)]^2。
伪代码:initialize replay buffer, for each step: act ε-greedy, store transition, sample batch, update network via Adam.
优点:处理复杂环境(如 Atari 游戏)。
缺点:样本效率低,过估计(用 Double DQN 缓解)。

策略梯度方法(Policy-based Methods)

直接优化策略参数 θ,使预期回报最大化。适用于连续动作空间。

算法名称本质实现方法优缺点
REINFORCE (Monte Carlo Policy Gradient)使用策略梯度定理 ∇J(θ) = E[∇log π(as) G_t] 更新策略。1. 参数化策略 π_θ (e.g., softmax)。
2. 生成轨迹,计算 G_t。
3. 更新 θ ← θ + α ∇log π(a
Proximal Policy Optimization (PPO)改进的策略梯度,使用 clipped 比率限制更新,避免大步破坏策略。1. 收集轨迹,使用 GAE(Generalized Advantage Estimation)计算优势 A。
2. 比率 r(θ) = π_θ(a
s) / π_old(a

Actor-Critic 方法

结合值函数和策略优化,Critic 评估 Actor 的动作。

算法名称本质实现方法优缺点
Actor-Critic (AC)Actor 更新策略,Critic 更新值函数,提供优势估计减方差。1. Actor: π_θ, Critic: V_ω。
2. 优势 A = r + γ V(s') - V(s)。
3. 更新 Actor: θ ← θ + α ∇log π(a
s) A;Critic: ω ← ω + β ∇[A]^2。
伪代码:for each step: act from π, observe r,s', compute A, update both.
Advantage Actor-Critic (A2C)同步多代理版本,使用优势函数。与 AC 类似,但多线程并行收集数据,共享参数。伪代码:multiple workers collect trajectories synchronously, aggregate gradients, update.优点:加速训练。
缺点:同步开销大。
Asynchronous Advantage Actor-Critic (A3C)异步版本,多代理独立更新全局模型。每个 worker 异步运行:收集轨迹,计算梯度,更新全局 Actor/Critic。伪代码:workers run in parallel, each: collect data, compute grads, async update global params.优点:高效,利用多核。
缺点:噪声大,收敛不稳定。
Soft Actor-Critic (SAC)最大化回报 + 熵,鼓励探索。适用于连续动作。1. Actor: 随机策略 π。
2. Critic: 双 Q 网络。
3. loss_actor = E[α log π - Q(s,a)];loss_critic = [r + γ (min Q' + α H) - Q]^2。
伪代码:sample from replay, update Q with entropy, update π to maximize Q + entropy.
优点:鲁棒探索,样本高效。
缺点:超参数敏感(如温度 α)。

模型-based 方法

学习环境模型,用于规划或增强模型-free 方法。

算法名称本质实现方法优缺点
Dyna-Q结合 Q-Learning 和模型学习,使用模拟经验加速学习。1. 学习模型:P(s's,a), R(s,a)。
2. 真实更新 Q(如 Q-Learning)。
3. 模拟 k 次:从 buffer 采样 s,a,模拟 s',r 更新 Q。
伪代码:real step: update Q and model; then for k times: sample from model, update Q.
Model-based Policy Optimization (MBPO)使用学得模型生成额外数据,训练模型-free 策略。1. 训练动态模型 f(s,a) → (s',r)。
2. 从真实 buffer  rollout 模拟轨迹。
3. 用混合数据训练 SAC/PPO 等。
伪代码:train model on real data, generate synthetic rollouts, train policy on combined data.
优点:样本效率高。
缺点:模型不准时性能差。

结语

RL 算法的本质在于平衡探索(Exploration)和利用(Exploitation),如 ε-greedy 或 entropy 正则化。实现上,深度 RL(如 DQN, PPO)依赖神经网络和优化器(Adam),经验回放和目标网络是稳定训练的关键。挑战包括稀疏奖励(用 Hindsight Experience Replay 缓解)、部分可观测(用 LSTM 处理)和多代理(MARL 如 QMIX)。

在实践中,选择算法取决于环境:离散动作用 Q-Learning 变体,连续用 PPO/SAC;样本效率优先用模型-based。未来趋势包括结合 Transformer(如 Decision Transformer)和元学习(快速适应新任务)。

返回专题 · AI 技术基础上一篇:扩散模型:从混沌到有序的生成艺术下一篇:HF8:Hugging Face 全景解析

持续沉淀企业 AI 技术内容。