在小算法数据集上超越过拟合的泛化研究-李社博士

2023-08-22

摘要:在本文中,我们建议研究神经网络在算法生成的小数据集上的泛化。在这种情况下,可以非常详细地研究有关数据效率、记忆、概括和学习速度的问题。在某些情况下,我们表明神经网络是通过在数据中“摸索”模式的过程来学习的,将泛化性能从随机机会水平提高到完美泛化,并且这种泛化的改进可以远远超过过拟合点。我们还研究了作为数据集大小函数的泛化,发现较小的数据集需要越来越多的泛化优化。我们认为,这些数据集为研究深度学习的一个鲜为人知的方面提供了肥沃的土壤:在有限训练数据集的记忆之外,过度框架化神经网络的泛化。


1  引言

      过度参数化神经网络的泛化长期以来一直是机器学习界感兴趣的来源,因为它挑战了从经典学习理论中得出的直觉。在本文中,我们表明,在算法生成的小数据集上的训练网络可以可靠地表现出不同寻常的泛化模式,与训练集上的性能明显解耦,其效果比在从自然数据派生的数据集上表现出的效果明显得多(例如,见图1左侧)。这样的实验可以在单个GPU上快速复制,这使它们成为泛化理论的方便试验台。

      我们考虑的数据集是形式为a的二进制运算表◦ b=c,其中a、b、c是没有内部结构的离散符号,并且◦ 是一个二进制运算。二进制运算的例子包括

1.png

      图1:左侧。Grokking:在算法数据集上进行过拟合之后,泛化的一个引人注目的例子。我们用训练集中50%的数据对除法mod 97的二进制运算进行训练。97个残差中的每一个都作为一个单独的符号呈现给网络,类似于右图中的表示。红色曲线表示训练的准确性,绿色曲线表示验证的准确性。在<103个优化步骤时,训练精度接近完美,但验证精度需要接近106个步骤才能达到该水平,并且在105个步骤之前,我们几乎看不到任何泛化的证据。居中达到99%验证准确度所需的训练时间随着训练数据部分的减少而迅速增加。正确的一个小型二进制运算表的例子。我们邀请读者对哪些元素缺失进行猜测。

       加法、置换的组合和二元多项式。在所有可能方程的适当子集上训练神经网络,就相当于填补二进制运算表的空白,就像解决数独难题一样。图1右侧显示了一个示例。由于我们对方程中涉及的所有不同元素a、b、c使用不同的抽象符号,因此网络不知道元素的任何内部结构,只能从它们与其他元素的相互作用中了解它们的财产。例如,网络中看不到十进制表示法中的数字,也看不到行表示法的排列。

我们的贡献如下:

  我们证明了神经网络能够推广到各种二进制运算表中的空槽。

  我们发现,在严重过拟合之后很长一段时间,验证精度有时会突然开始从机会水平向完美泛化提高。我们称这种现象为“摸索”。一个示例如图1所示。

  我们给出了各种二进制运算的数据效率曲线。

  我们的经验表明,泛化所需的优化量随着数据集大小的减小而迅速增加。

  我们比较了各种优化细节,以衡量它们对数据效率的影响。我们发现权重衰减在提高我们研究的任务的泛化能力方面特别有效

  我们将这些网络学习到的符号嵌入可视化,并发现它们有时会揭示由符号表示的数学对象的可识别结构。


2  方法

      我们所有的实验都使用了一个在形式为◦ b=c,其中“a”,“◦”, “b”、“=”和“c”是一个单独的令牌。所研究的操作、架构、训练超参数和标记化的详细信息可在附录A.1中找到。


3  实验

3.1过拟合以外的泛化

      深度学习从业者习惯于在验证损失停止减少后看到验证准确性的微小提高。在某些情况下,验证损失的双重下降已被记录在案,但在从业者中被认为是不寻常的(Nakkiran等人,2019;Belkin等人,2018;d’Ascoli等人,2020)。在我们研究的小型算法数据集上,对于一系列模型、优化器和数据集大小,初始过拟合后的泛化能力会得到改善,在某些情况下,这些影响非常明显。图1中显示了模块划分的典型示例。在那里,我们看到,只有在比训练精度接近最佳所需的优化步骤多1000倍之后,验证精度才开始增加到超过机会水平。在图4中,还绘制了训练/验证损失,我们看到了验证损失的双重下降。

      我们发现,对于数据集大小接近网络在分配的优化预算内泛化的最小数据集大小的所有二进制操作,这些行为都是典型的。对于较大的数据集大小,训练和验证曲线往往更紧密地相互跟踪。


3.1.1 学习时间曲线

      在典型的监督学习问题中,当优化过程能够对训练数据进行插值时,减少训练数据量会降低模型的收敛泛化性能。在我们的设置中,我们观察到了一种不同的现象:虽然在训练数据集大小的范围内,收敛性能保持在100%不变,但随着数据集大小减小,实现该性能所需的优化时间会迅速增长。

      图1(中间)显示了在抽象组S5中产品的验证性能首次达到99%之前的优化步骤的中位数。在25-30%的数据附近,减少了1%

2.png

      图2:左侧。对于抽象组S5中的乘积学习问题,不同的优化算法会在105步的优化预算内产生不同的泛化量。权重衰减对泛化的改善最大,但即使在高百分比的训练数据下,使用全批优化器和没有权重或激活噪声的模型,也会发生一些泛化。次最优选择超参数严重限制了泛化。未显示:所有优化方法在103-104次更新后,训练准确率达到100%。正确的在各种算法数据集上经过105步后达到最佳验证精度,平均超过3个种子。对于直观上更复杂和不太对称的操作,泛化发生在更高百分比的数据上。

      训练数据的增加导致泛化的中值时间增加40-50%。虽然直到验证精度>99%的步骤数随着数据集大小的减小而快速增长,但直到训练精度首次达到99%的步骤数量通常随着数据集尺寸的减小而下降,并保持在103-104个优化步骤的范围内。我们已经观察到,在我们可以让网络进行泛化的所有算法任务中,随着数据集大小的减小,优化时间在达到泛化之前呈指数增长的类似模式。

      常规开关函数和双曲正切函数的曲线如图所示。可以看出,与切换函数相比,双曲正切函数在实现滑模切换的过程中更加平滑。改进后的NFTSMC输出可进一步改写为:


3.2 GroKking 在各种问题的表现

      由于操作数是作为不相关的抽象符号呈现给神经网络的,因此从神经网络的角度来看,具有素数p和非零x,y的运算x+y(mod p−1)和x*y(modp)是无法区分的(类似地,x−y(mod p−2)和x/y(modn p))。这是因为模素数的每个非零残数都可以表示为基根的幂。这种表示显示了模p−1的模加法和模p的模乘法的等价性(直到符号的重命名)。我们在图2(右)中看到,x−y和x/y确实需要大约相同的数据量才能进行泛化。 

      图2(右)中列出的一些操作相对于操作的顺序(x+y、x*y、x2+y2和x2+xy+y2)是对称的。与密切相关的非对称对应物(x−y,x/y,x2+xy+y2+x)相比,这种运算往往需要更少的数据来进行泛化。我们认为这种影响可能部分取决于架构,因为转换器很容易通过忽略位置嵌入来学习操作数的对称函数。 

      一些操作(例如x3+xy2+y(mod 97))在允许的优化预算内,在高达95%的任何百分比的数据下都不会导致泛化。收敛模型有效地只记住了训练数据集,而没有在数据中找到任何真实的模式。对于这样的模型,数据实际上是随机的。

      运算[x/y(mod p),如果y是奇数,否则x−y(mod p)]需要网络学习几个简单运算的混合-特别是当x与偶数y配对时,它的作用必须被解释为加法组中的一个残数,当它与奇数y配对时必须被解释为乘法组中的残数。这表明,即使对于不能通过组或环运算清晰解释的运算,也可以进行泛化。


3.3 ABLATIONS AND TRICKS

      我们已经尝试了各种形式的正则化,看看是什么可以诱导网络在我们的数据集上更好地泛化。在这里,我们展示了各种干预措施的特定数据集S5上的数据效率曲线:全批梯度下降、随机梯度下降、大或小学习率、残余辍学(Srivastava et al.,2014)、权重衰减(Loshchilov&Hutter,2017)和梯度噪声(Neelakantan et al.,2015)。结果如图2(左)所示。

      我们发现,增加权重衰减对数据效率有很大影响,与大多数其他干预措施相比,所需样本量减少了一半以上。我们发现,朝向网络初始化的权重衰减也是有效的,但不如朝向原点的权重衰减有效。这使我们相信,先验知识,即近似零的权重适用于小型算法任务,解释了权重衰减的部分但不是全部优越性能。在优化过程中添加一些噪声(例如,来自使用微批次的梯度噪声,在计算梯度之前或之后应用于权重的高斯噪声)有利于泛化,这与这样的噪声可能导致优化找到更平坦的最小值以更好地泛化的想法一致。我们发现,学习率必须在相对较窄的窗口内调整,才能进行泛化(在1个数量级以内)。


3.4  QUALITATIVE VISUALIZATION OF EMBEDDINGS

      为了深入了解泛化网络,我们可视化了模加法和S5情况下输出层的矩阵。在图3中,我们展示了行向量的t-SNE图。对于一些网络,我们在图中发现了底层数学对象结构的清晰反映。例如,模加法的圆形拓扑显示为每个元素加8形成的“数字线”。这种结构在经过权重衰减优化的网络中更为明显。


4  DISCUSSION

      我们已经看到,在我们研究的数据集中,小型算法二进制运算表、双重下降或后期泛化等效果,以及权重衰减等干预措施对泛化的改进,都是惊人的。这表明,这些数据集可能是研究泛化方面的好地方。例如,我们计划在我们的设置中测试各种提出的最小平面度度量是否与泛化相关。

      我们还看到,可视化这些神经网络的嵌入空间可以显示自然类型的结构,例如,在模运算问题中,嵌入的拓扑往往是圆形虽然我们对这些数学对象的财产很熟悉,但我们推测,有一天,这种可视化可能会成为获得关于新数学对象直觉的有用方法。

      此外,我们记录了一个有趣的现象,即达到给定性能水平所需的优化步骤数量随着我们减少训练数据集的大小而迅速增加。由于这代表了一种在少量数据上权衡性能的方法,因此在未来的工作中研究这种影响是否也存在于其他数据集将是有用的。

4.png

模型.png

       图3:左侧。来自在S5上训练的网络的输出层权重的t-SNE投影。我们看到置换的簇,并且每个簇是子群h(0,3)(1,4),(1,2)(3,4)i或其共轭物之一的陪集。正确的t来自在模块相加上训练的网络的输出层权重的SNE投影。线条显示了将8添加到每个元素的结果。这些颜色显示了每个元素模8的余数。