强化学习——代理如何知道选择哪个动作?

Posted

技术标签:

【中文标题】强化学习——代理如何知道选择哪个动作?【英文标题】:Reinforcement Learning - How does an Agent know which action to pick? 【发布时间】:2016-04-23 15:30:23 【问题描述】:

我正在尝试理解 Q-Learning

基本更新公式:

Q(st, at) += a[rt+1, + d.max(Q(st+1, a)) - Q(st,at)]

我了解公式及其作用,但我的问题是:

代理如何知道选择 Q(st, at)?

我知道代理遵循一些策略 π,但是你首先如何创建这个策略?

我的代理正在玩跳棋,所以我专注于无模型算法。 代理所知道的只是它所处的当前状态。 我知道它执行一个动作时,您会更新该实用程序,但它如何知道首先要执行该动作。

目前我有:

检查您在该状态下可以采取的每一个动作。 选择最实用的招式。 更新移动的实用程序。

但是,这并不能真正解决很多问题,您仍然会陷入局部最小值/最大值。

所以,为了圆满结束,我的主要问题是:

对于一无所知并使用无模型算法的代理,您如何生成初始策略,以便它知道要采取的行动?

【问题讨论】:

目前,我只是选择产生最高效用的任何行动,但我认为这样做是错误的,因为它严重阻碍了探索。 【参考方案1】:

该更新公式以增量方式计算每个状态下每个操作的预期值。贪婪的策略总是选择价值最高的行动。当您已经了解了这些价值观时,这是最好的策略。学习过程中最常用的策略是 ε-greedy 策略,它选择概率为 1-ε 的最高值动作,以及概率为 ε 的随机动作。

【讨论】:

感谢您的澄清。我有点像这样的东西已经实现了,但我很担心我错过了一些巨大的东西! 即使是 Google 的玩 Atari 的 AI 也使用带有 ε-greedy 策略的强化学习。在学习的过程中,它会在前一百万帧中逐渐将 ε 从 1.0 降低到 0.1。

以上是关于强化学习——代理如何知道选择哪个动作?的主要内容,如果未能解决你的问题,请参考以下文章

强化学习过程中对产生的无效动作应该如何进行屏蔽处理?(强化学习中可变的动作空间怎么处理)

强化学习分类与汇总介绍

机器学习工程师 - Udacity 强化学习 Part Three

中国mooc北京理工大学机器学习第三周:强化学习基础

在强化学习中 啥是 softmax action ?

深度强化学习的实操 动作空间状态空间回报函数的设计以及算法选择训练调试和性能冲刺