强化学习——代理如何知道选择哪个动作?
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。以上是关于强化学习——代理如何知道选择哪个动作?的主要内容,如果未能解决你的问题,请参考以下文章
强化学习过程中对产生的无效动作应该如何进行屏蔽处理?(强化学习中可变的动作空间怎么处理)