描述过参数化模型中被标记数据的结构性特征

互联不一般哥 2024-03-15 00:15:09

摘要

人类学习者能够理解观察对象通常形成规则和次规则的层次结构。例如,英语动词存在着必须要记住的不规律实例(例如 go→went)和规律的实例(例如 kiss→kissed,miss→missed)。类似地,深层神经网络具有记忆罕见的或不规则形式的能力,但仍能在共享共同模式或结构的实例中进行泛化。我们通过一致性评分分析模型如何处理单个实例。该分数是在给定大小的训练集上从数据分布中采样的一个特定体系结构实例的预期准确性。我们获得了多个数据集中单个实例的该分数的经验估计,并且我们表明该分数在连续区的一端识别出分布外和标记错误的示例,在另一端识别出常规示例。我们探讨了一致性得分的两类代理:基于成对距离的代理和基于训练统计的代理。最后,我们用两个使用 C 值的应用程序来帮助理解表示学习的动态并过滤掉异常值,并讨论了其他潜在的应用程序,如课程学习和主动数据收集。

1 引言

人类的学习既需要推断出可以概括许多实例的规律模式,也需要记忆不规律的例子。边界规律和不规律的例子可以是模糊的。例如,在学习英语动词的过去式时,有一些动词的过去式必须简单地记住(go→went, eat→ate, hit→hit),还有许多规则动词遵循附加“ed”的规则(kiss→kissing, kick→kicking, brew→brew 等等)。概括一个新单词通常遵循“ed”规则,例如:bink→binked。介于例外动词和规则动词之间的是子规则——一组具有一致结构的例外动词(例如 sing→sang, ring→rang 的映射)。注意,受规则约束的情况和异常情况可能有非常相似的形式,这增加了学习它们的难度。从受规则约束的情况中归纳可能会妨碍对例外情况的学习,反之亦然。的确,学习英语的孩子最初掌握了 go→went 等高频例外动词,但在对规则动词积累经验后,通过映射 go→goed 开始过度正则化,最终学会了规则动词和例外动词的区别。

记住不规则的例子就相当于建立一个查找表,其中包含可供检索的个别事实。泛化需要在训练环境中对统计规律进行推断,并应用程序或规则来利用这些规律。在深度学习中,记忆通常被认为是网络的失败,因为记忆并不意味着泛化。然而,掌握一个领域需要知道什么时候进行概括,什么时候不进行概括。

在这篇文章中,我们在一个深度网络的背景下形式化了从规则到例外的连续体。我们为实例 x 和标签 y 提出一个一致性评分或 C 值,定义为架构 A 的分类器预测标签 yˆ 的预期准确性,该分类器训练了来自数据分布 P 的 n 个 i.i.d.示例:

事实上,我们要求实例 x 被排除在训练集之外。但在连续的数据分布下,选择同一个实例进行训练和测试的概率为零。C 值反映了实例相对于训练集的一致性。C 值反映了每个实例与训练数量的关系。低 C 值表明该实例与训练数量不一致,因此学习需要记忆。C 值越高,说明该实例得到了训练人群的支持,因此就会得到泛化。

对于运行在输入空间的最近邻分类器,C 值与离群点监测的文献有关。然而,对于一个运行在潜在空间上的深度网络,C 值不仅取决于训练数据的分布,还取决于模型架构、损失函数、优化器和超参数。因此,我们的工作与识别潜在空间中的异常值的对抗性方法有关。

C 值有许多潜在的用途。首先,它可以通过区分不同的规律性和次规律性来帮助理解数据集的结构。其次,它可以用于检测分布外的和错误标记的实例:这些实例的 C 值很低,因为它们几乎没有来自训练分布的支持。第三,它可以用来指导主动收集数据,以提高模型视为异常的罕见情况的性能。第四,它可以被用来按照课程学习的路线对训练实例进行优先排序。

无法计算公式中 C 值的原因有很多。底层的数据分布是未知的。期望值必须通过抽样来近似。每个样本都需要模型训练。因此,我们寻求计算上有效的 C 值代理。理想情况下,分数可以从未经训练的网络或在训练早期的单一网络中获得。

本文的主要贡献如下:

1) 我们获得 MNIST、CIFAR-10、CIFAR-100 和 ImageNet 中单个实例的 C 值的经验估计。估计需要训练每个数据集多达 20,000 个网络复制,允许我们将实例分类为那些满足强规律性、那些满足较弱规律性以及异常(离群)情况。

2) 因为经验估计 C 值的计算成本很高,我们定义并降低了候选 C 值代理的价值。我们根据训练统计数据(ρ≈0.9)与 C 值有很强的相关性,确定了轻量级的代理分数,并且可以为训练集中的所有实例免费计算。我们注意到这个结果是重要的,因为 C 值是为保留的实例定义的,而代理分数是在训练集上定义的。

3) 我们探索了 C 值的两个应用,以帮助理解表示学习的动态和检测异常值,并在 ImageNet 和 CIFAR 上发布估计的 C 值,以促进未来的研究和应用。

2 C 值的经验估计

根据公式 1 计算 C 值在实践中是不可行的,因为底层数据分布通常是未知的,即使是未知的,期望也无法通过分析计算出来。在实践中,我们通常有一个固定的数据集 Dˆ,由来自底层分布的 N 个 i.i.d.样本组成;例如,在 CIFAR-10 图像分类任务中,我们有 50,000 个训练示例。通过将第(1)项中的期望替换为经验平均,并从固定数据集中抽样大小为 n 的 i.i.d.子集,可以计算出 C 值的估计值。因此,我们定义一个实例(x,y)的经验 C 值,提出以下公式来作记忆分数估计:

其中 D 是一个大小为 n 的子集,它从排除(x,y)的 D^中均匀抽样。E^r 表示此类子集的 r 个 i.i.d.样本的经验平均值。因为计算单个(x,y)的 C^成本是很大的,所以我们使用 k 倍折叠验证过程。具体来说,我们评估 N - n 个不考虑训练实例的每个折叠,并仅使用实例在伸出集合中的折叠来确定给定实例的经验 C 值。我们将此过程称为抵制验证。

因为每个数据集的大小不同,并且我们要求 n< N,所以我们发现方便的不是引用样本的绝对数量 n,而是指用于训练 Dˆ 的百分比

,我们称之为 s∈[0,100]的子集比。我们在 MNIST 中使用 3 层全连接网络,在 CIFAR-10/CIFAR-100 中使用 Inception,在 ImageNet 中使用 ResNet-50。

图 2a 显示了 CIFAR-10 经验 C 值的分布,其中 s 属于集合{10,…,90}。对于 s 的每个级别,k = 2000 次训练/评估折叠。除了给的分数必须使用数据集的训练才能获得良好的泛化,图表明,地板和天花板效应可能将用例集中。此时,如果 s 太小或太大,很难基于 C 值区分他们。我们不是确定 s 的“刚刚好”值,而是计算一个在均匀分布下被 s 边缘化的 C 值。图 2b 的左面板显示了这些估计的积分 C 值的直方图。虽然大部分的分数都在高端,但它们比任何特定 s 的直方图分布更广泛(图 2a)。

我们根据积分 C 值将实例划分为 30 个箱子,如图 2b 中直方图中柱状图的颜色所示。在右边的面板的图中,我们分别绘制一个容器中实例的平均 C 值作为子集比 s 的函数。注意, C 值的单调顺序不随 s 而变化,但以低 C 值实例聚成较小的 s 集合和以高 C 值聚合成较大的 s 集合,用开放的不透明的圆圈在图中表示。聚束使得实例的区别更小。在集成 C 值(青色线)的低端,注意随着 s 的增加,曲线下降到概率以下。我们推测这些实例是模糊的,并且随着数据集的增长,其他类中的规律系统地将这些模糊实例引向错误的方向。这种行为类似于我们之前提到的现象,即儿童接触一种语言越多,他们产生的动词过度正规化错误(go→goed)就越多。

对于 MNIST、CIFAR-10 和 CIFAR-100,图 3 给出了具有不同估计积分 C 值的实例。每个例子块是一个类别;左列、中列和右列的 C 值分别为高、中、低。左列中示例的同质性表明,大量非常相似的图像构成了一个功能原型。相反,右栏中的许多例子是模糊的,甚至是标签错误的。

2.1 积分 C 值的点估计

在上一节中计算的积分估计需要调用一个 s 范围内的抵制验证过程,每次调用涉及大约 2000 个网络的训练。对于像 ImageNet 这样的大型数据集,这种近似集成的计算成本太高。因此,我们研究了用一个点估计来近似积分 C 值的可行性,即选择最能代表积分分数的 s。图 4b 显示了给定 s 积分分数与分数的等级相关性,作为 s 的函数。图中的每个曲线对应于一个特定的数据集。检查绿色的 CIFAR-10 曲线,在 s=30 处有一个峰值,表明 s=30 产生积分 C 值的最佳点估计近似。峰值位于中间 s,这与从图 2b 中观察到的 C 值聚在一起的情况相一致,即低 s 和高 s 的情况。

在 s=10 时 MNIST(挑战性比 CIFAR-10 低)峰值更低; 在 s=40 或 s=50 时对于 CIFAR-100(挑战性比 CIFAR-10 高)峰值更高。因此,对于更具挑战性的数据集,峰值似乎会转移到更大的 s。由此可以得出结论:更具挑战性的数据集需要更多样化的训练实例,以便观察泛化。

2.2 ImageNet

除了 MNIST、CIFAR-10 和 CIFAR-100,我们还使用 ImageNet 进行了实验。我们选择单个 s 作为我们的 C 值估计。基于最优 s 随着数据集复杂性的增加而增加的事实,我们选择 s=70 作为 ImageNet。具体来说,我们使用 ImageNet 训练集的 70%随机子集训练 2000 个 ResNet-50 模型,并计算所有训练示例的 C 值。

图 1c 中所示的示例是根据这个 C 值估计进行排序的。因为 ImageNet 有 1000 个类,所以我们不能像 MNIST 和 CIFAR 那样提供对整个数据集的简单概述。因此,我们着重分析各个类的行为。具体来说,我们计算一个特定类中所有示例的 C 值的均值和标准差(SD)。平均 C 值表示类的相对难度,SD 表示每个类中例子的多样性。图 4a 中的二维直方图描述了均值和标准差在所有类上的联合分布。我们观察到一个很强的相关性:平均 C 值高的类往往有低的方差。然后,我们从每个类的 C 值排名前 1%、35%和 99%的百分比中选取样本图像,如图 5 所示。

3 C 值代理

在本节中,我们的目标是识别与 C 值密切相关的代理度量,这些度量可以在模型单独在训练实例上训练之前或训练时进行估计。我们强调后一点是因为如果我们成功地为训练示例估计 C 值,我们还应该能够估计尚未看到的数据的性能。我们探索了两种基于密度估计的 C 值代理方法——输入空间和潜在空间,以及基于训练时间过程中的准确性的测量方法。

3.1 基于两两距离的代理

在本节中,我们研究了基于两两距离的 C 值代理。直观地说,如果一个示例位于具有相同标签的其他示例附近,那么它与数据分布是一致的。但是,如果示例远离同一个类中的实例,或者位于不同类的实例附近,则可能不期望它泛化。基于这种直觉,我们定义了一个相对局部密度得分:

为了评估显性标签信息的重要性,我们研究了两个相关的分数:CˆL,在估计局部密度时只使用同类示例;Cˆ,通过忽略标签使用所有邻居示例。我们还研究了一个基于局部离群因子(LOF)算法的代理,它度量了每个点相对于其邻居的局部偏差。由于较大的 LOF 分数表示异常值,我们使用负 LOF 分数作为 C 值的代理,表示为 CˆLOF(x)。

我们发现,基于输入空间中两两距离的代理的工作效果很差。使用网络的倒数第二层作为图像的表示,我们评估代理分数:Cˆh±L, CˆhL, Cˆh 和 CˆhLOF,下标 h 表示分数在隐藏空间中操作。对于每个分数和数据集,我们计算代理分数和 C 值之间的 Spearman 等级相关性。由于嵌入随着网络的训练而变化,我们在图 6 中将相关性绘制为训练时间的函数。对于这两个数据集,与 C 值最相关的代理评分是 Cˆh±L(灰色),其次是 CˆhLOF(棕色),然后是 CˆhL (粉色)和 Cˆh(蓝色)。显然,恰当地使用标签有助于提高排名。

3.2 基于训练统计的代理

直观地说,应该快速学习与许多其他训练示例一致的训练示例,因为所有一致示例的梯度步骤都应该很好地对齐。因此,我们可以推测,数据集中的强规律不仅在渐近线上学习得更好,而且在训练过程中学习得更快。这个学习速度假设是有意义的,因为 C 值是在训练之后定义的,而学习速度是在训练期间定义的。

为了检验学习速度假设,我们将 CIFAR-10 数据集中的例子通过综合 C 值划分到各个箱子中,每个箱子的宽度为 0.05。然后,我们在数据集中的所有示例上训练一个模型,并将每个箱子作为训练时间的函数绘制平均比例正确值,如图 7a 所示。图中的两个跳跃对应于学习速率降低的点。渐近地,所有示例都是学习的,正如人们从过度参数化模型中所期望的那样。然而,有趣的是,C 值最低的(青色)例子学习得最慢,而 C 值最高的(紫色)例子学习得最快。事实上,学习速度与 C 值是单调相关的。

在图 7b 中,我们计算了一个实例的 C 值与基于学习速度的多个代理得分之间的 Spearman 的等级相关性。特别是,我们测试准确性(0-1 正确性)、pL(对正确类的 softmax 置信度)、pmax(所有类的最大 softmax 置信度)和熵(softmax 置信度的负熵)。我们使用从训练开始到当前时期的平均累积统计数据,因为这比使用基于任何单一时期的分数具有更高的相关性。我们还将其与遗忘事件进行比较,这是一个累计统计,计算训练期间从“学习”到“遗忘”的转换次数。

所有这些代理都与 C 值有很强的相关性。pL 在峰值处达到 ρ≈0.9。pmax 和 entropy 的性能类似,都比 pL 稍差。图中还显示,低 C 值的例子更容易在训练中被遗忘。然而,基于遗忘事件的代理比其他代理表现差,需要更多的训练期才能达到相关性的峰值。因为遗忘事件只有在学习了一个例子之后才会发生,所以与这里研究的其他代理不同,困难例子的遗忘统计数据在训练的早期阶段是无法获得的。

4 应用

C 值允许对数据集的结构规律进行详细分析,否则很难获得数据点组织的简洁描述。例如,常规示例的可视化(图 3)揭示了每个类中许多示例共享的公共颜色和形状结构。分析不同类中的 C 值分布(图 4a)有助于识别由于极端不同的实例而特别难以学习的个别类。我们提供两个示例来展示应用程序在数据集分析之外的下游任务。

首先,我们使用基于 C 值的示例分组来分析学习动态。在图 7a 中,我们注意到阶段性学习速率衰减对于 C 值较低的例子有更大的影响。较大的学习率限制了低 C 值示例的学习。这一观察结果为我们提供了一个合理的解释,为什么我们和其他计算机视觉研究人员一样,在阶段性学习中观察到的泛化效果要优于在恒定学习率下的泛化效果。从一个大的学习速率开始有效地实施了一种课程,其中模型首先学习最强的规律性。在学习速率降低、异常或异常值能够被学习的后期阶段,模型已经建立了基于领域规则的表示。

第二个示例使用 C 值代理来识别异常值。我们用随机标签分配破坏了 CIFAR-10 训练集的一部分 γ。然后在训练过程中,我们通过我们的 C 值代理-累积准确性、pL 和遗忘事件统计来识别排名最低的分数 γ。图 7c 显示了去除率——排名最低的确实是异常值的例子的比例;两个 C 值代理成功识别出超过 95%的异常值。这两个例子都表明 C 值对于课程学习和相关应用是有用的。

5 讨论

通过一致性得分,我们探索了深度学习中的记忆-泛化连续体,该得分衡量了数据分布背景下实例的统计规律性。我们在 4 个数据集中对个别实例的 C 值进行了经验估计,并基于密度估计和训练时间过程探索了不同的 C 值代理。我们的主要贡献如下:

1) 我们给 MNIST、CIFAR-10、CIFAR-100 和 ImageNet 中的每个例子分配一个一致性评分(C 值)。这些分数可以通过区分规律性、子规律性和异常情况来帮助理解数据集的结构。

2) C 值高的实例往往在颜色、形状、对齐方式上是视觉上一致的。C 值最低的实例经常被错误标记,或者图像中的突出对象属于不同的类别。

3) 基于 pL 的累积统计数据是 C 值的一个很好的代理。它的计算成本几乎为零,只需要一次训练,而不是像 C 值那样的数千次训练。

4) 跟踪由 C 值分组的例子的学习速度,我们制定了一个假设,以解释为什么分期递减学习率时间表往往比恒定或自适应时间表更一般化。

致谢

本文由南京大学软件学院 2021 级硕士孙晨翻译转述,尹伊宁审核。

0 阅读:0

互联不一般哥

简介:感谢大家的关注