学会了《街头霸王2》的AI,你怕不怕?
发布时间: 2017-11-18
来源:未知
浏览次数:
上周,大只500总代在三星开发者大会(Samsung Developer Conference, SDC),出现了一个十分有趣的SDC展位,展位的主人是Gyroscope的团队,他们为了在展台上呆两天而不显得无聊,做了一件事:他们让Gyroscope的AI在超级任天堂上面征战“街头霸王2:究极格斗”,期望通过与各个角色之间的搏斗,让Gyroscope学会格斗技巧。
Gyroscope的AI并不会玩电子游戏,他们的团队也没有超级任天堂的软件开发包。所以在SDC大会之前,Gyroscope团队先设法从“街头霸王2:究极格斗”中提取了游戏信息,从而建立了Gyroscope的超级任天堂SDK。然后让Gyroscope的AI与游戏内置的计算机对手进行上千场的游戏比拼,同时他们不断地调整AI参数,让它更加适应这个特殊的应用程序。
训练AI
在大只500注册彩民训练AI之前,首先要弄清楚究竟要解决什么问题,Gyroscope团队把“街头霸王2”的问题抽象为强化学习问题。在强化学习问题中,AI要评估各种方案,选择要采取的行动,最后获得“回报”。但这一次AI程序的目标是根据过去观察到的行为,采取最佳的行动,从而获得最高的“奖赏”。所以在开始应用AI之前,Gyroscope团队需要先定义“街头霸王2”的观察内容,换一个意思来讲,就是要让人工智能“看到”什么,以及如何行动从而获得某种“奖赏”。
观察内容
观察内容可以想象成AI在环境中“看到”的东西,比如人类观察游戏的时候,首先看到的是每个角色,以及角色的跳跃、移动、踢等动作,同时还能看到角色的血条与计时器,Gyroscope团队需要把这些信息提取出来,转化成AI可以理解的格式,这种格式通常被称为“观察空间”。
在强化学习中,观察空间有两种常见的思路,传统的方法是测量人类认为与问题相关的具体信号;现代的方法是为AI提供每次行动后的全部环境图像,让AI决定图像中的重要元素。现代的方法要比传统方法更好,因为它有更好的普适性,不需要对特征的重要性做过多的假设,但这种方法往往需要更长的训练时间,因为时间的限制,Gyroscope团队选择了传统方法,并手动定义观察空间。
观察空间被定义为:
• 每个玩家的X和Y坐标
• 每个玩家的血条
• 每个玩家是否在跳跃
• 每个玩家是否蹲伏
• 为每个玩家的动作编号
• 玩家之间X和Y坐标差的绝对值
• 游戏时钟
最后,还要去思考这么一个问题:一旦采取行动,AI是否就能收到回报?大只500怎么注册?因为当人类玩游戏的时候,会通过血条和伤害的大小,对游戏目前的状况大体上有一个认识。AI也需要通过一个数字的形式来理解游戏状况,让它们使这个数字最大化从而获得最佳奖励,Gyroscope团队选择了每一帧的血条差距作为回报。
相关阅读:大只500彩票平台 大家都期待