为什么AI可以通关马里奥,却玩不好精灵宝可梦?

2018 年 10 月 11 日 论智
来源:Medium
编译:weakish

编者按:数据科学家Shayaan Jagtap以马里奥和精灵宝可梦为例,解释了当前的AI还不擅长处理哪些种类的问题。

你大概早就听说机器能以超人的水平玩游戏。这些机器可能经过明确编程,对设定的输入作出反应,给出设定的输出,也可能自行学习点击阅读)和演化点击阅读),以不同的方式对相同的输入作出反应,希望找到最优的反应。

一些著名的例子:

  • AlphaZero点击阅读),24小时训练之后,成为地球上最强大的国际象棋选手。

  • AlphaGo点击阅读),著名的围棋机器人,击败了世界级棋手李世乭和柯洁。

  • MarI/O,可自行学习以任意等级进行游戏的超级马里奥机器人。

这些游戏很复杂,训练上面的机器需要精心组合复杂的算法,反复模拟,大量时间。本文将重点讨论MarI/O,以及为何我们无法使用相似的方法通关精灵宝可梦游戏。如果你不了解MarI/O,可以看下这个演示视频:

在这方面,马里奥和精灵宝可梦有三个关键不同:

  1. 目标数量

  2. 分支因子

  3. 全局优化与局部优化

目标数量

机器学的方式是优化某种目标函数。不管它是最大化奖励函数(强化学习)、适应度函数(遗传算法),还是最小化代价函数(监督学习),目标都是类似的:取得尽可能好的分数。

马里奥只有一个目标:到达本级别的终点。简单来说,在死亡之前,到达的地方越靠右,表现就越好。这是一个单一的目标函数,模型的能力可以由这一个数字直接衡量。

精灵宝可梦的目标……有很多。击败精英4级?捕获所有宝可梦?训练最强团队?上面所有这些?还是其他完全不同的目标?

我们不仅需要定义什么是最终目标,还要定义进展看起来是什么样的?这样,任意时刻,大量可能选择之中的每种行动才能和奖励或损失对应起来。

这引出了下一项主题。

分支因子

简单说,分支因子是任意一步可以做出的可能选择数量。国际象棋的分支因子平均是35,围棋是250. 额外考虑的未来每一步,都有(分支因子)步数项选择需要评估。

马里奥中,要么向左,要么向右,要么起跳,要么什么也不做。机器需要评估的选择数很小。同时,从算力上说,分支因子越小,机器人可以预计的步数就越多。

精灵宝可梦则是一个开放世界游戏,这意味着,任意给定时刻都有大量选择。简单的向上、向下、向左、向右无法有效计算分支因子数量。相反,我们需要查看下一个有意义的行动。下一个行动是进入战斗,和NPC交谈,还是进入左/右/上/下方的小地图?随着游戏的进行,可能的选择范围越来越大。

创建一个可以找到最佳选择组合的机器,需要考虑短期和长期目标,这引出了最后一项主题。

全局优化与局部优化

局部优化与全局优化既包括空间层面,也包括时间层面。短期目标和周围地理区域属于局部,长期目标和城市、全地图这样较大的区域属于全局。

拆分每一步可以是一种分解精灵宝可梦问题的方式。如何从A点到B点的局部优化是容易的,但决定哪个目的地是最优的B点则是一个困难得多的问题。贪心算法在这里无法奏效,因为局部最优的决策不一定导向全局最优。

马里奥地图很小,而且是线性的。而精灵宝可梦却有着错综复杂的非线性大地图。为了达到高阶目标,当前优先级会随着时间而改变,将全局目标转换为优先局部优化问题不是一项容易的任务。这不是我们当前的模型具有足够能力可以处理的事情。

最后一点

从机器人的角度来说,精灵宝可梦不是一个游戏。机器人都是专门的,当你遭遇要战斗的NPC时,帮助你在地图上移动的机器人对此束手无策——这是两个完全不同的任务。

在战斗阶段,每个回合有许多选项。选择如何移动,切换到哪个宝可梦,何时使用不同的物品,本身就是一个复杂的优化问题。我看到过一篇介绍如何创建战斗模拟器的文章,考虑得很周到,在没有考虑物品使用这一决定战斗结果的关键因素的前提下,复杂度已经高得惊人了。

目前,我们能够创造出能够在我们自己的游戏中战胜我们的机器人,我们该为此感到高兴。这些游戏在数学上很复杂,但在目标上很简单。随着AI技术的进展,我们将创造能够解决有越来越大影响力的真实世界问题的机器人,这些机器人将通过自行学习复杂优化问题来解决真实世界问题。可以放心的是,还是有很多事情我们要比机器更擅长,其中包括我们童年时玩的游戏——至少到目前为止是这样。感谢阅读!

原文地址:https://towardsdatascience.com/why-can-a-machine-beat-mario-but-not-pokemon-ff61313187e1

登录查看更多
0

相关内容

【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
85+阅读 · 2020年6月28日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
【斯坦福新课】CS234:强化学习,附课程PPT下载
专知会员服务
114+阅读 · 2020年1月15日
【强化学习】深度强化学习初学者指南
专知会员服务
178+阅读 · 2019年12月14日
机器学习:从入门到晋级
云栖社区
4+阅读 · 2018年11月21日
一文了解强化学习
AI100
15+阅读 · 2018年8月20日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
26+阅读 · 2018年8月17日
在一头扎进机器学习前应该知道的那些事儿
全球人工智能
3+阅读 · 2018年4月24日
如何用人工智能秒杀超级马里奥游戏
CSDN
4+阅读 · 2018年1月7日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
Arxiv
8+阅读 · 2019年3月21日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
HAQ: Hardware-Aware Automated Quantization
Arxiv
6+阅读 · 2018年11月21日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
3+阅读 · 2018年10月5日
The Matrix Calculus You Need For Deep Learning
Arxiv
12+阅读 · 2018年7月2日
Arxiv
5+阅读 · 2018年6月5日
VIP会员
相关VIP内容
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
85+阅读 · 2020年6月28日
深度强化学习策略梯度教程,53页ppt
专知会员服务
176+阅读 · 2020年2月1日
【斯坦福新课】CS234:强化学习,附课程PPT下载
专知会员服务
114+阅读 · 2020年1月15日
【强化学习】深度强化学习初学者指南
专知会员服务
178+阅读 · 2019年12月14日
相关资讯
机器学习:从入门到晋级
云栖社区
4+阅读 · 2018年11月21日
一文了解强化学习
AI100
15+阅读 · 2018年8月20日
深度强化学习入门,这一篇就够了!
机器学习算法与Python学习
26+阅读 · 2018年8月17日
在一头扎进机器学习前应该知道的那些事儿
全球人工智能
3+阅读 · 2018年4月24日
如何用人工智能秒杀超级马里奥游戏
CSDN
4+阅读 · 2018年1月7日
AI都干过什么让人细思极恐的事?
全球创新论坛
4+阅读 · 2017年9月15日
相关论文
Arxiv
8+阅读 · 2019年3月21日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
HAQ: Hardware-Aware Automated Quantization
Arxiv
6+阅读 · 2018年11月21日
Arxiv
3+阅读 · 2018年10月8日
Arxiv
3+阅读 · 2018年10月5日
The Matrix Calculus You Need For Deep Learning
Arxiv
12+阅读 · 2018年7月2日
Arxiv
5+阅读 · 2018年6月5日
Top
微信扫码咨询专知VIP会员