拟合Q迭代(FQI)是一种早期且直观的方法,用于从固定数据集中学习,它借鉴了在线学习中的思想。FQI将Q学习和值迭代的主要思想扩展到离线、批量设置中。FQI不是一次更新一个Q值,而是将问题视为一系列监督学习 (supervised learning)任务,在每一步都使用全部可用数据集 D={(si,ai,ri,si′)}i=1N。
基本目标保持不变:估计最优动作值函数 Q∗(s,a)。FQI通过迭代实现这一点。我们从一个初始Q函数估计开始,通常简单地设为所有 s,a 的 Q^0(s,a)=0。然后,对于每次迭代 k=1,2,…,K:
-
生成目标值: 使用上一次迭代的Q函数估计 Q^k−1,我们为静态数据集 D 中存在的每个状态-动作对 (si,ai) 计算目标值 yi。目标值根据贝尔曼最优性方程得出,使用观察到的奖励 ri 和从下一个状态 si′ 可达到的估计最大值:
yi=ri+γa′maxQ^k−1(si′,a′)
这就创建了一个目标数据集 {((si,ai),yi)}i=1N。请注意,目标 yi 使用固定数据 (ri,si′),但依赖于上一次的Q函数估计 Q^k−1。
-
监督学习: 我们训练一个函数逼近器(我们新的Q函数估计 Q^k),以使其预测 Q^k(si,ai) 与计算出的目标值 yi 之间的差异最小化。这实际上是针对步骤1中生成的数据集对的标准回归问题。目标通常是均方误差(MSE):
Q^k=argQmini=1∑N(Q(si,ai)−yi)2
Q^k=argQmini=1∑N(Q(si,ai)−(ri+γa′maxQ^k−1(si′,a′)))2
-
重复: 新训练的 Q^k 成为下一次迭代 (k+1) 中生成目标值的输入。这个过程重复预设的迭代次数 K,或者直到Q函数估计的变化足够小。
FQI中的函数逼近器
FQI的一个重要特点是其在选择 Q(s,a) 的函数逼近器方面的灵活性。由于每次迭代都归结为一个监督回归任务,因此可以使用任何合适的回归器。从历史上看,非参数 (parameter)方法如树集成(随机森林、梯度提升树)因其在无需大量超参数 (hyperparameter)调整的情况下有效学习复杂函数而被频繁使用。然而,深度神经网络 (neural network)也可以被用于将FQI转变为“神经拟合Q迭代”(NFQ),这在某种程度上模糊了与DQN的界限,但保留了其独特的迭代批量拟合过程。
FQI的优点
- 简洁性: 它直接将熟悉的贝尔曼更新方法应用于批量设置。
- 使用监督学习 (supervised learning): 它允许使用强大的、现成的回归算法。
- 纯离线: 它完全基于提供的静态数据集运行,无需进一步与环境交互。
主要问题:分布偏移
尽管FQI具有吸引力,但在离线设置中,它在实践中常常遇到困难,正是因为分布偏移。主要问题在于目标计算步骤:yi=ri+γmaxa′Q^k−1(si′,a′)。
- 最大化操作符: maxa′ 项需要为下一个状态 si′ 中可能存在的许多动作 a′ 评估Q函数 Q^k−1。
- 分布外动作: 数据集 D 是由特定行为策略 πb 生成的。最大化 Q^k−1(si′,a′) 的动作 a′ 极有可能不同于策略 πb 在状态 si′ 中通常采取的动作。这些最大化动作在状态 si′ 的训练数据中可能很少出现或完全缺失。
- 误差传播: 结果是,对于这些分布外(OOD)动作,Q^k−1(si′,a′) 的估计可能极不准确。标准监督学习 (supervised learning)回归器对其远离训练数据分布的输入输出不提供任何保证。目标值 yi 中的这些误差随后融入到下一个Q函数 Q^k 的训练目标中。因此,误差可能会在迭代中传播和累积,可能导致收敛失败或对OOD动作的Q值明显高估,从而产生较差的最终策略。
考虑一个此问题的简单可视化:
FQI过程依赖于使用前一个Q函数 (Qk−1) 估计下一个状态 (si′) 中的最大Q值。然而,产生此最大值的动作 a′ 相对于数据集 D 中状态 si′ 处存在的动作而言,可能是分布外的。这可能导致不可靠的估计值反馈回目标计算,从而引起误差传播。
因此,FQI是一个重要的基准方法,但根本上缺少明确应对分布偏移问题的机制。它基于一个隐式且通常不正确的假设运作,即函数逼近器即使对数据中未见或稀疏的状态-动作对也能较好地泛化。这一局限性促使了专门为离线设置设计的方法的开发,例如我们接下来将讨论的策略约束和价值正则化 (regularization)技术,这些方法旨在减轻查询分布外(OOD)动作所带来的风险。