我们知道,人类具有「举一反三」的威力,即进修一个新概念后立即就能用它来理解相关用法。例如,当小朋友知道如何「跳」,他们就会明白「在房间里跳两次」是什么意思。
而对于机器来说,这种威力是极具挑战性的。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-3https://www.nature.com/articles/s41586-023-06668-3https://www.sciencedaily.com/releases/2023/10/231025163006.htmhttps://twitter.com/LakeBrenden/status/1717198382115221859https://twitter.com/IntuitMachine/status/171724086849775617