提示:本文更新于2025年12月17日

在线学习和离线学习介绍

在强化学习中,在线学习和离线学习代表了两种不同的数据使用范式。在线学习要求智能体通过与环境实时交互来收集数据,并立即用这些新数据更新策略。这种方法使智能体能够持续探索最新状态,但其“边交互边学习”的特性也容易导致策略更新不稳定——当新策略偏离旧策略过多时,可能引发性能的断崖式下降。以PPO为代表的现代算法通过重要性采样和策略更新约束机制,有效缓解了这一问题。

相比之下,离线学习则使用预先收集的固定数据集进行训练,智能体不再与环境交互。这种方式安全且高效,尤其适用于机器人控制、医疗决策等高风险或数据收集成本昂贵的领域。然而,离线学习面临分布偏移的挑战:当所学策略与数据集中的行为策略差异较大时,价值函数的估计可能严重失真。为解决此问题,离线强化学习常采用保守策略优化或对未见状态-动作对的惩罚机制,以确保策略更新保持在数据集支持的安全区域内。这两种范式各有优劣,近年来也涌现出混合式方法,试图结合二者的优点。

在线学习的本质缺陷

在强化学习中,"断崖式现象"(performance cliff)指策略优化过程中出现的策略性能突然急剧下降的现象。这种现象主要源于在线学习的本质缺陷:策略网络每次更新都依赖于当前策略收集的数据,更新后的新策略会立即改变与环境的交互方式,导致之前收集的数据分布失效。当策略更新步长过大时,新策略可能完全偏离旧策略的有效区域,在状态空间中探索到性能很差的区域。这种现象在数学上表现为重要性采样权重(新策略概率与旧策略概率之比)的剧烈变化,某些动作的权重可能趋近于零或趋于无穷,导致梯度估计方差爆炸,优势函数估计失效。

这种断崖式崩溃在视觉上表现为训练曲线中的"悬崖"——策略回报在连续几个训练周期内从稳定上升突然垂直下跌,有时甚至无法恢复。其根本原因在于策略空间的非线性特性:小幅度的参数变化可能导致策略行为的根本性改变。TRPO试图通过严格的KL散度约束解决这一问题,但计算复杂。PPO则通过巧妙的裁剪机制,在目标函数中限制策略更新的最大幅度,当新旧策略差异过大时,裁剪后的目标函数会选择更保守的更新方向,从而将"硬约束"转化为"软约束",既保持了更新的稳定性,又避免了复杂的二阶优化计算。这种设计使PPO能够在保持探索能力的同时,防止策略"坠落悬崖",实现了稳定性与学习效率的平衡。

PPO的前身TRPO

信任域策略优化(Trust Region Policy Optimization,TRPO)是强化学习中的一项里程碑式算法,由OpenAI于2015年提出,旨在解决传统策略梯度方法中策略更新不稳定、易出现性能崩溃的问题。其核心思想源于信任域方法——通过限制新旧策略之间的变化幅度,确保每次策略更新都在一个安全的“信任域”内进行,从而保障性能单调提升。

TRPO通过数学推导将这一思想转化为KL散度约束:在优化策略期望回报的同时,要求新旧策略分布的KL散度不超过预定阈值。这种方法理论上能保证每次更新后的策略性能不低于更新前。具体实现中,TRPO通过共轭梯度法等二阶优化技术近似处理约束优化问题,虽然计算较为复杂,但显著提升了训练稳定性。

TRPO的重要性在于它为策略优化提供了坚实的理论保障,直接启发了后来更为简洁高效的PPO算法。尽管其实践中因计算复杂度较高而逐渐被PPO取代,但其“约束更新幅度”的核心思想已成为现代策略梯度算法的基石,深刻影响了离线强化学习等领域的发展。

PPO算法的诞生背景与核心思想

PPO(Proximal Policy Optimization,近端策略优化)是一种深度强化学习算法,由OpenAI于2017年提出。其核心目标是解决策略梯度算法中训练不稳定、步长难以确定的问题。PPO通过限制策略更新的幅度,确保新策略与旧策略不会差异过大,从而在保证学习效率的同时避免训练崩溃,成为近年来最流行的强化学习算法之一。

PPO算法的关键技术机制

PPO的关键创新在于其“裁剪”机制。算法通过一个比率函数衡量新旧策略的差异,并利用裁剪函数将这一比率限制在合理范围内。这种设计既继承了信任域策略优化(TRPO)的稳定性优点,又大幅简化了计算复杂度。此外,PPO通常结合优势函数估计来评估动作的价值,使更新方向更加准确,兼具了样本效率与算法简洁性。

PPO算法的应用与影响

PPO因其鲁棒性和易于调参的特性,被广泛应用于游戏AI、机器人控制、自动驾驶等领域。从《Dota 2》的智能体到工业控制任务,PPO展现了强大的适应性。它的出现显著降低了强化学习的实践门槛,推动了相关技术的发展,至今仍是许多研究与应用的首选基准算法。

PPO处理离散动作和连续动作的区别

PPO(Proximal Policy Optimization)是一种广泛应用于强化学习的算法,能够处理离散动作和连续动作。两者的主要区别体现在动作空间的表示、策略网络的输出以及采样方式等方面。

在离散动作空间中,动作是有限的、可枚举的类别。例如,在CartPole环境中,动作可以是“向左”或“向右”。PPO的策略网络输出每个动作的概率分布,通常使用Softmax激活函数将输出转换为概率值。采样时根据这些概率分布随机选择动作。Softmax确保输出的概率和为1,适用于离散动作的选择。

在连续动作空间中,动作是实数值向量,通常有上下界限制。例如,在BipedalWalker环境中,动作是一个区间内的数值。PPO的策略网络输出动作的均值,并通过高斯分布进行采样。最后一层通常使用Tanh激活函数,将输出限制在[-1, 1]范围内。Tanh激活函数确保输出在合理范围内,并结合固定方差定义高斯分布,从中采样具体动作。

PPO在处理连续动作时需要特别关注动作分布的参数化和采样过程,而离散动作则更注重概率分布的准确性。根据具体任务选择合适的动作空间处理方式,可以更好地优化模型性能。