30多年前的断言被打破了?大模型具备了人类水平的系统泛化能力
我们知道,人类具有「举一反三」的能力,即学习一个新概念后立即就能用它来理解相关用法。例如,当小朋友知道如何「跳」,他们就会明白「在房间里跳两次」是什么意思。
而对于机器来说,这种能力是极具挑战性的。20 世纪 80 年代末,哲学家和认知科学家 Jerry Fodor 和 Zenon Pylyshyn 认为人工神经网络缺乏系统组合的能力。几十年来,领域内的研究人员一直在努力让神经网络具备一些泛化能力,但能力很有限。因此,关于 Jerry Fodor 和 Zenon Pylyshyn 的观点的争论也一直存在。
现在,来自纽约大学和庞培法布拉大学的研究人员联合提出了一种称为「组合性元学习 (Meta-learning for Compositionality,MLC) 」的新方法,该方法可以提高 ChatGPT 等工具进行组合泛化的能力。
实验结果表明,MLC 方法不仅优于现有方法,还表现出人类水平的系统泛化(systematic generalization,SG)能力,在某些情况下甚至优于人类。组合泛化能力也是大型语言模型(LLM)有望实现通用人工智能(AGI)的基础。
这项研究表明 AI 模型可以具备较强的组合泛化能力,具有里程碑意义。研究论文发表在《Nature》杂志上。
论文地址:https://www.nature.com/articles/s41586-023-06668-3
方法介绍
在 MLC 方法中,神经网络会不断更新以提高其在一系列场景(episode)中的技能。在一个场景中,MLC 会收到一个新单词,并被要求组合使用该单词。例如,使用单词「jump」来创建新的单词组合,例如「jump times」、「jump around right times」;然后 MLC 接收一个包含不同单词的新场景,依此类推,每次都会提高神经网络的组合技能。
如下图所示,四个原语是从一个输入单词到一个输出符号的直接映射,每个输出符号都是一个特定颜色的圆圈。例如,「dax」对应红色圆圈(RED),「wif」对应绿色圆圈(GREEN),「lug」对应蓝色圆圈(BLUE)。「fep」、「blicket」和「kiki」是带有参数的函数。
函数 1(fep)将前面的原语作为参数,重复其输出其三次(例如「dax fep」是 RED RED RED);函数 2(blicket)将前面的原语和后面的原语作为参数,以特定的交替序列生成输出(例如「wif blicket dax」是 GREEN RED GREEN);最后,函数 3(kiki)将前面和后面的字符串作为输入,以相反的顺序连接它们作为输出(例如「dax kiki lug」为 BLUE RED)。该研究还测试了函数 3 的参数由其他函数生成的情况,例如「wif blicket dax kiki lug」为 BLUE GREEN RED GREEN)。
如下图 4 所示,MLC 实现采用标准的 seq2seq transformer。该架构涉及两个协同工作的神经网络 —— 一个编码器 transformer 用于处理查询输入和学习样本,一个解码器 transformer 用于生成输出序列。编码器和解码器都有 3 层,每层 8 个注意力头,输入和隐藏嵌入大小为 128,前馈隐藏大小是 512,使用 GELU 激活函数替代 ReLU。整个架构总共有大约 140 万个参数。
编码器网络(图 4(下))负责处理一个串联的源字符串,该字符串将查询输入序列与一组研究样本(输入 / 输出序列对)组合在一起。解码器网络(图 4(上))从编码器接收消息并生成输出序列。
MLC 使用标准的 transformer 架构进行基于记忆的元学习。具体来说,每个场景都会构成一个通过随机生成的潜在语法定义的特定 seq2seq 任务。
实验结果
为了展示 MLC 的能力,该研究在一个使用伪语言(pseudolanguage)的教学学习实验中,将 MLC 与人类进行了比较。主要结果包括以下几点。
人类表现出很强的系统性,但也依赖于归纳偏置,有时会偏离纯粹的代数推理(algebraic reasoning)。
MLC 在实验中实现了人类水平的系统泛化(SG)。当进行随机响应时,MLC 还会产生类似人类的错误模式,例如一对一映射和图标串联等偏置。
MLC 在预测人类行为方面优于更严格的系统模型和基本的 seq2seq 模型。它在某些指标上也超过了人类的表现。联合优化的 MLC 模型很好地捕捉了人类反应的细微差别。
MLC 通过元学习在 SCAN 和 COGS 等系统泛化基准测试中取得了较高的准确率,而 basic seq2seq 在这些测试中失败。
该研究发现,与完美系统但严格的概率符号模型和完美灵活但非系统的神经网络相比,只有 MLC 实现了模仿人类表现所需的系统泛化和灵活性。
接下来,我们看一些具体的实验报告展示。
如上图 2 所示,该研究给参与者 (n = 25) 提供了 14 个学习指令(输入 / 输出对)的课程,并要求参与者为 10 个查询指令产生输出。
结果显示,在 80.7% 的情况下,参与者能够生成与代数标准(algebraic standard )完全匹配的输出序列(由图 2b (i) 中的星号表示)。如果长度已知,则双长度输出序列的概率性能为 2.8%,而对于较长的序列则呈指数级降低。值得注意的是,在 72.5% 的情况下,参与者也正确地归纳了比训练期间看到的更长的输出序列 (图 2b (i) 中的最后一个指令显示了一个例子),这是神经网络经常难以做到的一种泛化。
如下图 3 是在开放式指令任务上的结果,不同的人类参与者(n=29)被要求对七个未知指令的输出以及它们之间的关系做出合理的猜测(用一系列彩色圆圈响应 fep fep 或 fep wif),并且实验过程中,不让参与者看到任何的输入、输出示例从而影响结果。
在 29 位参与者中,有 17 位(约占 58.6%)的响应模式类似于图 3a,b (左),这与三种归纳偏置完全一致。在所有的回答中,29 名参与者中有 18 名遵循一对一 (62.1%),29 名参与者中有 23 名 (79.3%) 遵循标志性的串联,除了两人之外,所有参与者都遵循相互排他性来对每个指令做出唯一的响应(29 名中的 27 名,93.1%)。
总的来说,MLC 方法通过动态的合成任务流来指导神经网络的训练,从而实现了模仿人类表现所需的系统泛化和灵活性。
参考链接:
https://www.nature.com/articles/d41586-023-03272-3
https://www.nature.com/articles/s41586-023-06668-3
https://www.sciencedaily.com/releases/2023/10/231025163006.htm