强化学习
基础概念
什么是强化学习?
强化学习(Reinforcement Learning, RL) 是机器学习的一个分支,目标是让 智能体(agent) 通过与 环境(environment) 的交互来学习最优的 行为策略(policy),从而最大化某个 累积回报(cumulative reward)。
其 核心思想是通过试错和反馈的机制,找到在每个情境下的最优决策。
强化学习的 优化目标 是 通过选择策略来最大化累积奖励。具体来说,智能体的目标是寻找一个最优策略 ,使得它在各个状态下的累积回报最大。形式上,可以用 价值函数(Value Function)或 动作价值函数(Q 函数)来表示。

强化学习的要素
在强化学习中,我们通常将问题描述为一个 马尔可夫决策过程(Markov Decision Process, MDP),它包含以下几个关键元素:
-
状态(State, S):智能体所处的环境状态,可能是游戏画面的一帧,也可能是机器人观测到的传感器数据。
-
动作(Action, A):智能体在给定状态下可以执行的一系列操作。
-
状态转移(Transition Dynamics, P):从当前状态 采取动作 后,会以一定的概率转移到下一个状态 。
-
奖励(Reward, R):智能体在每个时刻(或每次转移)获得的即时回报,反映了该动作在此状态下的好坏。
-
折扣因子(Discount Factor, ):用于平衡当前奖励和未来奖励的重要性,数值通常在 之间。
-
轨迹(Trajectory):在强化学习中,智能体从环境的初始状态开始,与环境交互直至到达终止状态所经历的一系列状态、动作以及相应的奖励就构成了一条完整的 "轨迹"。形式上可以表示为:
其中, 表示回合(Episode)结束的时间步。在某些不定长的任务中, 可能是一个随机值。轨迹可以帮助我们理解智能体如何从起始状态一步步演化到最终状态,并获取相应的奖励序列。
-
经验(Experience):智能体可与环境交互多次,进行多次实验,形成多个轨迹。多个轨迹的集合被称为经验。即:
-
回报(Return):强化学习的目标是学习一个好的策略,智能体按照这样的策略和环境交互,让累积奖励达到最大。这个累积奖励就是回报。通常指从某一个时间步 开始,对未来所有奖励的加总,常用符号 表示(有时也用 表示)。其定义为:
通常现在的奖励和将来的奖励权重是不同的,比如今天奖励 1 万元和 50 年后奖励 1 万元,两者的价值大概率不同。因此会加上折扣因子 。若存在折扣因子,则回报可以写为:
其中 用于平衡当前奖励和未来奖励的重要性。如果没有折扣(),那么回报就是从时间步 开始直到回合结束所获得的总奖励。在有了回报概念后,我们知 道,强化学习的目标是最大化期望回报。
- 价值函数(Value Function):价值函数衡量的是 "期望回报"。具体分为状态价值函数和动作价值函数。
-
状态价值函数 表示在状态 下,后续按照策略 行动所能获得的 期望回报:
-
动作价值函数 表示在状态 下执行动作 ,并在之后按照策略 行动所能获得的 期望回报:
-
用来 评价在某个状态下的策略表现好坏。 用来 评价在某个状态-动作对下的策略表现好坏。价值的估计至关重要,下文还会 讨论。
-
优势函数(Advantage Function):优势函数度量的是,在给定状态 下,执行某个动作 比起在该状态的平均水平(即状态价值)好多少或差多少。它的常见形式是:
- 如果 ,说明在状态 下执行动作 要比该状态的平均策略价值要好。
- 如果 ,则说明这个动作比 "平均" 水平要差。
-
探索(Exploration)和学习(Learning):强化学习一般分为两个阶段。第一个是 探索阶段,智能体先按照某些 策略 和环境进行交互,形成经验。第二个是 学习阶段,智能体按照某些算法,从经验中学习,进而优化自己的 策略。
-
行为策略(Behavior Policy)和目标策略(Target Policy):行为策略 是智能体在环境交互时实际执行的策略。目标策略 是智能体最终想要学到的策略,通常记为 。两个策略相同就是 on-policy,否则就是 off-policy,这点我们在下文中会详细探讨。
价值函数和贝尔曼方程
在强化学习中,价值函数(Value Function)用来衡量在某个状态(或状态-动作对)下,按照某一策略 行动所能获得的期望回报;而 贝尔曼方程(Bellman Equation) 则刻画了该价值函数所必须满足的“递归一致性”关系。
简而言之,价值函数 是目标,贝尔曼方程 是描述这个目标如何在相邻时间步之间相互关联的关键公式。
1. 二者的关系
价值函数的定义
-
状态价值函数: 即“在状态 s 下持续按照策略 行动所能获得的期望回报”。
-
动作价值函数: 即“在状态 s 下先执行动作 a,然后继续按照策略 行动所能获得的期望回报”。
贝尔曼方程的自洽性(递归性) 价值函数可以通过对下一步状态(或动作)的价值进行加权求期望而“自我定义”:
-
对状态价值 来说,状态 s 的价值是“执行任一动作后的即时奖励 + 折扣后下一状态价值”的期望:
-
对动作价值 来说,则是“该状态动作得到的即时奖励 + 折扣后下一状态的动作价值”的期望:
这些方程说明了:当前状态(或状态-动作)价值 可以通过“下一步的价值”来计算出来,从而使价值函数具备可以迭代求解的性质。
2. 为什么需要了解贝尔曼方程
(1)动态规划与强化学习的理论基础 贝尔曼方程是强化学习算法的核心理论根基,揭示了价值函数能够被分解并通过递归方式计算的原理。几乎所有的基于价值的强化学习方法(Q-Learning、SARSA 等)都源于对贝尔曼方程的近似求解或逼近。
(2)求解或逼近价值函数
- 在有完备环境模型、可枚举状态下,可以用 价值迭代(Value Iteration)或策略迭代(Policy Iteration) 对贝尔曼方程进行数值求解,找到最优价值函数和最优策略。
- 在无完备模型、无法枚举的复杂环境中,可以采用蒙特卡洛、时序差分(TD Learning)以及基于神经网络的近似方法(如 DQN)对贝尔曼方程进行抽样估计和逼近。
(3)理解算法更新规则
很多强化学习算法中的“更新公式”,本 质上都可以视作对贝尔曼方程进行 采样 或 梯度 逼近。例如:
这正是 Q-Learning 中对 最优贝尔曼方程 的单步采样更新。
(4)扩展到更复杂场景
-
在策略梯度和 Actor-Critic 方法中,Critic 的目标就是学习满足“贝尔曼方程”的价值函数或 Q 函数。
-
其它如分层强化学习、多智能体强化学习等场景中,依旧离不开对贝尔曼方程的变形或推广。
总之,
- 价值函数 为评估“当前状态(或动作)有多好”提供了一个“期望回报”的度量。
- 贝尔曼方程 阐明了价值函数可以被分解成与下一状态和相应奖励相联系的自洽递归关系。
A、V、Q 的关系
优势函数(A)与值函数(V)、动作值函数(Q)的区别的 联系:
优势函数是 Q 和 V 的差值。
优势函数与值函数、动作值函数的 区别:
- 值函数(V):衡量一个状态的价值,反映了在某个状态下,智能体根据当前策略所能期望得到的总回报。
- 动作值函数(Q):直接衡量在某状态下采取某动作后,智能体所能期望得到的总回报。
- 优势函数(A):是一个动作对比的度量,表明选择某个动作相较于平均策略的回报增益。和 V、Q 不同的是,A 提供了一个相对的评价。
估计值函数的三种方法:MC、TD、GAE
RL 中,价值的估计非常重要。估计值函数的常见方法有三种:蒙特卡洛(MC)、时间差分(TD)、广义优势估计(GAE)。
它们在估计值函数时各有优缺点,具体在方差和偏差之间存在不同的权衡。
1. 蒙特卡洛方法(MC)
-
原理:蒙特卡洛方法通过在完整的轨迹上计算回报(即从当前状态开始到最终状态的累积奖励)来估计状态值函数或动作值函数。这个方法完全依赖于最终的回报,因此需要等待完整的路径(完整的 Episode)来计算值。
-
优点:
-
不需要任何模型假设,直接依赖实际回报。
-
在长期内是无偏的(即期望值是正确的),因为它直接使用实际的累积奖励。
-
缺点:
-
高方差:由于只使用每个 Episode 的最终回报,导致每个回报的估计可能存在较大波动,尤其是在奖励信号稀疏或变动较大的情况下,估计的方差较大。
总结:MC 方法因为依赖完整的回报,所以它的估计有较大的方差,但没有偏差。
2. 时序差分方法(TD)
-
原理:时序差分方法则是通过 递推更新(也称为 bootstrapping)来估计值函数,它并不需要等待完整的 Episode,而是根据每一步的即时反馈进行更新。TD 方法将当前的估计值与下一时刻的估计值进行比较,通过差分来更新当前状态的值。
-
优点:
-
较低的方差:由于 TD 方法使用每一步的即时反馈,它不依赖于完整 Episode 的回报,估计过程可以在更短时间内进行,因而方差较小。
-
可以在线学习,不需要等待完整的 Episode。
-
缺点:
-
高偏差:由于 TD 方法使用的是估计值而非真实回报,它会引入一定的偏差。特别是它依赖当前的估计来更新,因此如果初始估计有偏,后续的更新也会继承这个偏差。
-
总结:TD 方法具有较低的方差,但它引入了偏差,因为它依赖于现有的估计,而非实际的回报。
3. 广义优势估计(GAE)
-
原理:GAE 是一种折中方法,它结合了 MC 和 TD 的方法,旨在通过平衡方差和偏差来提高估计的稳定性和效率。GAE 通过引入一个 超参数 (类似于 TD 方法中的折扣因子),在计算优势函数时利用 TD 方法的部分信息,而不是完全依赖于真实的回报。
-
具体来说,GAE 通过对 TD 误差进行加权平均来估计优势函数,从而减少单步 TD 误差带来的偏差,并控制方差的大小。
-
它的更新公式为:
其中, 表示每一步的 TD 误差, 是折扣因子, 是用于加权的超参数,控制了 TD 和 MC 的折中。
- 优点:
- 在方差和偏差之间取得了更好的折中。通过调节 ,GAE 可以灵活控制偏差和方差之间的权衡。
- 缺点:
- 相较于纯粹的 TD 或 MC,GAE 需要更多的计算,因为它需要在每一步计算加权的 TD 误差。
- 总结:GAE 通过加权 TD 误差,能够在 MC 的低偏差和 TD 的低方差之间取得一个折中。
4. 高方差、低偏差 vs. 高偏差、低方差的折中
- MC 方法 高方差是由于它依赖于整个轨迹的回报,导致估计可能存在较大波动,但它是无偏的,因此在长时间运行时可以获得精确的估计。
- TD 方法 则通过引入当前估计来更新状态值或动作值,它减少了方差,因为每次更新都基于当前估计的反馈。然而,它依赖于已有的估计,因此会引入偏差。
- GAE 则通过平衡这两者的优缺点,调整 来控制估计中的偏 差和方差,从而获得更稳定、更准确的估计。当 时,GAE 等价于 TD(0),当 时,GAE 等价于 MC 方法。
总结
- MC 方法:高方差,无偏。
- TD 方法:低方差,高偏差。
- GAE 方法:折中,既能减少偏差,也能降低方差,通过调整 来灵活控制。
这个折中使得 GAE 在实际应用中往往能取得更好的性能,特别是在复杂的强化学习任务中。
NLP 中的 RL

状态 S: 输入 prompt
动作 A: 输出 response(即 LLM 输出下一个 token)
奖励 R: 根据 prompt+response 进行奖励模型打分
整体目标:给定 prompt,调整 policy,生成符合人类喜好(RM 偏序信号)的 response
经典强化学习算法的分类

在这里,对里面的部分算法做简要介绍。
马尔可夫决策过程(MDP)
马尔可夫性质 表示未来状态只与当前状态(和动作)有关,与过去的历史无关。这使得我们可以用一个状态来完整地描述环境。
马尔可夫决策过程(MDP) 是一个在“马尔可夫性质”假设下建模序列决策的问题框架,一般用五元组 表示,其中:
-
:状态空间
-
:动作空间
-
:状态转移概率,描述在状态 执行动作 后转移到下一个状态 的概率
-
:即时奖励函数,衡量在状态 执行动作 所得到的回报
-
:折扣因子,用于平衡当前奖励和未来奖励
在 MDP 中,智能体通过与环境的反复交互(“状态—动作—转移—奖励”的循环),旨在找到一条最优策略 ,最大化长期累积折扣回报。
Bandit problem(强盗问题或赌博机问题)
Bandit problem 是强化学习和决策理论中的经典问题,用于研究 在不确定环境下的探索与利用权衡(exploration vs. exploitation trade-off)。
赌博机(Bandit)问题可视作 MDP 的极简形式:系统仅有一个“状态”,或者说对后续状态没有区分。每台赌博机(或称拉杆)对应一个动作,每个动作产生的奖励分布未知且相互独立。智能体在每次操作前需在各臂之间进行抉择,在缺乏状态转移的情况下,通过不断探索各臂的回报分布并利用已有信息,从而最大化累积奖励。相比 MDP,Bandit 只关注“当前选择—即时奖励”的单步决策,不涉及序列性的状态演化。
Bandit Problem 的类型
- 多臂老虎机(Multi-Armed Bandit, MAB)
- 基础形式,假设每台老虎机的奖励分布是固定的(静态)。
- 常见算法包括:
- ε-greedy:以一定概率随机探索,其他时候利用当前最优选项。
- UCB(上置信界):根据当前奖励估计和不确定性选择最优选项。
- Thompson Sampling:通过贝叶斯推断选择最优选项。
- Contextual Bandit(上下文老虎机)
- 每次决策前会观察到一个“上下文”(context),不同上下文可能对应不同的最优选项。
- 类似于推荐系统问题:根据用户特征选择推荐内容。
- Non-Stationary Bandit(非静态老虎机)
- 奖励分布会随着时间动态变化,需要更快速适应新分布的算法。
DQN(Deep Q-Network)
DQN 将深度神经网络与 Q-Learning 相结合,使用卷积神经网络近似 Q 函数,在 Atari 游戏上取得革命性成果。
关键技巧:
-
Experience Replay:将交互经验存储在回放池中,随机小批量采样来打破数据相关性;
-
Target Network:固定目标 Q 网络一段时间再更新,避免网络剧烈震荡。
Actor-Critic 架构
为平衡高方差和低偏差,在 Actor-Critic 中将策略函数(Actor)和价值函数(Critic)同时学习:
-
Actor:输出策略 ;
-
Critic:估计价值函数 或 ;
-
每一次采样时,利用 Critic 来估计动作优势(Advantage),更新 Actor 的梯度,使得训练更稳定。
RL 的两大基本特征
强化学习(Reinforcement Learning, RL)拥有两大关键特征:一是通过持续的 试错搜索(trial-and-error)来发现最佳行为,二是面临延迟回报(delayed reward) 的挑战。这使得强化学习与监督学习在“如何评价模型”这一核心问题上存在显著差异:
-
在监督学习中,模型会根据事先给定的正确标签(label)得到即时且明确的反馈;
-
而在强化学习中,智能体的评价取决于整个互动过程中所作出的一系列动作,只有通过对 累计获得的奖励 进行评估,才能衡量策略的优劣。
换言之,监督学习用“已知正确答案”来指导模型学习,而强化学习则是让智能体在环境中不断尝试、观察反馈,再基于累积奖励对策略进行调整,从而逐步逼近最优方案。
探索与利用的平衡
在强化学习(RL)中,探索(Exploration)与利用(Exploitation) 的平衡是核心挑战:探索指尝试新动作以获取环境信息,利用则基于当前知识选择最优动作以最大化奖励。过度探索可能导致低效,过度利用则易陷入局部最优。常见方法包括:
- ε-greedy:以概率 ε 随机探索,其余时间贪婪利用;
- Upper Confidence Bound(UCB):通过置信区间量化动作不确定性,平衡二者;
- Thompson Sampling:基于贝叶斯后验分布动态调整动作选择;
- 基于内在激励(如好奇心驱动)或 信息增益,鼓励访问未充分探索的状态;
- Softmax 策略:按动作价值概率分布采样,兼顾高价值与潜在高回报动作。部分算法(如 MCTS)结合基于模型的规划进一步优化此平衡。
RL 中的 on-policy 和 off-policy 有什么区别?
在强化学习中,on-policy 和 off-policy 的区别,核心在于“数据采样的策略(Policy)与学习的策略是否相同”。以下从原理、示例、优缺点几个方面说明:
1. 原理概念
- on-policy
-
数据采样策略 与 当前正在学习/更新的策略 相同。
-
智能体执行的行为策略(Behavior Policy)就是要学习或评估的目标策略(Target Policy)。
-
换言之:智能体在环境中如何行动,就和我们要学的那条策略完全一致。
- off-policy
-
数据采样策略 与 学习/评估的目标策略 不必相同。
-
可以用一种行为策略与环境交互,收集到的数据却用来学习另一种目标策略。
-
常见做法是保留一个 经验回放池(Replay Buffer),历史数据可以不断被重用(不一定是按照当前策略采样得到的)。
2. 示例对比
- on-policy
- PPO、A2C/A3C 等。
- 在 PPO 中,为了保证策略稳定性,需要用最新的(或 近似最新的)策略去采样交互数据,然后紧接着对这批数据进行更新,更新后又要丢弃旧数据,重新采样。
- 好处是可以严格保证“策略分布”和“数据分布”一致,收敛性 更易分析。
- 坏处是 数据利用率低,因为一旦策略更新,这批数据就算“过期”了,很难重复使用来训练新策略。
- off-policy
- Q-Learning、DQN、SAC、TD3 等。
- DQN 中的经验回放池就是典型的 off-policy:采集数据时使用的是 策略(带随机探索),但在更新 Q 函数时,我们朝着 “greedy” 或某个更优的目标策略方向改进。
- 好处是可以 重复使用 历史数据,样本效率更高;还可以从人类示教数据或其他智能体的轨迹中学习。
- 坏处是策略与数据分布不一致带来的复杂性,可能更难保证收敛,更新过程也更易出现分布偏移(Distribution Shift)问题。
3. 优缺点总结
| 关键点 | on-policy | off-policy |
|---|---|---|
| 数据采样策略 | 与目标策略相同 | 与目标策略不同,可自行选择或混用 |
| 数据利用率 | 只能使用最近采样数据,效率较低 | 可以反复使用历史数据,效率较高 |
| 学习稳定性 | 分布一致性更好,算法分析更直接 | 数据分布差异大时,学习可能会不稳定 |
| 示例算法 | A2C/A3C、PPO 等 | Q-Learning、DQN、SAC、TD3 等 |
| 适用场景 | 中小型或交互稳定场景 | 大规模、需要高数据效率或可以使用离线数据场景 |
4. 为什么要区分 on-policy 和 off-policy
- 策略分布一致性:
强化学习的目标是学习一条最优策略(或评估某条策略的价值)。若数据来自与目标策略不同的分布,我们就需要更多技巧(如重要性采样、行为策略修正)来保证学习的正确性。
- 数据效率:
on-policy 经常“采样-训练-丢弃”,数据无法重复利用;off-policy 通过经验回放或从其他来源引入大量轨迹数据,能反复训练,提高数据效率。
- 安全性与可控性:
某些场景需要在策略稳定前就保证系统安全,off-policy 可以用保守的行为策略来收集数据,而学的却是更激进的目标策略。
总结
- on-policy:数据采样与目标策略一致,保证分布统一,算法理论分析更简洁,但数据浪费较大。
- off-policy:数据来源灵活,可以重复使用过去的经验,样本效率更高,但需要处理分布偏移带来的额外复杂性。
这就是两者在强化学习中的本质区别。off-policy RL 可以理解为“纸上得来终觉浅”,on-policy RL 可以理解为“绝知此事要躬行 ”。
RL 中的 online 和 offline 有什么区别?
在线强化学习(Online Reinforcement Learning)和离线强化学习(Offline Reinforcement Learning)是强化学习领域的两种不同学习范式,它们的主要区别在于如何使用经验数据(即智能体与环境交互产生的状态、动作、奖励序列)来训练模型。 下面是两者之间的几个关键差异:
数据收集方式:
- 在线强化学习:在学习过程中,智能体直接与环境实时交互,每一步选择动作、接收环境反馈(奖励和下一个状态),并立即用这些新鲜数据更新其策略或价值函数。这意味着学习策略会直接影响到实际行为,并且环境需要是可交互的。
- 离线强化学习:事先从一个固定的数据集(通常是之前交互产生的)中学习,不与环境实时互动。这个数据集可以是通过专家演示、历史记录或其他代理的行为收集的。离线学习的目标是从这些静态数据中最大化学习效率,而无需进一步探索环境。
探索与利用的平衡:
- 在线学习 强调在探索未知策略与利用当前最优策略之间找到平衡,因为每次决策都直接影响到学习过程和未来奖励。
- 离线学习 则主要关注于利用已有的数据,由于没有新的数据采集,探索新策略的能力受限,因此重点在于如何有效利用现有数据优化策略。
安全性和稳定性:
- 离线强化 学习 因为不直接与环境互动,所以特别适合于那些直接尝试可能有高风险或成本的场景,比如医疗决策、金融交易或物理机器人控制。
- 在线学习 可能涉及试错,对于某些敏感或昂贵的环境来说,错误的决策可能会导致不可逆的后果。
数据效率与收敛速度:
- 离线学习 可能在数据利用上更为高效,因为它试图从有限的数据集中榨取尽可能多的信息。但找到最佳策略的速度可能受限于数据集的覆盖范围和多样性。
- 在线学习 理论上可以无限探索,直至找到最优策略,但这个过程可能需要大量与环境的交互,从而在数据需求和时间成本上更高。
策略优化自由度:
- 在线学习 允许智能体根据即时反馈调整策略,因此在策略空间中的探索更加灵活。
- 离线学习 受限于已收集数据的策略空间,难以评估未被数据覆盖的动作的好坏,因此优化策略时可能较为保守。
综上所述,选择在线还是离线强化学习取决于具体的应用场景、可用资源、对安全性的要求以及对学习速度和数据效率的需求。
on/off-policy 和 online/offline 的区别
- 不同维度
- on/off-policy 解决的问题:“采样策略”与“目标策略”的一致程度。
- online/offline 解决的问题:“是否可以持续交互收集新数据 ”。
- 常见组合
离线强化学习基本一定是 off-policy,但在线强化学习可以既有 on-policy,也可以有 off-policy。
- 在线 + on-policy:比如 PPO、A2C 这些算法,需要跟环境交互,采集数据时就使用当前策略,采完就更新,旧数据不再使用。
- 在线 + off-policy:比如 DQN,虽然也是在线与环境交互,但 DQN 会把交互数据放到 replay buffer,后面训练时用到的旧数据不一定来自当前的策略,所以是 off-policy。
- 离线 + off-policy:这最常见。离线 RL 必然不能和“当前目标策略”一致地采样,因为数据集已经固定了,通常是其他策略或历史操作生成的数据,所以几乎都是 off-policy。
- 离线 + on-policy:理论上很难,因为离线数据本身就是固定收集的,跟当前想学的策略无法保持一致——所以离线强化学习通常都被视为 off-policy 的特例。
重要性采样基本原理
重要性采样是一种统计方法,用来在目标分布 与采样分布 不一致的情况下,调整采样结果的权重,使得从 中采样的数据可以用于估计 的期望。【10】
假设我们希望计算目标分布 下某个函数 的期望:
如果 很难直接采样,但可以从一个容易采样的分布 中采样,则可以通过以下公式重写:
其中, 称为 重要性权重(Importance Weight)。
重要性采样的作用是什么? 为什么需要它?
重要性采样允许我们使用与目标分布不同的采样分布,从而:
- 提高采样效率,尤其在 较难采样的情况下;
- 在强化学习中,它允许我们基于旧策略生成的经验数据来优化新策略,而无需重新采样环境数据。
Bradley-Terry Model
The Bradley-Terry Model 是一种统计模型,用于处理成对比较(pairwise comparisons)的问题,目的是估计多个对象之间相对偏好的概率。例如,给定两项选择 A 和 B ,该模型估计 A 相对于 B 被偏好的概率。
Bradley-Terry Model 的基本形式
对于两个对象 和 ,模型定义对象 被偏好的概率为:
其中:
-
和 分别是对象 和 的潜在得分(latent score)。
-
该模型的核心假设是:偏好的概率仅由对象的潜在得分决定,且满足 逻辑斯谛分布。
Bradley-Terry Model 的用途
-
该模型被广泛用于排序和评分系统,如体育比赛、推荐系统、搜索结果排序等。
-
在强化学习中,它可以用于 建模奖励函数,特别是在基于偏好反馈的场景下。
REINFORCE 和 PPO 的区别和联系
在强化学习中,REINFORCE 和 PPO 同属于 基于策略梯度 的方法,但在 更新方式 和 稳定性 上有本质差异。
REINFORCE
- 特点
- 最简单的策略梯度算法,也称“蒙特卡洛策略梯度”,在每个回合结束后,直接基于整条轨迹的回报来更新策略。
- 更新时使用 乘以当时获得的总回报,获取策略梯度。
- 优点
- 理论推导相对直接,概念简单,常用于基础教学和小规模实验。
- 对问题没有过多结构假设,容易与其他方法结合(如引入基线减小方差)。
- 缺点
- 高方差:需要大量样本才能得到稳定的梯度估计。
- 效率较低:一次采样后便更新,不能多次利用同一批数据。
PPO
- 特点
- 属于 Trust Region Policy Optimization 的简化版,通过限制新旧策略的更新幅度来保证训练稳定性。
- 训练时,可在同一批数据上做多次迭代更新,但会对新旧策略的概率比率施加“剪切”或“KL 惩罚”,防止一步迈得过大。
- 优点
- 训练更稳定:限制策略更新,使得学习过程不易崩溃。
- 样本利用率更高:对同一批次数据多次梯度更新,提高效率。
- 缺点
- 实现与调参相对更复杂,需要合适的超参数(如剪切阈值、KL 系数等)。
- 仍是 on-policy 方法,对离线数据的利用相对有限。
REINFORCE 和 PPO 的核心区别
- 更新方式
- REINFORCE:整条轨迹结束后一次性更新,仅用该次采样的数据。
- PPO:可以多次使用同一批数据,用截断或 KL 惩罚约束更新。
- 稳定性与效率
- REINFORCE:简单但高方差、低效率。
- PPO:限制策略变化幅度,显著提升稳定性与收敛速度。
因此,REINFORCE 常被视为最基础的策略梯度方法,适合讲解原理;而 PPO 则在实践中更常见,因其能在保持收敛性和稳定性的同时充分利用数据。