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


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

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

  • 相关阅读:
    PT_连续型随机变量/分布函数/概率密度
    synchronized详解
    数据库事务及事务隔离级别
    红路灯识别
    SOCKS55代理与Http代理有何区别?如何选择?
    论文笔记 A Comprehensive Survey on Graph Neural Networks(GNN综述)
    数据结构题目收录(十九)
    当zmq 和 docker 都要绑定一个端口时,怎么不修改端口号就能解决冲突?
    结合实战,浅析GB/T28181(七)—— 球机云台控制
    Windows、Linux应急响应大致流程
  • 原文地址:https://blog.csdn.net/m0_62249876/article/details/136352596