概率与贝叶斯方法

贝叶斯神经网络(Bayesian neural network)

/ BAY-zee-un NOOR-ul NET-wurk /

贝叶斯神经网络是一种神经网络,它不为内部每个权重锁定一个固定的取值,而是为它们保留一个概率分布——一种「这个权重大概在这一带,但我说不准」的感觉。一个普通的网络,像是一位专家给出一个斩钉截铁的答案;一个贝叶斯神经网络,则像是一整个由许多「貌似合理的网络」组成的委员会在投票,而它们的一致或分歧,就成了一份内建的置信度量。

回报,是有原则的不确定性。当委员会里所有的网络对某个输入意见一致,预测便带着高置信;当它们各执一词——尤其是面对训练中从未见过的输入时——它们投票的离散程度,便发出了真切的疑虑信号。这本意在于纠正标准深度网络那种危险的过度自信——后者会乐呵呵地给一样它全然陌生的东西贴上99%的标签。贝叶斯神经网络的目标,是在它真的不知道时,说出「我不知道」。

它为何重要,又在何处被现实硌了一下:原则上,这是从深度学习中获取可信不确定性的黄金标准,在「自信的错误答案代价高昂」之处都有价值。实践中,对真实的网络精确地做到这一点,在计算上根本不可能,所以每一种方法都是一个近似——而且是粗糙的近似。流行的捷径(比如在预测时仍开着「dropout」,或训练一群普通网络组成集成)给出的估计有用却不完美,它们的不确定性仍可能未被校准。贝叶斯神经网络,是一次严肃而诚实的尝试,去知道自己不知道什么——而非一份对此已然办妥的保证。

一个只用干净手写数字训练过的数字识别器,被递上一团根本不是数字的涂鸦。一个普通网络也许会自信地嚷嚷「8,97%确定」。而贝叶斯神经网络那一委员会的权重设定,面对这个陌生输入意见大乱——有的说8,有的说3,有的说5——这份离散便产出一个低而诚实的置信度,标明:这是一个它不该信任自己的输入。

面对陌生输入,那个权重设定的「委员会」意见相左——而这份相左,正是诚实的不确定性信号。

对一个真实网络数以百万计的权重做精确的贝叶斯推断,在计算上遥不可及,所以实践中的每一个贝叶斯神经网络都是一个近似。因此它报告的不确定性,本身就是一个可能未被校准的估计——比普通网络的虚假自信要好,却不是一份保证。

又称
BNN贝叶斯神经网络貝氏神經網路贝叶斯神经网路