Machine learning 机器如何知道哪一步可以获得最大奖励?

Machine learning 机器如何知道哪一步可以获得最大奖励?,machine-learning,reinforcement-learning,Machine Learning,Reinforcement Learning,在我看来,强化学习将从行动中获得回报 然而,在玩电子游戏时,大多数步骤(例如:街头斗士)都没有奖励(奖励==0),最终我们得到了奖励(例如:玩家赢了,奖励=1),有这么多动作,机器如何知道哪一个是赢得这场比赛的关键点?在强化学习中,奖励可以是立即的或延迟的: 即时奖励可能是: 如果代理赢得比赛(这是击败对手的最后一个动作),则为非常高的阳性 如果代理输掉比赛,则为非常低的负值 如果行动伤害了你的对手,则为肯定 如果代理失去生命值,则为负值 延迟奖励是由通过当前操作可能获得的未来奖励引起的。

在我看来,强化学习将从行动中获得回报

然而,在玩电子游戏时,大多数步骤(例如:街头斗士)都没有奖励(奖励==0),最终我们得到了奖励(例如:玩家赢了,奖励=1),有这么多动作,机器如何知道哪一个是赢得这场比赛的关键点?

在强化学习中,奖励可以是立即的或延迟的:

  • 即时奖励可能是:
    • 如果代理赢得比赛(这是击败对手的最后一个动作),则为非常高的阳性
    • 如果代理输掉比赛,则为非常低的负值
    • 如果行动伤害了你的对手,则为肯定
    • 如果代理失去生命值,则为负值
  • 延迟奖励是由通过当前操作可能获得的未来奖励引起的。例如,向左移动一步可能会导致在下一步中避免被击中,并且可以击中对手
强化学习算法,例如,选择给予最高预期回报的行动。此奖励将持续更新为当前奖励(时间t时的r)和可能的未来奖励(等式中的最后一个值,最大Q,基于时间t+1和更高时间的行动):


关于(深度)强化学习的更多详细信息,以及一些应用于游戏的示例,请参见。

动作顺序是预先计算的,有许多不同的方法,最流行的是基于动态编程的Q-学习。代理似乎永远不知道有多好(最大可能的奖励)如果代理以前没有尝试过它,它就可以实现。正确,因此强化算法必须通过迭代更新来学习值函数(如Q),直到它几乎没有变化。这可以通过对所有状态和动作进行彻底更新来实现,或者通过模拟来近似值函数。