训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头( 二 )


这东西说新也新 , 但是却并不复杂 , 是一种半监督式的模仿学习方法 。
首先 , 收集一波数据标注外包们玩游戏的数据 , 其中包含视频和键鼠操作的记录 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
VPT方法概述
然后 , 研究人员用这些数据搞了个逆动力学模型(inversedynamicsmodel , IDM) , 可以推测出视频中每一步进行的时候 , 键鼠都是怎么动的 。
这样一来 , 整个任务就变得简单多了 , 只需要比原来少很多的数据就可以实现目的 。
用一小撮外包数据搞完IDM之后 , 就可以用IDM接下来标注更大规模的无标记数据集了 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
基础模型训练数据对微调的影响
在训练了70000个小时以后 , OpenAI的行为克隆模型就能实现各种别的模型做不到的工作了 。
模型学会了怎么砍树收集木头 , 怎么用木头做木条 , 怎么用木条做桌子 。 而这一套事儿需要一个比较熟练的玩家操作小50秒的时间 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
除了做桌子 , 模型还能游泳 , 打猎 , 吃东西 。
甚至还有「跑跳搭」的骚操作 , 也就是起跳的时候脚下放个砖块或者木块 , 跳着跳着就能搭个柱子 。 这属于是骨灰级玩家的必修课了 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
制作桌子(0shot)
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
打猎(0shot)
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
「跑跳搭」简陋版(0shot)
而为了让模型能完成一些更精细的任务 , 一般还会把数据集微调成更小的规模 , 区分细小的方向 。
OpenAI做了一项研究 , 展示了用VPT训练过的模型 , 再经过了微调之后 , 有多适应下游的数据集 。
研究人员邀请人玩儿了10分钟的「我的世界」 , 用基础材料搭了个房子 。 他们希望通过这种方式可以加强模型执行一些游戏初期的任务的能力 , 比如说搭一个工作台 。
当对该数据集进行完微调以后 , 研究人员不仅发现模型在执行初期任务时更加得心应手 , 还发现模型自个儿研究明白了怎么分别做出一张木制的工作台 , 和一张石制的工具台 。
有时候 , 研究人员还能看到模型自己搭建简陋的避难所 , 搜查村子 , 还有抢箱子 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
制作一把石镐的全过程(下方标注的时间是一名熟练玩家执行同样的任务的耗时)
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头
文章图片
制作石镐
然后我们来看看 , OpenAI的专家们是怎么进行的微调 。
他们使用的办法是 , 强化学习(RL) 。
大多数RL方法通过随机探索先验来解决这些挑战 , 例如模型通常被激励通过熵奖励随机行动 。 VPT模型应该是RL更好的先验模型 , 因为模拟人类行为可能比采取随机行动更有帮助 。
研究人员将模型设置为收集钻石镐这类艰巨任务 , 这是「我的世界」中前所未有的功能 , 因为执行整个任务时使用本机人机界面时会变得更加困难 。
制作钻石镐需要一系列漫长而复杂的子任务 。 为了使这项任务易于处理 , 研究人员为序列中的每个项目奖励智能体 。
训练7万小时后,OpenAI的模型竟然学会在「我的世界」里刨木头

相关经验推荐