【新智元导读】 OpenAI 发表的新研究表明,一群 AI 智能体在虚拟环境中玩躲猫猫,能够自创出越来越复杂的作战策略,证明简单的游戏规则、多智能体竞争和标准的大规模强化学习算法可以刺激智能体在没有监督的情况下学习复杂的策略和技能。
每个小孩都玩过躲猫猫游戏,如果让一群 AI 来玩躲猫猫,会发生什么呢?
OpenAI 近日发表的新研究表明,一群 AI 智能体在虚拟环境中玩躲猫猫,学会了越来越复杂的相互躲藏和寻找的策略。
在 2500 万场捉迷藏游戏后,AI 智能体们掌握了四种基本的游戏策略。这是研究人员预料到的。
在总共 3.8 亿场捉迷藏游戏后,AI 智能体们开发出了研究人员想不到在游戏环境中可能存在的策略 —— 这是 AI 自己创造的。这一点让 OpenAI 的团队感到十分惊讶。
AI 通过强化学习来学习这一切。在这种学习方法中,AI 智能体从随机行动开始。有时,这些随机的行为会产生预期的结果,并为它们带来奖励。通过大量的反复试验,他们可以学会复杂的策略。
在游戏环境中,这个反复试验的过程可以通过让 AI 自我对战来进行,以确保对手能够势均力敌。在这个过程中,任何出现的新策略都会迫使对手寻找对策。随着时间的推移,这种 “自我游戏” 相当于研究人员所说的 “自主课程”(auto-curriculum)。
OpenAI 的研究人员 Igor Mordatch 说,这个实验表明,自我游戏 “足以让 AI 自己学习令人惊讶的行为 —— 就像孩子们互相玩耍一样。”
“在 AI 领域,创造能够解决各种复杂的与人类相关的任务的智能体一直是一个长期的挑战,” 作者在论文中写道:“与人类特别相关的将是能够感知物理世界中的物体并与之互动的智能体。”
AI玩躲猫猫https://www.zhihu.com/video/1158427454610771968
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 倍。
测试稳健性:5 大任务,3 个比基线好
为了评估这些智能体的稳健性,研究人员设计了一套五项基准的智能测试,分为认知和记忆两个领域。所有测试都使用与捉迷藏环境相同的动作空间、观察空间和对象类型:
对象计数:智能体被锁定在一个位置,并被要求预测有多少物体向左或向右移动,测试智能体的记忆力和对持久性的认识。
对象计数 (Object Counting): 测试智能体是否具有对对象一直存在的认识 (即即使在无法感知的情况下,事物依然存在)。
锁住并返回:智能体必须找到箱子,锁定它,并返回到它的原始位置,这将测试智能体对其位置的长期记忆。
锁住并返回 (Lock and Return): 测试智能体在执行新任务时是否能够记住它们的原始位置。
按顺序锁住:智能体代理必须按正确的顺序锁住箱子,因此它必须记住箱子的状态。
按顺序锁住 (Sequential Lock): 四个箱子被随机放置在三个房间里,没有门,但是每个房间都有一个斜坡。智能体必须按照它们以前没有观察到的特定顺序来锁住所有箱子。
构建蓝图:智能体必须将箱子移动到目标位置。
构建蓝图 (Blueprint construction): 房间里有 8 个箱子,智能体必须将箱子移动到 4 个目标位置。
建造庇护所:智能体必须在圆柱体周围建造一个掩体。
建造庇护所 (Shelter Construction): 智能体必须围绕一个圆柱体建造一个由箱子组成的庇护所。
实验证明,上面 5 个任务中有 3 个,在 “捉迷藏” 环境中接受过预训练的智能体学习得更快,最终获得的奖励也比两个基线都要高。他们在 “锁住并返回”、“按顺序锁住” 和 “构建蓝图” 这三个任务做得更好,但是在 “对象计数” 和 “建造庇护所” 两个任务做得更差。
研究人员将这种结果归咎于技能表现既 “纠缠” 又难以调整。他们在论文中写道:“我们推测,捉迷藏训练优于基线的任务是由于对已学特征表示的重用,而迁移到剩余任务需要对已学技能的重用,这要困难得多。”
未来研究
那么,我们可以 AI 玩捉迷藏中得出什么结论呢?简单的游戏规则、多智能体竞争和标准的大规模强化学习算法可以刺激智能体在没有监督的情况下学习复杂的策略和技能。
研究人员表示:“在这些环境中取得的成功激发了人们的信心,相信这些环境最终能够让智能体获得无限多的…… 技能。”“(它) 导致的行为相比其他自我监督强化学习方法,更加与人类相关。”
这些进步不仅仅是推动了游戏设计。研究人员认为,他们的工作是朝着可能产生 “物理基础” 和 “与人类相关” 行为的技术迈出的重要一步,这可能支持诊断疾病、预测复杂蛋白质结构和分段 CT 扫描的系统。
OpenAI 原文: