还在困惑需要多少数据吗?来看看这份估计指南 | CVPR 2022

news/2024/11/15 23:38:54/文章来源:https://www.cnblogs.com/VincentLee/p/18298196

论文基于实验验证,为数据需求预测这一问题提供了比较有用的建议,详情可以直接看看Conclusion部分。

来源:晓飞的算法工程笔记 公众号

论文: How Much More Data Do I Need? Estimating Requirements for Downstream Tasks

  • 论文地址:https://arxiv.org/abs/2207.01725
  • 论文代码:https://nv-tlabs.github.io/estimatingrequirements

Introduction


  给定一个小的训练数据集和一个学习算法,需要多少数据才能达到目标性能?这个问题在自动驾驶或医学成像等数据收集难的场景中至关重要。高估数据需求可能会因不必要的收集、清理和标注而产生成本,而低估意味着必须在后期收集更多数据,导致未来成本和工作流程延迟。

  最近提出的neural scaling laws的相关工作表明,Power Law函数可以基于已有数据集拟合模型性能曲线,这也意味着能够将其应用到目标性能的数据需求预测中。

  论文对多个函数进行性能拟合发现,如图1所示,当使用小数据集进行预测时,拟合函数可能会以不同的方式偏离实际的性能曲线。更重要的是,即使是预测精度的小误差也会导致高估或低估数据需求的大误差,这可能会带来巨大的运营成本。

  为此,论文基于多个计算机视觉任务,系统地研究了包含Power Law在内的一系列回归函数,以便更好地估计数据需求。实验结果表明,多个回归函数都非常适合模型性能估计,这意味着对于所有情况都没有唯一的最佳回归函数。此外,结合用于调整的校正因子以及多轮收集方案,可以显着提高数据需求估计的性能。基于论文的指南,从业者可以准确估计机器学习系统的数据需求,从而节省开发时间和数据采集成本。

  总而言之,论文通过实验为实际应用中的数据收集提供了易于实施的指南:

  • 不同预测方法估计的数据比需要的多得多或少得多,使用多轮数据收集和under-estimate方案可以收集高达90%的真实所需数据量。
  • 通过已有的任务的采集模拟,可以确定哪些方法低估了数据需求,并学习一个校正因子来解决这个缺陷。使用校正因子并进行最多五轮数据收集,最多可以收集到任何目标性能所需的最小数据量的一到两倍。
  • 在只剩下一轮数据收集,可以使用所有的回归函数来获得一个真实数据要求的区间界限,可以指导建模者根据实际需求或多或少地积极收集数据。

Main problem


The data collection problem

  定义\(z\sim p(z)\)是从分布p中抽样的数据,例如\(z := (x, y)\)对应于图像x和标签y。考虑一个预测问题,目前有一个初始训练数据集\(\mathcal{D}_0 := \{z_i\}^{n_0}_{i=1}\)和一个模型f。定义\(V_f(\mathcal{D})\)为模型在集合\(\mathcal{D}\)上的训练评分函数,目标是获得预定的目标分数\(V^* > V_f(\mathcal{D}_0)\)

  为了实现目标,采样\(\hat{n}\)个额外的数据\(\hat{\mathcal{D}} := \{\hat{z}_i\}^{\hat{n}}_{i=1}\sim p(z)\),然后评估\(V_{f}(\mathcal{D}_{0}\cup \hat{\mathcal{D}})\)。如果没达到目标,就必须增加更多的额外数据。因为每个数据都会产生收集、清理和标记的成本,所以达到目标增加的额外数据\(\hat{n}\)越小越好。此外,由于启动一轮数据收集本身也很耗时,所以最多只能进行T轮。在T轮内达不到目标要求,就是没有解决问题。

  数据收集问题可总结为:对于初始化\(\hat{\mathcal{D}} = \varnothing\),重复进行如下迭代:

  • 估计需要的额外数据量\(\hat{n}\)
  • 采样数据\(|\hat{\mathcal{D}}| = \hat{n}\),然后评估分数:
    • 如果\(V_f(\mathcal{D}_0\cup \hat{\mathcal{D}}) ≥ V^*\),则终止。
    • 否则,重复另一轮迭代,最多进行T轮。

  数据收集问题的目标是在T轮内选择满足\(V_f(\mathcal{D}_0\cup \hat{\mathcal{D}}) ≥ V^*\)的最小\(\hat{n}\),而论文重点关注循环的第一步:准确估计满足\(V^∗\)所需的\(\hat{n}\)

Regressing performance using data set size

  根据先前研究的经验设定的,设定了如图2所示的数据预测和采集流程。先前的研究发现,对于递增的数据集\(\mathcal{D}_0 \subset\mathcal{D}_1\subset \cdots\)以及\(n_i=|\mathcal{D}_i|\),训练出来的模型的准确率满足以下单调递增的凹函数:

  从上述经验可知,随着收集数据的越多,额外数据带来的收益逐渐减少。此外,可以使用单调递增的凹函数对\(v(n)\)进行回归建模。

  表1中的四个函数为满足上述经验的候选项。虽然可以使用更复杂的模型,但这些具有少量参数的简单函数更适合样本较少的场景(指用于拟合的数据较少)。通过拟合的回归函数,可以求解最小的\(\hat{n}\),使得\(\hat{v}(n_0 + \hat{n}; \theta)\ge V^∗\)

  整体的逻辑如算法1所示:

  • 选择r个子集\(\mathcal{S_0}\subset \mathcal{S_1}\subset\cdots\subset \mathcal{S}_{r−1} = \mathcal{D}_0\),计算它们的分数来创建一个回归数据集\(\mathcal{R}:=\{|\mathcal{S}_i|, V_f(\mathcal{S}_i)\}^{r-1}_{i=0}\)
  • 从表1中选择一个函数\(\hat{v}(n; \theta)\)进行数据收集循环,直到准确率满足要求:
    • 通过最小二乘法最小化拟合参数\(\theta\)
    • 根据\(\hat{v}(\hat{n}; \theta^*)\ge V^∗\)取最小的额外数据量\(\hat{n}\)
    • 收集\(\hat{n}\)个新数据。
    • \((|\mathcal{D}_0| + |\hat{\mathcal{D}}|, V_f (\mathcal{D}_0 \cup \hat{\mathcal{D}}))\)扩充拟合数据\(\mathcal{R}\)

  现有的研究表明,Power Law可以根据数据集大小来估计模型精度,但实际应用时存在以下三大挑战。

  1. All of the functions in Table 1 fit the model score

  当有足够的初始数据,表1的回归函数都可以准确拟合模型性能曲线\(v(n)\)。如图1所示,当初始化数据集满足\(|\mathcal{D}_0| = 600,000\)张图像(≈ 50% 的数据集)时,每个函数的预测准确度与实际的误差最多为6%。尽管Power Law是根据理论推导选择的,但还没有足够的实验证明其的确优于其他函数。

  1. Extrapolating accuracy with small data sets is hard

  在数据有限的情况下,所有回归函数都无法很好地推断\(v(n)\)。如图1所示,当初始化数据集满足\(|\mathcal{D}_0| = 125,000\)张图像(≈ 10% 的数据集)时,部分函数的预测准确度偏离了实际准确率。

  需要注意的是,部分函数的准确率比Power Law要好。在之前的研究中也观察到了这种小数据的情况,提出对数据集和模型大小进行联合回归的解决方案。虽然这样做能提高性能,但需要通过采样数据子集和修改不同模型来获得2倍大小的\(\mathcal{R}\),这在计算上变得昂贵且耗时。因此,论文专注于使用少量训练统计数据的简单估计器,即\(r \le 10\)

  1. Small accuracy errors yield large data errors

  假设在ImageNet上构建一个满足67%测试集准确率的模型,大概需要用到900000张图像。尽管使用包含600,000张图像拟合的估计函数的误差\(| 67\% − \hat{v}(900,000; \theta)|\)很小(1%-6%),但其预估达到67%性能所需的图像数量的跨度却很大(120,000-310,000),仅1%的性能预测误差就会导致额外多收集34%的数据。由于预测误差的容忍度很低,所以必须确定估计数据需求的最佳实践。

Empirical findings


Data and methods

  论文在表2的图像分类、对象检测和语义分割任务上测试数据收集问题,不同任务类型训练不同的网络:图像分类训练的ResNets,2D目标检测训练的SSD300,3D目标检测训练的FCOS3D,语义分割训练的Deeplabv3,BEV分割训练的Lift Splat架构。对于每个任务,模型的架构和学习算法,包括数据采样进行了少量修改,详细内容可以去看看附录。

  在进行实验之前需要做以下准备:

  • 构造拟合数据集:对于每个数据集和任务,有一个初始数据集\(\mathcal{D}_0\),在分析时根据\(\mathcal{D}_0\)与完整数据集的相对大小记录\(n_0\)。根据算法1创建回归数据集\(\mathcal{R}\),以线性增长的大小(\(|S_i|=|\mathcal{D}_0(i+1)/r|\))采样r个子集,其中\(r\le 10\)以确保开销足够小。
  • 构造GT:为了在预测性能和估计数据需求方面评估回归函数,采样多个子集\(\mathcal{D}_1\subset \mathcal{D}_2\subset .· ·\)(相对于完整训练数据集的10%、20%、30%、... 、 100%的子集)。对于每个子集,训练模型并评估分数\(\mathcal{V}_f(\mathcal{D}_i)\)。基于子集的数据量和分数,构建分段线性评分函数\(v(n)\)并将其用作GT。

  论文进行两种类型的实验:

  • 使用\(\mathcal{R}\)拟合表1的回归函数,然后评估其对\(|\mathcal{D}_i|\ge|\mathcal{D}_0|\)的预测分数相对于\(\mathcal{V}_f(\mathcal{D}_i)\)的误差,可以揭示每个回归函数是否可以很好地推断模型对更大数据集的得分。
  • 使用\(n_0 = 10\%\)进行初始化(对于VOC,\(n_0 = 20\%\))并在\(T = 1、3、5\)轮内估计需要多少数据来获得不同的目标分数\(V^*\)。整体流程跟算法1类似,不同之处在于模拟中不会真的采样更多数据并训练评估\(\mathcal{V}_f (\mathcal{D}_0\cup \hat{\mathcal{D}})\),而是直接用前面构造GT中获得的GT函数\(v(n_0 + \hat{n})\)直接输出模型分数。这样的模拟近似于真实的数据收集问题,同时简化了实验,不必反复重新训练模型。

Analysis

  • Regression.

  表3总结了每个回归函数在预测更大数据集的分数时的均方根误差(RMSE),每项测试中使用不同的随机种子执行3次,主要有以下与前两个挑战相关的发现:

  1. \(n_0\ge 50\%\)时,每个函数都能达到低RMSE,并且有至少一个回归函数的RMSE小于1。
  2. \(n_0=10\%\)时,大多数函数会产生高RMSE。这表明当拟合小数据集时,这些函数容易偏离真实的模型性能曲线\(v(n)\)
  3. 对于大多数数据集,候选的回归函数能够始终产生低RMSE,特别是Arctan函数,在分类任务上表现非常出色。

  这些结果表明:

  1. 从小数据集预测更大数据集的模型性能是较为困难的。
  2. Power Law之外的其他回归函数的分数回归可能会更准确。
  • Simulation.

  给定初始数据集\(n_0\)和数据收集轮数\(T\),通过求解一系列目标\(V^*\)来模拟每个回归函数的数据收集能力。图3展示了每个函数收集的最终数据与根据GT性能曲线对应的最小数据的比率,即(\(n_0 + \hat{n})/(n_0 +n^∗)\),其中\(n^∗\)是满足\(v(n_0 +n^∗) = V^∗\)的真实最小数据需求量。

  在评估每个回归函数如何收集数据时,需要考虑两种情况:

  1. 如果比率小于1,则该函数是乐观预测,低估了需要多少数据,也意味着无法在T轮内收集到足够的数据来满足\(V^*\)
  2. 如果比率大于 1,则该函数是悲观预测,高估了需要多少数据。理想的数据收集策略,其最小比率应该大于1。实验表明,Arctan函数是最悲观的,经常出现较大幅度的最大比率。

  这个实验验证了第三个挑战,低回归误差函数并不一定转化为更好的数据收集。在CIFAR100ImageNetVOC上,使用Arctan可能会导致收集比实际需要多五倍的数据,而在nuScenes上进行BEV分割则可能会导致超过10倍的数据收集。

  尽管表3显示Arctan在所有函数中实现了最低的RMSE(3.19),但使用它来估计数据需求会导致过多的额外数据收集。在确定良好的数据收集策略时,仅分析回归误差是不够的,需要论文提出的模拟方法。

  对于大多数回归函数,需要迭代多轮才能收集到足够的数据。当\(T = 1\)时,Power LawLogarithmicAlgebraic Root都低估了除VOC之外的所有数据集和任务的数据需求。而当\(T = 5\)时,对于除CIFAR10之外的每个数据集,所有函数在\(V^∗\)的整个范围内都能采集到实际所需的90%数据以上。

  但是当\(V^∗\)很大时,即使\(T=5\),这些估计器仍然会低估数据需求。虽然这样估计的成本不高,但并未能解决数据采集问题。需要对这些估计量进行纠正,从而更好地指导数据收集。

Towards better estimates of data


  从前面的模拟实验可以看到,乐观的预测无法收集足够的数据来满足\(V^*\),而悲观预测则导致收集的数据远远超过所需的数据。所以论文引入一个校正因子,用于解决低估数据需求的问题。

A correction factor to help meet the target

  在算法1的每一轮数据收集中,需要根据\(\hat{v}(n_0 + \hat{n}; \theta^∗) \ge V^∗\)最小化\(\hat{n}\)。然而,前面的模拟实验表明,大多数回归函数是乐观的,低估了需要数据量。一种简单的纠正少估数据的方法是添加校正因子\(\tau \ge 0\),估计满足校正的更高目标\(V^* + \tau\)所需的数据量。因此,固定一个常数\(\tau\)并修改算法1,根据根据\(\hat{v}(n_0 + \hat{n}; \theta^∗) \ge V^∗ + \tau\)最小化\(\hat{n}\)

  为了确定校正因子的值,将其当作超参数进行拟合。假设现有完整的CIFAR10数据集,想为未来的数据集构建一个T轮收集策略:

  • 使用每个回归函数模拟CIFAR10\(\tau = 0\)的数据收集量,获得图3的曲线。
  • 增加\(\tau\)直到该函数的整个比率曲线高于1,即收集到足够的数据来满足CIFAR10的所有目标值\(V^*\)
  • 使用这个拟合的\(\tau\)作为未来数据集的校正因子。

  通过将校正因子与多轮数据收集相结合,就可以始终收集到略高于最低数据要求的数据。表4比较了\(\tau\)对每个回归函数在各数据集上的最小比率的影响。如果不进行校正,Power LawLogarithmicAlgebraic Root都低估了除VOC之外的所有数据集和任务的数据需求。而使用\(\tau\)之后,这些函数几乎都实现12之间的比率。

  此外,对于每个数据集,这三个回归函数在\(T = 5\)时都达到各自的最低比率(高于1)。如图4所示,Power LawLogarithmicAlgebraic Root在每个数据集上都实现了1.032.5之间的比率。需要注意的是,所有数据集都没有统一最佳回归函数。由于Arctan本身就高估了数据需求,所以这个函数并没有从校正中受益。

  所以,从模拟实验中可以看出,修正后的Power LawLogarithmicAlgebraic Root搭配\(T=5\),能够满足预期目标的同时最小化收集的总数据量。

Empirical bounds on the data requirement

  如果校正因子拟合不佳或收集轮数\(T\)有限,仍可能低估或高估数据要求。从表4中可以看出,在\(T = 1\)nuScenes分割任务模拟中,没有\(\tau\)Power Law仅估计所需数据的58%,而使用\(\tau\)则导致估计的数据比需要的多25倍。

  因此,在某些应用中,建模者可能还需要根据经验估计应该收集的数据量。假设在最后一轮的采集估计必须满足数据收集目标,此时就需要查看最坏和最好情况的采集估计,即上限和下限。不同的回归函数会产生不同的预测,其中最大的预测值是最坏情况的估计,最小的预测值就是最好情况的估计。

  对于每个数据集,设置\(T = 1\)和不同的初始数据集\(n_0\)进行实验,使用八个回归函数对不同\(V^*\)进行数据需求估计。图5的上行展示了在不同\(n_0\)基础上,所有\(V^*\)所需的真实数据量在函数集预测值的上界和下界之间的概率,下行则进一步展示了上界和下界与真实值比例平均值。

  结果表明,基于足够初始数据集的单轮预测能够准确估计数据需求的上限和下限。此外,即使需要多轮才能收集到比较足够的数据,我们也能在最后一轮获得需求的上下区间。所以,在实际应用中,上下界限可以指导建模者根据任务的情况做出乐观或悲观的选择。

Conclusion


  虽然模型性能预测受到越来越多关注,但论文发现性能估计并不能完成解决数据需求。即使是性能预测的小误差,也会导致数据收集中的大误差,这意味着一个好的数据估计器允许的误差远小于直觉所想的。此外,性能预测误差分为低估或高估,都会对数据收集造成不同的挑战。为了更好地分析数据收集策略,论文制定了迭代数据收集的模拟方案。通过实验,论文得出了几个高层次的见解:

  • 不同预测方法估计的数据比需要的多得多或少得多,使用多轮数据收集和under-estimate方案可以收集高达90%的真实所需数据量。
  • 通过已有的任务的采集模拟,可以确定哪些方法低估了数据需求,并学习一个校正因子来解决这个缺陷。使用校正因子并进行最多五轮数据收集,最多可以收集到任何目标性能所需的最小数据量的一到两倍。
  • 在只剩下一轮数据收集,可以使用所有的回归函数来获得一个真实数据要求的区间界限,可以指导建模者根据实际需求或多或少地积极收集数据。



如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742461.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp实现问卷多项填空

产品提出了一个需求,需要实现类似问卷星的记录单,要求有单选,多选,填空,以及多项填空。前三者好实现,最后一个花费了我挺长的时间。 在pc端后台管理模板选项设置的时候,保存是将整个问题保存进去,以三个或三个以上的下划线为一个空,保存的形式例为: cm* cm*___ cm…

编译器

本页面主要介绍了各系统下各类编译器/解释器的安装步骤。 GCC Windows 手动下载安装 访问 MinGW-w64 的下载页面,有多个构建版本。方便起见,我们使用由 WinLibs 提供的构建版本。 首先前往 WinLibs 下载最新的安装包,选择合适的版本,本文选择了 GCC 12.3.0 + LLVM/Clang/LL…

MacOS 15 Sequoia 启用允许“任何来源”应用

MacOS 15 Sequoia 新系统中,spctl --master-disabl指令被禁用,无法启用允许“任何来源”应用程序,导致每一次安装新的应用程序,需要手动在设置中允许,十分麻烦。MacOS 15 Sequoia 启用允许“任何来源”应用 spctl 无法使用 在 MacOS 15 Sequoia Beta3 系统中 spctl 命令被…

ctfshow sql-labs(笔记)

这是当时做题的时候记得笔记有些乱看不懂的可以私我 判断闭合方式: id=1’ and 1=1–+ *正常回显* id=1’ and 1=2–+ *异常回显*id=1 and 1=1 *正常回显* id=1 and 1=2 *异常回显*id=1’) and 1=1–+ 回显正常 id=1’) and 1=2–+ 回显异常id=1") and 1=1–+ 正常回显 id…

服务器(RAID1)数据丢失恢复

服务器数据恢复是指将物理服务器或虚拟服务器上丢失的数据重现还原的操作。配备服务器方便数据集中存储管理,建立信息系统。服务器上的数据通常是存储在硬盘上,出于数据安全和性能的考虑,这些硬盘会组建RAID1磁盘阵列。服务器中的数据丢失了会带来巨大损失,所以,定期对服务…

服务器异常状态怎么解决

服务器异常状态的解决方法需要根据具体的问题和故障类型来确定。 一、硬件故障 检查电源和连接: 确保电源线没有松动或损坏。 检查电源插座是否有电。 如果服务器有多个电源单元,确保它们都在正常工作。 检查内部硬件: 检查服务器的内存条是否完全插入插槽中,并且与服务器兼…

服务器(RAID)数据丢失了如何恢复?

一、评估数据丢失情况 确认数据丢失的原因:了解数据丢失的具体原因,如硬件故障、软件问题、人为错误、病毒攻击等,有助于确定合适的恢复策略。 检查RAID状态:查看RAID控制器的状态报告,了解是否有硬盘故障、RAID级别变化或其他异常情况。 二、尝试初步恢复措施 检查备份:…

【日记】京爷居然带她孩子来这个小县城学舞……(656 字)

正文今天暴晒。太阳好得就像昨天的暴雨是假的一样。昨晚睡得晚,今早困得不行。不过还是在 11:30 的时候,趁着空隙出去把信件寄了出去。感冒还是没好的样子,还是有鼻炎,还鼻塞。鼻子里面总热热的,呼出热气,感觉不太舒服。珍的工作环境好像变得恶劣了一些,祝她好运吧。有点…

什么原因会导致raid掉阵

RAID掉阵,即RAID磁盘阵列失效或无法正常工作,可能由多种原因引起。 一、硬件故障 硬盘故障: 阵列中的硬盘出现物理故障,如电路板损坏、磁头损坏、盘面损坏、坏扇区等,会导致RAID无法正常工作。这些故障可能是由于硬盘老化、使用环境恶劣(如温度过高、湿度过大)、意外碰撞…

服务器启动时发出嘀嘀声

当服务器启动时发出嘀嘀声时,这通常是硬件自检(POST,Power-On Self-Test)过程中检测到故障或问题的信号。嘀嘀声的不同模式(如长短、间隔)通常对应着不同的故障类型。 一、识别嘀嘀声的模式 记录嘀嘀声的模式:注意嘀嘀声的长短和间隔,因为不同的组合可能代表不同的硬件…

网站生成内容页提示“Table *.phome_ecms_ doesnt exist......update ***_ecms_ set havehtml=1 wher

生成内容页提示“Table *.phome_ecms_ doesnt exist......update ***_ecms_ set havehtml=1 where id= limit 1” 原因是你修改了栏目所属系统模型导致,因为栏目原来所属系统模型本身就有信息,而你改动了所属系统模型,使得这些信息无法找出所属栏目导致出错。 解决办法:修改…

服务器磁盘阵列raid1数据恢复

服务器磁盘阵列RAID1数据恢复是一个相对复杂但可行的过程,主要基于RAID1的镜像特性。RAID1中两块硬盘互为镜像,所有数据都是完全一样的,这为数据恢复提供了便利。以下是一些RAID1数据恢复的主要步骤和注意事项: 一、数据恢复步骤 检查硬件状态: 首先,检查RAID1阵列中的两…