跳转至

九:强化学习:强化学习基础与马尔可夫决策过程 MDP

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247483855&idx=1&sn=dd17553bee7d8a45d7d907b80a5515ce&chksm=f01eb2b6c7693ba087e8dc5deae9ae1d7771bb5271af680d8f530cd1687ebdd74aeb87602cd1#rd

1. 学习定位

强化学习(Reinforcement Learning, RL)研究的是智能体如何在环境中通过交互学习策略,使长期累计奖励最大化。它不是只学习一个静态输入到标签的映射,而是在一个时间序列中持续做动作、观察反馈、承担后果,并调整之后的行为。 本日的核心是 MDP(Markov Decision Process,马尔可夫决策过程)。MDP 是强化学习最基础的数学建模框架。面试中只要进入 RLHF、PPO、DPO 对比、Agent 规划、工具调用决策、多轮对话优化等话题,最终都会回到 MDP 里的几个基本对象:状态、动作、奖励、转移、策略、回报、价值函数和贝尔曼方程。 本日知识链路:

监督学习/SFT 学习静态样本映射
-> 强化学习学习交互式序列决策
-> Agent 在 state/observation 下选择 action
-> Environment 返回 reward 和 next state
-> 用 MDP 抽象状态、动作、转移、奖励、折扣因子
-> 用 policy 描述智能体行为
-> 用 return/value/Q-value 衡量长期收益
-> 用 Bellman equation 递归表达价值
-> 用这些概念理解后续 RL、RLHF、Agent 训练与评估

2. 强化学习基本框架

强化学习包含两个核心角色:

Agent: 做决策的智能体
Environment: 接收动作、更新状态、返回奖励的环境
典型交互循环如下:

S_t 或 O_t -> Agent -> A_t
A_t -> Environment -> R_{t+1}, S_{t+1} 或 O_{t+1}
含义: - S_t:时刻 t 的状态,理想情况下是环境的完整描述。

  • O_t:时刻 t 的观测,通常是状态的一部分或经过传感器得到的信息。

  • A_t:智能体在当前状态或观测下采取的动作。

  • R_{t+1}:动作执行后环境给出的即时奖励。

  • S_{t+1}:环境转移到的下一个状态。

强化学习的训练信号不是人工标签,而是环境反馈的奖励。奖励可以很稀疏,也可以延迟出现。智能体需要从一串交互中判断哪些动作真正导致了好结果,这就是信用分配问题。

3. 强化学习目标与数据来源

强化学习的目标通常写成最大化期望回报:

maximize J(pi) = E_{tau ~ pi}[G_0]
其中:

tau = (S_0, A_0, R_1, S_1, A_1, R_2, ...)
G_t = R_{t+1} + gamma R_{t+2} + gamma^2 R_{t+3} + ...
pi 是策略,tau 是策略与环境交互产生的轨迹,G_t 是从时刻 t 开始的折扣回报。 数据来源是 RL 和监督学习的重要区别:

监督学习 / SFT:
  数据集通常预先固定
  样本形如 (x, y)
  目标是拟合人工标注或示范答案

强化学习:
  数据由当前策略与环境交互产生
  样本形如 (state, action, reward, next_state)
  目标是优化长期累计奖励
这意味着 RL 数据分布会随策略变化。策略变强后会访问新的状态,也可能因为探索不足而陷入局部行为模式。

4. 强化学习与 SFT 的区别

SFT(Supervised Fine-Tuning)通常把模型训练成“在给定输入下模仿参考答案”。它的 loss 多是 token-level cross entropy,优化目标是让模型输出更像标注答案。 RL 优化的是“策略在环境中的长期效果”。动作的好坏不一定能由单步标签判断,而要看后续状态和长期奖励。 关键区别:

img

在大模型场景中,SFT 可以教模型“应该怎么回答”,RLHF 则进一步用奖励模型或人类偏好优化“回答在整体质量上是否更好”。

5. MDP 的定义

马尔可夫决策过程通常写成五元组:

M = (S, A, P, R, gamma)
各部分含义:

S: state space,状态空间
A: action space,动作空间
P: transition probability,状态转移概率
R: reward function,奖励函数
gamma: discount factor,折扣因子
常见定义:

P(s' | s, a) = Pr(S_{t+1}=s' | S_t=s, A_t=a)
R(s, a) = E[R_{t+1} | S_t=s, A_t=a]
有些教材会把奖励写成 R(s, a, s'),表示奖励还依赖转移到的下一个状态。两种写法本质上都在描述环境反馈,只是建模粒度不同。 MDP 的意义是把现实问题拆成可分析的组成部分。只要能定义状态、动作、转移、奖励和目标,就能把问题放到强化学习框架下讨论。

6. 马尔可夫性质

马尔可夫性质说明:给定当前状态和动作后,未来的条件分布不再依赖更早的历史。

Pr(S_{t+1}=s' | S_0,A_0,...,S_t=s,A_t=a)
= Pr(S_{t+1}=s' | S_t=s,A_t=a)
直觉是:当前状态已经包含了预测未来所需的全部相关信息,是历史的充分统计量。 马尔可夫性不等于“历史完全没有影响”。历史可以通过当前状态被编码进来。例如棋局当前棋盘已经包含了做下一步决策所需的大部分信息,所以不需要完整走子历史。如果当前状态缺少关键信息,问题就更接近 POMDP(Partially Observable Markov Decision Process,部分可观测马尔可夫决策过程)。

7. 状态与观测

状态 S_t 是环境真实状态的完整描述,观测 O_t 是智能体实际能看到的信息。

fully observed:
  O_t = S_t 或 O_t 足以恢复 S_t

partially observed:
  O_t 只是 S_t 的一部分
例子: - 国际象棋棋盘通常可以近似看作完整状态。

  • 第一人称游戏画面只是局部观测。

  • 多轮对话中,当前 prompt、历史消息、工具结果和系统状态共同构成模型可见上下文,但仍可能缺少用户真实意图、外部世界变化等隐藏变量。

工程上如果观测不满足马尔可夫性,常见做法是把历史窗口、记忆、belief state、检索结果或 RNN/Transformer hidden state 纳入决策输入。

8. 动作空间

动作空间 A 是智能体可选动作的集合。

discrete action space:
  动作数量有限,例如上、下、左、右

continuous action space:
  动作是连续变量,例如机器人关节力矩、汽车方向盘角度
在 LLM 场景中,动作可以有不同粒度: - token-level action:每一步选择下一个 token。

  • span-level action:一次生成一段文本。

  • tool-level action:选择调用哪个工具、传入什么参数。

  • dialog-level action:选择是否追问、拒答、总结、检索或规划。

动作粒度会影响 MDP 的 horizon、奖励延迟、探索难度和训练算法选择。

9. 奖励函数

奖励函数 R 定义环境对动作结果的即时反馈。奖励可以是人工设计的,也可以由模型学习得到。 常见形式:

R(s, a)
R(s, a, s')
R(tau)
在经典控制中,奖励可能来自任务完成度、能耗、碰撞惩罚。在游戏中,奖励可能来自得分和胜负。在 RLHF 中,奖励可能来自奖励模型对完整回答的打分。 奖励设计是 RL 的核心风险点。奖励如果不能真实代表目标,模型可能学会 reward hacking,也就是优化奖励指标而不是优化人真正关心的行为。

10. 折扣因子与回报

折扣因子 gamma 控制未来奖励的重要性,通常满足:

0 <= gamma <= 1
回报定义为:

G_t = sum_{k=0}^{infty} gamma^k R_{t+k+1}
gamma 越接近 0,智能体越重视短期奖励;当 gamma 越接近 1,智能体越重视长期奖励。 引入折扣有几个作用: - 表达对近处奖励更确定、更重要的偏好。

  • 使无限时域任务中的累计回报更容易收敛。

  • 控制长期规划和短期收益之间的权衡。

在有限 episode 中,如果总步数有限且回报有界,gamma=1 也可能成立。

11. 策略

策略 pi 描述智能体如何根据状态选择动作。 随机策略:

pi(a | s) = Pr(A_t=a | S_t=s)
确定性策略:

a = pi(s)
随机策略适合探索和建模不确定性,确定性策略适合某些连续控制或部署时稳定执行。LLM 的生成策略通常是随机策略,因为模型输出的是词表上的概率分布,再通过采样、temperature、top-k、top-p 等方式生成 token。

12. 轨迹、Episode 与 Timestep

轨迹是一次交互产生的状态、动作、奖励序列:

tau = (S_0, A_0, R_1, S_1, A_1, R_2, ..., S_T)
timestep 是序列中的一个时间步。episode 是从初始状态到终止状态的一整段交互。终止状态可以是游戏结束、任务完成、达到最大步数、对话结束、工具调用流程结束等。 在给定初始状态分布 rho_0、策略 pi 和环境转移 P 时,一条轨迹的概率可以写成:

Pr(tau) = rho_0(S_0) * product_t pi(A_t | S_t) * P(S_{t+1} | S_t, A_t)
这个表达式说明轨迹分布由策略和环境共同决定。

13. 价值函数

状态价值函数衡量:从状态 s 出发,按策略 pi 行动,未来期望回报是多少。

V^pi(s) = E_pi[G_t | S_t=s]
动作价值函数衡量:在状态 s 先执行动作 a,之后按策略 pi 行动,未来期望回报是多少。

Q^pi(s, a) = E_pi[G_t | S_t=s, A_t=a]
二者关系:

V^pi(s) = sum_a pi(a|s) Q^pi(s,a)
优势函数衡量某个动作相对当前策略平均动作的好坏:

A^pi(s,a) = Q^pi(s,a) - V^pi(s)
在策略梯度、Actor-Critic、PPO 等算法中,优势函数用于降低方差并告诉策略哪些动作比平均水平更值得增加概率。

14. 贝尔曼期望方程

贝尔曼思想是把长期价值递归拆成“即时奖励 + 下一状态价值”。 状态价值的贝尔曼期望方程:

V^pi(s)
= sum_a pi(a|s) [ R(s,a) + gamma sum_{s'} P(s'|s,a) V^pi(s') ]
动作价值的贝尔曼期望方程:

Q^pi(s,a)
= R(s,a) + gamma sum_{s'} P(s'|s,a) sum_{a'} pi(a'|s') Q^pi(s',a')
这些方程是在固定策略 pi 下成立的,用来评估该策略的价值。

15. 贝尔曼最优方程

最优状态价值函数:

V*(s) = max_pi V^pi(s)
最优动作价值函数:

Q*(s,a) = max_pi Q^pi(s,a)
贝尔曼最优方程:

V*(s)
= max_a [ R(s,a) + gamma sum_{s'} P(s'|s,a) V*(s') ]

Q*(s,a)
= R(s,a) + gamma sum_{s'} P(s'|s,a) max_{a'} Q*(s',a')
期望方程和最优方程的区别在于:期望方程是在给定策略下对动作求期望,最优方程在动作上取最大值。Q-learning、Value Iteration 等方法都和贝尔曼最优方程密切相关。

16. 有限时域、无限时域、Episodic 与 Continuing

有限时域任务有明确最大步数 T,价值可以依赖剩余时间:

V_t(s)
无限时域任务没有固定结束时间,通常用折扣因子或平均奖励来保证目标可处理。 Episodic task 有自然终止状态,例如一局游戏结束。Continuing task 没有明显终止,例如服务器调度、长期推荐系统、持续机器人控制等。 选择任务形式会影响奖励定义、折扣因子、评估方式和训练算法。

17. Model-based 与 Model-free

如果算法显式学习或使用环境模型 PR(P是状态转移,R是奖励函数),通常称为 model-based。它可以规划未来,但模型误差会影响策略。 如果算法不显式建模 PR,直接从采样经验中学习价值函数或策略,通常称为 model-free。典型方法包括 Monte Carlo、TD、Q-learning、Policy Gradient、Actor-Critic 等。 MDP 本身定义了环境模型,但实际 RL 算法不一定知道真实 PR

18. On-policy 与 Off-policy

On-policy 方法用当前正在优化的策略采样数据,并用这些数据更新同一个策略。它分布匹配更直接,但样本利用率可能低。 Off-policy 方法可以用其他策略产生的数据学习目标策略。例如 replay buffer 里的历史数据、专家数据、旧策略数据。它样本利用率更高,但需要处理分布偏移和重要性采样等问题。 在大模型 RLHF 中,策略更新后数据分布变化非常明显,因此 KL 约束、参考模型、采样策略、奖励模型稳定性都很重要。

19. 探索与利用

探索(exploration)是尝试未知动作以发现更高回报,利用(exploitation)是选择当前认为最好的动作获得收益。 只利用可能陷入局部最优,只探索会浪费样本。常见探索机制包括: - epsilon-greedy。

  • softmax sampling。

  • entropy regularization。

  • intrinsic reward。

  • optimistic initialization。

LLM 生成中的采样温度、top-p、多样化采样也可以从探索角度理解,但它们不等价于完整的 RL 探索策略。

20. MDP 与 LLM、RLHF、Agent 的联系

在 LLM 生成中,可以把状态看作当前上下文,把动作看作下一个 token 或一个高层决策,把奖励看作最终回答质量、偏好模型评分、工具执行成功率或任务完成指标。 一种 token-level MDP 抽象:

state: prompt + already generated tokens
action: next token
transition: append token to context
reward: 结束时由 reward model 或任务结果给出
一种 agent-level MDP 抽象:

state: 用户目标 + 对话历史 + 工具结果 + 记忆
action: 回复、检索、调用工具、规划、追问
transition: 外部环境和用户状态变化
reward: 任务成功、用户满意度、安全性、成本、时延
这类问题常常不是完美 MDP,因为用户意图、外部世界和工具副作用可能不可完全观测。因此实际系统经常更接近 POMDP,需要记忆、检索、状态跟踪和鲁棒评估。

21. 常见误区

误区一:把即时奖励等同于长期目标。 即时奖励只是单步反馈,策略真正优化的是累计回报。 误区二:认为 MDP 中状态可以随便定义。 状态必须尽量包含预测未来和评估动作所需的信息,否则马尔可夫性不足会导致学习困难。 误区三:把策略和价值函数混为一谈。 策略决定做什么,价值函数评估这样做长期有多好。 误区四:认为奖励越密集越好。 密集奖励能降低学习难度,但错误的 dense reward 可能引入偏差和 reward hacking。 误区五:认为 RL 一定优于 SFT。 RL 适合优化交互式长期目标,但训练成本高、不稳定、依赖奖励质量。SFT 更简单稳定,通常是 RLHF 前的重要基础。

22. 核心总结

第九天需要掌握的最小闭环:

RL = Agent 与 Environment 交互,学习最大化期望累计奖励的 policy。

MDP = (S, A, P, R, gamma)
  S: 状态
  A: 动作
  P: 状态转移概率
  R: 奖励函数
  gamma: 折扣因子

Markov property:
  未来只依赖当前状态和动作,不依赖完整历史。

Return:
  G_t = sum_k gamma^k R_{t+k+1}

Value:
  V^pi(s) = E[G_t | S_t=s]
  Q^pi(s,a) = E[G_t | S_t=s, A_t=a]

Bellman:
  value = immediate reward + discounted next value

LLM/RLHF:
  context 是状态,token/工具调用/回复是动作,奖励来自偏好、任务成功或安全约束。

23. 参考资料

  • 动手学强化学习:初探强化学习:http://hrl.boyuai.com/chapter/1/%E5%88%9D%E6%8E%A2%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/

  • 动手学强化学习:马尔可夫决策过程:http://hrl.boyuai.com/chapter/1/%E9%A9%AC%E5%B0%94%E5%8F%AF%E5%A4%AB%E5%86%B3%E7%AD%96%E8%BF%87%E7%A8%8B/

  • CSDN 课程笔记:强化学习的数学原理基本概念:https://blog.csdn.net/qq_64671439/article/details/135299345

  • Sutton and Barto, Reinforcement Learning: An Introduction, 2nd Edition:http://incompleteideas.net/book/RLbook2020.pdf

  • OpenAI Spinning Up: Key Concepts in RL:https://spinningup.openai.com/en/latest/spinningup/rl_intro.html

  • Hugging Face Deep RL Course: The Reinforcement Learning Framework:https://huggingface.co/learn/deep-rl-course/unit1/rl-framework?fw=pt

            预览时标签不可点
    

    <div class="