剑桥大学Ghahramani发表在ICML16.
【abstract】用于回归和分类的DL工具没有表示模型不确定性。bayesian模型有数学上完备的框架推导模型不确定性,但常有过高的计算代价。
文章将深度神经网络中的dropout训练理解为 深度高斯过程 中的近似贝叶斯推理,通过dropout NN建模不确定性,不影响计算复杂度和模型准确性。仔细研究了dropout表示不确定性的属性。MNIST数据上的实验,各种网络结构,非线性函数模型,能在预测似然和RMSE上达到最新水平。考虑了深度强化学习中使用dropout不确定性。
【keypoint】NN的bayesian VB,把dropout解释为后验分布为mixture of norm, scale=0带来的参数的稀疏性/特征的选择。
离训练数据很远的点的分类,应该有一些不确定性?
实践中关键系统,需要知道模型不确定性,进而将不确定的结果交给人来处理。
强化学习中知道不确定性,可以在开发和探索环境中做选择。
训练数据 N 个,输入(特征)X,输出(标签)Y。
NN模型, L 层,
第 i 层的权重参数 Wi ,维度 Ki×Ki−1 ;
第 i 层的bias向量 bi ,维度 Ki 。
模型最终输出 y^ 。
损失函数 E (比如softmax loss, square loss), L2 正则项。
目标函数 L=1N∑iE(yi,yi^)+λ∑Lj=1(||Wj||2+||bj||2)
共L层 的参数 W={Wi}
L层网络最终输出
y^(x,W)=1KL−−−√WLσ(…1K1−−−√W2σ(W1x+b1)…)
预测概率
p(y|x,W)=N(y;y^(x,W),1τID)
p(y|x,X,Y)=∫p(y|x,W)p(W|X,Y)dW
其中后验 p(W|X,Y)
参数的先验 Wimn∼N(0,1) , b∼p(b)
二元随机变量,第 i 层取值为1的概率为 pi .
对除了最后一层的每一层的每一个单元,随机采样,当二元随机变量取0的时候丢弃该单元(输出值置0?)
第i-1层到第i层的参数 Wi 大小为 Ki×Ki−1 , 第i-1层 Ki−1 个单元,第i层 Ki 个单元。
将 Wi共 K_{i-1}$列,讲第j列置0,相当于第i-1层的第j个单元的输出不再对第k层有影响。
zi,j∼Bernoulli(pi) , i=1,...,L,j=1,...,Ki−1
Wi=Midiag([zi,j]Kij=1)
假设后验分布的近似 q(W) :
Wi.j∼piN(Mi.j,σ2IKi)+(1−pi)N(0,σ2IKi)
pi∈[0,1] 为不dropout的概率。第i-1层到第i层的权重 Wi 的第j列同时dropout或者不dropout,相当于第i-1层的第j个单元的输出不再对第i层的所有 Ki 个单元其作用。
bi∼N(mi,σ2IKi)
re-parameter技巧 从后验分布采样
ϵ∼N(0,1)
zij∼Bernoulli(pi)
Wi.j=zij(M1.j+σϵ)+(1−zij)σϵ
bij=mij+σϵ
最小化后验估计 q(W) 与intractable的后验 p(W|X,Y) 之间的KL距离得目标函数
相当于最大化似然相对于估计后验的期望,同时最小化估计后验与先验的KL距离
minL=−∫q(W)logp(Y|X,W)dW+KL(q(W)||p(W))
采用Monte Carlo积分,从估计的后验分布采样 W^ , 用求和的形式表示
minL=−∑Nn=1logp(y|x,W^)+KL(q(W)||p(W))
mixture of Gaussian 与 p(w)的KL距离:
q(w)=pN(m,σ2)+(1−p)N(0,σ2)
p(w)=N(0,1)
当w的维度k很大, σ 很小时候,有:
KL(q(w)||p(w))=p2mTm+C1σ2+C2logσ2+C
所以
- dropout 相当于假设了参数W的近似后验分布是mixture of 2 Gauss 且 σ=0 , 所以W的近似的后验分布与先验分布的KL距离相当于 L2 norm,且mixture的组合比例概率 pi 是L2 norm的系数。
- 实践中的操作都相当于是从后验分布的采样,直接给后验分布方便解释的假设分布。但是
- 怎么证明是好的假设,后验分布真的是这种分布,这样的解释真的正确? 数值画图?
- 具体 哪一步 必须 用到 高斯过程 呢?
预测分布是 关于模型(的参数)的后验分布的期望
p(y∗|x∗,X,Y)=∫p(y∗|x∗,w)p(w|X,Y)dw
后验分布p(w|X,Y)通常不能解析地计算得到。
假设一个分布q(w)去近似后验分布p,最小化两个分布的距离。
mean-field VB, 用KL衡量两个分布的距离。
优化目标为:最大化evidence,并最小化估计的后验q与真实后验p的距离。
这等价于,最大化log似然关于估计后验的期望,并最小化估计后验q与先验p(w)的距离。
随机变量:一些关于时间的函数,在某一给定时刻,取某一个函数的值。
随机过程:一些关于时间的函数,各个时刻,取某一个函数的取值。
高斯过程:取出任意一些时刻的 取值,满足高斯分布。
高斯过程 理论完备
高斯过程可以建模 一些函数上的分布。
输入到输出的函数f: X →Y。为函数f设置先验,求后验。
p(f|X,Y) \propto p(f) p(Y|f,X)
通过高斯过程 evaluate回归任务中f的后验,estimate分类任务中f的后验。
p(Y,f|X)=p(f)p(Y|X,f)
=p(F|X)p(Y|F)=N(0,K(X,X))N(F,1τIN)
由数据的特征X确定F,由F加扰动得到标签Y。
p(cn,F|X)=p(F|X)p(cn|F)=N(0,K(X,X))Categorical(expFnd∑d′expFnd′)
由数据特征X确定F,由F加softmax得到属于各类的概率。
分类问题相对于回归问题,由F到Y的不确定性不在扰动,而在结果是各类上的分布-不是某一个类标签。
F是为X每一个点给出了预测,为这N个点一起做预测。
预测结果,这N个X的预测的均值是0,预测的协方差与X的协方差相关。
两个输入 xi,xj 比较相似 K(xi,xj) ,则这两个的预测结果F也相似。
协方差:两个变量同时改变, how much the two change together
协方差函数/kernel:一个随机过程的时序的temporal协方差,随机场的空间的spatial协方差。
随机过程中两个时间点x,y的取值的协方差 C(x_i,x_j)=cov(z(x_i),z(x_j))
稳定的stationary随机过程,两个点的协方差只与两点的时间间隔相关,与是哪个时间点无关。 C(xi,xj)=C(xi+h,xj+h)=Cs(xj−xi)
参数化协方差函数
squared exponential 协方差函数:
K(d)=exp{−(dV)2} ,
d:两个点的距离–时刻?
V:参数
是稳定的,有smooth采样路径。
要积分掉 高斯过程的协方差函数的参数。
假设随机过程中两个时刻(两个输入数据特征) xi,xj 的协方差函数是这样的形式:
K(xi,xj)=∫N(w;0,IQ)p(b)σ(wTxi+b)σ(wTxj+b)dwdb
Q是输入特征 xi 的维度。
相当于x经过一个一层神经网络,得到 activation=σ(wx+b) ,两个activation的乘积,积分掉参数w,b(关于参数w,b的期望)。
Monte Carlo积分,取K组(w,b)参数 计算K,求平均, 来近似上述积分。
K^(xi,xj)=1K∑kσ(wTkxi+bk)σ(wTkxj+bk) .
对wb积分 对应于 从Q维到R的一层网络的所有情况。
Monte Carlo积分,假设网络这一层是K个单元,在K种Q维到R的映射上的平均。
输入数据特征Q维
一层神经网络K个单元
参数 Wqk
每一组参数为 W.k,bk ,
两个输出的协方差,用K组 两个输出的乘积 平均 近似。
考虑所有数据集N个输入X的输出F的协方差。
一个数据输入特征x经过K个单元后的activation(并除于 K−−√ )为 ϕ , k维的,
ϕk=1K√σ(W.kx+bk)
N个数据输入特征X经过K个单元后的activation为 Φ ,是 N×K 维的。
根据 K^(xi,xj) 的定义,
K^(X,X)=ΦΦT
F|X,w,b∼N(0,ΦΦT)
Y|F∼N(F,1τIN)
Y,F|X,w,b∼N(F;0,ΦΦT)N(Y;F,1τIN)
Y|X,w,b∼N(Y;0,ΦΦT+1τIN)
积分掉函数F了
高斯过程,对预测函数F的分布的协方差K做了参数化的假设wb,
并且用K组参数W.k,bk去近似K得到 K^ .
将对函数的后验F|X,Y积分 转换为了 对参数W,b|X,Y积分。
协方差函数 K , L 层的深度高斯过程 可以通过 对GP的协方差函数的
谱分解
的每个元素设置一个变分分布来估计。谱分解将GP的每一层映射到 明确表示的隐单元的一层。