深度学习中的统计不确定性

机器算法验证 机器学习 神经网络 统计学意义 错误 自然语言
2022-03-05 11:45:02

最近我对深度学习的 NLP 应用非常感兴趣。深入研究文献(例如关于 arXiv),我注意到引用和估计机器学习任务分数的不确定性是非常不受欢迎的。在预训练语言模型(即 bert、gpt 等)时代,论文中引用的所有进一步改进似乎在 1 个或更少的标准差内相互兼容,使得所有结果在统计上与神经网络随机优化引起的波动兼容网络训练程序(在固定数据集)。我是一名物理学家,与实验室常规对实验数据进行的统计处理相比,这让我感到非常困惑。我确信这个问题过去已经在 ML/数据科学社区讨论过,你能给我一些评论或论文来解决这个问题吗?另外,你能和我分享一下你的想法吗?

假设具有相同数据集的设置,只是不同的模型结构,其中随机性完全由优化过程 (SGD) 的内在随机性给出。我要问的是:

  1. 为什么不确定性通常不与 ml 分数相关联?
  2. 如果不引用不确定性,如何在没有统计置信度的情况下比较不同的方法并声称可能的改进?

让我举一个简单的例子:我在一些数据上训练模型 A,在测试集上我得到 80.0+-2.0 的 f1 分数,其中我引用中心值作为 N 次训练的平均值,2.0 是标准差(假设 N 足够大)。然后我训练模型 B,它与模型 A 相似,但具有不同的拓扑结构(与模型 A 相同的自由度)并测量 f1 = 82.0+-(5.0)。你会声称 B 型比 A 型更好吗?或者您是否认为这两个分数在统计上无法区分,因为它们在小于 1 sigma 的时间内彼此兼容?

2个回答

如何在没有统计置信度的情况下比较不同的方法并声称可能的改进

我认为许多论文都夸大了。在 GLUE 上评估的巨型预训练模型的子领域:即使它们在相同的数据集上进行测试,它们通常也是在不同的数据上训练的,因此不可能声称它们“总体上更好”。一个更现实的说法是,数据模型产生了更好的结果,但需要注意的是(也许训练时间更长或优化更好的其他方法会更好,或者具有相同数据的其他方法,或者对基准的改进并不反映真实情况)最近在 NLI 上显示的进展等)。

ML 和 NLP 的研究人员和审稿人在几年前更关注统计显着性,例如参见 Dietterich (1998),一篇关于该主题的流行论文。该标准在这方面下降可能有几个原因:

  • 人们意识到统计测试和整个 p 值方法总体上可能更有害,例如参见关于滥用 p 值的维基百科页面和 Andrew Gelman 的文章。这可能证明放弃假设检验但不忽略方差是合理的。
  • 自 90 年代/00 年代以来,数据集增长了很多。训练和测试数据的大量增加大大降低了结果的方差,参数初始化和随机性在优化过程中的影响不太重要。这可能证明忽略差异是合理的。
  • 新研究人员较少接触统计数据,因为 ML 研究将自己与统计数据区分开来(例如,参见 Breiman 的“两种文化”)。作为一个大型“人工智能”公共实验室的博士生,我个人注意到了这一点。

虽然这些原因是有道理的,但我想说这种趋势走得太远了。你不是唯一需要担心的人。这里有一些有趣的论文来了解问题的严重性或提出具体的解决方案:

  • 很难说一种算法总体上比另一种更好,因此较弱的说法是关于算法在特定数据集上更好。然而,即使是如此微弱的主张,有时也经不起推敲!Gorman 和 Bedrick (2019) 在一项复制研究中表明,这些结果有时仅在使用“标准”训练/测试拆分时才成立!
  • 一般来说,不能简单地直接重复使用另一篇论文的数量,需要复制结果。但是一个常见的问题是由于超参数的不均匀优化导致的不公平比较。道奇 & al. (2019)建议通过考虑使用的计算量来进行更稳健的比较。
  • Dror & al. 2017 年的重点是如何根据多个数据集的结果提出广泛的主张。

该问题并非特定于 NLP。例如,Musgrave & al 最近的工作声称,度量学习子领域最近的“改进”“充其量是边缘的”(图 4 非常有说服力和令人担忧)。

参考:

第一个问题是,拟合模型一次并比较指标并不是EdM如何找到分类结果的统计显着性差异的回答中讨论的最佳方法?问题(请参阅整个答案,因为它似乎在很大程度上回答了您的问题):

其次,不是简单地将模型一次拟合到您的数据中,您需要了解建模过程在重复应用到您的数据集时的效果如何。一种方法是使用多个引导样本,比如几百到一千个数据。对于作为训练集的每个 bootstrap 样本,使用每个距离指标构建 KNN 模型,然后在作为测试集的整个原始数据集上评估它们的性能。然后,每种类型的模型在几百到一千个引导程序中的 Brier 分数分布可以表明,在基于不同距离度量的模型之间,就适当的评分规则而言,存在显着差异。

使用简单的模型,我们可以做出一些假设并得出错误,对于更复杂的情况,如答案中所述,我们可以使用引导程序之类的程序。现在,使用 bootstrap 的深度学习模型存在问题,因为它们需要强大的计算能力和时间来训练,而该领域最大模型的成本与汽车的成本(每次训练)相当。这就是为什么正在进行对意识到其不确定性的模型进行研究的原因之一,例如贝叶斯神经网络,许多研究项目都在研究近似它,例如在预测阶段使用 dropout(请参阅Yarin Gal 的博客文章,但是另见伊恩·奥斯班德的批评)。所有这些方法都基于近似值,并且存在缺陷。因此,您的问题的答案是,对不确定性进行有意义的估计并不是那么简单。