强化学习中的引导究竟是什么?

数据挖掘 强化学习
2021-09-26 21:19:14

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

RL 中的引导究竟是什么?什么是 RL 中的自举方法?

2个回答

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

在大多数 TD 更新规则中,您会看到类似这样的 SARSA(0) 更新:

Q(s,a)Q(s,a)+α(Rt+1+γQ(s,a)Q(s,a))

价值Rt+1+γQ(s,a)是对真实值的估计Q(s,a),也称为TD目标。这是一种引导方法,因为我们部分地使用了一个 Q 值来更新另一个 Q 值。有少量的真实观测数据,形式为Rt+1,该步骤的直接奖励,以及状态转换ss.

与 Monte Carlo 相比,等效更新规则可能是:

Q(s,a)Q(s,a)+α(GtQ(s,a))

在哪里Gt是当时的总折扣奖励t,假设在此更新中,它以状态开始s, 采取行动a,然后遵循当前政策直到剧集结束。从技术上讲,Gt=k=0Tt1γkRt+k+1在哪里T是终端奖励和状态的时间步长。值得注意的是,这个目标值根本不使用任何现有的估计值(来自其他 Q 值),它只使用来自环境的一组观察值(即奖励)。因此,它保证是对真实值的无偏估计Q(s,a),因为它在技术上是一个样本Q(s,a).

自举的主要缺点是它偏向于您的起始值Q(s,a)(或者V(s)) 是。这些很可能是错误的,并且由于太多的自我参考和没有足够的真实数据,更新系统可能作为一个整体不稳定——这是使用神经网络的离策略学习(例如 Q 学习)的问题。

如果没有自举,使用更长的轨迹,通常会有很大的方差,这在实践中意味着在估计收敛之前需要更多的样本。因此,尽管自举存在问题,但如果它可以工作,它可能会学习得更快,并且通常比蒙特卡洛方法更受欢迎。

您可以在基于 Monte Carlo 样本的方法和通过使用来自不同长度轨迹的混合结果引导的单步 TD 方法之间进行折衷。这称为TD(λ) 学习,具体方法有多种,如 SARSA(λ) 或 Q(λ)。

通常,RL 中的自举意味着您根据一些估计而不是某些确切值来更新值。例如

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

V(St)=V(St)+α(GtV(St))

TD(0) 政策评估更新:

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

在 TD(0) 中,从 state 开始返回s估计(举)由Rt+1+γV(St+1)而在 MC 中,我们使用精确 回报 Gt.