Symbolic Brittleness in Sequence Models on Systematic Generalization in Symbolic Mathematics论文解读

Symbolic Brittleness in Sequence Models: on Systematic Generalization in Symbolic Mathematics论文解读

论文主要研究了符号数学中序列模型的符号脆弱性和系统化推广。在符号数学领域,序列模型是一种用于处理输入和输出序列的机器学习模型。作者关注的是这些模型在处理符号数学问题时的一种重要特性,即它们在解决与训练数据不完全相同但具有类似结构的问题时表现出的脆弱性。符号数学积分问题特别需要泛化能力。本文开发了一种评估泛化的方法SAGGA,该方法利用了问题域的结构和对验证器的访问,来评估LC模型的泛化能力。 本文调查强调了用主要的建模和学习方法进行良好泛化的困难,以及在泛化的不同方面评估测试集之外的重要性。

论文中指出,尽管序列模型在处理训练数据中的例子时表现出良好的性能,但当面对与训练数据稍有不同的问题时,往往会产生不准确或不可靠的输出。这种现象被称为符号脆弱性。作者通过大量实验证据表明,序列模型在符号数学问题中普遍存在符号脆弱性。

在这里插入图片描述

论文还探讨了导致符号脆弱性的潜在原因。一方面,作者指出,序列模型常常过度依赖于局部线索,而忽视了全局结构和规则。另一方面,序列模型对于输入中未出现的符号或结构的处理能力较弱。这些限制导致序列模型在系统化推广(systematic generalization)上表现差。

最后,为了缓解符号脆弱性和促进系统化推广,论文提出了一些解决方案和改进方法。其中包括增加更多丰富的训练数据、引入结构化输入表示、引入特定任务的先验知识以及设计更加强大的模型架构等。

总而言之,该论文深入研究了符号数学问题中序列模型的符号脆弱性和系统化推广问题,并提出了一些解决方案。这为改进序列模型在符号数学问题上的表现以及提升其系统化推广能力提供了有价值的指导。

一.问题设置

符号积分是求输入方程x的积分y的问题。在这一部分,论文明确提出了要解决的问题,即序列模型在符号数学中的符号脆弱性和系统化推广问题。论文针对这些问题提出了研究目标,并指出解决这些问题对于提高序列模型在符号数学上的准确性和推理能力具有重要意义。

1.实验结构

论文将研究分为三部分。首先从接近模型的训练分布开始,评估对分布内问题和简单函数的小扰动的鲁棒性。然后讨论学习对一组函数进行积分是否意味着模型可以对这些函数的组合进行积分。最后,通过研究外推到更大的问题和值来脱离训练分布,然后通过发现暴露训练分布中漏洞的对抗性漏洞。下图说明了神经序列积分器的鲁棒性、组合性和分布外缺陷:

在这里插入图片描述

实验设置:使用LC模型的实现和预训练模型进行所有实验,特别是FWD+BWD+IBP模型,在其公开可用的测试集中获得了95.6%,99.5%和99.6%的前1准确率评估基于他们的代码,使用他们的实用程序进行输入和输出,默认情况下使用波束大小为10的波束搜索。使用Sympy来检验预测的导数是否等于原始问题。如果发生超时,将预测视为正确。

2.自动问题发现与SAGGA

自动发现暴露缺陷的问题需要一个不可微分的代价,满足有效方程的约束,并找到不同的问题集来描述泛化的每个方面。为了解决这些挑战,作者开发了SAGGA (Symbolic Archive Generation with Genetic Algorithms),这是一种无梯度的遗传算法,可以迭代地发现各种故障。

在每次迭代中,SAGGA通过修改每个问题的方程树来改变问题的一组种子问题,以确保得到的候选方程是有效的。候选对象通过适应度函数进行评分,即根据神经序列积分器是否未能整合问题和其他期望的约束,并将适应度最高的候选对象保存在问题存档中。然后形成下一个种子集,通过聚类候选人并选择每个集群中适应度最高的成员来平衡多样性和适应度。SAGGA继续进行,直到存档包含目标数量的问题。下面是SAGGA的算法:

在这里插入图片描述

SAGGA通过它的种子问题、适应度函数和突变策略提供对问题类型的控制。

二.鲁棒还是脆弱

首先,我们研究模型的强测试集性能是否充分代表其鲁棒性。鲁棒性告诉我们集成模型是否系统地解决了由可推广模式控制的邻域内的所有问题,比如说仅仅换了一个系数的问题等。

1.手动测试鲁棒性

为了定义邻近问题,首先考虑对问题f干扰最小的手动模板,例如:
k ⋅ f , f + l n x k·f, f + lnx kf,f+lnx

这些问题在f附近,用来简单原始函数上的脆弱性。这里首先研究了神经序列积分器是否对简单的原始函数具有鲁棒性,因为它们构成了更复杂的函数,并且经常是显示问题。我们使用一个手工邻域

在这里插入图片描述

其中k1 ~ U(a, b)和k2 ~ U(a, b)是从一个范围(a, b)随机抽样的系数。我们使用[0,100],它被训练分布所覆盖并

在每个基元的1000对k1*, k*2样本上进行评估。结果如下:

在这里插入图片描述

结果说明神经序列积分器在基元
k 1 x 和 k 1 ln ⁡ ( k 2 x ) k1x和k1\ln(k2x) k1xk1ln(k2x)
上是鲁棒的。

然而,模型在其他函数上出奇地脆弱。这需要划分系数,例如:
∫ k 1 cos ⁡ ( k 2 x ) = k 1 k 2 sin ⁡ ( k 2 x ) \int{k1 \cos(k2x)} = \frac{k1}{k2} \sin(k2x) k1cos(k2x)=k2k1sin(k2x)
失败率表明该模型没有完全学习到所需的除法行为。下表给出了示例:

在这里插入图片描述

测试精度并不意味着稳健性。接下来,检验神经序列积分器的强测试精度是否意味着它对测试问题具有鲁棒性。使用验证集和扰动验证问题,模型使用邻域在这里插入图片描述

其中k ~ U(1,100)。第一个集合将函数乘以一个常量,而第二个集合则添加一个函数。

表二说明尽管该模型在原始问题上获得了完美的精度,但在轻微的扰动下,该模型经常失效。验证示例周围的局部邻域揭示了鲁棒性的缺陷,这些缺陷仅从验证性能来看并不明显,这与NLP任务中的发现一致。

2.自动发现鲁棒性故障

接下来,使用SAGGA来自动发现问题种子集附近的鲁棒性故障。

在简单问题附近发现脆弱性

首先,运行SAGGA,只允许它将问题方程树中的叶节点变异为随机整数。问题就在附近,因为树的结构没有变化,只是它的一小部分叶子值发生了变化。使用SAGGA对附录中列出的9个多项式和9个三角函数的种子集的叶子进行变异。运行SAGGA直到它发现1000个失败问题,然后在每个问题的SciBERT嵌入上使用k均值对这些问题进行聚类。

表4显示了三个发现的问题簇中的三个成员,分别是多项式和三角函数种子问题。直观地说,。直观地说,每个集群显示了围绕原型问题的邻域的故障。

在这里插入图片描述

然而,邻域中的每个问题都由一个共同的模板控制。例如问题{−104,−136,−33}由
∫ k = k x + C \int{k} = kx + C k=kx+C
控制,然而失败表明神经序列积分器要么没有推断出模板,要么没有在整个邻域中应用它。为了研究这一现象,论文在表5中展示了原始模型预测,以及它的简化版本和导数。

在这里插入图片描述

与上面模板相比,模型的原始输出既长又复杂。相比之下,化简后的很短,假设这个问题使得遵循模板变得困难。

发现验证问题附近的脆弱性

最后,使用SAGGA根据显式距离d发现接近目标集X的困难问题,这允许更少的手工设计扰动。

首先定义了一个适应度,当候选对象接近目标集X中的任何问题时,适应度就很高。接着随机抽取10个验证问题组成X,将SAGGA的初始种子设为X,利用SciBERT向量的余弦相似度定义距离d。由于距离现在限制了问题,我们可以自由地使用更广泛的变化:更改节点的操作,向节点添加参数,并用随机常数、符号或简单操作替换节点。

表6显示了SAGGA在成功验证问题周围发现的示例问题,暴露了比之前的实验更广泛的鲁棒性失败类别。

在这里插入图片描述

三.只积分部分,不积分整体

前一节指出了健壮性方面的弱点,但剩下的问题是,成功积分一组函数是否意味着这些函数的组合将被成功积分。组合性是指由已知的函数和运算(二进制操作,例如加法)构成复合方程。例如,一个系统可以将x方和cosx进行积分,并且可以做加法,它应该可以成功地将x方 + cosx进行积分。

论文用简单的原始函数和验证问题来评估关于加法的k-组合性。

由于积分是线性的,
∫ ( f + g ) = ∫ f + ∫ g \int{(f +g)} = \int{f}+\int{g} (f+g)=f+g
加法的组合性应该被满足。

在简单的函数上成功,在总和上失败

论文从模型成功积分的系数鲁棒性实验中收集简单的函数以及成功的指数。随机抽取1000个复合方程f1+…+fk(k∈{2,3,4})评估失败率。下表8显示了结果,尽管对每个函数进行了积分,但该模型很难对它们的和进行积分。

在这里插入图片描述

添加两个函数的系数函数和指数函数的失败率分别为29%和85%,尽管单个函数的失败率为0%,随着合成数量的增加,失败率增加到100%。表7给出了一些示例。

在这里插入图片描述

在测试问题上成功,在总和上失败

使用成功的验证集函数进行了类似的实验。过滤了超过20个标记的示例,以便组合方程在训练域的长度内,并采样1000个并采样1000个复合方程f1 +…+ fk(k∈{2,3,4})。如上表8所示,失败率随着组合数量的增加而增加。类似于简单函数的情况,最大化一个大型训练集的可能性并不能产生一个组合模型。

四.进一步脱离训练

前面的实验发现的问题与分布中的例子很接近,或者直接由分布中的例子组成。本节从模型的训练分布转移到评估其分布外泛化。首先,研究外推到比训练分布更长的方程大小,以及训练集中只稀疏覆盖的整数范围。然后使用SAGGA来暴露泛化的故障,并揭示在训练期间未涉及的问题类。

问题越长越困难

首先,使用与训练相同的数据生成过程,但改变其参数以偏离训练分布。具体地说,测试外推算子节点的数量每个方程树,使用LC的数据生成过程并改变max ops参数。表9显示了max ops增加到超过模型的训练域(1-15)时的性能。神经序列积分器确实显示出增加一些对操作符节点比训练时更多的方程树的外推,但其随着节点数量的增加失败率显著增加。在训练数据生成过程中外推到更多的算子节点。训练使用了15个节点。

在这里插入图片描述

更大的数字上更大的故障

接下来研究整数值增加时的性能。

考虑来自训练分布的200,000个序列样本,99.4%的正整数在1到100之间。其他范围是非空的,但表示稀疏。例如,0.2%的整数在100到200之间,0.096%的整数在1000到2000之间。图2显示了系数在指定范围内的基本函数的性能。

在这里插入图片描述

在鲁棒性实验中,x和ln函数表现良好,表明有一些使用大数的能力。然而,随着系数的增加,exp、sin、cos、tan函数的性能会严重下降,在大系数时达到接近100%的故障率。

发现不支持的函数

接下来在具有所有突变类型的无约束环境中运行SAGGA,发现基于神经序列积分器的有限训练分布的漏洞,例如使用伽马函数Γ(·)或余弦积分表示的问题Ci,这些都不包括在其训练数据中,如下表10.

在这里插入图片描述

这些例子说明序列到序列范式容易受到攻击。

最后,表10中的最后一个问题导致神经序列积分器在解码过程中进入一个非终止循环,这是已知的带有波束搜索的自回归模型的特性。

SAGGA还发现许多簇表明,当x出现在指数中时,神经序列积分器会出现问题。表11中发现的问题是之前发现的一个缩影。

在这里插入图片描述

五.这是一个搜索问题吗

LC的实验以及本文的实验都使用束搜索从序列到序列模型生成候选解。模型被训练为给正确的解决方案分配高分,但波束搜索是一种近似方法,可能找不到得分最高的序列。这增加了失败是由于搜索而不是模型的可能性。具体来说,我们想要区分搜索错误和模型错误。

1.模型错误

研究了简单鲁棒性和分布内问题,并找到了模型缺陷的证据,这些缺陷将通过完美的搜索仍然无法解决。

鲁棒性问题

首先,研究简单原始鲁棒性问题(例如k1 exp(k2x)),因为这些短问题导致少量超时,允许扩大搜索和验证。作者将beam size增加到500,并研究了模型在500个候选者和正确解上的概率。当一个正确的解在500个返回的候选解中,正确解的概率通常比最佳候选解低得多。所以模型的缺陷是:模型将非常高的概率分配给顶部的错误解决方案,而将非常低的概率分配给正确的解决方案。

当正确解不在前500个候选解中时,模型再次错误,其中前500个候选解获得≈0.94的概率。改进搜索算法(例如,通过进一步增加搜索预算或使用波束搜索的替代方案)将不可避免地返回一个低概率的解决方案,因为500个候选方案已经覆盖了超过99.4%的概率质量。研究结果再次指出了模型的错误。

分布内问题

接下来研究来自LC的FWD验证集的分布内问题。

如表12所示,大多数失败通过完美搜索仍然无法解决。在FWD验证集中,完美搜索将使k级的失败无法解决。在至少五分之三的错误中,这些失败将与完美搜索保持;搜索并不是这些例子中的唯一问题。

在这里插入图片描述

与搜索-验证设置相关的一个问题是,增加搜索预算(返回和验证的候选者数量)是否可以消除失败。虽然验证更多的候选项确实降低了失败率,但实验并没有表明在实际搜索预算中失败接近于零。例如,在组合性exp实验中(表8),验证50个而不是1个候选可以减少失败,但不低于90%。更大的搜索预算很快就无法验证: 对于组合性exp,验证时间大幅增加,从1个候选项的大约5分钟增加到50个候选项的超过2小时,在这些简单问题上最坏情况下的验证时间为41.6小时(表13)。改进基础模型仍然是一个主要问题。

在这里插入图片描述

在这里插入图片描述

结论

本文研究了应用于符号集成的序列模型中的系统泛化,就鲁棒性、组合性和外推性而言,开发了一种用于构建对抗性问题集的遗传算法。本文用优势的建模范式研究符号数学中的泛化:用最大似然训练的大规模transformer。发现了测试精度未能捕捉到的缺陷,包括对小扰动的脆弱性、组成已知解决方案的难度,以及训练分布中的差距。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值