萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI

操控一辆赛车,在空中带球射门,需要练习多长时间?

通常来说,一名普通玩家要达成这样的水平,至少要练习上一年时间。

这是一款国外很火的游戏《火箭联盟》 (Rocket League),玩家会操作一辆赛车,利用各种办法将球“踢”进门。

然而,现在已经有人开发出了一个基于深度强化学习的赛车游戏环境RoboLeague。通过环境训练的赛车,不仅能看准时机射门:

还在4小时的训练后,就能长时间颠球,保证车和球都不落地:

这个RoboLeague,一下子在Reddit炸出了2.7k的热度。

有网友调侃,看到这些比自己玩得好的“AI选手”,总会让他感觉很挫败。

那么,这个赛车游戏环境,究竟优秀在哪里?

比已有的游戏环境更好用

事实上,这并不是第一个基于《火箭联盟》做出的游戏环境。

有网友很快指出,此前已有支持用自定义赛车玩《火箭联盟》的RLBot,效果挺不错。

在RLBot中,同样允许玩家用自己编写的代码来控制赛车。

而且,玩家能通过游戏场景的反馈,对代码进行反复调试,最终做出想要的机器人赛车。

事实上,作者在训练强化学习模型前,并非没有考虑过RLBot。

毕竟,这个框架支持各种语言,让玩家能编写出想要的机器人赛车。

然而,在尝试过RLBot后,作者还是决定基于Unity引擎,自己开发一个游戏环境。

主要有3点原因:

  • 基于Unity引擎打造的环境,能够自己创建想要的游戏场景。

  • 此外,在RLBot中,基于实时数据训练AI模型的速度,其实并不快。而如果游戏再大点,在RLBot中训练可能就会出现问题了。

  • 自己创建的游戏环境,可以并行训练游戏中的多个实例。相比之下,RLBot基于《火箭联盟》搭建,只能同时玩1场游戏,无法并行训练。

那么,在RoboLeague环境中,如何训练出这样一个“聪明的”智能体?

基于强化学习,训练出智能体

在训练之前,先来了解一下,《火箭联盟》中大致有些什么规则,玩家又是怎么射门的。

整体来说,这是一个玩家通过控制赛车,来进球射门的游戏。

其中,这里面的赛车和球,符合一些物理规则:

球具有弹性,可以从地面/墙壁反弹、受摩擦力和重力影响
赛车在地面可以加速制动,在空中的控制也符合物理条件
赛车的轮子具有某种黏力,可以在墙壁上运动不脱落下来

而《火箭联盟》中的一些高级玩家,通常会想办法让自己和球不落地,完成空中带球射门。

但要达到这样的水平,不仅要对场地有足够的了解,操作水平也必须在线。

这其中,作者利用了强化学习中的“奖励机制”,来告诉智能体应该怎么做。

智能体并不需要基于先验知识完成操作,而会通过尝试各种随机行为,试图达成“奖励机制”的要求。

而作者给出的唯一一个奖励机制,就是保证赛车和球不落地,即“活着”。

因为只要不落地,空中带球的条件就完成了大半。

在反复尝试后,智能体发现,只要让赛车尽可能垂直竖在空中,同时保持颠球的稳定,就能保证“活着”。

也正是在这样的奖励机制下,只用4个小时(约50M次运行),赛车就完成了自己的目标。

如果想要让智能体完成更复杂的任务,如空中带球射门等,也只需要找到对应的奖励机制,利用强化学习训练就能达成。

目前,作者已经将RoboLeague开源。

也就是说,如果你想要训练出符合自己要求的深度强化学习模型,那么用这个游戏环境,就能进行训练。

关于作者

作者@Roboserg,并未透露自己的真实姓名,不过此前,他已经做出了很多利用强化学习训练出来的小型游戏实验。

例如,在各种球的撞击下保持平衡的飞机:

又或者,两个球之间的“足球”比赛:

据作者透露,他接下来还会计划开发一款穿越飞环的游戏。

这款游戏会训练智能体穿过飞环,真正做到和大神玩家的操作无异。

说不定,作者甚至真能用强化学习,训练出一整个网站的小游戏来?

源代码:
https://github.com/roboserg/RoboLeague

参考链接:
https://www.reddit.com/r/MachineLearning/comments/klbvaw/p_doing_a_clone_of_rocket_league_for_ai/
https://rlbot.org/
https://unity.com/cn/products/machine-learning-agents

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

AI落地最佳参考!

2020中国人工智能年度评选结果揭晓

12月16日,量子位MEET 2021智能未来大会现场,50大领航企业、10大明星创业公司、30大商业领军人物、10大最佳产品、10大最佳解决方案、5大社会责任榜样、5大最佳技术社区等年度奖项悉数颁出。

点击图片查看完整榜单:

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

这款超火的游戏,AI只用4小时,就秀出了人类花1年才能达到的水平相关推荐

  1. 深度强化学习制作森林冰火人游戏AI(五)识别游戏状态

    深度强化学习制作森林冰火人游戏AI(五)识别游戏状态 概述 游戏状态切换图 游戏状态识别原理 界面区域选择 保存界面 识别方法 识别游戏状态 概述 通过图片识别来对分析游戏当前状态 前篇:深度强化学习 ...

  2. 深度强化学习制作森林冰火人游戏AI(一)下载游戏

    概述 首先先把游戏环境搭建起来 下载游戏 这部分的介绍可以看python 从4399获取小游戏,我就不重新介绍一遍了 import os import requests# 基础url host_url ...

  3. 深度强化学习制作森林冰火人游戏AI(四)获取窗口部分界面

    概述 这篇主要讲述如何用python获取森林冰火人窗口部分界面 在获取部分界面的图片之后通过图片识别/分类来判断当前游戏所属的状态 前篇:深度强化学习制作森林冰火人游戏AI(三)向游戏输出键盘控制信息 ...

  4. 深度强化学习制作森林冰火人游戏AI(三)向游戏输出键盘控制信息

    概述 本文讲如何通过python发送键盘控制命令控制游戏 前篇:深度强化学习制作森林冰火人游戏AI(二)获取游戏屏幕 后篇:深度强化学习制作森林冰火人游戏AI(四)获取窗口部分界面 获取窗口句柄 窗口 ...

  5. 深度强化学习制作森林冰火人游戏AI(二)获取游戏屏幕

    概述 前篇:深度强化学习制作森林冰火人游戏AI(一)下载游戏 后篇:深度强化学习制作森林冰火人游戏AI(三)向游戏输出键盘控制信息 游戏有了,接下来是程序的输入了 获取窗口名称 windows里面的所 ...

  6. Mac只能办公不能玩游戏?这十款超好玩的游戏推荐给你!

    有人说买Mac就是为了炫富,有人说买Mac只是为了办公,还有人说玩游戏就不要买Mac电脑了!那么对于那些又有办公需求又想玩游戏放松下的用户们该怎么办呢?废鱼这就推荐十款不错的Mac游戏给大家. 模拟人 ...

  7. 春节不出门!这三款超好评编程游戏,好玩到停不下来

    By 超神经 场景描述:春节马上就要来临,在这个假期里,怎么能让自己放松,又不至于生疏了自己的老本行?不妨来玩一下编程向的小游戏吧,超神经在此整理了三款好玩有趣又有深度的游戏,快看看是不是你的菜. 关 ...

  8. 三款超火的国外壁纸应用,让你每天都用新手机

    不知道大家喜欢多久换一次壁纸呢?反正小七每次换了一张壁纸,就感觉到手机都变得更好看了,而且心情也变得好起来~,今天小七就来推荐3款国外非常火的壁纸应用,让你的时常保持常新,让你每次打开手机都有一个好心 ...

  9. 【免费】三款超火的文字转语音工具推荐,爆款短视频配音软件必备

    科技的迅猛发展带来了新生事物的不断涌现,短视频就是其中之一,有的小伙伴喜欢在茶余饭后记录生活的点点滴滴,也有人将之变成了日常的主要收入来源,但无论是哪种,一款好的AI配音软件都是必不可少的,很多短视频 ...

最新文章

  1. 问题:为命名空间,在此被用作类型和此项目作为引用添加将导致循环依赖项
  2. 洛谷 P1013 进制位
  3. 实验9:Problem D: 从点到面
  4. 网络连接异常、网站服务器失去响应_网站常见故障解决办法
  5. iframe嵌入页面白屏_封闭在家学网页制作!为页面嵌入PDF文件——零基础自学网页制作
  6. RocketMq 事务消息使用
  7. 时间格式转换y-m-d
  8. HBase 数据迁移
  9. AMESim软件建模
  10. Windows下MySql主从配置实战教程
  11. 收藏!韦东山所有课程详细目录介绍(最新)
  12. android listener使用实例,如何使用lambda表达式/缩短onclicklisteners android studio(示例代码)...
  13. HTML图片鼠标滑动加边框,鼠标移动到图片上时,用css怎么实现图片加边框效果?...
  14. 悦保车牌识别相机优势
  15. 国内动漫绘画培训班盘点
  16. 公司的电脑监控软件一般能够监控到什么程度
  17. 无线网络安全工具锦集
  18. 2015阿里校园招聘(2014.09.23)
  19. 解决XORM的时区问解决XORM的时区问题题vvvv
  20. Gitlab集成阿里巴巴P3C-PMD代码质量检测插件

热门文章

  1. 新品【国内动态】服务器列表
  2. 「镁客·请讲」必捷网络王振中:融合视联网平台将从根本上治疗实时通讯行业应用痛点...
  3. 监控摄像头使用率不足六成 还需提高维护力
  4. 【C#】关闭 Window 之后,无法设置 Visibility,也无法调用 Show、ShowDialogor 或 WindowInteropHelper.EnsureHandle...
  5. asp.net的JSON数据进行序列化和反序列化
  6. 理解并取证:广域网上的PPP协议
  7. perl use 命令中指定路径
  8. 解决git本地仓库与远程仓库关联出现 failed to push some refs to git的问题
  9. wordpress 外部数据接口_WordPress Plugin API(插件接口)
  10. C语言结构联合位字段知识体系总结大学霸IT达人