【问题标题】:How machine know which step can get max reward?机器如何知道哪一步可以获得最大奖励?
【发布时间】:2019-05-07 16:27:34
【问题描述】:

据我了解,强化学习会从行动中获得回报。

但是,在玩电子游戏时,大部分步骤(例如:街头霸王)都没有奖励(奖励 == 0),最终我们得到了奖励(例如:玩家获胜,奖励 = 1),这么多动作,机器怎么知道哪一个是赢得这场比赛的关键?

【问题讨论】:

  • 动作序列是预先计算好的,有很多不同的方式,最流行的是基于动态规划的Q-learning

标签: machine-learning reinforcement-learning


【解决方案1】:

强化学习中,奖励可以是立即延迟 [1]:

  • 即时奖励可能是:
    • 如果智能体赢得比赛(这是击败对手的最后一个动作),则为非常高的正值;
    • 如果代理输掉比赛,负值非常低;
    • 如果行动对你的对手造成伤害,则为阳性;
    • 如果代理失去生命值,则为阴性。
  • 延迟奖励是由通过当前操作可能获得的未来奖励引起的。例如,向左移动一步可能会导致在下一步中它避免被击中并且可以击中对手。

强化学习算法,例如Q-learning,选择给出最高预期奖励的动作。此奖励会不断更新当前奖励(r 在时间 t)和可能的未来奖励(等式中的最后一个值,max Q,基于时间 t+1 及以后的操作):

A Beginner's Guide to Deep Reinforcement Learning 中提供了有关(深度)强化学习的更多详细信息以及一些游戏应用示例。

【讨论】:

  • 似乎代理永远不知道如果代理之前没有尝试过它可以达到多好(最大可能的奖励)。
  • 正确,因此强化算法必须通过迭代更新它来学习价值函数(例如 Q),直到它几乎没有变化。这可以通过对所有状态和动作进行彻底更新或通过模拟来近似值函数来完成。
猜你喜欢
  • 2018-08-03
  • 2019-01-07
  • 2011-07-30
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
  • 2018-07-17
  • 2018-10-22
  • 1970-01-01
相关资源
最近更新 更多