Unity 拥抱 AI:用机器学习训练 NPC、机器人、模拟自动驾驶
▼
在李世乭和柯洁战败后,人类在棋类竞技场已经难与 AI 争锋。很多人会说,身为非职业棋类选手,不在乎下不下的赢棋。想一想,以后会不会连玩游戏也赢不了 AI……
这件事情已经发生了,且还在加速。之前曾有报道,2017 年 8 月,Open AI 的 DotA 2 游戏人工智慧在 1V1 中击败了人类玩家。
同年 9 月,全球最大的 3D 游戏引擎 Unity 宣布发布 Unity Machine Learning Agents(ML-Agents),一款提供给游戏开发者的开源 AI 工具包。Unity 这一开源工具包是 Unity 将机器学习应用在游戏的成果,AI 已经附能各行各业,那么在游戏行业,会带来哪些有趣的成果?
5 月 11-13 日,Unite Beijing 2018 在内地地区会议中心召开。Unity AI 与机器学习副总裁 Danny Lange 分享了 ML-Agents 的新进展。
ML-Agents 助力游戏开发
Lange 介绍到,机器学习对于游戏开发来说很重要,能够让游戏开发过程更加简单,让游戏变得更有吸引力,开发者可以不用每一个方案都编程,游戏与玩家的互动变化可以让系统自己学习。就像人从环境当中感知,并做出反应一样。ML-Agents 可以以相同的方式来训练这些系统。
Lange 展示了一个 Demo,未来主义的赛车游戏,Demo 中左边是人类,右边是机器学习的 Agent。一开始的时候,Agent 转弯不好,容易撞车,但是它慢慢学习人类的操作,大概 25 分钟的训练之后,你可以看到可能还是有点不稳,但是不会再撞车了。经过不断的训练,Agent 能编程非常好的选手。
那么,具体游戏场景中,可以有以下应用:机器学习可以应用在几个方面。第一个是创建 NPC,有多种行为的 NPC,NPC 已经学习了很多人类行为,这会让与人类的互动更为自然。第二个是游戏本身。AI 能够为优化玩家的乐趣进行学习,而不是为开发者的乐趣而进行优化。对于玩家来说,会有更多个性化和定制化的东西。第三个是一个完全不同的领域,就是我们用机器学习在游戏发表前测试游戏。确保使用 Agent 代替人类玩家进行游戏时,你能够了解游戏是否能顺利进行。
此外,在游戏中如果人类玩家数量很少,就可以用 Agent 代替人类玩家。最后一个方面是 match making。使用机器学习可以将合适的玩家找出来,匹配在一起玩游戏。可以让机器学习系统了解如何优化游戏时间、为玩家配对以及如何最大化利用游戏时间。
▲ 由 Unity 创建的一个网球游戏 RL / ML 模拟训练环境范例。
ML-Agents 训练自动驾驶、机器人
从两年多前,Unity 就开始酝酿转型,从一家纯引擎提供商转向网络 + 云端增值服务。Danny Lange 是 Unity 发力 AI 领域的背后推手,在加入 Unity 之前,Lange 曾担任 Uber 机器学习负责人,在更早之前,Lange 还负责过亚马逊和微软的机器学习产品研发。
除了游戏以外,ML-Agents 在自动驾驶和机器人领域还有很多应用场景。Lange 介绍到,自动驾驶是 ML-Agents 很大的应用领域,因为这样就不需要像 Uber 那样在真实的路上驾驶,用机器学习模拟就可以避免在真实道路测试带来的事故。另外一个领域是机器人,用增强型学习,你可以在虚拟环境去训练机器人,可以很快地完成几十万或者几百万次训练。训练好的模型可以放到真实的机器人上面应用。
此外,ML-Agents 也可以应用在建筑设计中,比如要如何合理设计通道、人流,用机器学习的方式去模拟建筑内的路线图。
(本文由 雷锋网 授权转载;首图来源:Unity)
▼
特别声明 本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。