我训练了谁,谁又训练了我?
今年 6 月底,知名科技公司 OpenAI 发布了一篇论文,主要围绕着一项名为 " 视频预训练 "(VPT:Video PreTraining)的 AI 技术展开讨论。
这项研究的成果相当喜人,例如,在看了 7 万多个小时《我的世界》视频后,案例中的 AI 已经成功学会了求生所需的大部分必备技能:游泳、狩猎、建房、下矿,甚至搜刮村庄。
尽管依然存在着一些人类难以理解的操作,但就结果来说,这已经比许多同类 AI 表现得要好多了。
AI 搜到东西后兴奋地撸起了天花板
当然,相比起背后堆积如山的代码与 " 逆动力模型 " 等看了就让人迷茫的技术词汇,作为普通玩家的我们,更关心的可能还是这么一款高智能、饶有趣味的 AI 到底什么时候才能实装进游戏里。
" 给俺也整一个 "
1
无须等待,AI 走进千万家的场景就在当下。
虽然 OpenAI 的模型目前仅提交给了专门负责研究《我的世界》AI 的 MineRL 大赛,但就在他们论文发布的前后几天,另一个功能类似的 AI 也同样出现在了网上。更重要的是,研究团队直接将他们的代码放在了 Github 上供所有人下载研究。
MineDojo 的 Github 页面
这个名叫 MineDojo 的项目由英伟达的工程师进行开发,同样是通过观看网上的视频资料进行训练,但与 OpenAI 略有不同的是,他们的资料库要庞大得多。
MineDojo 一共搜集了 73 万个油管上的游戏视频、7000 多个维基网页,甚至还有上百万条和《我的世界》有关的 Reddit 评论。
" 互联网规模 "
这么做的目的,当然在于帮助 AI 理解人类语境中 " 建造 "" 求生 " 等词汇的意义,油管主们在教学视频中声情并茂地教导观众从哪里出发,到哪里寻找神庙,再到如何攻略末影龙——
对于 AI 来说,这就是上好的 " 网课 "。
支持这一行为的,是一个被称为 MineCLIP 的学习算法。它可以帮助 AI 把主播的解说与视频中展示的操作联系起来,以此达到训练的目的;同样的,训练好的 AI 也能理解玩家直接下达的任务。
这是 MineDojo 最有趣的部分,工程师们准备了 3000 个可以直接下达给 AI 的指令,一类是程序化任务,例如 " 生存 3 天 " 或 " 收集两块木头 ",这是可以用数字和名词客观衡量的任务;另一类是抽象化任务,例如 " 建造一座漂亮的海滨别墅 "。
AI 可能很难理解 " 漂亮 "" 海滨 "" 别墅 " 到底是什么意思,不过通过视频画面的讲解,再搜索玩家们相关评论的关键词之后,大多数时刻 AI 都能有模有样地完成目标。
在这些任务中,玩家可以给 AI 下令 " 把牛羊圈起来 "" 去沼泽里找鸡 "" 尽可能地活久一点 ",或者干脆让它去搜刮一个海底神庙。因为使用了互联网上的常用语言,AI 对某些人类特有的幽默感学得挺到位的。
下达 " 玩 " 的指令
和 OpenAI 的模型比起来,MineDojo 的技术难度或许并没有那么高,毕竟它直接接入了游戏端口,利用游戏内的数据直接控制 AI 行动要简单许多;而 OpenAI 则是从零开始建立了一个模仿人类的行动模型,指令都是直接模拟人类的键鼠操作。
并且 MineDojo 在部分时刻依然要借助修改游戏数据才能达到目的,比如攻略末影龙的时候,只有 " 作弊 " 让末影龙站在原地挨打才能通关。
手足相残的残忍录像
不过,MineDojo 依然呈现出了 AI 可以通过现有视频、资料进行学习的能力。唯一遗憾的是,目前还没有看到多少 MineDojo 实装后的反馈,因此实际效果如何也存在一定的疑问。好处是它供所有人免费下载,当作 AI 入门的免费资料试试未尝不可。
2
得益于当代互联网的发展,AI 能从视频资料中获取自己想要的知识。人类也是如此,制作一个会玩游戏的 AI,有时候看视频就够了。
视频比教科书更进一步的是,哪怕观众什么也不明白,不知道 python 语言、架构、蒙特卡洛算法是什么,每个人依然能从视频里得到乐趣,随后潜移默化地了解知识。
在这一领域起代表性作用的,是那些致力于设计游戏 AI 的视频制作者们。
首先要提到的是人们或许更为熟知的 " 遗传算法 ",一个在上个世纪的六十年代提出,被这个世纪所发扬广大的技术。
它类似生物学意义上的进化论,具体来说,就是通过系统生成一堆什么也不懂的婴儿,让他们在大自然(程序)世界里尝试各种操作,通过选择表现更好的子代,达到不断优化 AI 表现的目的。
用油管上一条《AI 学习玩 JUMP KING》的视频举例,大致场景就是这样的。
先生 500 个孩子试试
视频作者 Code Bullet(下文简称 CB)已经用这个算法成功制作出了不少 AI 通关游戏的视频,《吃豆人》《Flappy Bird》这类强调优化 AI 行动的游戏都可以沿着类似的思路走下去。
思路是清晰的,做起来也很 " 简单 "。翻阅一下 CB 大部分制作 AI 的视频,都可以看到他的过程主要分为了三个部分。
" 制作一个会玩游戏的 AI 仅需要三步 "
重做游戏的原因我们稍后再进行讨论,CB 视频中展现的精髓部分在于遗传算法的 " 筛选 " 功能。不同于物竞天择的大自然,这里我们才是负责挑选 AI 的上帝。
刚出生的 AI 当然是什么也不懂得的小婴儿,给它们添加行动指令,AI 也不会懂得往哪里行动有什么意义。因此常见的做法是给随机行动的 AI 设置奖励和惩罚,例如跳跃一次加 1 分、达到下一关加 2 分、左右移动加 0.5 分,向下跌落则扣 1 分。
" 往上走就好,往下是坏,这很简单 "
每代 AI 只有五次行动机会,五次行动结束后,跳跃高度最高的 AI 就会成为下一代的模范,此后的每一代 AI 都会遵循上一代摸索出最好的路径前进——这就是很简单的进化了。
不过这么简单的规则还没有办法解决某些 " 思考 " 问题,如果某关需要先下降,再向上跳跃的话,死脑筋的 AI 就会因为扣分原则而拒绝往下跳。
解决办法可以是在降落地点设置同样可以提供奖励的收集品,引导 AI 通过收集奖励,前往更高的场景。
跟游戏引导玩家的方式其实很像
等所有程序都准备好之后,只要让 AI 自己跑起来就行了,它们自然会一代代地找到最好走的路线,最终完成游戏通关的任务。
经历 862 代的演变后,就能到顶啦
3
自 AlphaGo 2017 年从赛场 " 退役 ",已经过去了五年。自那之后," 民用 AI" 在游戏领域可谓发光发热,在油管上用 AI 玩《VALORANT》《大富翁》《糖豆人》的博主们也大有人在。
虽然没有公司的资金支持,也没有流着血泪帮忙标注数据的研究生们,但得益于 Github 的开放性,每个网民随手就可以下到一大堆经过一定训练的神经网络程序。
以一位油管上仅有 7000 粉丝的小博主 River 为例,他的一期视频就很简洁地展现了 AI 技术的低门槛。
前期准备非常简单:你只需要两台电脑、一段网上下载的程序、一个视频采集卡,再加一个无线鼠标信号接收器。
而要做的工作也无非是标注一些供 AI 训练识别能力的图片,一 " 小 " 段指示行为模式的代码,然后直接扫描小地图指示方位,再把键盘信号都通过无线鼠标传送到电脑里。
虽然信号发送是麻烦了点,但好处也有,因为没有额外程序接入游戏,自然也不会被判断出使用了外挂。
一切操作都是由另一台电脑根据实时图像作出的
当然,在目前的表现上来看,River 的 AI 也和普通的 AI 机器人差不多,并没有 AlphaGo 那种神奇的自我进化能力。
不过,只是想简单体验 AI 设计,已经没有了那么高的门槛。不断设计更新更强的 AI 也是一件颇有乐趣的行为,其中一项就是分辨正确与错误之间的 " 边界 "。
那是人(确信)
正如 MineDojo 要区分程式化任务与抽象类任务的区别,我们在教导 AI 时,同样能从 AI 分辨的结果当中,得到自己对于事物的定义和由此产生的解释,或许能启发人类解决生活中的矛盾。
朋友问你今天过得怎么样、相亲时怎么向对方介绍自己,如果每个问题都能用程序解答,未尝不是人类也已经进化到更高一层的体现。
谁训练了我,我又训练了谁?
原文地址:http://www.myzaker.com/article/62fe62358e9f09523877215e