GAN Theft Auto
Harrison Kinsley / Daniel Kukiela

靠着机器学习和各种不同的训练方式,AI 已经可以做到不少令人叹为观止的事情,但如果是完全不用 3D 引擎,只靠着神经元网络来运算出一个 3D 游戏呢?YouTuber Harrison Kinsley 在视频中分享了由他和 Daniel Kukiela 等一群人工智能爱好者一同制作的「GAN Theft Auto」,将《侠盗猎车手 V》英文原名(Grand Theft Auto V)的第一个字由生成对抗网络(Generative Adversarial Networks)的缩写所取代。顾名思义,这是个以生成对抗网络「模拟」出来的《侠盗猎车手》世界。

生成对抗网络由两个相对抗神经元网络组成,一个负责生成,另一个负责判别。在这个例子当中,AI 被丢到了 《侠盗猎车手》世界中的一条高速公路上进行学习,了解当使用者按下加速、刹车、左转、右转时,画面应该如何变化。生成网络会产生出一个它「猜测」应该正确的画面,而判别网络则会与实际的游戏画面进行比较,来「指导」生成网络怎样的画面才是对的。

这结果,就是一个虽然模煳,但大致可以辨别的世界,裡面所有的元素都是 AI 神经元网络依照「经验」生成的,完全没有用到任何 3D 绘图或是物理运算。即便如此,AI 依然相当不可思议地学到了车辆影子的角度该随着转动变化,车体上的太阳反光也是正确的。如果车子撞到障碍物(例如两侧的围篱时),AI 懂得让画面停住,随后视撞击的角度向左或右滑,而后来更是加入了其他路上的车辆,AI 也能(大致上)正确的进行反应,甚至连远方的山都会随着「远近」而有大小变化。

训练这样的 GAN 是个非常花费 GPU 运算力的工作,因此 NVIDIA 出借了一台内建 64 核 AMD CPU 及四张 A100 显卡的 DGX Station A100 给 Kinsley,可以同时在机器上执行 12 个 AI 训练模型。这些模型持续反復在这段公路上奔跑之外,Kinsley 也用 AI 来平滑画面,让它看起来不要太像素化,最后的结果就是好像在梦中开车的场景了。

不过可惜的是,由于时间不足,Kinsley 和 Kukiela 无法扩大实验的范围。最主要的,是他们不确定可以将这个「世界」扩大到多大,AI 才会开始送出奇怪的结果;又或是对于与其他车辆间的互动,能进行到什麽程度。就目前来说,与车辆间的互动大多以对方被撞后就消失告终,但也发生过撞上时对方一分为二的事情,在少数情况下,AI 可以产生出正确的互动,例如有车辆挡在左方时,会让左转失效,但想要更精确的表示与其他车辆的互动,恐怕还要很长时间的训练才行了。