关于时间差异学习的困惑

人工智能 强化学习 时差法 加强
2021-11-02 16:49:42

关于 David Silver 关于强化学习的讲座,讲座幻灯片 (幻灯片 23、24),我有几个小问题。更具体地说,它是关于时间差异算法:

V(st)V(st)+α[Gt+1+γV(st+1)V(st)]

在哪里γ是我们的贴现率和α学习率。在讲座幻灯片中给出的示例中,我们观察到以下路径:

(A,1,B,0),(B,1),(B,1),(B,1),(B,1),(B,1),(B,1),(B,0)

我们处于状态的第一条轨迹的含义A, 得到奖励1,进入状态B并获得奖励0游戏结束。对于第二个轨迹,我们从状态开始B, 得到奖励1游戏结束...

假设我们用值初始化所有状态0并选择α=0.1,γ=1

我的第一个问题是以下是否“实施”TD(0)上述观察到的前两个轨迹的算法是否正确?

  1. V(a)0+0.1(1+00)=0.1;V(b)0+0.1(1+00)=0.1
  2. V(b)0.1+(0.1)(1+00.1)=0.19

? 如果是这样,我们为什么不使用更新的价值函数V(b)也更新我们的价值V(a)?

我的第三个问题是关于以下声明

TD(0)收敛到最大似然马尔可夫模型的解

这意味着如果我们继续采样并应用TD(0)算法,由此获得的解决方案使用马尔可夫模型收敛到该样本的 ML 估计?为什么我们不立即使用 ML 估计?

1个回答

我的第一个问题是,对于上述观察到的前两个轨迹,𝑇𝐷(0) 算法的以下“实现”是否正确?

  1. V(a)0+0.1(1+00)=0.1;V(b)0+0.1(1+00)=0.1
  2. V(b)0.1+(0.1)(1+00.1)=0.19

您对第一条轨迹的计算(A,1,B,0)TD 或 Monte Carlo 都不正确。出于某种原因,您分配了立即奖励或返还1到第二步,而在示例中,它是0对于采样回报和单步 TD 目标。

此外,您为单步 TD 引用此更新规则:

V(st)V(st)+α[Gt+1+γV(st+1)V(st)]

. . . 实际上这不是通常的符号。符号Gt通常用于显示“回报”值 - 奖励的总和(通常由某些因素加权,例如γ)。显示 TD 更新规则的常用方法是:

V(st)V(st)+α[rt+1+γV(st+1)V(st)]

即使用即时奖励。这可能是一个简单的错字,但是我正在解释这一点,因为它可能会导致您的计算不正确。

但是,正确的计算与您的计算并没有太大不同:

  1. V(a)0+0.1(1+00)=0.1;V(b)0+0.1(0+00)=0.0
  2. V(b)0.0+(0.1)(1+00.0)=0.1

如果是这样,我们为什么不使用更新的价值函数V(b)也更新我们的价值V(a)?

您可以并且会在以下任何一种情况下执行此操作:

  • 在在线学习中,您会再次体验到状态按 (A,B) 顺序排列的轨迹

  • 在离线学习中,你重复之前的批量学习经验或使用经验回放

值得注意的是,如果您获取一小批数据并一次又一次地重复以更新值函数,它们将根据您的数据集收敛到值。这就是幻灯片在讲座中所解释的内容 - 突出了 TD 和 MonteCarlo 在您执行此操作时将产生的差异。但是,如果该数据集是环境中可能的随机行为的一个非常小的子样本,那么您可能无法创建准确的值函数,而是在有限数据的情况下将是最好的。如果很容易收集更多的经验,那么这通常是可取的。

为什么我们不立即使用 [最大似然] 估计?

因为它对价值预测任务没有直接用处,并且您需要一些机制来使用该最大似然 MDP 模型来生成价值预测。借助 TD,您已经在进行此估算*。

您可以获取现有样本,并使用它们根据观察结果生成 MRP(马尔可夫奖励过程,因为轨迹中没有示例动作)的参数。该“最佳猜测”MRP 是您的最大似然 MDP 模型,并且将评估与您在样本上收敛的重复 TD 批次相同。

幻灯片解释的主要区别是蒙特卡洛将收敛到V(a)=1因为其中包含 A 的唯一样本在状态 A 之后返回 1。而 TD 将收敛到V(a)=1.75,因为它将相同的样本视为从 A 开始的状态进展的唯一实例 - 例如,状态 A“总是”具有 1 的即时奖励,然后进入状态 B。两种算法都将收敛到V(b)=0.75.


* 有一些算法,例如 Dyna-Q,部分地做到了这一点,利用迄今为止收集的经验来创建环境动态模型。有时这是有用且有效的。但是,这并不总是可能的或最好的方法。