强化学习中的引导到底是什么?


23

显然,在强化学习中,时差(TD)方法是一种引导方法。另一方面,蒙特卡洛方法不是自举方法。

RL中的引导到底是什么?RL中的自举方法是什么?

Answers:


22

RL中的自举可以理解为“在更新步骤中针对相同种类的估计值使用一个或多个估计值”。

在大多数TD更新规则中,您将看到类似SARSA(0)更新的内容:

s一种s一种+α[RŤ+1个+γs一种-s一种

[RŤ+1个+γs一种为真值的估计值s一种,并且也被称为TD目标。这是一种引导方法,因为我们部分使用Q值来更新另一个Q值。存在少量的实际观测数据,其形式为[RŤ+1个,即该步的直接奖励,以及状态转换。ss

与蒙特卡洛相反,等效更新规则可能是:

s一种s一种+αGŤ-s一种

其中是时间的总折扣奖励,假设在此更新中,它从状态开始,采取操作,然后遵循当前策略,直到情节结束。从技术上讲,其中是终端奖励和状态的时间步长。值得注意的是,该目标值根本不使用任何现有估计(来自其他Q值),而仅使用来自环境的一组观察值(即奖励)。因此,它被保证是无偏的真实值的估计,因为它在技术上是一个样品GŤŤs一种GŤ=ķ=0Ť-Ť-1个γķ[RŤ+ķ+1个Ťs一种s一种

自举的主要缺点是它偏向于(或)的初始值。这些很可能是错误的,并且由于过多的自我参考和不足的真实数据,更新系统整体上可能会很不稳定-这是使用神经网络进行非策略学习(例如Q学习)的问题。s一种Vs

如果不使用自举法,而使用更长的轨迹,通常会存在较大的方差,实际上,这意味着您需要更多的样本才能使估计收敛。因此,尽管存在引导程序方面的问题,但如果可以使之工作,它的学习速度可能会大大提高,并且通常比蒙特卡洛方法更可取。

您可以通过混合使用不同长度轨迹的结果,在基于蒙特卡洛样本的方法和自举的单步TD方法之间折衷。这称为TD()学习λ λ λ,并且有各种特定的方法,例如SARSA()或Q()。λλ


1
这可能应该是另一个问题。但是,如果你要的答案,到底为什么是,并估计Q 小号一个[RŤ+1个+γs一种s一种
nbro

1
@nbro:由于在收敛,(这些方程式和大多数RL由MDP的Bellman方程式驱动)。通过查看从状态s和操作a开始发生的实际事件s一种=Ë[[RŤ+1个+γ小号Ť+1个一种Ť+1个|小号Ť=s一种Ť=一种]s一种,那么您实际上就是从该期望中取样。问题是,虽然你有值可能已经不收敛呢,所以样本偏差。小号Ť+1个一种Ť+1个
尼尔·斯莱特

1
是什么阻止人们在切换到引导程序之前将MC方法用作同相刻录?还是可以认为这是的子情况?λ-Ťd
n1k31t4

1
@ n1k31t4:没有什么可以阻止这样做的,这应该是有效的RL方法。它会与TD()不同,但受试图从两种算法中获得良好特征的相同想法所激发。您需要尝试一下,然后将学习效率与TD(λ)进行比较-您仍然需要调整一个超参数,这是运行MC的情节数。更通用的版本是允许λ改变-从λ = 1开始并将其衰减到例如0.4或任何看起来最理想的值。但是,具有2个超参数,衰减率和目标λλλλλ=1个0.4λ
尼尔斯莱特

@NeilSlater,在使用引导程序时是否可以收敛?我不明白为什么会这样,因为Q(s',a')只是一个任意猜测,这会使Q(s,a)的估计失真。此外,为什么MC与TD相比有较高的差异?
d56

4

通常,RL中的自举表示您是根据一些估算值而不是某些精确值来更新值。例如

增量蒙特卡洛政策评估更新:

V小号Ť=V小号Ť+αGŤ-V小号Ť

TD(0)政策评估更新:

V(St)=V(St)+α(Rt+1+γV(St+1)V(St))

在TD(0),则返回从状态开始估计(自举)由[R + 1个 + γ V 小号+ 1,而在MC我们使用确切返回ģ sRt+1+γV(St+1) GŤ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.