趋近智
Q-learning和SARSA为理解强化学习的更新机制提供了坚实的基础,但当问题超出简单范畴时,它们对表格表示的依赖便会面临显著障碍。这些“查找表”方法为每个状态或状态-动作对存储一个明确的值,在离散状态和动作数量可控的环境中表现良好。然而,随着环境复杂度的增加,它们的实用性会迅速减弱。
主要的问题常被称为维度灾难。设想将Q-learning应用于控制一个多关节的机械臂。每个关节的角度都可以是一个状态变量。即使我们将每个角度离散化为例如10个可能的值,对于6个关节,我们也将有106(一百万)种可能的状态配置。如果再加入每个关节的速度,数量还会进一步增多。对于具有连续状态变量(如传感器读数或物理空间中的物体位置)的环境,状态的数量在理论上是无限的。对连续空间进行粗略离散化会导致信息缺失,而精细离散化则会使状态数量再次变得无法管理。
随着更多特征的加入,独立状态的数量呈指数级增长,假设每个特征有10个离散值。这使得为所有状态存储一张表很快就变得不切实际。
这种指数级增长会带来几个实际问题:
内存需求: 存储一个庞大的表格需要大量的内存。对于围棋这样的问题,可能的棋盘位置数量(>10170)远远超出任何可想象的计算机内存容量。我们根本无法创建一个足够大的Q表。
计算成本: 学习每个状态的值需要多次访问该状态(或状态-动作对)。在非常大的状态空间中,智能体可能需要很长时间才能遇到大多数状态,更不用说频繁访问它们以获得准确的值估计。训练变得计算上无法承受。
泛化能力不足: 表格方法独立对待每个状态。了解一个状态无法为其他可能非常相似的状态提供任何信息。例如,在视觉场景中稍微改变一个物体的位置,就会在表格表示中产生一个新的状态。智能体无法运用其从几乎完全相同的先前状态获得的经验。它必须从头开始学习这个“新”状态的值。从常理来看,我们希望智能体能将所学知识泛化到类似情境中。
类似的问题也会出现在大型或连续动作空间中。虽然不总是遇到与状态空间相同的指数级障碍,但需要计算和比较大量离散动作的Q值,或在Q-learning更新期间在一个连续动作范围内找到最大值,同样会变得计算密集。
"这些局限性清楚表明,表格方法不足以应对许多具有高维状态空间、连续变量或需要泛化的问题。为了应对这些问题,我们需要一种近似值函数(V(s)或Q(s,a))的方法,而不是为每个条目显式存储它。这是函数近似的核心思路,我们将在下一章中介绍,从深度Q网络(DQN)开始。"
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造