所有深度学习都是建立在统计模型之上的

> Image by Author

深度学习通常用于为数据驱动的分析做出预测。但是这些预测的含义是什么?

这篇文章解释了深度学习中使用的神经网络如何提供描述事件发生概率的统计模型的参数。

事件的发生和不确定性

数据,可观察的事物,事件或任何其他描述我们可以看到和/或收集的事物的方式都是绝对的:我们在一对六边骰子上掷两个六点,或者得到其他结果组合;我们抛硬币十次,每次都正面,或者正面和反面都有其他混合;我们的宇宙以某种方式进化,我们观察它,或者观察不到,我们也观察不到。我们不知道是先验的,是否每次掷硬币都会得到两个骰子掷骰子或掷骰子,或者我们可能存在什么宇宙来观察它。由于缺乏知识,我们将不确定性描述为偶然的。这是由于缺少有关此类数据生成的基本信息-我们永远无法确切知道我们将获得什么结果。我们预言不确定性视为无法了解某个随机数生成过程的随机种子。

我们使用函数P(d)来描述事件发生的概率:P(d)[…,0],即概率分布函数P在所有可能的事件E的范围内为任何事件d分配一个介于0和1之间的值。如果一个事件不可能,则P(d)等于0,而某个结果的概率为P(d)等于1。此概率是加和的,因此可以肯定所有E的可能事件的并集,即P(E)= 1。

使用一点点的记号,我们可以写出d P,这意味着某个事件d是从所有可能事件E的空间中抽取的,概率为P(d)。这意味着观察到事件d的可能性为100×P(d)%。 d可以是过程的任何观察,事件或结果,例如,当滚动n = 2个六边形骰子并同时获得两个骰子时,d =(d¹= 0,d²= 0,d³= 0,d⁴= 0 ,d⁵= 0,d⁶= 2)。我们事先不知道确切地知道通过掷骰子这两个骰子会得到什么结果,但是我们知道有可能获得任何特定的结果。在骰子掷骰实验的多次重复下(骰子完全平衡且条件相同),我们应该看到d发生的概率为P(d)≈≈¹/₃₆。即使不进行骰子掷骰的许多次重复,我们也可以提供我们对看到特定结果的可能性分布的可靠估计。

统计模型

为了进行统计预测,我们使用可参数化分布Pₐ对数据分布进行建模。我们可以认为a是定义一个统计模型,其中包含对数据分布的描述以及该模型的任何可能的不可观察参数v∈Eᵥ。然后,分布函数将概率值归因于可观察/不可观察事件Pₐ的出现:(d,v)∈(E,Eᵥ)↦Pₐ(d,v)∈[0,1]。值得注意的是,我们可以将此联合概率分布写为条件语句,Pₐ=Lₐ·pₐ=ρₐ·eₐ。这些概率分布函数是:

· 似然—Lₐ:(d,v)∈(E,Eᵥ)↦Lₐ(d | v)∈[0,1]

· 先验的—pₐ:v∈Eᵥ↦pₐ(v)∈[0,1]

· 后验—ρₐ:(d,v)∈(E,Eᵥ)ₐρₐ(v | d)∈[0,1]

· 证据—eₐ:d∈E↦eₐ(d)∈[0,1]

这些函数的引入使我们可以将观察d和v的概率解释为等于给定模型参数的值v乘以这些模型参数值的可能性的观察d的概率-同样,它等于假设观察到的d乘以在模型中观察到d的可能性,则将模型参数的值v的概率乘以n。

对于掷骰实验,我们可以(并且可以)使用多项式分布P model = ∏ᵢ n!/dⁱ!对数据分布进行建模。pᵢᵈⁱ,其中多项式模型的固定参数为v = {p₁,p_2,p₃,p₄,p₅,p₆,n} = {pᵢ,n |i∈[1,6]},其中pᵢ为从骰子中获得i∈[1,6]的概率,n为掷骰数。如果我们考虑完全无偏的骰子,则p 1 = p 2 = p 1 = p 1 = p 1 = p 1 = 1/3。因此,在我们的n = 2个骰子掷骰的多项式模型中,观察到两个六个概率d =(d¹= 0,d²= 0,d³= 0,d⁴= 0,d⁵= 0,d⁶= 2)可以估计为Pₐ(d)=¹/₃₆。由于模型参数v是固定的,这等效于将i∈[1,6]的先验值设置为pₐ=δ(pᵢ-¹/₆,n-2),这样Lₐ= ∏ᵢ 2(¹/₆))ᵈⁱ/dⁱ!或0。

当然,我们可以建立一个更复杂的模型,其中pᵢ的值取决于其他因素,例如骰子可能弹起的表面数量,掷骰子的强度或击中的每个空气分子的速度在他们离开我们的那一刻的骰子或无数种不同的效果。在这种情况下,分布Pₐ将根据数据中出现的不可观测参数v之间的相互作用,将概率分配给数据出现d〜P,即描述这种物理效应,即在多项式模型中,模型参数的值v将改变描述d可能性的pᵢ值。但是,我们可能不确切知道这些不可观察参数的值。因此,Pₐ不仅描述了数据真实分布的估计,而且还描述了其对不可观测模型参数的依赖性。我们称条件分布函数描述了从不可观测参数观测数据的可能性,即似然Lₐ。由于模型a描述了整个统计模型,模型参数v的先验概率分布p 1是模型的固有属性。

我们不知道模型a中参数的值v的事实(甚至缺乏关于模型本身选择的知识)引入了不确定性的来源,我们称其为认知的,即由于某些原因而产生的不确定性我们可以通过观察事件的支持来了解。因此,尽管由于数据分布P造成的事件d的真实随机性导致了不确定的不确定性,但是通过用Pₐ对这种分布进行建模也产生了认知不确定性。但是,不应将先验分布pₐ与认知不确定性相混淆,因为先验是对特定模型a的选择。可能会使用错误的先验分布选择(由于统计模型的定义),从而不允许数据支持模型。

例如,对于骰子滚动问题,在构建模型时,我们可以确定模型是确定的,并且模型参数的可能值的先验分布为pₐ=δ(pᵢ-¹/₆,n-2 )表示i∈[1,6]。在这种情况下,将不会考虑认知不确定性,因为我们假设没有什么可以了解。但是,如果对骰子进行加权,使得p₁= 1且p2 =p₃=p₄=p₅=p₆= 0,那么我们将永远不会得到两个6,并且数据也将不支持我们的模型。相反,如果我们选择一个不同的模型a',它是多项式分布,但是在p distribution的可能值上的先验分布是这样的,则它们可以在∑ᵢpᵢ= 1的情况下取0到1的任何值,没有假定的知识(在该特定模型内)。因此,由于我们缺乏知识,因此存在很大的认知不确定性,但是可以通过在观察可用数据时推断可能的参数值来减少不确定性。

主观推论

我们可以使用主观推断(通常称为贝叶斯推断)来了解观测数据支持哪些模型参数值,从而在我们选择的模型内减少认知不确定性。使用联合分布的条件展开式的两个等式Pₐ,我们可以计算出在模型a中,当观察到某些d〜P时参数具有值v的后验概率。

该后验分布现在可以用作具有联合概率分布Pₐ'的新模型a'的基础,其中pₐ'=ρₐ,即Pₐ'=Lₐ·pₐ'。请注意,由于数据的支持,模型的形式没有改变,只是我们对模型参数的确定性—我们可以使用这个新模型对数据的分布做出更明智的预测。

除其他方法外,我们还可以使用MCMC技术来表征后验分布,从而使我们能够减少此假设模型中的认知不确定性。但是,对与错,人们常常只对数据的最佳拟合分布感兴趣,即找到Pₐ与P最相似的v的集合。

最大似然和最大后验估计

为了使模型适合数据的真实分布,我们需要测量两个分布之间的距离。最常用的量度是相对熵(也称为Kullback-Leibler(KL)散度)

相对熵描述了由于将P(d)与Pₐ(d,v)近似而丢失的信息。关于相对熵,有一些有趣的特性,使它无法理想地用作距离度量。因为它不是对称的,D(P∥Pₐ)≠D(PₐP),因此不能用作度量。我们可以采用D(PₐP)和D(P∥Pₐ)的对称组合,但仍然存在问题,例如必须在同一域E上定义P和Pₐ。其他措施,例如推土机距离在此处可能具有边缘,因为它是对称的,并且可以在不同的坐标系上定义(并且当用作任意函数而不是用于预测模型参数时,现在可以使用神经网络很好地近似)。但是,我们仍然最经常考虑相对熵。重写相对熵,我们看到我们可以将相似性的度量表示为两个项

第一项是数据分布的负熵,即可以通过观察结果而获得的预期信息量,直接类似于统计热力学中的熵。第二项是交叉熵H(P,Pₐ),它量化区分一个分布P和另一个分布Pₐ所需的信息量,即,需要多少次d〜P绘制才能知道d是从P,而不是P∈。注意到以这种相对熵的形式只有一组自由参数v,然后我们可以通过最小化相对于这些参数的相对熵来尝试使Pₐ尽可能接近P

但是,实际上我们该如何做呢?我们可能无法访问可能数据的整个分布来进行积分。取而代之的是考虑一个采样分布s:d∈S↦s(d)∈[0,1],其中s(d)是来自采样空间的事件的归一化频率,其中N个条件独立的值为d,S⊆E。在这种情况下,积分变为和,H(P,Pₐ)≊-∑ s(d)logPₐ(d,v)。然后使用条件关系,如前所述写Pₐ=Lₐ·pₐ,因此交叉熵为H(P,Pₐ)≊-∑ s(d)logLₐ(d | v)-∑ s(d)logpₐ(v)。由于先验与数据无关,因此它只是将加常数添加到交叉熵中。

换句话说,在给定采样分布中数据出现频率的情况下,我们可以将似然度写为概率的乘积

因此,除了先验的加性常数外,交叉熵还与模型中数据似然性的负对数成正比。这意味着,假设所有v均具有一个统一的先验(或忽略先验),那么最大化数据相对于模型参数的对数就等于最小化交叉熵,这可以解释为最小化相对熵。,从而使Pₐ尽可能接近P。忽略交叉熵中的第二项,可提供参数值的非主观最大似然估计(非主观意味着我们忽略了参数值的任何先验知识)。但是,如果考虑到先验,我们将恢复最简单的主观推断形式,即最大后验(MAP)估计

其中描述了参数值v的集合,该参数值v提供了一个尽可能接近P的Pₐ。在此必须强调一个提示-由于我们使用的是采样分布s,因此最大可能度(或后验)实际上为我们提供了最接近采样分布s的分布P 1。如果s不代表P,则该模型不一定是P的良好拟合。第二个注意事项-尽管对于这组v,Pₐ可能与P(或实际上为s)尽可能接近。 (或后验)概率实际上可能离分布的高密度区域很远,因此不能代表所有更可能的模型参数值。当考虑使用MCMC技术或类似方法进行整个后验分布时,可以避免这种情况。本质上,如果使用最大似然或最大后验估计,则无需考虑先前(或后验)概率密度的大部分,就会严重低估认知错误。

模型比较

请注意,到目前为止,还没有声明说模型a实际上是否有任何好处。我们可以通过计算证据来衡量模型对数据d的拟合程度,这相当于对模型参数的所有可能值进行积分,即

通过选择具有自己的一组参数u∈Eᵤ的不同模型a',我们可以得出一个描述模型a或a'是否更适合数据d的准则。请注意,此标准不一定定义明确。我们是否更喜欢一个完全适合数据但具有半无限个参数的模型,还是我们更喜欢一个很少参数但拟合性较差的优雅模型?在神经网络出现之前,我们通常选择参数最少的模型,该模型最适合数据,并且可以对未来事件进行一致的预测,但这仍需争论。

到目前为止,所描述的一切都不过是科学方法。我们观察到一些数据,并希望对将来的观察结果进行建模。因此,我们建立了一个参数化的模型来描述观察结果和观察结果的可能性,了解该模型的参数的可能值,然后根据奥卡姆剃刀等标准对模型进行改进。

神经网络作为统计模型

深度学习是一种建立数据分布模型的方法

无论目标是有监督的学习,分类,回归,生成等,深度学习都只是为数据分布建立模型。对于监督学习和其他预测方法,我们将数据d视为一对输入和目标d =(x,y)。例如,我们的输入可以是猫和狗的图片x,并带有标签y。然后,我们可能希望对先前看不见的图像x'进行标签y'的预测-等同于对d的一部分已知的相应输入和目标对d进行预测。

因此,我们想使用神经网络f来对分布P建模:f:(x,v)∈(E,Eᵥ)↦g = f(x,v)∈G,其中f是权重参数化的函数, v,它接受输入x并从可能的网络输出G的空间中输出一些值g。函数f的形式由超参数化a来描述,并且包括体系结构,初始化,优化例程和最重要的是,损失或成本函数Λₐ:(d,v)∈(E,Eᵥ)↦Λₐ(y | x,v)∈K·[0,1]。损失函数描述了具有不可观察参数v的数据出现概率d =(x,y)的未归一化度量。即,当给定x等于对x建模时,使用神经网络对y进行预测数据出现的概率d,其中分布的形状由网络a的形式和属性以及参数v的值定义。我们经常区分经典神经网络(对目标进行预测)从神经密度估计器(估计输入的概率,即空间G = [0,1])中获取数据,但是这些函数执行相同的工作,但是经典神经网络的分布只能使用损失函数进行估计(通常不会像真实概率一样归一化为1)。这阐明了经典神经网络的输出或预测的含义-它们是控制模型中数据的概率分布形状的参数值(通过选择超参数来定义)。

例如,当使用均方误差作为损失函数执行回归时,神经网络的输出g = f(x,v)等效于具有单位方差的广义正态分布的均值。这意味着,当输入某些输入x时,网络会通过参数的值v提供y的可能值的平均值的估计,其中y的可能值是从具有单位方差的广义法线中得出,即y〜N(g,I)。请注意,对于y值的此模型无论如何都不是一个好的选择。另一个例子是当使用softmax输出执行分类时,我们可以将输出直接解释为多项式分布的pᵢ,其中模型的不可观察参数v以类似于物理模型中参数的方式影响这些输出的值影响发生不同数据的可能性。

掌握了这些知识之后,我们便可以通过对数据分布P建模来了解网络参数的优化(称为训练)。通常,当经典地训练网络时,我们选择的模型允许v〜pₐ=统一的任何值[-∞,∞](尽管我们倾向于从一些正态分布中得出它们的初始值)。本质上,因为我们没有任何先验知识,所以我们忽略了有关权重值的任何先验信息。在这种情况下,有关数据分布的所有信息都来自似然度Lₐ。因此,为了进行训练,我们对网络参数进行了最大似然估计,这使得数据分布与来自神经网络的估计分布之间的交叉熵最小,从而使相对熵最小。为了实际评估带有参数值v的经典神经网络的似然对数,我们可以扩展某些观测数据d的似然,如Lₐ(d | v)ₐΛₐ(y | x,v)s(x),其中s(x)是x的采样分布,等效于分配x出现在S中的次数的归一化频率。给定相应的x时,对采样分布中每个y评估Λₐ(y | x,v),因此,将该概率的对数与结果相加即可得出抽样分布的可能性的对数。因此,相对于网络参数v最大化此点,可以得出最接近s的分布Pₐ(希望它应接近P)。

就是这样。训练后,神经网络将提供统计模型的参数,可以对其进行评估以找到最可能的预测值。如果损失函数给出了未归一化的可能性,则可以使用像MCMC这样的方法来获取表征数据分布的样本。

必须考虑一些注意事项。首先,损失函数的选择定义了统计模型-如果损失函数无法描述数据的分布,那么用于数据分布的统计模型将是错误的。避免假设分布的一种方法是通过考虑均方误差,分类交叉熵或绝对误差以外的损失函数-一种理想的选择是推土机距离,该距离可以通过特定类型的神经网络很好地近似并提供目标它模拟了将数据分配到统计模型之间的最佳运输计划,从而为P providing提供了一种非假定形式。要注意的另一件事是,使用神经网络的统计模型被过度参数化。宇宙演化的模型只需要6个参数(在美好的一天),而神经网络将使用数百万个无法识别的参数来完成更简单的任务。在追求模型优雅的模型选择中,神经网络几乎总是会丢失。最后,根据数据使网络适合数据-如果数据中存在任何偏差d∈S,即s与P不相似,则该偏差将很明显。物理模型可以通过建立直觉来避免这些偏差。实际上,使用神经网络也可以做到这一点,但是要花很多的脑力和花更多的时间而不是盲目地选择东西。

因此,使用神经网络和损失函数进行的深度学习等效于构建描述数据分布的参数化统计模型。

Tom Charnock是统计和机器学习方面的专家。他目前居住在巴黎,致力于解决机器学习和人工智能模型的统计可解释性方面的突出问题。作为一名国际自由顾问,他为与复杂数据分析,数据建模和下一代计算机科学方法有关的问题提供了实用的解决方案。他的角色包括一对一的支持,全球合作以及通过讲座,研讨会,教程和文章进行的外展活动。

(本文由闻数起舞翻译自Rashida Nasrin Sucky的文章《All deep learning is statistical model building》,转载请注明出处,原文链接:https://towardsdatascience.com/all-deep-learning-is-statistical-model-building-fc310328f07)

(0)

相关推荐