类型多样性使Transformers能够进行组合泛化
摘要
文章提出,数据集中的类型多样性解释了Transformers为何在结构组合泛化方面表现不佳,并通过改变COGS和SLOG数据集中的多样性来验证这一点。
arXiv:2609.13144v1 Announce Type: new
摘要:组合泛化被分为词汇泛化和结构泛化。先前的工作发现,对于Transformers,结构泛化比词汇泛化更困难。我们提出,这种差异并非Transformers固有,而是由于先前研究中特定数据集的词汇类型多样性高而结构类型多样性低所致。我们所说的类型多样性是指该类型的不同构造器的数量,而不是例如可能填充结构的具体词组合。为了检验这一点,我们在先前发布的数据集上改变词汇和结构类型的多样性数量。我们使用Grammatical Framework创建了COGS和SLOG数据集的语言学多样化变体。我们发现,类型多样性在词汇和结构测试用例中与组合泛化的相关性相等,支持我们的假设。我们指出,先前工作中关于复合差异解释组合泛化任务难度的命题存在矛盾。我们进一步研究了其他数据集属性对组合泛化的影响,例如除新测试结构外的其他类型多样性,以及逻辑语义格式的表面属性。
查看缓存全文
缓存时间: 2026/09/14 08:44
# 类型多样性使Transformer实现组合泛化
来源:https://arxiv.org/html/2609.13144
作者:Anssi Moisio(阿尔托大学)
Mathias Creutz(赫尔辛基大学)
Mikko Kurimo(阿尔托大学)
###### 摘要
组合泛化可分为词汇泛化和结构泛化两类。先前研究发现,对于Transformer模型,结构泛化比词汇泛化更困难。本文提出,这种差异并非Transformer固有特性,而是源于以往研究使用的特定数据集中词汇类型多样性高而结构类型多样性低。这里所说的*类型多样性*,指的是该类型下不同构造器的数量,而非可能填充结构的特定词汇组合。为验证此观点,我们在先前发布的数据集中调整了词汇类型与结构类型的多样性程度。利用语法框架工具,我们为COGS和SLOG数据集创建了语言多样化的变体。研究发现,在词汇测试用例与结构测试用例中,类型多样性与组合泛化表现均呈现相关性,支持了我们的假设。我们注意到这与先前研究中提出的*复合离散度*解释组合泛化任务难点的论点相矛盾。我们进一步探究了其他数据集属性对组合泛化的影响,例如非新测试结构类型的多样性,以及逻辑语义格式的表层属性。
## 1 引言
基于Transformer(Vaswani等,2017)的大型语言模型在越来越多的任务中表现出强大能力,包括泛化到训练集中未出现的任务和语言。然而,多项研究表明,当在小型诊断数据集上训练时,小型Transformer模型难以准确泛化到新的语言结构(Kim和Linzen,2020;Yao和Koller,2022;Li等,2023;Jabbar等,2025)。解释这种差异最明显的原因可能是*规模*的差异——传统上指训练数据集规模、计算量及可学习参数数量。但这三个因素并非规模的全部,近期研究指出*数据质量*是第四个维度(Chen等,2025)。本研究聚焦数据质量,特别是语言多样性。多样性通常随数据集规模扩大而增加,但也可独立于数据集规模单独扩展。我们的核心假设是:解释结构泛化效果不佳的主要因素,并非Transformer本身的缺陷或三要素规模,而是训练数据集特定的语言多样性——我们称之为*类型多样性*。
我们将语言类型(如名词短语)的类型多样性定义为:构建该类型树的不同构造器函数数量。例如,名词短语"a cat"和"the mice"由同一个构造器构建——该构造器通过普通名词和限定词构建简单名词短语;而"a cat on a mat"和"mice in the attic"则由另一个构造器构建——该构造器基于简单名词短语与介词短语生成更复杂的名词短语。
我们通过在流行COGS数据集(Kim和Linzen,2020)及其SLOG变体(Li等,2023)中增加自然语言多样性(如形容词、名词复数形式和动词时态)来验证假设。除了这些准自然数据集外,我们还在纯人工SCAN数据集(Lake和Baroni,2018)中测试假设,通过生成超过一百个具有不同类型多样性程度的变体进行实验。在评估类型多样性影响的同时,我们也报告了其他数据因素的发现。先前研究显示,偶然性的表层细节也可能对泛化基准测试结果产生惊人影响(Wu等,2023)。我们分析了某些具体且偶然的属性效应,例如逻辑语义中连接项的顺序。
评估组合泛化数据集属性的一种先前方法称为基于分布的组合性评估(DBCA)(Keysers等,2020)。该方法旨在基于原子单元分布与原子组合分布两方面评估"组合性"。近期发现的多样性有助于组合泛化的证据——包括我们关于类型多样性的发现——与复合离散度与Transformer性能呈负相关的观察相矛盾。
本文结构如下:首先简要介绍语法框架(GF)(第2节),它既作为定义类型多样性的理论框架,也作为生成数据集的实用工具;随后介绍组合泛化(第3节)。第4节回顾先前研究,显示词汇泛化对Transformer而言容易而结构泛化困难。第5节定义类型多样性并回顾相关前期工作。第6节描述数据生成方法。第7节通过多样化变体的COGS数据集,展示为名词短语添加新构造器如何有助于结构泛化任务。子节8.1描述在更简单的SCAN领域进行的实验,更精确地映射词汇/结构泛化与类型多样性的关系。子节8.2报告类型多样性与Keysers等(2020)的DBCA指标之间的关系。利用多样化的SLOG数据集变体,第9节概述某些具体句法属性(如语义项顺序)如何影响结果。最后,我们在第10节讨论使用诊断数据集评估组合泛化的陷阱。
## 2 语法框架:具体与抽象语法及语义解释
本文采用语法框架作为定义类型多样性的概念工具及生成数据的实用工具。本节简要介绍GF的术语与语法,更多细节可参考Ranta(2004b)的概述、最新语法手册,以及Ranta(2004a)关于GF逻辑语义的论述。数据生成过程详见附录C。
Curry(1961)提出从两个层面考虑语法:底层语法结构称为*结构语法*,以及通过字符串连接表示语法的*表层语法*。结构语法处理语言范畴及范畴间的组合关系,表层语法则决定范畴如何实现为字符串以及字符串如何连接。例如,结构语法可能包含函数BUY,其参数为主语和宾语(如JOHN和COFFEE),表层语法则规定如何将此函数表示为字符串:英语中规则为主语-动词-宾语顺序,且动词需与第三人称单数主语一致:*John buys coffee*。在计算语言学中,这种结构与表层语法的分野指导了抽象范畴语法等框架的设计,也适用于GF。
在GF中,结构语法称为*抽象语法*,定义范畴(即类型,如动词V、名词N、句子S)及组合这些范畴的函数。抽象语法在GF中使用关键词cat定义范畴,fun定义函数,例如:
```
abstract Lang = { cat S ; NP ; VP ; V2 ; V1 ; V ; N ; Det ;
fun Sentence : NP -> VP -> S ;
Verb2phrase : V2 -> NP -> VP ;
Verb1phrase : V1 -> VP ;
Nounphrase : Det -> N -> NP ;
V2Verb : V -> V2 ;
V1Verb : V -> V1 ;
drink_V : V ;
a_Det, the_Det : Det ;
man_N, coffee_N : N ;
}
```
其中`man_N, coffee_N : N;`与分别声明`man_N : N;`和`coffee_N : N;`等价。我们遵循GF惯例,将所有范畴(如NP)和函数(如Nounphrase)首字母大写,词汇函数(如man_N)则加类型后缀。
类型为S的语法树示例如下:
```
Sentence (Nounphrase the_Det man_N) (Verb2phrase (V2Verb drink_V) (Nounphrase a_Det coffee_N))
```
GF中的表层语法称为*具体语法*,为每个范畴定义线性化类型(lincat,如字符串类型Str),为抽象语法中的每个函数定义线性化规则(lin)。上述抽象语法的具体语法可能如下:
```
concrete LangEng of Lang = {
lincat S, VP, NP, V2, V1, V, N, Det = Str ;
lin Sentence np vp = np ++ vp ;
Verb2phrase v2 np = v2 ++ np ;
Verb1phrase v1 = v1 ;
Nounphrase det n = det ++ n ;
V2Verb v = v ;
V1Verb v = v ;
drink_V = "drinks" ;
a_Det = "a" ;
the_Det = "the" ;
man_N = "man" ;
coffee_N = "coffee" ;
}
```
其中操作符++表示用空格连接两个字符串。通过这些规则,上述示例语法树可线性化为'the man drinks a coffee'。
更实际的语法中,简单字符串类型Str会被*记录*类型替代,该类型可包含多个*字段*。例如:
```
lincat V = {s : Str ; agreement : Agr} ;
```
表示V的线性化类型是一个记录,包含类型为Str的s字段和类型为Agr的agreement字段。agreement值可作为参数传递给屈折函数以确定正确的屈折形式。
函数可通过将fun替换为data声明为*构造器*,这使得它们能在*函数定义*def中作为构造器模式使用。函数定义用于*计算*,在我们的工作中用于解释语法树的逻辑语义。数据生成过程的更多细节见附录B和C。
## 3 组合性定义与组合泛化评估
在语言学中,组合性原则(或"弗雷格原则")指出:"复杂表达式的意义是其组成部分意义及其句法组合方式的函数。" Montague(1970)对此原则给出了精确解释,如Partee(1997)指出:组合性要求从句法代数到语义代数存在同态映射。
形式化地,句法定义为包含特定范畴基本表达式及递归规则(句法操作F),规则形式为:
> 若α是范畴A的合式表达式,β是范畴B的合式表达式,则γ=Fi(α,β)是范畴C的合式表达式。
若语义与句法平行,对应每个句法规则存在相应的语义规则(语义操作G),则存在从句法到语义的同态映射:
> 若α解释为α',β解释为β',则γ解释为γ'=Gk(α',β')。
在自然语言处理中,由组合性原则衍生出*组合泛化*概念,狭义上可理解为:模型从训练数据学习语法树到逻辑语义的映射,因此能解释新语法树。实践中,CG概念很少如此狭义使用,而是通常指更广义的概念:用于泛化的同态映射不一定需严格存在于句法与语义之间(McCurdy等,2024)。此外,组合性常仅被视为NLP任务的属性,而不精确评估任务实际如何具备组合性。
除Montague定义外,还有其他组合性定义提供了评估组合泛化的替代方法。Keysers等(2020)提出了可量化的、面向机器学习的"组合性"定义及测量数据集划分"组合程度"的方法,称为*基于分布的组合性评估*(DBCA)。该方法基于两个值(范围0到1):原子离散度衡量训练集与测试集间*基本元素*分布的差异程度,复合离散度衡量*原子组合*分布的差异程度。高度"组合性"的数据划分具有低原子离散度和高复合离散度。
DBCA仅基于输入序列或输出序列计算;原则上,此定义与传统定义正交,因为它不涉及输入-输出映射。但实践中,作者应用该方法时通常假设存在组合性映射(传统意义)。
目前尚不清楚Transformer在何种条件下能进行组合泛化。针对此问题存在两种思路……相似文章
@a1zhang: Transformer难以泛化到未明确训练过的任务。相反,我们在2026年提出,它…
文章提出,通过精心设计的harness来诱导组合,Transformer可以泛化到新任务,而无需模型本身具备泛化能力。研究表明,RLMs可以从短任务泛化到8-32倍长的任务,并且跨领域泛化。
语言模型框架是组合性泛化器(49分钟阅读)
这篇博客文章认为,语言模型中更好的泛化应来自'框架'(即接口程序),而非仅仅扩展训练数据。实验表明,递归语言模型框架能够实现远超基础Transformer的长度和领域泛化。
推断的生成过程多样性预测语言模型中的关联故障
本文介绍了使用归一化压缩距离作为衡量语言模型的生成过程多样性的方法,证明其在预测跨基准关联故障方面优于语义相似性,并对多模型系统的安全性具有启示意义。
当数据不平衡有益:通过捷径饱和实现鲁棒泛化
本文挑战了平衡数据集以避免虚假相关性的标准做法,表明在涉及两层Transformer的合成求和奇偶性任务中,高数据不平衡(虚假比率0.9)促进了鲁棒泛化,而低不平衡(0.5)则阻碍了它,其机制是通过捷径饱和。
多样性注入的位置至关重要:面向多样化生成的统一框架
本文提出了一个用于大型语言模型测试时多样化生成的统一框架,根据多样性注入的位置(表面级 vs. 规范级)对方法进行分类。它提出了规范级方法,首先生成多样化的中间规范,然后基于这些规范生成最终响应。在五个开放任务和四个骨干模型上,规范级注入在保持质量的同时提升了输出多样性。