Q 学习中的探索:Epsilon 贪婪 vs 探索函数

数据挖掘 机器学习模型 q学习
2021-10-13 05:11:03

我试图了解如何确保我们的代理在利用它所知道的之前充分探索状态空间。我知道我们使用带有衰减 epsilon 的 epsilon-greedy 方法来实现这一点。但是我遇到了另一个概念,即使用探索函数来确保我们的代理探索状态空间。

Q 使用 Epsilon Greedy 学习


sample=R(s,a,s)+γmaxaQ(s,a)
Q(s,a)=(1α)Q(s,a)+αsample

探索功能

f(u,n)=u+k/n
Q(s,a)=R(s,a,s)+γmaxaf(Q(s,a),N(s,a))
其中 N(s',a') 计算您之前看到此 (s',a') 对的次数。


现在我的问题是,以上两种策略是否只是 Q 学习的两种不同方式?因为我似乎找不到关于探索函数的太多细节,但可以找到关于 epsilon greedy Q learning 的很多细节。或者探索函数可以与 epsilon 贪婪 Q 学习算法一起使用,作为某种优化的一种形式?我很困惑我们究竟将在哪里使用这种探索功能 Q 学习策略。非常感谢任何帮助/建议!

1个回答

任何确保行为策略涵盖所有可能动作的探索功能在理论上都适用于 Q 学习。通过覆盖,我的意思是在每个状态下选择每个动作的概率非零。这是必需的,以便在给定足够时间的情况下,所有估计都将收敛于真实的动作值。

因此,有很多方法可以构建行为策略。在 Q 学习中,可以使用等概率随机动作选择(忽略当前 Q 值)作为行为策略,或者甚至通过对使用未知策略的代理的观察来学习一些警告。

有实际问题:

  • 如果行为策略与最优策略完全不同,那么学习可能会很慢,因为收集的大多数信息是不相关的,或者一旦调整到学习目标策略的值时方差非常大。

  • 当使用函数逼近时——例如在带有神经网络的 DQN 中——状态样本的分布,所看到的动作对对逼近有影响。最好有与目标策略将生成的数据相似的输入数据群*。

  • 在某些情况下,多个时间步长的一致策略可以提供更好的探索特性。这方面的例子发生在控制代理在物理空间中导航时,为了发现新的高价值奖励,这些物理空间可能不得不与当前的最佳猜测相距甚远。

这些问题推动了不同勘探技术的设计。

epsilon-greedy 方法非常流行。它很简单,只有一个参数,可以针对任何环境进行调整以获得更好的学习特性,并且在实践中通常表现良好。

您提供的探索功能尝试解决最后一个要点。它增加了复杂性,但在非平稳环境中可能很有用,因为它鼓励远离当前最优路径的偶尔探索路径。

现在我的问题是,以上两种策略是否只是 Q 学习的两种不同方式?

是的。

或者探索函数可以与 epsilon 贪婪 Q 学习算法一起使用,作为某种优化的一种形式?

是的,应该可以将这两种方法结合起来。它会增加复杂性,但它可能会在学习速度、稳定性或应对非平稳环境的能力方面提供一些好处。

如果行为策略涵盖长期所有可能的行为,那么您选择的离策略强化学习探索如何工作就是学习代理的超参数之一。这意味着,如果您对不同的方法有想法(例如将您读过的两种方法结合起来),那么您需要尝试一下,看看它是否有助于解决您的特定问题。


* 但不一定相同,因为近似 Q 函数会丢失区分最优和非最优行为的学习输入。这可能是一个棘手的平衡问题,并且是强化学习代理中灾难性遗忘的问题。