OpenAI的开源人工智能测试平台迎来一位新成员——《侠盗猎车手 5》(GTA V),它由Craig Quite的DeepDrive项目搭建和维护。你只需要购买正版游戏,然后Universe代理就可以在一个高保真的虚拟世界开始驾驶汽车了。雷锋网此前也做过相关的覆盖和报道。
那么开发者需要注意哪些地方呢?一起和雷锋网来看看吧!
首先,打开GTA V服务器。然后你需要将Universe的Python库装好(如果已经事先安装了,就不需要升级了)。现在,你可以通过运行下面的程序挂载代理。除了键盘和鼠标,代理还可以使用虚拟摇杆。
import gym
import universe # register Universe environments into Gym
from universe.spaces import joystick_event
env = gym.make('gtav.SaneDriving-v0')
env.configure(remotes='vnc://$host:$port') # point to the GTA V Universe server
observation_n = env.reset()
while True:
steer = joystick_event.JoystickAxisXEvent(-1) # turn right
throttle = joystick_event.JoystickAxisZEvent(-1) # go in reverse
# Alternatively, use WASD to steer: ('KeyEvent', 'w', True)
action_n = [[steer, throttle] for _ in observation_n]
observation_n, reward_n, done_n, info = env.step(action_n)
env.render()
提供给代理的视角
DeepDrive是一个平台,用于建立开放式自动驾驶汽车的AI。DeepDrive通过使用建模框架和内存检测技术来重新调整GTA V,使其成为一个自动驾驶汽车的模拟器;除此之外,他可以提供预训练的自动驾驶汽车代理和数据库来训练。现有的DeepDrive环境和代理现在编译在Universe最上层。
DeepDrive的起源比Universe早,因此,通过它可以很好的看出在Universe出现前和出现后,现代游戏上特别鲜明的对比。最早的DeepDrive必须使用Windows操作系统的电脑并且需要一整天的时间打开游戏和游戏代理。而现在,打开只需20分钟,操作系统也可支持Linux或者OS X,还与旧版本的Universe代理兼容(不过,如果要实现最好的效果,还是需要使用虚拟摇杆,而不是传统的键盘和鼠标)。
1. GTA V环境的源代码和AMI;
2. 一个预训练的驱动代理,具有Caffe和TensorFlow实现案例。
集成以上两者能够支持选择摄像头机号和视场偏移,还包括通过强化学习训练实现奖赏功能,能够让代理学会避免碰撞,计算目的地距离和停留在路上。
在Universe出现之前,DeepDrive使用DirectX按键来捕获屏幕并且需要使用C++与Caffe对接来写代理。现在的游戏则运行在windows平台下的网络虚拟机上,并和Websockets和VNC进行通讯。因此,代理可在Linux或者Mac的平台上跑,并且可以实现在任何ML框架的写动作。
Universe通过VNC传输像素,鼠标和键盘数据,通过Websocket传输其他数据。为了实现摇杆的方向和节流阀的控制,我们将摇杆的动作通过Websockets传给环境数据。(图片 via Craig Quiter)
就如同Universe发布说明中提到的,客户端在公有云上最多使用20fps。GTA V为研究人员提供了访问一个丰富多彩多样性的环境在测试和开发AI的环境。GTA V的岛屿设置大小几乎是洛杉矶市的1/5,并且给开发者提供了广泛的场景进行系统测试。另外,系统提供257种不同的汽车、7 种类型的自动驾驶车和 14 种天气,在单个模拟器里使用这些数据进行排列组合,可以实现大量不同的虚拟场景。
GTA V中49平方英尺的岛屿San Andreas为研究人员提供了培训AI穿过熙熙攘攘的大都市地区,蜿蜒的山路,平坦的沙漠,和高速公路的能力。
在GTA V+Universe环境下也可以收集大量的标记数据:你可以用下面的GTA V引擎收录2D或3D模拟的块状信息、汽车、行人、自动驾驶车、动物、路面、交通标志分割标签,或任何一个GTA V的其他7000 +对象。环境通过真实世界的车辆,MODS的道路建设,甚至也可以延伸到整个城市。
这次开源包含基础代理,是通过模仿学习 21 小时(约 60 万图像)游戏画面进行驾驶训练的 AI (内置的游戏 AI 是很好的初始目标:它的性能优于一个典型的人,因为它可以访问内部游戏状态,虽然 AI 仍然会犯错误,如在高速公路上进行U转弯)。基础代理在各种不同的天气条件下驾驶,对交通作出反应并保持其车道。这种预训练的代理是我们最终目标的起始点!
其他科研人员的研究成果已经展现了通过对GTA V中的可视系统进行训练从而对现实世界中的图像进行分类的可行性。GTA V与Universe融合则使得通过增强学习技术实现虚拟自驾使变得更加简单。
GTA V 与 Universe的集成自动继承了 Universe 为了可比性和共享性而提供的所有工具和语义,能够很简单地对 GTA V 上的代理进行性能基准测试。Universe+GAT V 可以单独使用,也可以作为使用 Universe 代理访问的一个环境。雷锋网也期待在未来,能有更多像GTA V+Universe这样的社区所提供的环境。