无模型强化学习 (Model-Free RL) 的主要方法
1. 策略优化 (Policy Optimization)
这类方法的核心是显式地表示一个策略,记为 $π_θ(a|s)$。它们通过优化参数 $θ$ 来提升策略性能。
优化目标: 直接或间接地最大化性能目标 $J(π_θ)$。
- 直接优化: 通过对 $J(π_θ)$ 进行梯度上升 (gradient ascent) 来直接优化。
- 间接优化: 通过最大化 $J(π_θ)$ 的一个局部近似(代理目标)来优化。
数据使用方式: 这类优化几乎总是在策略的 (on-policy)。
- On-policy 含义: 每次更新只使用由最新版本的策略收集的数据。旧策略产生的数据会被丢弃。
辅助组件: 策略优化通常也会学习一个对在策略价值函数 $V^{\pi}(s)$ 的近似器 $V_ϕ(s)$。这个价值函数近似器被用来帮助计算如何更新策略。
算法示例:
- A2C / A3C: 通过直接的梯度上升来最大化性能。
- PPO: 通过最大化一个“代理目标函数”(surrogate objective function)来间接最大化性能。这个代理目标函数保守地估计了策略更新后 $J(π_θ)$ 会有多大的变化,从而使更新更稳定。
2. Q学习 (Q-Learning)
这类方法的核心是学习一个对最优动作价值函数 $Q^{*}(s,a)$ 的近似器,记为 $Q_θ(s,a)$。
优化目标: 通常使用一个基于贝尔曼方程的目标函数来训练 $Q_θ(s,a)$,使其满足自洽性。
数据使用方式: 这类优化几乎总是离策略的 (off-policy)。
- Off-policy 含义: 每次更新可以利用训练过程中任何时间点收集到的数据,无论当时智能体是使用何种探索策略得到这些数据的。这通常通过一个称为“经验回放池 (Replay Buffer)”的机制实现。
策略推导: 对应的策略是通过 $Q^{*}$ 和 $π^{*}$ 之间的联系隐式得到的。Q学习智能体采取的动作由下式给出:
$a(s) = \arg \max_a Q_θ(s,a)$算法示例:
- DQN: 一个经典算法,极大地推动了深度强化学习领域的发展。
- C51: 一个DQN的变体,它学习的是一个回报的分布,这个分布的期望就是 $Q^{*}$。
3. 策略优化 vs. Q学习:权衡与取舍
策略优化的优势:
- 原理性强: 它们直接优化我们最终关心的目标(策略性能 $J(π_θ)$)。
- 稳定可靠: 由于直接优化目标,它们的学习过程通常更稳定。
Q学习的优势:
- 样本效率高: 由于可以有效复用历史数据(off-policy),当它们能够成功工作时,其样本效率通常远高于策略优化方法。
Q学习的劣势:
- 稳定性差: 它们只间接地优化性能(通过让 $Q_θ$ 满足一个自洽方程)。这种学习方式存在很多潜在的失败模式,因此学习过程往往不太稳定。
4. 两者之间的融合:插值算法
幸运的是,策略优化和Q学习并非完全不兼容(在某些情况下甚至是等价的),存在一系列介于两者之间的算法。这些算法能够巧妙地权衡两边的优缺点。
- 算法示例:
- DDPG: 一种同时学习一个确定性策略和一个Q函数的算法。它利用策略来改进Q函数,同时利用Q函数来改进策略。
- SAC: 一种使用随机策略的算法,它通过熵正则化(entropy regularization)和其他技巧来稳定学习过程,并在标准基准测试中取得了比DDPG更高的分数。
无模型强化学习 (Model-Free RL) 的主要方法