type
status
date
slug
summary
tags
category
icon
password

🤔 摘要
深度神经网络(DNN)是各种计算机视觉任务的强大工具,但它们通常在可靠的不确定性量化方面存在困难——这是现实世界应用的一个关键需求。贝叶斯神经网络(BNN)具备不确定性估计的能力,但它们无法扩展到大型DNN中,因为它们在训练时非常不稳定。为了解决这一挑战,我们介绍了自适应贝叶斯神经网络(ABNN),这是一种简单且可扩展的策略,可以以最小的计算和训练开销,在事后无缝地将DNN转换为BNN。ABNN保留了DNN的主要预测属性,同时通过简单的BNN适应层(附加到归一化层)和对预训练模型的少量微调步骤,增强了它们的不确定性量化能力。我们在图像分类和语义分割任务的多个数据集上进行了广泛的实验,我们的结果表明,ABNN在不增加通常与集成方法相关的计算预算的情况下,实现了最先进的性能。
📝介绍
深度神经网络(DNN)作为强大的工具,对各种感知任务产生了深远的影响,例如图像分类[18, 50]、目标检测[32, 70]、自然语言处理[17, 69, 76]等。随着这些进步,人们对DNN在各行业的潜在应用越来越兴奋和期待。为了实现这一目标,迫切需要解决一个基本挑战:通过量化它们预测中的固有不确定性来提高DNN的可靠性[36, 37, 83]。在现实世界的应用中部署DNN,特别是在安全关键领域,如自动驾驶、医学诊断、工业视觉检查等,需要全面了解它们的局限性和脆弱性,这些通常超出了它们的原始预测准确性,后者通常被视为主要的性能指标。通过量化这些具有数百万参数和非平凡内部工作机制[1, 94]以及在许多不同长尾场景[7, 56]面前的失败模式[33, 66]的模型内的不确定性,我们可以做出明智的决策,关于何时以及如何依赖它们的预测。
在深度学习中,不确定性估计传统上是通过贝叶斯方法来解决的,这些方法从贝叶斯神经网络(BNN)的发现中汲取灵感[5, 58, 64, 86],它们有着坚实的理论基础和属性[44, 62, 90]。BNN估计给定训练数据集的模型参数的后验分布。在运行时,可以从这个分布中抽取集成样本,并且它们的预测可以被平均化以做出可靠的决策。BNN承诺提供改进的预测和可靠的不确定性估计,以及直观的不确定性来源分解[16, 41]。然而,尽管它们容易表述,但BNN在大型DNN上的训练却出了名的困难[20, 67],特别是对于复杂的计算机视觉任务,由于训练不稳定性以及计算效率低下,它们通常通过变分推断进行训练[45]。BNN的这一局限性激发了两个主要研究方向,以实现可扩展的不确定性估计:集成方法和最后一层不确定性方法。
深度集成[51]作为BNN在大型DNN中进行不确定性估计的一种简单而高效的替代方法而出现。深度集成的培训过程非常简单,基本上就是对同一个网络的不同权重初始化执行相同的培训过程,并已证明在预测多样性方面保留了BNN的许多属性[22, 90]。这对于分布外(OOD)泛化[63]是一个有益的属性。然而,它们在训练和推理过程中的高计算成本使它们在许多有计算限制的实际应用中不适用。在过去的几年中,出现了多种计算效率高的替代方案,旨在降低训练和/或推理期间的训练成本[13, 23, 25, 26, 30, 59, 87]。然而,这些方法提出了特定的网络架构和在计算成本、准确性以及预测不确定性质量之间的非平凡权衡。
最后一层不确定性方法旨在通过较少的随机权重来实现BNN,以产生集成或不确定性估计[6, 9, 12, 48, 60]。这些方法利用流行的DNN架构[31],在其上附加一个随机层,并训练所有参数进行完整的训练周期。与标准BNN相比,训练稳定性有所提高,但确定性和随机参数的联合优化需要仔细调整。Daxberger等人[12]提出在事后以一种有效利用拉普拉斯近似进行优化[58, 72, 81]的方式单独训练最后一层。将编码器的优化与不确定性层解耦,可以利用典型的编码器训练配方,或者简单地利用现成的预训练网络。最后一层方法的局限性与仅访问高级特征以产生不确定性估计有关,而分布变化的信号或小异常模式(例如,在语义分割中)通常主要在网络的早期低级特征中找到。的确,强大的不确定性估计方法利用了网络多层的信息[13, 25, 55]。
在这项工作中,我们的目标是在不使用复杂的优化方案、避免潜在的训练不稳定性,并且不损害预测性能的前提下,实现可扩展和有效的不确定性估计。我们提出了一种事后策略,该策略从预训练的DNN开始,通过附加到归一化层的简单插件模块和仅几轮微调,将其转换为BNN。我们展示了这种策略,称为自适应贝叶斯神经网络(AdaptableBNN,ABNN),能够以资源高效的方式估计预训练模型局部最小值周围的后验分布,同时仍然实现具有多样性的竞争性不确定性估计。此外,ABNN允许从同一检查点开始顺序训练多个BNN,从而模拟真实后验分布中的不同模式。
总之,我们的贡献包括:(1) 我们提出了ABNN,这是一种将预训练的DNN转换为具有不确定性估计能力的BNN的简单策略。ABNN在计算上是高效的,并且与多种DNN架构兼容(卷积网络:ResNet-50, WideResNet28-10; 视觉变换器ViTs),前提是它们配备了归一化层。(2) 我们观察到ABNN参数的梯度方差比经典BNN的要低,从而实现了更稳定的反向传播。(3) 广泛的实验验证了ABNN虽然简单且计算节约,但在多个数据集和任务中的准确性和不确定性估计方面取得了竞争性表现:图像分类(CIFAR-10, CIFAR-100 [49], ImageNet [15])和语义分割(StreetHazards, BDD-Anomaly [35], MUAD [24])在分布内和分布外设置中。我们使用TorchUncertainty (https://github.com/ENSTAU2IS-AI/torch-uncertainty) 训练我们的模型,并将所有配置文件和补充脚本在GitHub上公开。
🤗相关工作
认识不确定性和贝叶斯后验。解决认识不确定性估计[39]——即模型本身的不确定性——对于提高DNN的可靠性[41]至关重要。然而,获得这种不确定性的满意近似仍然是一个挑战,因为它需要对权重的极高维度分布进行可扩展的估计,即后验。我们的工作提出了ABNN,与主要塑造认识不确定性估计景观[27]的BNN[28]相比,这是一种显著更可扩展的方法。
贝叶斯神经网络和集成。BNN[82]通过引入对网络权重的明确和可控的先验知识[46, 64]以及估计后验分布来制定概率预测。虽然数学上可以表述后验分布[90],但对于现代模型来说,其计算是不可行的。这种对可扩展性的需求导致了包括变分推断BNN[4, 5]在内的近似技术的出现,这些技术将更简单的分布拟合到后验分布上(对于前者是高斯对角分布)。还提出了许多其他近似方法,如高效的概率反向传播[38]、蒙特卡洛Dropout[26],它将后验模型化为狄拉克混合体,以及拉普拉斯方法,这些方法通过损失的局部曲率估计后验[58, 72, 74, 81]。然而,深度集成[29, 51]是其中最成功的解决方案,它更简单。它由简单地平均几个独立训练模型的预测组成。这种方法强大,因为它提高了预测的可靠性和质量,尽管在训练和推理上成本较高。许多近似方法填补了这一空白,并提出减少参数数量、训练时间或前向传递次数[23, 25, 30, 53, 87, 91]。所提出的方法正是在可扩展性和计算效率方面的这一线。
事后不确定性量化。在当今计算机视觉的背景下,数据集[47, 75]、模型规模[14]不断增长,以及推理限制的存在,事后方法可以是一种解决方案,既可以利用基础模型[42, 73, 96]的强大能力,又可以实现不确定性量化。拉普拉斯方法在这些事后不确定性量化方法中占据主导地位,特别是它的最后一层近似[72]使其更具可扩展性。然而,即使通过Kronecker分解的拉普拉斯方法[74]实现了对后验的粗略近似,它在处理现代数据集时也并不总是非常高效。我们提出了一种简单而有效的方法,该方法适用于预训练模型。
背景
我们首先介绍我们的正式方法论,并简要概述贝叶斯后验和用于不确定性量化的贝叶斯神经网络(BNN)。
基本概念
符号记法。让我们用表示训练集,其中包含从联合分布𝑃(𝑋,𝑌)中抽取的
𝑁个样本和标签。输入通过具有参数𝜔的神经网络处理,该网络输出分类预测
.
从最大似然估计到最大后验概率。在我们的上下文中,是𝑌范围内类别上的多项分布。为了清晰起见,我们在下文中省略了随机变量的符号。这个分布的对数似然通常对应于交叉熵损失,实践者通常使用随机梯度下降来最小化这个损失,以获得最大似然估计(MLE):
.
进一步来说,贝叶斯框架允许我们将关于𝜔的先验知识纳入考量,这种先验知识以分布𝑃(𝜔)的形式表示,它补充了似然函数,并引导我们通过最小化以下损失函数来寻找最大后验概率(MAP):
.
正态先验是𝑃(𝜔)的标准选择,导致无处不在的 L2 权重正则化。
贝叶斯后验和BNNs
通常,在训练结束时,DNN保留一组权重用于推理。因此,我们实际上将此模型视为一个神谕。相比之下,BNN尝试模拟后验分布𝑃(𝜔∣𝐷)以考虑所有可能的模型。对于新样本𝑥的预测𝑦
是通过一个无限的集成的预期结果计算的,包括从后验分布中抽取的所有可能的权重:
然而,在实践中,这种贝叶斯集成方法是不可行的,因为积分公式(2)是在参数空间Ω 的整个范围内计算的。实践者[51]通过从后验分布中抽取的有限集合的 M 个权重配置样本来平均预测,从而近似这个积分:
让我们从一个简单的具有两个隐藏层的多层感知器(MLP)开始,不失一般性。对于给定的输入数据点𝑥,DNN的预测定义如下:

其中ℎ1和ℎ2是预激活映射,𝑎(⋅)是激活函数。在公式(4)中,soft(⋅)是softmax函数,𝑎1和𝑎2是隐藏层的激活,对应于线性层的权重集。操作符包含可训练的参数𝛽𝑗和𝛾𝑗,可以指代批量归一化(Batch Normalization, BN)、层归一化(Layer Normalization, LN)或实例归一化(Instance Normalization, IN)。最后,归一化操作伴随着其经验均值和方差。我们省略了通常为计算稳定性而添加的小值。
在当前的形式下,我们可以利用这种架构来学习不同的任务。然而,除了使用softmax分数作为置信度代理之外,对预测的不确定性进行建模并非易事。贝叶斯神经网络(BNN)[5] 是提高不确定性估计的一种解决方案。通常,它们假设层之间的独立性,并从得到的后验估计中进行采样。对于第j层,这会产生:
因此,BNN通过生成多个预测来近似参数的边际化(2)——这是一个极其复杂的任务。变分推断BNN[5]是这些方法中最可扩展的版本,其估计基于“重新参数化技巧”,在第j层这里表现为:
其中矩阵和分别表示第j层的后验分布的均值和标准差,而是一个零均值、单位对角线的高斯向量或矩阵。这种方法通过将参数数量增加到标准网络的三倍的代价,实现了对对角线后验分布的估计学习。
ABNN
将DNNs转变为BNNs
我们的事后贝叶斯策略基于预训练的DNN,这些网络包含了如批量[43]、层[3]或实例归一化[84]等归一化层。这并不是一个限制因素,因为大多数现代架构都包含了这些层中的一种[18, 31, 57]。随后,我们通过引入高斯扰动来修改这些归一化层,从而引入了我们新颖的贝叶斯归一化层(Bayesian Normalization Layer, BNL)。这种调整的目的是将最初确定性的DNN转换为BNN。引入BNL使我们能够高效地利用预训练模型,以最小的改动促进转换为BNN。我们提议用我们新颖的贝叶斯归一化层(BNL)替换归一化层,这些层通过纳入高斯噪声来轻松地将确定性DNN转换为BNN。BNLs释放了预训练模型对于不确定性感知贝叶斯网络的潜力。
形式上,我们的BNN定义为:
经验均值和方差仍然由和表示,并通过批量、层或实例归一化来计算。在方程中,
表示从正态分布中抽取的样本,而和是第𝑗层的两个可学习的向量。
经过转换为BNN后,我们专门针对第4.2节中引入的损失函数,仅重新训练参数𝛾𝑗和𝛽𝑗有限的周期数。为了进一步提高其可靠性和泛化特性[90],我们不是训练一个单一的ABNN,而是训练多个ABNN副本,如第4.2节所解释的,从而得到一个有限的权重配置集合。我们在附录A.2中讨论了这种多模态性的好处。
在推理阶段,对于来自ABNN的每个样本,我们通过独立地从标准正态分布 𝑁(0,1)中采样多个 来增加样本数量。将所有串联起来形成 𝜖,而 是 𝜖集合,每个单独的ABNN样本表示为 𝑃(𝑦∣𝑥,𝜔,𝜖)。在推理期间,对于新样本 𝑥的预测 𝑦 是作为一个有限集成的预期结果计算的,包含了从后验分布中采样的所有权重:
我们将于第H节研究𝐿和𝑀的影响。
ABNN训练loss
深度神经网络(DNN)的后验分布的多模态性[22, 44, 54]对于在单峰分布上执行变分推断的任何尝试来说都是一个挑战。Wilson和Izmailov[90]提出了通过训练多个BNN来解决这个问题。然而,这种方法继承了传统BNN的不稳定性,并且可能难以准确捕捉不同的模式。ABNN遇到了类似的挑战,需要防范在后训练过程中坍塌到相同的局部最小值。为了缓解这个问题,我们引入了对损失函数的一个小扰动,防止坍塌并鼓励训练过程中的多样性。这个扰动涉及对交叉熵损失中的类别权重的修改,现在定义为:
在这个公式中,表示在训练开始时初始化的类别依赖的随机权重。通常,它可以被设置为0或1,以增强某些类别的效果。与传统的变分BNN[5]优化证据下界损失不同,ABNN最大化最大后验概率(MAP)。优化涉及以下损失:
受到Fort等人[22]的启发,我们引入了类别依赖的随机权重以增强集成的多样性。对于ABNN集成,我们通过引入了一个偏差,目的是在最小化对BNN预测影响的同时增加多样性。具体来说,我们随机指定一部分类别进行有意的优先考虑(类似于创建专家形式),并通过5或7的因子放大与这些类别相关的损失。
ABNN训练过程
ABNN通过一个事后过程进行训练,该过程设计用来发挥贝叶斯概念的优势,改善DNN的不确定性预测。ABNN的训练伪代码——在算法1中——详细说明了将传统DNN转换为贝叶斯模型集成的过程。
我们从预训练的神经网络开始(算法1,第1行),引入贝叶斯归一化层,替换前DNN的批量、实例或层归一化层(算法1的第2行到第10行)。这个操作将传统的确定性网络转换为BNN,以帮助量化不确定性。我们用原始层的值来初始化新层的权重。
然后,我们对修改后的网络进行微调,以更好地捕捉固有的不确定性(算法1的第12行到第24行)。整个过程在图中有详细描述,提供了对实现贝叶斯建模所做的修改的清晰概览。为了改善我们ABNN模型的后验估计,我们微调了归一化层的多个实例(通常为3到4个)。这种集成方法提供了鲁棒性,并有助于更可靠地估计后验分布。训练多个ABNN,每个都从同一个检查点开始,增强了我们捕捉真实后验的不同模式的能力,从而改善了整体的不确定性量化。

图2. ABNN训练过程的示意图。该程序首先训练一个单一的DNN ,然后进行架构调整将其转换为ABNN。最后一步是微调ABNN模型。

理论分析
我们的方法引发了几个理论问题。在补充材料中——如A节第1条所述——我们展示了ABNN比传统BNN具有更大的稳定性。确实,在变分推断BNN中,梯度变化很大:对于贝叶斯解释至关重要的 𝜖ϵ 引入了不稳定性,扰乱了训练。ABNN通过在潜在空间而非权重上应用这个项来减轻这种负担,从而减少了梯度的方差,正如附录A.1中的经验证明所示。
另一个问题涉及到修改损失函数并添加第二项 𝐸 的理论需求。我们在附录A.2中展示了在凸问题的情况下,这是理论上合理的。鉴于DNN(深度神经网络)优化本质上是非凸的,添加这一项在理论上可能有争议。然而,这一术语的敏感性分析——在附录D中发展——显示了对性能和不确定性量化的经验性益处。
最后,我们在附录A.3中讨论了对我们的网络进行贝叶斯等价估计的挑战。尽管这个信息在理论上可以提供有关后验的价值,但在实践中它仍未被使用。我们仅仅在推理期间对𝜖进行采样,并在多个训练项上取平均值以生成稳健的预测。
实验和结果
我们在图像分类和语义分割任务上测试ABNN。对于每个任务、数据集和架构,我们报告了与模型性能相关的指标,同时也测量了它们的不确定性量化能力。我们所有的模型都是在PyTorch和lightning中实现的,并在单个Nvidia RTX 3090上使用TorchUncertainty框架进行训练。附录G详细列出了我们在不同架构和数据集的实验中使用的超参数。
图像分类
数据集。我们在不同的数据集和主干网络上展示了ABNN的效率。我们从CIFAR-10和CIFAR-100[49]开始,使用ResNet-50[31]和WideResNet28-10[95]。然后,我们报告了ABNN在ImageNet[15]上使用ResNet-50和ViT[18]的结果。在前一种情况下,我们从头开始训练所有模型。在后一种情况下,我们从torchvision预训练模型[68]开始。
基线。我们将ABNN与深度集成[51]和其他四种集成方法进行比较:BatchEnsemble[87]、MIMO[30]、Masksembles[19]和Laplace[12]。此外,我们还包括了MCBN[80]和MCDropout[26]。
指标。我们使用准确率(Acc)和负对数似然(NLL)来评估分类任务的性能。我们用期望的顶部标签校准误差(ECE)[61]来补充这些指标,并使用精确/召回曲线下面积(AUPR)和操作曲线(AUC)以及95%召回率下的假阳性率(FPR95)来衡量OOD检测的质量,与Hendrycks等人[34]类似。我们以%表示所有指标。
OOD检测数据集。对于CIFAR-10和CIFAR-100上的OOD检测任务,我们使用SVHN数据集[65]作为分布外数据集,并将初始问题转换为使用最大softmax概率作为标准的分布内和分布外数据的二元分类。对于ImageNet,我们使用Describable Texture[85]作为分布外数据集。
结果。表1和表2分别展示了ABNN在CIFAR-10/100和ImageNet上不同架构的性能。值得注意的是,ABNN在大多数数据集和架构上一致性地超越了Laplace近似和单一模型基线。此外,ABNN与深度集成相比表现出竞争性的性能,实现了与单一模型相似的训练时间等效结果。这些发现强调了ABNN作为一种强大且高效的方法,证明了其在图像分类任务中具有优越的不确定性量化能力,同时更易于训练。

语义分割
在语义分割部分,我们将ABNN与MCP[34]、深度集成[51]、MC Dropout[26]、TRADI[23]、MIMO[30]和LP-BNN[25]在StreetHazards[35]、BDD-Anomaly[35]和MUAD[24]上进行比较,这些数据集允许我们在语义分割的不同不确定性量化方面进行比较。
StreetHazards [35] 是一个大规模的合成数据集,包含各种描绘街道场景的图像。该数据集由5,125张训练图像和额外的1,500张测试图像组成。训练数据集提供了13个不同类别的像素级注释。测试数据集旨在包含训练期间看到的13个类别,以及另外250个分布外(OOD)类别,这些类别不是训练集的一部分。这种多样化的组成允许评估算法在面对各种潜在场景时的鲁棒性。在我们的实验中,我们采用了DeepLabv3+和ResNet-50编码器,由Chen等人[8]引入。
BDD-Anomaly [35] 是BDD100K数据集 [92]的一个子集,包含6,688个街道场景用于训练,另外361个用于测试集。在训练集中,有17个不同类别的像素级注释可用。测试数据集由训练期间看到的相同的17个类别组成,并引入了2个分布外(OOD)类别:摩托车和火车。在我们的实验设置中,我们采用了DeepLabv3+[8],并遵循了[35]中概述的实验协议。与之前的实验类似,我们使用了ResNet-50编码器[31]作为神经网络架构。
MUAD [24]由训练集的3,420张图像和验证集的492张图像组成。测试集包含6,501张图像,分布在不同的子集:正常子集551张,无阴影的正常子集102张,以及分布外(OOD)子集1,668张。所有这些子集涵盖了白天和夜晚的条件,分布为2/3的白天图像和1/3的夜晚图像。MUAD包括21个类别,最初的19个类别反映了CityScapes [10]中发现的类别。此外,引入了三个类别来表示物体异常和动物,为数据集增加了多样性。在我们的第一个实验中,我们采用了带有ResNet50编码器[31]的DeepLabV3+ [8]网络在MUAD上进行训练。
结果。表3展示了在三个数据集上ABNN与各种基线方法相比较的结果。ABNN与深度集成(一种以准确量化不确定性而闻名的技术)表现相当。此外,我们的方法展现出更快的训练时间,这可能使其对实践者更具吸引力。我们没有包括与拉普拉斯近似[12]的比较,因为它不常用于语义分割,并且将DNN适应拉普拉斯近似并不直接。
讨论
总体讨论
我们在补充材料中开展了几项讨论。首先,我们探讨了理论方面的内容,包括附录A.1中的DNN稳定性、A节A.2中多模态的重要性,以及附录A.3中与传统BNN的关系。我们在Imagenet 21k [71]上的ViT-B-16到CIFAR-100的迁移实验中突出了ABNN在迁移学习中的潜力,实现了92.18%的准确率。此外,我们进行了好几项消融研究,特别是关于丢弃多模态或损失项E(在第4.2节中定义)的影响的研究在附录D中。我们展示了丢弃E会降低性能,而纳入多模态可以改善不确定性量化。此外,在B节中,我们分析了梯度的方差,确认我们的技术展现出的梯度低于BNNs,使其更稳定且更易于训练。最后,附录C深入探讨了我们的方法在不同场景下的变异性,探索了我们从单一模型启动ABNN并从不同的初始检查点优化的情况。尽管我们的技术继承了DNN的不稳定性,我们观察到标准偏差是单一模型的五倍,表明其稳定性低于标准DNN。
ABNN的多样性
关于多样性,我们使用ResNet-50架构在CIFAR-10上训练ABNN。具体来说,我们对ResNet进行200个周期的优化,然后从最优检查点开始微调三个ABNN。此外,我们还训练了另外两个ResNet-50在CIFAR-10上,以形成适当的深度集成。如图3所示,ABNN并没有展现出与深度集成相同的多样性水平。然而,有趣的是,即使从一个单一的DNN开始,ABNN也能够脱离其局部最小值并探索不同的模式。这种不同模式的概念在E节得到了进一步的支持,在那里我们分析了各种ABNN检查点的互信息。
总结
我们的方法是ABNN,它为不确定性量化引入了一种新的视角。ABNN利用预训练确定性模型的优势,通过最小的修改策略性地将它们转换为贝叶斯网络,提供了增强的稳定性和高效的后验探索。通过全面的实验分析,我们证明了ABNN在预测性能和不确定性量化方面的有效性,展示了其在多样化场景中的潜在应用。
ABNN的多模态特性,结合精心设计的损失函数,不仅解决了后验分布的多模态性挑战,还提供了一个稳定且多样化的模型集成。我们在不同数据集和架构上的经验评估突出了ABNN相对于传统BNN和事后不确定性量化方法(如拉普拉斯近似)的优越性,并展示了其与最先进技术(如深度集成)的竞争力。
此外,ABNN在迁移学习场景中展现出有希望的结果,突显了其在更广泛应用中的潜力。从理论讨论和消融研究中获得的见解进一步阐明了ABNN的潜在机制,有助于更深入地理解其行为和性能。
总之,ABNN作为不确定性感知深度学习的一种鲁棒且灵活的解决方案脱颖而出,提供了确定性与贝叶斯范式之间的实用桥梁。它在实现上的简单性,加上卓越的性能和稳定性,使ABNN成为当代机器学习和贝叶斯建模领域的宝贵工具。
参考文章
致谢:
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
- 作者:VON
- 链接:https://baisihan.asia/article/f910bf2f-823b-4e24-99b5-3508ba109561
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。