【问题标题】:Alpha and Gamma parameters in QLearningQLearning 中的 Alpha 和 Gamma 参数
【发布时间】:2009-12-06 07:37:18
【问题描述】:

伽玛值大或小对算法有什么影响?在我的光学系统中,只要它既不是 0 也不是 1,它的工作方式应该完全相同。另一方面,无论我选择什么伽玛,似乎 Qvalues 很快就接近于零(我在这里的值大约为 10^-300 只是在快速测试中)。考虑到这个问题,人们通常如何绘制 Qvalues(我正在为那个状态绘制 (x, y, best QValue))?我正在尝试使用对数,但即便如此感觉有点尴尬。

另外,我不明白 Q Learning 更新函数中具有和 alpha 参数的原因是什么。它基本上设置了我们将对 Q 值函数进行的更新幅度。我认为它通常会随着时间的推移而减少。让它随着时间的推移而减少的兴趣是什么?一开始的更新值应该比后面 1000 集更重要?

另外,我认为每次代理不想执行贪婪动作时探索状态空间的一个好主意是探索仍然具有零 QValue 的任何状态(这意味着,至少大部分时代,一个从未有过的国家),但我没有看到任何文献中提到过。这有什么缺点吗?我知道这不能与(至少某些)泛化函数一起使用。

其他想法是保留已访问状态/操作的表格,并尝试执行之前在该状态下尝试次数较少的操作。当然,这只能在相对较小的状态空间中完成(在我的情况下这绝对是可能的)。

探索过程后期的第三个想法是,不仅要查看所选动作以寻找最佳 qvalues,还要查看所有可能的动作和该状态的内部,然后查看该状态的其他动作等等。

我知道这些问题有点不相关,但我想听听以前曾与此相关的人的意见,并且(可能)也曾为其中一些问题苦苦挣扎。

【问题讨论】:

  • 政策是什么?问题是什么?有哪些州?工作的动力是什么?你用了什么代码?您是否使用参考问题来证明您的代码有效?

标签: language-agnostic artificial-intelligence reinforcement-learning


【解决方案1】:

来自强化学习硕士候选人:

Alpha 是学习率。如果奖励或转移函数是随机的(随机的),那么 alpha 应该随时间变化,在无穷远处接近零。当两者之一或两者具有随机行为时,这与近似内积 (T(transition)*R(reward)) 的预期结果有关。

这个事实很重要。

Gamma 是未来奖励的价值。它会对学习产生很大影响,可以是动态的或静态的值。如果它等于 1,则智能体对未来奖励的估值与当前奖励一样多。这意味着,在十个动作中,如果一个代理做了一些好事,这与直接做这个动作一样有价值。因此,在高 gamma 值下学习效果不佳。

相反,0 的 gamma 将导致代理只重视即时奖励,这仅适用于非常详细的奖励函数。

另外 - 至于探索行为......实际上有大量的文献。您的所有想法都已 100% 尝试过。我建议进行更详细的搜索,甚至开始搜索决策理论和“政策改进”。

只需在 Alpha 上添加注释:假设您有一个奖励函数,它针对某个状态动作组合 SA 输出 1 或 0。现在每次执行 SA 时,您将得到 1 或 0。如果将 alpha 保持为 1,您将获得 1 或零的 Q 值。如果它是 0.5,您将得到 +0.5 或 0 的值,并且该函数将永远在这两个值之间振荡。但是,如果每次将 alpha 值降低 50%,就会得到这样的值。 (假设收到的奖励是 1,0,1,0,...)。你的 Q 值最终会是 1,0.5,0.75,0.9,0.8,.... 最终会收敛到接近 0.5。在无穷大时,它将是 0.5,这是概率意义上的预期奖励。

【讨论】:

  • 你能添加一些链接吗?
  • 您描述的关于 alpha 选择的所有事实对于 Q 学习和深度 Q 学习(及其变体)都是完全有效的?
【解决方案2】:

伽玛值大或小对算法有何影响?

gammas 应该对应于观察空间的大小:对于大状态空间,您应该使用较大的 gammas(即更接近 1),而对于较小的空间,您应该使用较小的 gammas。

考虑 gamma 的一种方式是,它表示奖励从最终成功状态的衰减率。

【讨论】:

    【解决方案3】:

    我以前没有使用过完全这样的系统,所以我不知道我能有多大用处,但是......

    Gamma 衡量智能体期待未来奖励的倾向。它越小,代理就越倾向于采取具有最大奖励的行动,而不管结果状态如何。具有较大 gamma 的智能体将学习获得丰厚回报的漫长路径。至于所有接近零的 Q 值,您是否尝试过使用 gamma=0 的非常简单的状态图(例如,一个状态和两个动作)?这应该很快接近 Q=reward。

    降低 alpha 的想法是抑制 Q 值的波动,以便智能体可以在狂野青年之后进入稳定模式。

    探索状态空间?为什么不只是迭代它,让代理尝试一切?没有理由让智能体在其学习过程中实际遵循一个行动过程——除非那是你模拟的重点。如果这个想法只是为了找到最佳行为模式,请调整所有 Q,而不仅仅是沿路径的最高 Q。

    【讨论】:

    • 进行 Q-Learning 的重点不是遍历所有空间。正是为了尽可能快地学习(即拥有巨大的状态空间,快速学习如何充分探索它们以完成给定的任务)。如果要迭代它,那么我会使用典型的搜索系统(呼吸优先,深度搜索等)。另外,我不明白将伽玛设置为零有什么意义。它只会执行导致目标更新的操作。所有其他都将等于零。
    最近更新 更多