机器学习 | 贝叶斯神经网络

机器学习 | 贝叶斯神经网络

贝叶斯神经网络通过引入参数的概率分布来描述模型的不确定性。与传统的确定性神经网络不同,BNNs 通过学习参数的后验分布来对模型进行建模,从而在预测中提供不确定性的估计

让 ( x , θ ) ↦ g θ ( x ) (x,\theta)\mapsto g_{\boldsymbol{\theta}}(\boldsymbol{x}) (x,θ)↦gθ(x)定义的 g : X × Θ → Y g: \mathcal{X} \times \Theta \rightarrow \mathcal{Y} g:X×Θ→Y 作为神经网络(NN),其中 g θ ( x ) g_{\theta}(x) gθ(x) 是由 x x x 和 θ \theta θ 确定的函数。贝叶斯神经网络(BNNs)的主要假设是通过一个简单的分布来近似参数 g g g 的后验分布 p ( θ ∣ D ) p(\theta | D) p(θ∣D) ,该分布在参数空间 Θ ⊆ R P \Theta \subseteq \mathbb{R}^P Θ⊆RP 上编码了不确定性。

标准的点估计定义为:
θ ∗ = arg ⁡ max ⁡ ⁡ θ ∈ Θ log ⁡ p ( D ∣ θ ) + log ⁡ p ( θ ) ⏟ = log ⁡ p ( θ ∣ D ) − c o n s t \theta_*=\underset{\boldsymbol{\theta}\in\Theta}{\operatorname*{\arg\max}}\underbrace{\log p(\mathcal{D}\mid\boldsymbol{\theta})+\log p(\boldsymbol{\theta})}_{=\log p(\boldsymbol{\theta}\mid\mathcal{D})\mathrm{-const}} θ∗=θ∈Θargmax=logp(θ∣D)−const logp(D∣θ)+logp(θ)

其中 log ⁡ p ( D ∣ θ ) \log p(D | \theta) logp(D∣θ) 是对数似然损失, log ⁡ p ( θ ) \log p(\theta) logp(θ)是对参数 θ \theta θ 的正则化项,虽然在参数空间上可以被视为对 Θ \Theta Θ的狄拉克雷分布,但并不是一个 BNN,因为根据任何标准度量(方差、熵等),它都具有零不确定性。

拉普拉斯近似(LA)

其中最简单的贝叶斯神经网络之一是拉普拉斯近似(LA),并且越来越多地被用于贝叶斯优化(BO)。给定一个(局部)最大值 θ ∗ \theta^* θ∗,拉普拉斯近似拟合了一个以 θ ∗ \theta^* θ∗ 为中心的高斯分布 q ( θ ∣ D ) : = N ( θ ∗ , Σ ∗ ) q(\theta | D) := \mathcal{N}(\theta^*, \Sigma^*) q(θ∣D):=N(θ∗,Σ∗),其中协方差由逆海森矩阵给出,即

Σ ∗ = ( − ∇ θ 2 log ⁡ p ( θ ∣ D ) ∣ θ ∗ ) − 1 \Sigma^* = (-\nabla^2_{\theta} \log p(\theta | D)|_{\theta^*})^{-1} Σ∗=(−∇θ2logp(θ∣D)∣θ∗)−1

线性化拉普拉斯近似(LLA)

拉普拉斯近似的一个流行类别是线性化拉普拉斯近似(LLA),它通过广义高斯-牛顿矩阵近似海森矩阵,并对神经网络在参数空间上进行线性化 g θ lin ( x ) = g θ ∗ ( x ) + J ∗ ( x ) ⋅ ( θ − θ ∗ ) g^{\text{lin}}{\theta}(x) = g{\theta^*}(x) + J^*(x) \cdot (\theta - \theta^*) gθlin(x)=gθ∗(x)+J∗(x)⋅(θ−θ∗)。这里, J ∗ ( x ) J^*(x) J∗(x)是网络在 θ ∗ \theta^* θ∗ 处的雅可比矩阵 ( ∂ g / ∂ θ ∣ θ ∗ ) \left({\partial g}/{\partial \theta}|{\theta^*}\right) (∂g/∂θ∣θ∗) 。需要注意的是,网络函数 x → g θ lin ( x ) x \rightarrow g^{\text{lin}}{\theta}(x) x→gθlin(x) 仍然是非线性的。

关键是,由于 g g g在 θ \theta θ上的线性性以及 θ \theta θ的高斯性,输出分布 p ( g lin ( x ) ∣ D ) = ∫ g θ lin ( x ) q ( θ ∣ D ) d θ p(\text{g}^{\text{lin}}(x) | D) = \int \text{g}^{\text{lin}}_{\theta}(x) q(\theta | D) d\theta p(glin(x)∣D)=∫gθlin(x)q(θ∣D)dθ 也是高斯的,给出为

p ( g lin ( x ) ∣ D ) = N ( g θ ∗ ( x ) , J ∗ ( x ) Σ J ∗ ( x ) ⊤ ) p(\text{g}^{\text{lin}}(x) | D) = \mathcal{N}(\text{g}_{\theta^*}(x), J^*(x)\Sigma J^*(x)^{\top}) p(glin(x)∣D)=N(gθ∗(x),J∗(x)ΣJ∗(x)⊤)

超参数优化与模型校准

BNNs 的性能和稳定性在很大程度上取决于超参数的选择,例如权重衰减强度和数据噪声强度。因此,优化超参数成为了重要的研究方向。

事实上, p ( g lin ∣ D ) p(\text{g}^{\text{lin}} | D) p(glin∣D)是一个具有神经网络 g g g作为均值函数和与经验神经切向核相关的协方差函数的高斯过程(GP)。

这些事实使得线性化拉普拉斯近似(LLA)具有解释性:它简单地为原始神经网络预测 g θ ∗ ( x ) g_{\theta^*}(x) gθ∗(x)添加了一个不确定性估计。这种不确定性可以通过拉普拉斯近似的边缘似然近似进行进一步校准:

Z ( γ ) = log ⁡ p ( θ ∗ ∣ D ; γ ) + P 2 log ⁡ 2 π + 1 2 log ⁡ ∣ Σ ∗ ( γ ) ∣ Z(\gamma) = \log p(\theta^*|D; \gamma) + \frac{P}{2} \log 2\pi + \frac{1}{2} \log |\Sigma^*(\gamma)| Z(γ)=logp(θ∗∣D;γ)+2Plog2π+21log∣Σ∗(γ)∣

其中明确地表明了后验和海森矩阵对超参数 γ \gamma γ的依赖性。例如, γ \gamma γ可以是一个集合,其中包含了权重衰减强度(对应于 Θ \Theta Θ上的高斯先验的先验精度)以及 g g g的似然中的噪声强度。在这种设置下,优化 max ⁡ γ log ⁡ Z ( γ ) \max_{\gamma} \log Z(\gamma) maxγlogZ(γ) 可以被看作是学习一个合适的先验并估计数据噪声。

相关推荐
新智元4 分钟前
毕业 7 年,身价破亿!清北 AI 天团血洗硅谷,奥特曼被逼分天价股份
人工智能·openai
新智元15 分钟前
刚刚,苹果大模型团队负责人叛逃 Meta!华人 AI 巨星 + 1,年薪飙至 9 位数
人工智能·openai
Cyltcc30 分钟前
如何安装和使用 Claude Code 教程 - Windows 用户篇
人工智能·claude·visual studio code
吹风看太阳1 小时前
机器学习16-总体架构
人工智能·机器学习
moonsims2 小时前
全国产化行业自主无人机智能处理单元-AI飞控+通信一体化模块SkyCore-I
人工智能·无人机
MUTA️2 小时前
ELMo——Embeddings from Language Models原理速学
人工智能·语言模型·自然语言处理
海豚调度2 小时前
Linux 基金会报告解读:开源 AI 重塑经济格局,有人失业,有人涨薪!
大数据·人工智能·ai·开源
T__TIII2 小时前
Dify 插件非正式打包
人工智能
jerwey2 小时前
大语言模型(LLM)按架构分类
人工智能·语言模型·分类
IT古董2 小时前
【第三章:神经网络原理详解与Pytorch入门】02.深度学习框架PyTorch入门-(5)PyTorch 实战——使用 RNN 进行人名分类
pytorch·深度学习·神经网络