重新审视贝叶斯深度学习先验

人工智能博士 人工智能博士     2023-01-02     111

关键词:

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :机器之心

一直以来,贝叶斯深度学习的先验都不够受重视,这样真的好么?苏黎世联邦理工学院计算机科学系的一位博士生 Vincent Fortuin 对贝叶斯深度学习先验进行了重新审视。

众所周知,先验的选择是贝叶斯推断流程中最关键的部分之一,但最近的贝叶斯深度学习模型比较依赖非信息性先验,比如标准的高斯。

在本篇论文中,来自苏黎世联邦理工学院计算机科学系的博士生 Vincent Fortuin 强调了先验选择对贝叶斯深度学习的重要性,概述了针对(深度)高斯过程、变分自编码器、贝叶斯神经网络的不同先验,并从数据中总结了学习这些模型先验的方法。

作者 Vincent Fortuin(下图右)专注于深度学习和概率建模接口的相关研究,特别热衷于遵循贝叶斯范式开发更具解释性和数据效率的模型,并且尝试利用更好的先验和更有效的推断技术来改进深度概率模型。

论文链接:https://arxiv.org/pdf/2105.06868.pdf

引言

贝叶斯模型在数据分析和机器学习领域中应用广泛。近年来,如何将模型与深度学习相结合也引发了研究者的兴趣。贝叶斯建模的主要思想是使用一些观察到的数据 D 来推断模型参数θ的后验分布,采用的贝叶斯定理如下:

 

其中 p(D|θ)是似然,p(D)是边际似然(或证据),而 p(θ)是先验,D * 是未见过的新数据。但相比先验,人们的注意力更多地集中在后验预测的性质上,比如预估以上等式的积分或使用边际似然进行贝叶斯模型选择。

在传统的贝叶斯主义中,选择先验的方式是应使其能够在看到任何数据之前准确反映出人们对参数θ的判断。这是贝叶斯模型构建的最关键部分,也是最难的部分,因为将从业者的主观判断明确地映射到可处理的概率分布上通常不是一件易事。因此,在实践中,选择先验通常被视为麻烦事,并且已经有许多人尝试避免必须选择客观先验、经验贝叶斯或两者相结合这样的先验。特别是在贝叶斯深度学习中,通常的做法是选择看似「无信息」的先验,比如标准高斯。

这种趋势令人不安,因为选择不好的先验会对整个推断工作造成不利影响。尽管选择非信息性(或信息性较弱)的先验通常是出于 Bernstein-von-Mises 定理的渐近一致性保证(asymptotic consistency guarantee),但因为其正则条件不满足,该定理实际上在许多应用中并不成立。此外,在实际推断的非渐近状态中,先验对后验有很大的影响,通常将概率质量强加到参数空间的任意子空间上,例如在看似无害标准高斯先验情况下的球形子空间。

更糟糕的是,先验的错误肯定会破坏那些迫使首先使用贝叶斯推断的特性。比如说,边际似然在先验的错误指定下可能变得毫无意义,导致在使用贝叶斯模型时选择次优模型。甚至可以证明,当先验的指定不正确时,就泛化性能而言,PAC - 贝叶斯推断可以超过贝叶斯推断。

因此,批判性地反思贝叶斯深度学习模型中的先验选择是必要的。本篇论文将着重讨论标准非信息性先验的替代选择,并重新回顾审视(深度)高斯过程、变分自编码器、贝叶斯神经网络的现有先验设计,最后简要概述从先验数据中学习先验的方法。

先验:深度高斯过程

高斯过程(Gaussian process, GP)在贝叶斯机器学习中有着很长的历史,为其带来了很多有用的特性,并且与贝叶斯深度学习有很深的联系。下文将具体介绍如何通过深度神经网络(DNN)对 GP 先验进行参数化,如何堆叠 GP 以构建更深的模型,以及如何将深度神经网络转化为 GP 或由 GP 评估。

GP 先验被 DNN 参数化

既然 GP 先验由参数化函数确定,那么选择 DNN 作为函数,自然是可行的。但是,因为大多数神经网络函数实际上不会得到合适的核函数,所以必须仔细处理深度核函数。

从神经网络中提取核函数的一种选择是将网络的最后一层用作特征空间,并将核函数定义为该空间中的内积,即。 这导致了网络特征空间中的贝叶斯线性回归,也叫做贝叶斯最后一层(Bayesian last layer, BLL)模型。

开发深度核函数的另一种选择是从基本核 k_base(·,·)开始,例如长度尺度为λ的径向基函数(radial basis function, RBF)核 k_RBF(x, x′ ) = exp(−λ(x − x′)^2) ,然后可以将此内核应用于 DNN 特征空间,从而产生内核:

如果选择线性核函数 k_lin(x, x′) =<x, x′> 作为基础核,则可以简化至上面的 BLL 模型。然而,在选择像 RBF 这样的内核时,该模型仍然产生了无限维再现核 hilbert 空间,因此提供了不会缩至有限贝叶斯线性回归的完整 GP。这些方法不仅可以产生非常有表现力的模型,而且还可以改善诸如对抗性鲁棒性之类的属性。

当使用深度均值函数代替深度核函数或结合使用时,只需采取较少的预防措施,因为任何函数实际上都是有效的 GP 均值函数。因此,神经网络本身就可以被用作均值函数,而且 GP 中的深层均值函数已经与其他流行的学习范式相关,例如功能性的 PCA。

但是,与上面的深层核函数一样,主要问题是如何选择函数。由于 DNN 难以解释,在查看任何数据之前选择参数似乎是不可能完成的任务。因此,这些方法通常会与其他一些学习算法结合使用,基于一些目标函数来设置其参数。此外,关于一种特定类型的 GP 内核,即卷积内核,它本身并不是由神经网络进行参数化的,而是受到卷积神经网络(CNN)的启发,从而提高了对于图像的性能。

深度 GP 和神经网络限制

既然 GP 可以与深度神经网络结合,那么它们自然也可以用于自构建深度模型,比如深度 GP。与深层神经网络类似,深度 GP 也是随着深度增加而分布得更复杂。但与神经网络不同,深度 GP 仍然包含了完全的贝叶斯处理。而与标准 GP 相比,深层 GP 还可以对大规模输出分布建模,其中包括具有非高斯边际的分布。为了增加灵活性,这些模型还可以与 GP 层之间的翘曲函数结合使用。此外还可以将它们与上述卷积 GP 内核结合使用,以产生与深层 CNN 相似的模型。

尽管这些模型似乎远优于标准 GP,但仍付出了一定的灵活性作为代价:封闭形式的后验推断不再易于处理。这意味着必须使用近似推断技术来估计后验,例如变分推断、期望传播和摊销推断。一种非常流行的 GP 近似推断技术是基于归纳点的,它们被选为训练点或训练域的子集。该技术还可以扩展到深度 GP 的推断或由变异随机特征的替代。

而与推断技术相反,对于深度 GP 的先验选择并未得到充分的研究。虽然深度 GP 可以基于函数建模一个复杂的先验,但就 m_ψi 和 k_ψi 而言,单层的先验通常选择得比较简单。

将 GP 连接到 DNN 的另一种方法是通过神经网络限制。由于具有单个隐藏层的贝叶斯神经网络(BNN)和任何独立的有限方差参数先验 p(θ)诱导的函数空间先验 p(f)收敛于无穷大的极限,且考虑到中心极限定理,GP 先验的限制由下式给出:

先验:变分自编码器和贝叶斯神经网络

除了 GP,另一种流行的贝叶斯深度学习模型是变分自编码器(VAE)。这些贝叶斯潜变量模型假设一个生成过程,通过似然 p(x | z),其中观察值 x 是从未观察到的潜变量 z 生成的。VAE 通过在观察数据上训练的神经网络进行参数化似然,由于此神经网络的非线性特性可精确地推断出后验 p(z | x),因此可以使用由神经网络进行参数化的变分近似值 q(z | x)对其进行推断。接着通过优化证据下界(evidence lower bound, ELBO)训练整个模型:

似然和近似后验通常被选作高斯,而先验则为标准高斯,即 p(z)= N(0, I)。接下来,作者在论文中具体讨论了可以直接替代标准高斯模型的适当概率分布、需要更改架构的一些先验,以及一个带有特异结构和神经过程先验的 VAE 模型。

贝叶斯神经网络是通过贝叶斯推断确定参数,并使用后验预测进行预测的一种神经网络模型。近年来,由于它们的不确定度校准特性,这些模型越来越受欢迎。尽管研究者针对这些模型提出了许多不同的先验,但也有很多研究者认为基于参数的标准高斯先验是足够的,建模者的归纳偏差应通过架构选择来表示。经过对小型网络和简单问题的初步研究,这种观点得到了支持,但这些简单问题并未找到有关高斯先验误定的确凿证据。

然而,在最近的研究中,高斯先验的充分性一直遭到质疑,特别是因为研究者发现了高斯先验会引起冷后验效应,而这种效应并不是由其他先验引起的。遵循先验错误指定的考量,作者建议考虑 BNN 的替代先验并在论文中回顾了在权重空间和函数空间中定义的先验,还展示了如何将这些思想扩展到神经网络的(贝叶斯)合奏。

学习先验

到目前为止,研究者已经探索了不同类型的分布和方法,以将先验知识编码为贝叶斯深度学习模型。但是,如果研究者没有任何有用的先验知识要如何编码呢?因为 ML-II 优化和贝叶斯元学习思想原则上可以用于学习上面讨论的大多数先验知识的超参数,所以作者按照上面的结构,重新回顾探索了高斯过程、变分自编码器、和贝叶斯神经网络中的学习先验。

最后,作者做出了总结:在贝叶斯模型中选择良好的先验对实现实际的理论和经验属性至关重要,包括不确定性估计、模型选择、最佳决策支持。虽然贝叶斯深度学习的从业人员目前通常选择各向同性的高斯(或类似的无信息)先验,但是这些先验通常是错误指定的,并且在推断过程中可能导致一些意想不到的负面后果。另一方面,精心选择的先验可以提高性能,甚至可以实现新视角的应用程序。幸运的是,当下流行的贝叶斯深度学习模型有多种替代的先验选择,例如深度高斯过程、变分自编码器、贝叶斯神经网络。而且,在某些情况下,甚至可以仅从数据中学习到这些模型有用的先验。

---------♥---------

声明:本内容来源网络,版权属于原作者

图片来源网络,不代表本公众号立场。如有侵权,联系删除

AI博士私人微信,还有少量空位

如何画出漂亮的深度学习模型图?

如何画出漂亮的神经网络图?

一文读懂深度学习中的各种卷积

点个在看支持一下吧

贝叶斯的学习

贝叶斯法则贝叶斯法则又被称为贝叶斯定理、贝叶斯规则,是指概率统计中的应用所观察到的现象对有关概率分布的主观判断(即先验概率)进行修正的标准方法。当分析样本大到接近总体数时,样本中事件发生的概率将接近于... 查看详情

机器学习中的贝叶斯方法---先验概率似然函数后验概率的理解及如何使用贝叶斯进行模型预测

一,本文将基于“独立重复试验---抛硬币”来解释贝叶斯理论中的先验概率、似然函数和后验概率的一些基础知识以及它们之间的关系。本文是《AFirstCourseofMachineLearning》的第三章的学习笔记,在使用贝叶斯方法构造模型并用它... 查看详情

机器学习中的贝叶斯方法---先验概率似然函数后验概率的理解及如何使用贝叶斯进行模型预测

在机器学习中的贝叶斯方法---先验概率、似然函数、后验概率的理解及如何使用贝叶斯进行模型预测(1)文章中介绍了先验分布和似然函数,接下来,将重点介绍后验概率,以及先验概率、似然函数、后验概率三者之间的关系--... 查看详情

贝叶斯深度图学习

清华大学朱军博士:可扩展的贝叶斯方法与深度生成模型WelcometoZhuSuan 查看详情

如何为 scikit-learn 的朴素贝叶斯指定先验概率

】如何为scikit-learn的朴素贝叶斯指定先验概率【英文标题】:Howtospecifythepriorprobabilityforscikit-learn\'sNaiveBayes【发布时间】:2015-09-0223:18:00【问题描述】:我正在将scikit-learn机器学习库(Python)用于机器学习项目。我正在使用的算法... 查看详情

机器学习基础——让你一文学会朴素贝叶斯模型(代码片段)

今天这篇文章和大家聊聊朴素贝叶斯模型,这是机器学习领域非常经典的模型之一,而且非常简单,适合初学者入门。朴素贝叶斯模型,顾名思义和贝叶斯定理肯定高度相关。之前我们在三扇门游戏的文章当中介绍过贝叶斯定理... 查看详情

统计学习方法四朴素贝叶斯分类

朴素贝叶斯分类1,基本概念    2,算法流程   关键点:理解先验概率,条件概率,最大后验概率,下面是以极大似然估计的      3,算法改进(贝叶斯估计)   上述用极大似然估计可能会出现所要估计的概... 查看详情

贝叶斯公式的直观理解(先验概率/后验概率)

...://www.cnblogs.com/yemanxiaozu/p/7680761.html前言  以前在许学习贝叶斯方法的时候一直不得要领,什么先验概率,什么后验概率,完全是跟想象脱节的东西,今天在听喜马拉雅的音频的时候突然领悟到,贝叶斯老人家当时想到这么一种理论前... 查看详情

机器学习:贝叶斯分类器

参考文献从贝叶斯定理说开去关键词:逆向概率;先验概率;后验概率我所理解的贝叶斯定理--知乎专栏关键词:医院病症检测中的真假阳性似然与极大似然估计--知乎专栏关键词:似然与概率的区别 查看详情

朴素贝叶斯与贝叶斯网络

1、朴素贝叶斯朴素贝叶斯是一种基于贝叶斯定理和特征条件独立假设的分类算法。简单而言,对于给定的训练数据,朴素贝叶斯先基于特征条件独立假设学习输入和输出的联合概率分布,然后基于此分布对于新的实例,利用贝... 查看详情

机器学习强基计划4-3:详解朴素贝叶斯分类原理(附例题+python实现)

目录0写在前面1贝叶斯方法2贝叶斯风险3从例子出发4朴素贝叶斯分类4.1核心原理4.2拉普拉斯平滑5Python实现5.1计算类先验概率5.2计算类后验概率5.3预测0写在前面机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应... 查看详情

机器学习--模型分类--贝叶斯

  朴素贝叶斯的“朴素”,并不是简单的意思,而是指样本的特征之间是相互独立的。在所有的机器学习分类算法中,朴素贝叶斯和其他绝大部分分类算法都不同,其他分类算法基本都是判别方法,即直接学习出特... 查看详情

统计学习方法——朴素贝叶斯法先验概率后验概率

  朴素贝叶斯法,就是使用贝叶斯公式的学习方法,朴素就是它假设输入变量(向量)的各个分量之间是相互独立的。所以对于分量之间不独立的分布,如果使用它学习和预测效果就不会很好。简化策略  它是目标是通过训... 查看详情

机器学习贝叶斯公式

...可写成两种形式:p(ωj,x)=P(ωj|x)p(x)=p(x|ωj)P(ωj)整理后得出贝叶斯公式(只有两种类型的情况下)下面分别介绍一下后验概率、似然函数、先验概率以及证据因子。1、后验概率后验概率P(ωj|x),即假设特征值x已知的条件下类别 查看详情

使用贝叶斯优化对深度学习结构进行超参数优化

】使用贝叶斯优化对深度学习结构进行超参数优化【英文标题】:HyperparameteroptimizationforDeepLearningStructuresusingBayesianOptimization【发布时间】:2017-06-1104:16:15【问题描述】:我为原始信号分类任务构建了一个CLDNN(卷积、LSTM、深度... 查看详情

机器学习面试题——朴素贝叶斯(代码片段)

机器学习面试题——朴素贝叶斯提示:这些知识点也是大厂笔试经常考的题目,我记得阿里和京东就考!!!想必在互联网大厂就会用这些知识解决实际问题朴素贝叶斯介绍一下朴素贝叶斯优缺点贝叶斯公式... 查看详情

朴素贝叶斯算法(naivebayes)

...后验概率则指的是在事件A发生之后,我们对B事件概率的重新评估。似然估计是一个调整因子或者修正参数,在我们计算事件概率的时候,需要不断通过修正参数使得我们所求的概率无限接近于真实概率。如果似然估计  ... 查看详情

贝叶斯朴素贝叶斯及调用spark官网mllibnaviebayes示例

贝叶斯法则 机器学习的任务:在给定训练数据D时,确定假设空间H中的最佳假设。 最佳假设:一种方法是把它定义为在给定数据D以及H中不同假设的先验概率的有关知识下的最可能假设 贝叶斯理论提供了一种计算假... 查看详情