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

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

贝叶斯神经网络通过引入参数的概率分布来描述模型的不确定性。与传统的确定性神经网络不同,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(γ) 可以被看作是学习一个合适的先验并估计数据噪声。

相关推荐
是店小二呀几秒前
CANN 异构计算的极限扩展:从算子融合到多卡通信的统一优化策略
人工智能·深度学习·transformer
冻感糕人~4 分钟前
收藏备用|小白&程序员必看!AI Agent入门详解(附工业落地实操关联)
大数据·人工智能·架构·大模型·agent·ai大模型·大模型学习
予枫的编程笔记6 分钟前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
陈西子在网上冲浪7 分钟前
当全国人民用 AI 点奶茶时,你的企业官网还在“人工建站”吗?
人工智能
victory043110 分钟前
hello_agent第九章总结
人工智能·agent
骇城迷影10 分钟前
Makemore 核心面试题大汇总
人工智能·pytorch·python·深度学习·线性回归
AI资源库15 分钟前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频
Web3VentureView18 分钟前
SYNBO Protocol AMA回顾:下一个起点——什么将真正推动比特币重返10万美元?
大数据·人工智能·金融·web3·区块链
打破砂锅问到底00719 分钟前
AI 驱动开发实战:10分钟从零构建「微信群相册」小程序
人工智能·微信·小程序·ai编程
老金带你玩AI22 分钟前
CC本次更新最强的不是OPUS4.6,而是Agent Swarm(蜂群)
大数据·人工智能