\quad meta-learning中,每个epoch包含了若干eposide,每个eposide包含若干个类别的Support Set和Query Set,不同eposide之间的数据是独立的。每个eposide进行一次前向传播和梯度更新。
\quad meta-learning是task-level的,用于学习函数,也就是用于学习规则。
Code: https://zenodo.org/records/8274610
Author: Brenden M. Lake,Marco Baroni,New York University
\quad 这篇文章研究的一个问题是:系统泛化(Systematic Generalization)。人类非常擅长学习新概念,并将其与现有概念系统地结合起来。 例如,一个小孩子一旦学会了如何“跳跃”,那么他就会很快理解并学会“向后跳跃”或“跳过障碍物”。人类比机器更擅长系统泛化。如果一个人知道呼啦圈、杂耍和滑板的含义,他们就能理解将三者结合在一起的含义。
\quad 早在35年前,Fodor和Pylyshyn认为,神经网络缺乏这种系统性,因此不适合作为人类认知的可靠模型。这一争论至今仍没停止。对Fodor和Pylyshyn的反驳主要集中在两个要点上。第一,人类的组合能力虽然重要,但可能不像Fodor和Pylyshyn所指出的那样系统和规则。第二,神经网络,虽然在最基本的形式上有限,但在使用复杂的结构时可以更系统。近年来,神经网络取得了相当大的进步,并取得了许多突破,包括自然语言处理。鉴于这些进展,这篇文章重新制定了系统性的经典测试,并重新评估了Fodor和Pylyshyn的论点。值得注意的是,现代神经网络在系统性的测试(即使是一个最低限度的代数思维也应该通过的测试)中仍然表现不佳。随着技术的进步,关于系统性的争论仍在继续。
\quad 这篇文章提出了一种组合性元学习(Meta-Learning for Compositionality)的方法,其具有优化组织能力(按逻辑顺序组织概念的能力),该系统能在动态变化的不同任务中学习,而不是只在静态数据集上优化(即之前的标准方法)。
\quad 这篇文章提供证据表明,神经网络可以通过所提出的组合性元学习(Meta-Learning for Compositionality)来实现human-like systematic generalization。这个MLC其实就是一个优化过程,通过一系列的 few-shot 组合任务来鼓励系统化。在实现MLC时,他们并没有添加符号机制,也没有手工设计的内部表示或归纳偏差。相反地,MLC提供了一种方法来指定所需的行为,通过高级的指导和/或直接的人类例子。然后,神经网络被要求通过元学习来发展正确的学习技能。
1)人类行为结果
\quad 为了MLC的有效性,作者进行了一系列实验,先对人类进行不同的组合任务的训练和测试后,再将结果与机器模型进行比较。首先,研究人员对人类的学习能力进行了测试和评估。研究团队招募了25名志愿者,要求他们处理指令并生成抽象结果,然后再根据测试数据总结出三种重要的归纳偏见(一对一翻译、图像串联和每个指令都分配唯一响应)。实验中要求受试者使用一种独特的伪语言,由两类无意义的伪造词组成,一类是基本单词,如“dax”、“wif”,代表了类似于“jump”、“skip”等基本的、具体的动作,另一类功能单词,如“blicket”、“kiki”,指代的是使用和组合原始单词的规则。实验初始,受试者需接受进行训练,将每个基本单词与特定颜色的圆圈联系起来。例如,红色圆圈代表“dax”,蓝色圆圈代表“lug”。随后,受试者需要学习基本单词和功能单词的组合和对应的圆圈模式。
\quad 图b中星号表示正确的。
\quad 接下来,研究人员评估了MLC在这些具有挑战性的泛化任务中产生人类水平的系统泛化和类似人类的错误模式的能力。MLC能够为高度系统化的行为优化模型,将优化过的计算模型与人类进行对比,发现模型能以接近人类性能(80.7%)的平均速率(82.4%)系统性输出,以接近人类水平(72.5%)的速率(77.8%)处理长输出序列。此外,像人一样,MLC也出现一对一翻译的错误(56.3%,人的为24.4%)和图标连接错误(13.8%,人的23.3%)。MLC还可以预测哪些指令对人们来说更容易或更难.。
\quad 在65.0%的样本中MLC的响应与人类参与者完全相同,完美地实现了三个关键归纳偏差。一项非正式分析进一步表明,MLC捕获了更多细微的响应模式,推断未知任务的新规则。在所有计算模型样本中,66.0%遵循一对一翻译(人类中为62.1%),85.0%遵循图像串联(人类中为79.3%),99.0%选择了对每个唯一指令的唯一响应(人类中为93.1%)
2)MLC模型模拟结果
\quad 准确来说,MLC是一个优化程序,它优化的是一个标准的seq2seq Transformer。如下所示,encoder、decoder都包含三层,每层8个注意力头,embedding是128维度。这样的一个网络有1.4M参数。同时输入所有的信息,输出一个序列。训练完成后,在执行新任务时冻结权重。
\quad 使用 Adam 优化器,以交叉熵损失来训练。
\quad meta-learning是task-level的,用于学习函数,也就是用于学习规则。对于本文的任务,目的其实就是学习不同任务中的组合规则(语法规则),先用support set(包含labeled / unlabelled data)训练一下得到一个规则学习器,然后在 query set 中的labelled data中训练一下,得到规则学习器在解决当前语法规则时的特定参数,然后在unlabelled data上进行测试。
\quad 由于Fodor 和 Pylyshyn的先见之明,系统性的辩论一直在持续。最近几年关于系统泛化的文章在各大顶会上层出不穷。目前来看,系统性仍然是一个挑战,或者至少是一个开放的问题,即使是对最近的大型语言模型,如GPT-4。为了解决争论,并理解神经网络是否能够捕获类人的合成技能,我们必须同时比较人类和机器的情况,就像本文和其他最近的工作一样。在这篇文章的实验中,作者发现最常见的人类反应是代数和系统的,就像Fodor 和 Pylyshyn所讨论的一样。然而,人们也依赖于归纳偏差,有时支持代数解,同样有时偏离它;事实上,人并不是纯粹的代数机器。
\quad 这篇文章展示了MLC如何使一个标准的神经网络优化其组成技能,以在side-by-side比较中模仿或超过人类的系统泛化。MLC比以标准方式训练的神经网络表现出更强的系统性,并且比原始的符号模型(symbolic model)表现出更微妙的行为。此外,MLC还允许神经网络处理其他已知挑战,包括系统地使用孤立基元和运用互斥性来推断含义。
\quad 我们使用MLC进行行为建模与其他进行逆向工程人类归纳偏差的方法有关。贝叶斯方法使建模者能够评估不同的表征形式和参数设置,以捕获人类行为,如通过模型的先验来进行规定。这些先验也可以通过分层贝叶斯模型与行为数据进行调整,尽管结果设置可能是限制性的。MLC尽管借助神经网络以获得更大的表达能力,但展示了使用元学习可以像层次贝叶斯模型的反向工程归纳偏差(如在《Recasting gradient-based meta-learning as hierarchical bayes》【ICLR’19】所述)。我们的研究增加了越来越多的文献,回顾了关于使用元学习来理解人类或human-like行为。
\quad 在我们的实验中,只有MLC在系统性和偏见方面紧密地复制了人类行为,MLC(联合)模型最好地导航了这两种人类语言行为的蓝图之间的权衡。此外,MLC的能力是通过元学习获得的,其中系统泛化和人类偏置都不是神经网络架构的固有属性,而是从数据中产生的。(所以两个可行性方向是,一个是通过元学习引入系统泛化,一个是设计先验知识引入归纳偏置)
\quad 尽管取得了一定成功,MLC并没有解决Fodor和Pylyshyn提出的所有挑战。MLC不能自动处理未经实践(训练)的泛化形式或元学习分布之外的概念,减少了它可以正确处理的全新结构的范围。此外,它无法泛化到未经优化的归纳偏见中(finetuning的重要性)。单靠元学习并不能让标准神经网络实现训练情景之外的分布泛化。目前的体系结构也缺乏生成新符号的机制。最后,MLC没有在自然语言的全部复杂性和其他模态上进行测试。因此,它是否能够在所有方面以及从实际的训练经验中实现类似于人类的系统性,还有待确定。对于视觉问题,图像分类器或生成器可以接受专门的元训练(通过现今的 prompt-based方式【stable-diffusion】),以学习如何系统地将对象特征或多个对象与关系结合起来。
\quad 我们的研究提出了一个自然发育的问题,即系统化可以通过激励和实践来磨练。**首先,孩子生来就没有像成人一样的功能组合能力;**事实上,在婴儿期和学前班之间似乎有重要的变化与学习有关。第二,儿童在发展过程中成为更好的单词学习者,类似于通过训练提高的元学习者。孩子们有可能利用经验,比如在MLC中,来磨练他们学习新单词的技能,并系统地将它们与熟悉的单词结合起来。除了自然语言,人们还需要多年的教育过程来掌握其他形式的系统泛化和符号推理,包括数学、逻辑和计算机编程。虽然将这里开发的工具应用于每个领域是一项长期的努力,但我们在元学习中看到了理解人类构成技能起源的真正希望,以及使现代人工智能系统的行为更像人类。
TODO:看一下本文引用的,最近几年在Nips、ICLR上的文章。
TODO:看一下本文引用的,关于使用元学习来理解人类或human-like行为的文章。