强化学习基础04——让强化学习自动游戏的原理理解

目录

如何让强化学习自动训练超级玛丽?

一种办法是学习一个policy函数π

另一种办法是学习optimal action value function,最优动作价值函数Q*。

概括一下


继续拿超级玛丽举例子

如何让强化学习自动训练超级玛丽?

假设我们训练AI玩玩超级玛丽游戏。

我们的目标是操作Mario多吃金币,避开敌人往前走,打赢每一关游戏。

我们想写个程序让AI来控制agent,我们该怎么做呢?

一种办法是学习一个policy函数π

 

在强化学习里面叫做policy based learning策略学习,假如我们有了policy函数π,我们就可以用π函数来控制agent做动作了。

每观测到一个状态,St就把St作为π函数的输入,π函数会输出每一个动作的概率,然后就用这些概率来做一个随机抽样,得到at。最后agent执行这个动作at。

AI就是用这种方式来控制agent做动作打游戏。

 

另一种办法是学习optimal action value function,最优动作价值函数Q*。

在强化学习里面叫做value based learning,价值学习,假如我们有了Q*,agent就可以根据Q*函数来做动作了。

Q*函数告诉我们,如果处在状态S,那么做动作a是好还是坏?

每观测到一个状态St,就把St作为Q*函数的输入,让Q*函数对每一个动作都做一个评价,这样我们就知道向左向右向上每一个动作的Q值,假如向上跳这个动作的Q值最大,Agent就应该向上跳。

因为Q值是对未来奖励总和的期望,如果向上的动作的Q值比其他动作的Q值要大,就说明向上跳的动作将在未来获得更多的奖励。

我们想让超级玛丽有吃到更多的金币打赢游戏,所以就应该选择向上跳这个动作。

有了Q*函数,选择让Q*函数值最大化的a作为下一个动作at。

概括一下

有两种方式,用AI控制agent玩游戏,一种是policy函数π,另一种是用optimal action value function,最优动作价值函数Q*,两种方法都可行,所以强化学习的任务就是学习π函数或者学习Q*函数,只要学到两者之一就行了。

强化学习主要就是学习这两个函数。

如果你设计出一种算法,学到了π函数或者是Q*函数,你就可以把算法用在控制问题上,或者用在小游戏上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值