【新智元导读】
OpenAI发表的新研究表明,一群AI智能体在虚拟环境中玩躲猫猫,能够自创出越来越复杂的作战策略,证明简单的游戏规则、多智能体竞争和标准的大规模强化学习算法可以刺激智能体在没有监督的情况下学习复杂的策略和技能。
每个小孩都玩过躲猫猫游戏,如果让一群AI来玩躲猫猫,会发生什么呢?
OpenAI近日发表的新研究表明,一群AI智能体在虚拟环境中玩躲猫猫,学会了越来越复杂的相互躲藏和寻找的策略。
在2500万场捉迷藏游戏后,AI智能体们掌握了四种基本的游戏策略。这是研究人员预料到的。
在总共3.8亿场捉迷藏游戏后,AI智能体们开发出了研究人员想不到在游戏环境中可能存在的策略——这是AI自己创造的
。这一点让OpenAI的团队感到十分惊讶。
AI通过强化学习来学习这一切。在这种学习方法中,AI智能体从随机行动开始。有时,这些随机的行为会产生预期的结果,并为它们带来奖励。通过大量的反复试验,他们可以学会复杂的策略。
在游戏环境中,这个反复试验的过程可以通过让AI自我对战来进行,以确保对手能够势均力敌。在这个过程中,任何出现的新策略都会迫使对手寻找对策。随着时间的推移,这种“自我游戏”相当于研究人员所说的“自主课程”(auto-curriculum)。
OpenAI的研究人员Igor Mordatch说,这个实验表明,自我游戏“
足以让AI自己学习令人惊讶的行为——就像孩子们互相玩耍一样
。”
“在AI领域,创造能够解决各种复杂的与人类相关的任务的智能体一直是一个长期的挑战,”作者在论文中写道:“与人类特别相关的将是能够感知物理世界中的物体并与之互动的智能体。”
捉迷藏AI依赖于强化学习,这是一种利用奖励来推动软件策略朝着目标前进的技术,通过反复试验来自我学习。近年来,强化学习与强大计算能力的结合取得了巨大的成功,但也有其局限性。指定奖励函数或收集演示来监督任务可能既耗时又昂贵。(最先进的方法要求对专家演示数据进行监督学习,并利用奖励进一步提高性能。)此外,单智能体强化学习任务的学习技能受到任务描述的限制;一旦智能体学会了解决任务,就没有多少继续提升的空间了。
在OpenAI的躲猫猫研究中,研究人员采用了一种被他们称为
“无向探索”(undirected exploration)
的策略。在这种策略中,智能体随着对游戏世界的理解自由进化,以设计创造性的获胜策略。这类似于DeepMind去年倡导的多智能体学习方法,在一项研究中,多个AI系统被训练来在游戏《雷神之锤3》中玩“夺旗”(Capture the Flag)。与这项研究一样,AI智能体事先并没有被告知游戏规则,但随着时间的推移,他们学会了基本的策略,并且最终超越了大多数人类玩家。
在捉迷藏游戏中,几个智能体扮演
躲藏者
,必须在很短的时间内藏起来并躲开敌方(扮演“
搜寻者
”的智能体)的视线,而搜寻者被指示密切监视躲藏者。(这里的“视线”指智能体前方135度的范围。)如果搜寻者冒险离开游戏区域太远,被迫在随机生成的房间和墙壁中穿行,它们将受到惩罚;它们还可以捡起散落在整个环境中的物体(主要是箱子),这些物体被锁定在某个位置。
AI捉迷藏游戏环境:
智能体可以通过在x和y方向上设定一个力来
移动
,也可以沿着z轴旋转。
智能体可以
看到
他们视线范围内的物体。
智能体可以使用类似激光雷达的传感器
感知
到物体、墙壁和周围其他智能体的距离。
智能体可以
抓取和移动
他们前面的物体。
智能体可以
锁定
物体,并且只有锁定该物体一方的团队才能
解锁
它。
AI在训练过程中发现了
六种独特的策略
,每一种都能使他们进入下一个游戏阶段。
起初,躲藏者和搜寻者只是逃跑和互相追逐。
随机行动:智能体随机地移动
追逐:搜寻者学会追逐躲藏者。
但经过大约2500万场捉迷藏游戏后,他们学会了通过一起移动箱子和靠近墙壁来
建造藏起来的庇护所
。
建造庇护所:
智能体学会了建造一个能够躲起来的场所。
再经过7500万场游戏后,搜寻者学会了
移动箱子和使用坡道
跳过箱子到达躲藏者的庇护所。
使用坡道:搜寻者学会使用坡道来跳过障碍物。
再经过1000万场游戏后,躲藏者开始把坡道带到游戏区域的边缘,并把它们锁定在适当的位置,以
防止搜寻者使用它们
。
坡道防御:躲藏者学会锁住坡道,以防止搜寻者使用。
最终,在总共3.8亿场游戏之后,搜寻者学会了把箱子带到游戏区域的边缘,并利用游戏空间让他们可以在不接触地面的情况下随着箱子移动,利用“
箱型冲浪
”到达躲藏者的庇护所。
箱型冲浪(Box Surfing):搜寻者学会把箱子带到一个被锁住的斜坡上,以便跳到箱子上面,然后“冲浪”到达躲藏者的庇护所。因为智能体可以对自己施加一个力,因此挂在箱子上也能移动,看起来像冲浪一般。
训练好的智能体学会了协调合作,比如把他们自己的箱子分别搬到一个未建好的庇护所。此外,他们还会作为一个团队互相保护,试图通过在准备阶段将箱子锁在适当的位置来
抵御搜寻者利用箱子“冲浪”
。
防御冲浪:躲藏者学会锁定所有坡道和箱子,以防止敌方利用箱子冲浪。
研究人员称,训练次数很重要。默认模型需要超过34小时、训练1.323亿次才能达到学会“用斜坡防御”的阶段,batch size更大的话,训练更快。例如,将参数数量(模型从历史训练数据中学习的部分)从50万增加到580万,样本效率提高了2.2倍。
为了评估这些智能体的稳健性,研究人员设计了一套五项基准的智能测试,分为认知和记忆两个领域。所有测试都使用与捉迷藏环境相同的动作空间、观察空间和对象类型:
对象计数:智能体被锁定在一个位置,并被要求预测有多少物体向左或向右移动,测试智能体的记忆力和对持久性的认识。
对象计数(Object Counting):
测试智能体是否具有对对象一直存在的认识(即即使在无法感知的情况下,事物依然存在)。
锁住并返回:
智能体必须找到箱子,锁定它,并返回到它的原始位置,这将测试智能体对其位置的长期记忆。
锁住并返回(Lock and Return):
测试智能体在执行新任务时是否能够记住它们的原始位置。
按顺序锁住:智能体代理必须按正确的顺序锁住箱子,因此它必须记住箱子的状态。
按顺序锁住(Sequential Lock):
四个箱子被随机放置在三个房间里,没有门,但是每个房间都有一个斜坡。智能体必须按照它们以前没有观察到的特定顺序来锁住所有箱子。
构建蓝图:
智能体必须将箱子移动到目标位置。
构建蓝图(Blueprint construction):