1、背景
1.1 深度神经网络
深度神经网络是链接主义系统,经过它经过学习例子来完成任务,而不须要事先了解这些任务。它们能够很容易地扩展到数百万个数据点,而且能够经过随机梯度降低进行优化。
CNN是DNN的变体,可以适应各类非线性数据点。
起始层学习更简单的特征,如边和角,
后续层学习复杂的特征,如颜色,纹理等。此外,较高的神经元具备较大的感觉野,构建在起始层上。然而,与多层感知器不一样,
权重共享是卷积神经网络背后的主要思想。
1.2 问题
CNN经过反向传播,根据网络权重计算损失梯度。而反向传播的超参数包括学习速率,动量,权重衰减等。找到最佳值所需的时间与
数据大小成比例。
然而对于使用反向传播训练的网络,仅在网络中实现权重的
点估计,从而致使对正确的类别、预测或行动作出过于自信的决定。(因为输出层的softmax函数能够实现几率得分,它压缩了一个类的输出几率得分,并使另外一个类的输出几率得分最大化)。这样的网络能较好地拟合训练数据,但不能预测新数据-即产生了对现有样本的过分拟合。
目前主要经过正则化来消除过拟合,主要包括early stopping、权值衰减、L1- L2正则化,以及最流行和有效的dropout。可是,
当前神经网络架构中缺乏预测中的不肯定性度量。
2、几率机器学习和不肯定性
机器学习训练模型模型从观察到的数据(训练数据)中学习一些模式和假设,并对未观察到的数据(测试数据)进行推断。然而,因为输入数据噪声、感官噪声、测量偏差、非最优超参数设置等诸多缘由,该模型对预测具备
不肯定性。
从几率论的角度来看,用单点估计做为权重来创建任何分类都是不合理的,并且神经网络没法正确评估训练数据中的不肯定性。机器学习中的几率模型指出,全部形式的不肯定性不多是一个真实的值,而更像是一个几率值,并使用几率论来回答一切问题。几率分布用于建模学习、不肯定性和未观测状态。在观察数据以前,先定义一个先验几率分布,而后进行学习,一旦观察到数据,该分布就转换为后验分布。
2.1 不肯定性类型
网络中的不肯定性是
衡量模型对其预测肯定程度的指标。在贝叶斯模型中,存在两种主要的不肯定性类型:
偶然不肯定性(Aleatoric uncertainty)和
认知不肯定性(Epistemic uncertainty)。
偶然不肯定性测量观测中
固有的噪声。这种不肯定性存在于数据采集方法中,如传感器噪声或沿数据集均匀分布的运动噪声。即便收集了更多的数据,也不能减小这种不肯定性。
偶然不肯定性能够进一步分为同方差不肯定性(Task-dependant or Homoscedastic uncertainty)和异方差不肯定性(Data-dependant or Heteroscedastic uncertainty)
· 异方差不肯定性,取决于输入数据,并预测为模型输出。其中一些输入可能具备比其余输入更多的噪声输出。异方差的不肯定性尤其重要,能够防止模型输出很是自信的决策。
· 同方差不肯定性,不取决于输入数据。它不是模型输出,而是一个
对全部输入数据保持不变而且在不一样任务之间变化的数量。所以,它能够被描述为任务相关的不肯定性。
认知不肯定性表明了模型自己形成的不肯定性。给定更多数据能够减小这种不肯定性,而且一般称为
模型不肯定性。
图中说明了语义分割中的偶然和认知不肯定性之间的差别。 偶然不肯定性捕获对象边界时,标签是有噪声的;而当模型不熟悉人行道时,以及相应的增长的认知不肯定性,就致使了分割模型失败的状况。
3、贝叶斯深度学习
3.1 介绍
贝叶斯方法能够用于学习神经网络权重的几率分布。将神经网络中的wi 和 b 由肯定的值变成分布(distributions)。具体而言,为弥补反向传播的不足,经过在模型参数或模型输出上放置几率分布来估计。在权重上放置一个先验分布,而后尝试捕获这些权重在给定数据的状况下变化多少来模拟认知不肯定性。该方法不是训练单个网络,而是训练网络集合,其中每一个网络的权重来自共享的、已学习的几率分布。
3.2 使用和训练
非贝叶斯网络中,在各类超参数固定的状况下,咱们训练一个神经网络想要的就是各个层之间的权重和偏置。
而对于贝叶斯深度学习,由于权重和偏置都是分布,因此若是想进行前向传播进行参数估计,须要对参数进行
屡次采样。利用贝叶斯公式,求解w的后验几率p(w|x,y)*。
*贝叶斯公式
p(z|x) 被称为后验几率(posterior),p(x,z) 被称为联合几率,p(x|z) 被称为似然(likelihood),p(z) 被称为先验几率(prior),p(x) 被称为 evidence。
若是再引入全几率公式 p(x)=∫p(x|z)p(z)dz
但实际操做中,因为网络的复杂性(参数众多,没法积分),直接求解w的后验几率几乎不可能,由于一般采用一下几种方式估计参数
(1)Approximating the integral with MCMC
(2)Using black-box variational inference (with Edward)
(3)Using MC (Monte Carlo) dropout
第(1)种状况用 MCMC(Markov Chains Monte Carlo) 采样去近似分母的积分。第(2)种直接用一个简单点的分布 q 去近似后验几率的分布 p,即无论分母怎么积分,直接最小化分布 q 和 p 之间的差别,如可使用 KL散度计算。
3.3 贝叶斯深度学习优点
(1)因为能够屡次采样,所以训练获得的权重更加robust
(2)能够获得模型的不肯定性估计,由非softmax生成的几率
4、变分推理 Variational Inference
变分推理是经常使用的求解w后验分布的方式。通常的深度神经网络,假设θ 是神经网络的内部参数集,训练目标是要找到一个最好的 θ* ,让损失函数 Ln(θ) 最小。而在贝叶斯深度学习中,关心在数据D下模型参数θ 的分布。其中 α 是 ℝd 上的θ先验分布(能够理解为从α 中能够抽样获得 θ)。
实际中一般会使用简单的变分分布(如高斯分布)对后验进行建模,并尝试使分布的参数尽量接近真实的后验。好比,通常用一个替代分布q(θ|φ)去逼近后验分布p(θ|D), 若是没法知道α 的真正形式,咱们就先造一个q(θ|φ)分布,使得变分自由能(variational free energy)最小:
求解过程是经过最小化Kullback-Leibler(KL散度)与真实后验的分歧来完成的。这种方式采样获得的权重w用于神经网络的反向传播以学习后验分布。
可是在在贝叶斯神经网络中用来近似后验的变分方法在计算上会大大增长参数的数量,而且训练结果和dropout方法相似。为了减小网络的参数,采用模型修剪减小了深度神经网络中各类链接矩阵中的稀疏问题,从而减小了模型中表值参数的数量。
· 相关研究
采用Backprop的Bayes构建贝叶斯神经网络
用变分几率分布q_θ(w | D)接近难以处理的真实后验几率分布p(w | D),前者包含高斯分布μ∈ℝ^ d和σ∈ℝ^ d的特性。表示为N(θ | μ,σ²),其中d是定义几率分布的参数总数。这些高斯变分后验几率分布的形状由它们的方差σ²肯定,表示每一个模型参数的不肯定性估计。
参考: