选自Buckman’s Homepage
作者:Carles Gelada、Jacob Buckman
机器之心编译
参与:魔王
近日,OpenAI 研究科学家 Carles Gelada 发布推文,表示「贝叶斯神经网络没有意义」。一石激起千层浪,社区对此言论展开了激烈的讨论。那么贝叶斯神经网络真的没有意义吗?Carles Gelada 何出此言?我们来看这篇文章。
2019 年 12 月 22 日 Carles Gelada 发布的推文。推文链接:
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∣
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99