Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

纯贝叶斯神经网络没有意义?OpenAI科学家何出此言?

近日,OpenAI 研究科学家 Carles Gelada 发布推文,表示「贝叶斯神经网络没有意义」。一石激起千层浪,社区对此言论展开了激烈的讨论。那么贝叶斯神经网络真的没有意义吗?Carles Gelada 何出此言?我们来看这篇文章。

2019 年 12 月 22 日 Carles Gelada 发布的推文。推文链接:https://twitter.com/carlesgelada/status/1208618401729568768

Carles Gelada 和 Jacob Buckman 认为推文下面的大部分回复忽略了他们对 BNN 批评的重点,于是撰写博客,更加全面地阐述其观点。

以下是标题为《Bayesian Neural Networks Need Not Concentrate》的最新版博客内容(原版博客标题为《A Sober Look at Bayesian Neural Networks》):

贝叶斯神经网络的支持者经常称,训练得到的 BNN 输出分布能够捕捉认知不确定性(epistemic uncertainty)。认知不确定性对大量应用具备宝贵价值,我们认同使用贝叶斯方法的做法。但是,我们认为 BNN 需要信息丰富的先验才能处理不确定性。我们证明,如果先验不能区分可泛化和不可泛化的函数,则贝叶斯推断无法提供有用的不确定性。这就对标准论点提出了质疑,标准论点即:当真实先验分布未知时,「信息不足的先验」是合适的。

什么是贝叶斯推断

在 Twitter 讨论中,很多研究者认为「贝叶斯」是「不确定性感知」(uncertainty-aware)的同义词,或者使用结果集合或分布的算法一定是贝叶斯算法。我们想要厘清一点,在我们看来,这种描述有失公允。

使用贝叶斯方法处理不确定性,需要利用贝叶斯定理将先验分布更新至后验分布中,这无疑是最流行的方法之一。但还存在其他非贝叶斯方法,例如集中不等式就是非贝叶斯方法,它们允许计算置信区间和不确定性集合。

贝叶斯定理的核心是条件概率分布之间的关系:

毫无疑问,这是非常强大且基础的关系,但任何「信念更新」(belief updating)或「可能世界分布」(distributions over possible worlds)的概念都只是后此谬误(post hoc)的解释。贝叶斯定理表示:对于任意两个非独立随机变量 A 和 B,当 B 取特殊值 b 时,随机变量 A 的分布发生改变。用标准学术语言来说,项 Pr(A=a) 即先验,Pr(B=b∣A=a) 是似然,Pr(A=a∣B=b) 是后验。该用语来源于这一事实:随机变量 A 具备原始(先验)分布,使用观测到的 b 值可提供更新分布(后验)。

我们来想一下如何使用贝叶斯框架解决分类问题

存在输入空间 χ 和输出空间 Y,假设它们均为离散空间,存在函数族 f:χ→T 是二者之间的映射。将每个 f 看作向量 f∈Y^χ,在索引 x∈χ 处索引向量相当于估计函数 f_x=f(x)。存在我们感兴趣的真值函数 f^∗:χ→Y。用贝叶斯方法解决该问题,即在现实世界中存在随机变量 F^∗,f^∗ 是其中的一个样本。

我们将使用 Pr(F^∗=f) 表示 F^∗ 的分布。(下文用缩写形式 Pr(f) 表示 Pr(F^∗=f))。由于输入-输出对数据集 D={(x_i,F^∗(x_i)} 不独立于 F^∗,因此我们可以使用贝叶斯定理来了解 F^∗的分布,前提是我们已经观察了数据集 D。

项 Pr(D∣f)=∏_(x,y∈D)1_f(x)=y 表示:如果 F^∗=f,则数据集包含的标签等同于 f 的输出。这一条件分布为什么这么有趣?因为如果数据集包含足够信息,则 F^∗ 的分布可能崩塌到一个点,我们可能不具备对 f^∗ 的不确定性。即使分布没有崩塌到一个点,我们仍然可以利用 Pr(f∣D) 执行一些有意思的操作。例如,我们可以通过边缘化(marginalizing)来提供估计结果:

或者找出后验估计的最大值:

但更有趣的是,我们可以利用分布来提供不确定性:特定输出 f^∗(x) 的分布。给出测试点 x,我们可以输出概率 Pr(F^∗(x)=y∣D)。这非常重要,例如在很多敏感应用中,在不确定的情况下不执行预测是十分必要的。截至此时,贝叶斯方法看起来很有吸引力。

贝叶斯神经网络的潜在问题

贝叶斯的以上所有属性均依赖于合理的后验分布,即向更有可能正确的函数分配更大的概率值。我们来仔细探查其中究竟。下式表示后验,不过由于分母 Pr(D) 只是标准化常量,对所有函数都是一样的,因此下式隐去了分母:

该式中有两个项:先验 Pr(f) 表示对特定函数的先验偏好,似然 Pr(D∣f) 将特定函数具备更强的数据兼容性这一想法进行编码。

标准的贝叶斯叙事是这样的:先验覆盖大量函数,但只有一部分函数与数据兼容,因此后验集中于一小部分函数,这些函数都有可能是合适的函数。

从这个角度来看,选择「信息不足的(uninformative)」先验是合理的做法,因为它在所有函数的集合上均匀分布。这就使得贝叶斯神经网络的基础得到保障,因为它确保先验向每个可能正确的函数分配非零概率。然后,我们只需让似然项筛除空间中的糟糕函数即可。看起来很简单吧!但是,标准贝叶斯叙事存在「隐藏条款」。

首先,我们需要注意,不确定性估计的质量完全取决于先验的质量。因此要想使后验分布对应可能函数的确切分布,先验必须完全正确。也就是说,采样真值函数 f^∗ 的分布必须与采样先验的分布相同。如若不然,则后验会很糟糕!

假设先验比现实更陡峭,那么很明显这是一个失败案例:后验某些区域的概率不恰当地低,导致整体不确定性被低估。当先验比现实平滑时,则失败没有那么明显,但仍会出现:对于任意固定数量的数据而言,学得的后验太宽了,导致不确定性被高估。或者说,需要更多数据才能达到特定的置信度。

其次,标准贝叶斯叙事几乎总是发生在参数不足(underparameterized)的情况下,即数据集∣D∣的规模至少与模型参数量一样。但是当我们使用神经网络时,实际设置显然并非如此。增加神经模型的规模总能帮助提升性能,因此我们总想使用过参数化机制。在思考贝叶斯深度学习时,我们需要仔细考虑该差异的含义。

不幸的是,这些事项结合到一起导致了一个重大问题:数据无法带来神经网络后验集中。

贝叶斯神经网络不需要集中

神经网络参数为θ)拟合数据集 D 常会导致这一常见情形,D 包含真值函数 f^∗ 生成的输入-输出对。当然,由于我们在做深度学习,因此使用过参数化机制较为稳妥:∣D∣<<∣θ∣。此外,我们假设网络足够灵活,可使真值函数 f^∗ 在它所表示的函数类别内。令神经网络函数 f_θ^∗ 逼近 f_θ^∗(x)≈f^∗(x)∀x∈χ。由于 f_θ^∗ 可以拟合每个数据点,因此它能够拟合 D 中所有点:Pr(D∣f_θ^∗)≈1。

不过,D 不是神经网络要拟合的唯一数据集。假设从同一个真值函数 f^∗ 的输入-输出对中采样得到数据集 Z={(x_i,y_i},并损坏数据集中的部分输出,得到 Z˙={(x_i,y˙_i},y_i≠y˙_i∀i。最终,将真实数据 D 和损坏数据 Z˙ 结合得到一个组合数据集 C。(假设∣Z˙∣较小,这样我们可以继续使用过参数化机制,即∣C∣<<∣θ∣。)Chiyuan Zhang 等人在 2017 年发表的论文《Understanding deep learning requires rethinking generalization》中证明,我们可以训练出完美拟合数据集 C 的神经网络,即 ∃θ_C s.t. f_θ_C(x)≈y,∀_x,y∈C。网络的容量不仅足以拟合正确的标签,还可以拟合任意损坏的标签!

理解 f_θ^∗ 和 f_θ_C 之间差异的直观方式是观察其泛化性。假设 D 是训练集,Z 是测试集。函数 f_θ^∗ 泛化性能优异:它在训练集上实现了不错的性能(即 Pr(D∣f_θ_C)≈1),在测试集上也取得了优秀的性能(即 Pr(Z∣f_θ_C)≈1)。而函数 f_θ_C 恰恰相反,其泛化性能并不好:它在训练集上表现不错(即 Pr(D∣f_θ_C)≈1),但在测试集上表现糟糕(即 Pr(Z∣f_θ_C)≈0)。按照经验,SGD 通常更可能找到泛化性能优异的解决方案,但是我们必须记住也存在泛化性能不好的解决方案。

现在我们已经定义了这两个函数。那么给定数据集 D,二者的相对后验概率如何呢?假设我们选择先验 q,则存在

类似地,

现在我们可以清晰地看到,为什么标准贝叶斯和神经网络结合后,问题多多了吧。f_θ^∗ 泛化性能较好,f_θ_C 泛化性能差,但我们通过后验概率无法区分二者的差异。这两个网络的相对后验似然完全由其先验似然决定。

SGD 能够拯救这一切吗?

不能。在数据集 D 上运行 SGD 不太可能找到 f_θ_C。但是这不表示它不存在。真正的贝叶斯后验是唯一一个具备我们追寻的有用属性(如不确定性信息)的对象,它并不关心 SGD 找到什么函数。令 q(f_θ_C∣D)<q(f_θ^∗∣D) 成立的唯一方式是 q(f_θ_C)<q(f_θ^∗)。

贝叶斯神经网络需要对泛化敏感的先验

现在很清楚了,正确的先验对贝叶斯深度学习而言是绝对必要的。我们所需要的是「泛化敏感」先验(generalization-sensitive prior),即仅对泛化性能优秀的函数分配先验概率。这与「泛化不可知」先验相反:对于按照上述方法构建的任意数据集 C,存在 q(f_θ^∗)≈q(f_θ_C)。如果我们的先验完全泛化不可知,则后验将对糟糕和优秀的解决方案分配同样的概率。这反过来说明,贝叶斯步骤没有收获有用的不确定性信息:每一个测试点的概率在全部可能输出中均匀分布。

一定程度上,这种现象可被解释为「过高估计不确定性」的极端案例。在标准贝叶斯叙事中,高估不确定性不影响大局,因为这不过说明我们需要添加一点数据让后验集中。但涉及过参数化机制时,「一点数据」就没用了。让后验集中所需的数据量非常庞大。(另外,即使我们能够获取那么多数据,我们也只能收获一个更大的神经网络而已,一切还是回到原点。)

目前的 BNN 对泛化敏感吗?

我们通常对 BNN 使用简单的先验,即权重的独立高斯分布。结合神经网络架构后,得到函数空间中的结构化先验。显然,该结构化先验并不简单。例如,Radford M. Neal 1995 年发表的论文《BAYESIAN LEARNING FOR NEURAL NETWORKS》证明,无限宽度单层神经网络的独立随机高斯权重对应高斯过程先验(Gaussian Process prior)。从实验的角度来看,Ulyanov (2017) 证明,CNNs + SGD 这一组合很擅长表示自然图像。我们做了一些实验来验证这一点,发现相比最小化模型在数据集 C 上的损失,最小化模型在数据集 D 上的损失能够取得更高的先验似然。

但是,这只是间接证据,并未击中问题的核心。如上所示,宣称「我的后验分布对应优秀解决方案的分布」的贝叶斯支持者实际上是在表达「我的先验对泛化敏感」。这一主张很强势,尤其是在简化当前先验的背景下。独立高斯权重真的能够编码泛化这么基础的东西吗,甚至还能考虑到网络架构?这是可能的,但对此持怀疑态度是更加明智的做法。贝叶斯社区有责任进行审慎分析和实验来充分证明此主张。

BNN 的实验成功是否证明其具备优秀先验?

不。尽管在实践中,BNN 确实泛化至测试点了,而且看起来也输出了合理的不确定性估计,但这无法直接证明它们具备泛化敏感的先验。这就要提到该难题的另一块拼图了:逼近(approximation)。计算 q(f∣D)q,即贝叶斯推断,是一个难题,因此社区中大量成员研究其易处理的近似问题。(例如,变分推断将 q(f∣D) 的计算问题形式化为优化问题。)为什么 BNN 在真实后验极其不确定的情况下也能作出一些合理的行为?计算 q(f∣D) 是关键。它们可能并没有学习任何接近真实后验的事物!

要想声称 BNN 输出的不确定性有效,贝叶斯支持者必须谨慎地证明 BNN 学到的分布类似真实后验。初始实验证明事实并非如此:我们可以轻松找到这样两个点,第一个点具备较高的先验概率和数据似然,第二个点具备较高的后验似然。如果 BNN 后验准确,就不会出现这种情况。代码地址:https://github.com/jbuckman/bnn-blog-experiments

不过,这只是初步实验,还需要更多研究。

批判地看待贝叶斯神经网络

近几十年来,贝叶斯社区输出大量有关机器学习的重要见解,通常被认为是最严谨的机器学习子社区之一。但是,我们认为贝叶斯神经网络并不符合这一看法。贝叶斯社区并未对「BNN 输出分布很好地对应真实后验」提供证明。没有该保障,则 BNN 与其他神经网络无异。因此,研究人员应该避免发表「BNN 输出分布能够编码模型不确定性」这样的观点。

此外,我们证明了好的不确定性估计必须围绕神经网络的泛化性能。要想确保 BNN 提供的不确定性有用,我们首先需要了解使特定神经网络参数取得优秀/糟糕泛化性能的原因。这是深度学习领域最重要的问题之一,但我们以及整个领域对此还没有深刻理解。神经切线核(该方法也得到贝叶斯的支持)是一种有前景的方法,有助于研究者真正地理解泛化。而只有理解了泛化,我们才能设计泛化敏感先验。

不管你是否相信我们能够找到优秀的泛化敏感先验,重点在于:我们以及整个领域不再忽略先验在贝叶斯框架中的重要性,不要想当然地认为 BNN 是计算不确定性的好方法。我们需要批判地思考先验,严谨地评估后验估计,不被「信息不足的先验仍然能够带来优秀的不确定性估计」这样的粗陋论点所支配。

现在,没有人去问 BNN 能否提供当前最优的不确定性估计,有的是使用 BNN 的理由(尤其是在经验驱动的领域,如深度学习)。但我们需要理解,即使有理由证明 BNN 前景广阔,但也有清晰的理论可以证明 BNN 或许不能作为研究方向。本文希望强调这些潜在的问题,从而引导 BNN 研究走在更好的方向上。

原文链接:https://jacobbuckman.com/2020-01-22-bayesian-neural-networks-need-not-concentrate/
原版博客链接:https://jacobbuckman.com/2020-01-17-a-sober-look-at-bayesian-neural-networks/

理论贝叶斯网络OpenAI神经网络
2
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

高斯分布技术

正态分布是一个非常常见的连续概率分布。由于中心极限定理(Central Limit Theorem)的广泛应用,正态分布在统计学上非常重要。中心极限定理表明,由一组独立同分布,并且具有有限的数学期望和方差的随机变量X1,X2,X3,...Xn构成的平均随机变量Y近似的服从正态分布当n趋近于无穷。另外众多物理计量是由许多独立随机过程的和构成,因而往往也具有正态分布。

先验概率技术

在贝叶斯统计中,某一不确定量p的先验概率分布是在考虑"观测数据"前,能表达p不确定性的概率分布。 它旨在描述这个不确定量的不确定程度,而不是这个不确定量的随机性。 这个不确定量可以是一个参数,或者是一个隐含变量(英语:latent variable)。

变分推断技术

see Variational Bayesian methods (approximation)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

贝叶斯推断技术

贝叶斯推断(英语:Bayesian inference)是推论统计的一种方法。这种方法使用贝叶斯定理,在有更多证据及信息时,更新特定假设的概率。贝叶斯推断是统计学(特别是数理统计学)中很重要的技巧之一。贝叶斯更新(Bayesian updating)在序列分析中格外的重要。贝叶斯推断应用在许多的领域中,包括科学、工程学、哲学、医学、体育运动、法律等。在决策论的哲学中,贝叶斯推断和主观概率有密切关系,常常称为贝叶斯概率。

后验概率技术

在贝叶斯统计中,一个随机事件或者一个不确定事件的后验概率是在考虑和给出相关证据或数据后所得到的条件概率。同样,后验概率分布是一个未知量(视为随机变量)基于试验和调查后得到的概率分布。“后验”在本文中代表考虑了被测试事件的相关证据。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

高斯过程技术

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

置信区间技术

在统计学中,一个概率样本的置信区间(Confidence interval),是对这个样本的某个总体参数的区间估计(Interval Estimation)。置信区间展现的是,这个总体参数的真实值有一定概率落在与该测量结果有关的某对应区间。置信区间给出的是,声称总体参数的真实值在测量值的区间所具有的可信程度,即前面所要求的“一定概率”。这个概率被称为置信水平。举例来说,如果在一次大选中某人的支持率为55%,而置信水平0.95上的置信区间是(50%, 60%),那么他的真实支持率落在50%和60%之区间的机率为95%,因此他的真实支持率不足50%的可能性小于2.5%(假设分布是对称的)。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

可能世界技术

可能世界的概念被用来在哲学和逻辑中,表达模态断言。在哲学中,术语“模态”覆盖了如“可能性”、“必然性”和“偶然性”这种观念。谈论可能世界在当代哲学讨论中是非常普遍的,尽管有着巨大的争议。

条件概率分布技术

条件概率分布(Conditional Probability Distribution,或者条件分布,Conditional Distribution )是现代概率论中的概念。 已知两个相关的随机变量X 和Y,随机变量Y 在条件{X =x}下的条件概率分布是指当已知X 的取值为某个特定值x之时,Y 的概率分布。

推荐文章
暂无评论
暂无评论~