强化学习

返回机器学习

智能体(Agent)通过与环境交互、接受奖励或惩罚,学习最优策略以最大化长期累积回报。区别于监督学习(有标签答案),RL 只有延迟的奖励信号。


核心要素

要素说明示例
智能体(Agent)学习决策的主体游戏角色、机器人
环境(Environment)Agent 交互的世界游戏引擎、物理仿真
状态(State,s)当前时刻的环境快照棋盘局面、传感器数据
动作(Action,a)Agent 可执行的操作移动方向、输出文字
奖励(Reward,r)环境给出的即时反馈+1(胜)、-1(败)
策略(Policy,π)状态到动作的映射π(a|s) = 概率分布
价值函数(V/Q)当前状态/动作的长期回报期望V(s)、Q(s,a)

核心公式

Bellman 方程(价值迭代基础):

  • :折扣因子,控制对未来奖励的重视程度
  • :只看当前奖励;:重视长远回报

主要算法分类

基于价值(Value-Based)

学习动作价值函数 Q(s,a),选择 Q 值最大的动作:

算法特点
Q-Learning离策略,表格式,适合离散小状态空间
DQN用神经网络近似 Q 函数,突破状态空间限制
Double DQN解决 Q 值高估问题
Dueling DQN分离状态价值和动作优势,训练更稳定
# DQN 核心:经验回放 + 目标网络
import torch.nn as nn
 
class DQN(nn.Module):
    def __init__(self, state_dim, action_dim):
        super().__init__()
        self.net = nn.Sequential(
            nn.Linear(state_dim, 128), nn.ReLU(),
            nn.Linear(128, 128),       nn.ReLU(),
            nn.Linear(128, action_dim)
        )
    def forward(self, x):
        return self.net(x)  # 输出每个动作的 Q 值

基于策略(Policy-Based)

直接学习策略 π(a|s),适合连续动作空间:

算法特点
REINFORCE简单,方差大
PPO近端策略优化,稳定高效,工业界主流
TRPO理论严谨,实现复杂

演员-评论家(Actor-Critic)

结合价值函数(评论家)减小策略梯度方差:

Actor:  更新策略参数 θ,输出动作分布 π_θ(a|s)
Critic: 估计价值 V(s),为 Actor 提供基线

代表:A3C、SAC、PPO(带 Critic)


PPO 核心思想

# PPO Clip 目标函数(防止策略更新步子太大)
ratio = π_new(a|s) / π_old(a|s)
clip_ratio = torch.clamp(ratio, 1 - ε, 1 + ε)  # ε 通常为 0.2
loss = -torch.min(ratio * advantage, clip_ratio * advantage).mean()

RLHF(人类反馈强化学习)

训练 LLM 遵循人类偏好的核心技术:

阶段 1 - SFT:用人工标注数据微调基础模型
       ↓
阶段 2 - Reward Model:训练奖励模型,学习人类偏好打分
       ↓
阶段 3 - PPO/DPO:用 RM 信号 + PPO/DPO 优化语言模型策略
方法说明模型
RLHF + PPO经典,需要奖励模型 + RL 训练InstructGPT、Claude 1/2
DPO直接偏好优化,不需要单独 RMLlama 2/3、Mistral
GRPOGroup Relative Policy Optimization,DeepSeek 使用DeepSeek-R1

经典应用

场景代表
游戏 AIAlphaGo、AlphaStar、OpenAI Five
机器人控制MuJoCo 仿真、真实机械臂
推荐系统多步骤用户行为建模
LLM 对齐ChatGPT、Claude(RLHF/DPO)
自动驾驶规划层的决策优化

探索-利用权衡

策略说明
ε-greedy以概率 ε 随机探索,否则贪心利用
UCB置信上界,优先探索不确定的动作
Thompson Sampling贝叶斯采样,理论最优
熵正则化鼓励策略保持多样性(SAC 使用)

相关文档