乐趣区

关于机器学习:以数据为中心和模型为中心的AI是贝叶斯论和频率论的另一种变体吗

五年前深度学习的一切都是对于如何构建新的、更优化的模型,以便更好地从非结构化数据中学习。这些致力带来了许多钻研冲破,冲破了神经网络的可能性。但缓缓地越来越多的人对这种办法提出了批评,并倡议首先关注数据的品质和一致性。这些批评的声音通常来自行业,来自在要害业务环境中长时间大规模操作模型的专业人士。

在这篇文章中,我将对这两种办法提供一个新的视角。我将从统计的角度来看它们,看看它是否能够说明哪种办法更好以及在什么状况下更好。

统计学有两个学派——频率派和贝叶斯派——它们与咱们的主题有着乏味的相似之处。

  • 在频率派中寻找概率 p(data|model),这意味着咱们“假如”数据,“晓得”模型。换句话说,模型是确定的(至多在工作目标上),但咱们的不确定的测量,即数据,可能或可能不完满地反映模型(甚至事实)。
  • 在贝叶斯办法中,咱们寻找的概率是 p(model|data),即咱们“假如”模型,“晓得”数据。咱们的模型是不确定的,而数据是咱们的根本事实——咱们所晓得的惟一确定的就是手头上的数据。

这些假如也导致了两种办法的不同重点。频繁主义者的办法波及大量异样值、匹配方差和样本大小的概念,即它是以数据为核心的,不太关怀模型。另一方面,贝叶斯办法是对于先验、可信度和抽样的,这意味着它们以模型为核心。为了了解这如何帮忙咱们更好的形容以模型为核心和以数据为核心的 AI 之间的区别,让咱们先考虑一下统计学中最重要的方程: 贝叶斯定理:

这意味着通过理解咱们对模型(即 p(model))和数据(即 p(data))的确定性,咱们能够合并这两个看似相同的观点。还有就是细节决定成败,这些无条件的概率在实践中会引起很多问题,咱们上面持续探讨

演绎偏差和以模型为核心的 AI

咱们取 p(model),它是一个特定模型拟合将来数据点的概率。如果它很高,那意味着咱们置信有一个很好的数据模型。最大化这个概率的一个策略是在模型中退出一些演绎偏差。演绎偏差基本上是研究者对于问题空间的先验常识的某种升华。这就是为什么在以模型为核心的 AI 中咱们喜爱:

  • 引入受生物启发的架构(例如卷积滤波器)
  • 定义简单 / 复合损失函数(例如感知损失)
  • 在超参数的可行范畴内尝试网格 / 随机搜寻

这些实际上是十分弱小的办法。但这里有一个很大的问题: 演绎偏差(不论它是否有用)依然是一种偏差。

当抉择一个特定的架构时,也限度了从数据中学到的货色。然而咱们有时是喜爱这样做的,因为:

(1)咱们晓得数据中有某种噪声 (即工作无关方差) 和 / 或

(2)咱们没有足够的数据来学习任何任意函数。

所以咱们提出了两种次要的缓解措施:

(1)增加更多的数据,这样就能够训练更简单的模型。

(2)将问题分解成步骤,并为它们训练独自的模型。

钻研人员察看到的一件重要的事件是,增加的数据越多所需的演绎偏差就越少。例如,对试图学习的畛域,transformer 只须要很小的演绎偏差,然而却须要更大的数据(还记得 VIT 吗)。实际上,咱们总是心愿尽可能少地应用演绎偏差,因为咱们心愿 AI 零碎解决的大多数工作都不容易创立先验模型(设想一下围棋或蛋白质折叠)。当咱们没有正确的模型架构来实现工作时,无论如何高效地寻找超参数,都将以低于规范的性能完结。

贝叶斯模型也存在同样的问题。一些模型超参数与数据的拟合较好,但只有“正确”的模型没有蕴含在初始集中,“更好的拟合”在主观上依然可能是十分蹩脚的。

以数据为核心的 AI

以数据为核心的人工智能不仅失去那些可能拜访大量数据的人的反对,并且个别人们也都会认为训练数据越多越好。为了了解为什么会这样,让咱们回到贝叶斯定理。咱们在方程中失去的除数 p(data)也被称为证据概率

在此先简略解释一下几个次要的概念:

在上式中,P(model|data)是后验概率(Posterior)

P(data|model)是似然(Likelihood)

P(model)是先验概率(Prior)

P(data)是证据(Evidence)

为什么给这几个概率取这么个名字呢?

在贝叶斯办法中,咱们“晓得”数据,“假如”模型

先验概率 (Prior):在观测到 data 后,model 是未知的。咱们的指标是算出它是 model 的概率,而咱们在观测之前曾经晓得了 data 是 model 的概率,因而 P(model) 叫做先验概率。

后验概率 (Posterior):在观测到 data 后,晓得 data 的信息后,model 的概率就扭转了。因为这个概率 P(model|data) 是在观测之后才晓得的,所以叫做后验概率

证据 (Evidence):因为咱们曾经晓得 data,并且曾经察看到了这个事实的产生,因而对咱们来说它是一个证据,而咱们察看到这个证据的概率 P(data) 就叫证据

似然(Likelihood):字典上意思是一件事产生的可能性或概率,在这个例子中它示意当 data 是 model 时,它是 data 的概率。

这些概率有这些名字的根本原因是事件的产生程序(产生在观测之前或之后)不同。

这听起来有点艰涩难懂,并且在许多事实场景中,要晓得潜在的散布 p(data)是很艰难因为咱们违心置信咱们失去的数据是在从潜在的散布中采样的,但实际上却是在异样值和 / 或通带有噪声的测量“设施”进行采样的。

因而,在以模型为核心的办法中,试图完全避免解决这个问题。在典型的拟合优度度量 (贝叶斯因子、似然比等) 中,咱们只是提出证据概率。这就是为什么这些衡量标准总是比率的起因,也就是说它们只能判断一个模型是否比另一个更好。

但对于任何现实生活中的利用 (例如,客户散失预测),咱们对“最好”模型的绝对好坏不感兴趣,而是对它的泛化感兴趣(例如,防止客户散失)。因而在以数据为核心的人工智能办法中,是心愿致力于进步对 p(data) 的常识的演绎和总结。所以就想出了很多能够应用的办法:

  • 监控数据品质以控制数据中的噪声和歪斜
  • 进行更多的预处理,以加重训练和线上推理时异样值的影响
  • 用不同的模型解决不同的数据子集,进步了零碎的整体性能

这些办法十分重要,尤其是在刚开始开发人工智能产品时。咱们最终失去的是一个经过训练的模型,该模型的模型架构和超参数能够满足对收集到的数据进行建模并取得后果。

我曾参加过许多新开发的深度学习我的项目,每一次我看到的最大改良都来自于数据清理。然而清理数据不仅意味着要解决异样值、缺失值和反复值,还意味着要验证标注的一致性。有了更洁净的数据,就能够从 p(data)中进行更好的抽样,也就是说能够应用不同的数据加强技术对潜在的例子进行更彻底的抽样。

抉择哪一个

个别·的文章会在结尾都会通知你:成年人是不做选择题的,我全都要: 应用演绎偏见和清理数据。但我想说的是,同时以这两个为核心是不太可能的,因为两者兼顾的问题在于,如果你不选则一个为核心,另外一个为辅助的话,而是最终会什么都得不到。在实践中,对数据和模型的同时改良会导致不明确的后果。例如一个我的项目通过一周的更改之后,终于看到了改良成果。但你应该把它归因于什么呢? 是因为清理数据的工作吗? 还是因为在模型架构上的工作? 是两者的联合吗? 你还是只能猜想。而且当看不到改良时,状况甚至更加艰难: 应该放弃该架构吗? 更换数据处理办法? 还是你不应该把它们放在一起同时应用?

这个例子尽管有一些夸大,但却是一个很好的实际:放弃所有不变,只批改一个自变量,看看它对后果的影响。因而,在批改时不是从各个方面并行进行更改,而是以更结构化的形式解决问题:迭代。首先以数据为核心是必定的,数据达到良好的一致性品质,再专一于减少模型的复杂性(无论是纯正的参数数量还是演绎偏差的类型)。在进行我的项目时要保持对照比拟。须要治理的不仅是超参数和模型,而且还须要应用清晰的名称标记数据集的不同版本,这样才能够更清晰的查看哪些更改导致了哪些改良,所以应用 git 进行版本治理是一个十分好办法。

https://avoid.overfit.cn/post/3f2c082d54544a2a8aca693206ca13d9

作者:Ágoston Török

退出移动版