Denoising diffusion models for out-of-distribution detection
-
- 摘要
- 1 介绍
- 2 相关工作
-
- 2.1 基于生成得方法
- 2.2 基于重构的方法
- 3 方法
- 3.1.扩散模型
- 3.2.多次重建
- 3.3.相似性评估
- 4实验
-
- 4.1. Experimental details
- 4.2. Results for computer vision datasets
-
- 4.3医学数据集上的结果
- 4.4.瓶颈尺寸
- 4.5.重建的性能和数量
- 4.6 提出的方法的变体
- 4.7.限制
- 5.结论
摘要
对于机器学习系统的安全部署,检测分布之外的数据(Out-of-distribution detection)至关重要。目前,无监督的分布之外的数据检测主要由生成模型的方法主导,这些方法利用生成模型的似然估计或其他测量值。基于重构的方法提供了一种替代方法,其中使用重构误差的度量来确定样本是否为分布之外的数据。然而,基于重构的方法不太受欢迎,因为它们需要仔细调整模型的信息瓶颈(如潜在维度的大小)以产生良好的结果。在这项工作中,我们利用去噪扩散概率模型(DDPM)作为去噪自动编码器的视角,其中瓶颈由外部通过应用的噪声量来控制。我们建议使用DDPM来重构一个被噪声扰动到一定范围的输入,并使用得到的多维重构误差来分类分布之外的输入。我们在标准的计算机视觉数据集和更高维度的医学数据集上验证了我们的方法。我们的方法不仅超过了基于重构的方法,而且还超过了最先进的基于生成的方法。代码可在https://github.com/marksgraham/ddpm-ood 上找到。
1 介绍
分布外(OOD)检测在机器学习系统的安全部署中起着至关重要的作用,它确保下游模型只在从它们所训练的分布中采样的数据上运行。OOD检测模型可以大致分为非监督模型和监督模型,前者只需要分布内数据进行训练,后者需要分类标签或样本OOD数据等附加信息。无监督模型很有吸引力,因为它们不假设OOD数据将采取的形式或将执行的下游任务(例如分类、分割)的类型。
目前无监督OOD检测的主要方法是使用分布内数据训练的生成模型的似然或其他指标。然而,已经证明这些模型可能会出现严重的失败,例如在CIFAR10上训练的模型给SVHN数据集的样本分配的可能性比来自CIFAR10本身的样本更高[3,9,24]。已经提出了许多方法来解决这些短板[3,23,24,30,35]。这些模型在经验基准测试中表现出更好的性能,但最近的理论工作表明,所有这些方法在至少一些OOD数据面前仍然是脆弱的。
基于重建的方法为无监督OOD检测提供了一种替代方法。它们包括训练一个模型来重建分布内数据,并使用重建误差的大小来检测OOD输入。然而,与基于似然的方法相比,基于重建的方法在文献中受到的关注较少[33,44]。一个可能的原因是,这些方法依赖于信息瓶颈,例如小于输入的潜在空间,来有效地重建分布内数据,而不是OOD数据。在实践中,调整这个瓶颈是很有挑战性的:太小甚至分布内数据重构不好,太大甚至OOD数据重构成功。这种调整的需要是不可取的,这可能是这些方法通常被忽视的一个关键原因,有利于OOD检测的生成模型。
扩散去噪概率模型(Diffusion denoising probabilitymodels, DDPM)[10,36]以一种有趣的新视角提出了信息瓶颈题。这些模型经过训练,可以从带噪输入中逐步去除噪声。当一个输入是全噪声的,没有来自输入本身的信息被保留,DDPM将产生一个新的样本。然而,当将DDPM应用于部分带噪声的输入时,来自输入的一些信息被保留,并且去噪过程取决于该带噪声的输入;也就是说,模型会尝试重构输入。施加的噪声量可以看作是可变的信息瓶颈。瓶颈不是训练模型本身的属性,比如自动编码器中潜在空间的大小,而是我们在模型推理过程中可以外部控制的东西,这意味着单个训练模型可以处理许多不同的瓶颈级别。虽然ddpm作为具有外部控制瓶颈的自动编码器的这种解释之前已经被讨论过,但据我们所知,还没有工作试图利用ddpm的这一特性来执行基于重建的OOD检测。
在这项工作中,我们应用ddpm来执行基于重建的OOD检测。我们测量了模型对不同程度的输入噪声的重建质量,并建议使用这组重建误差指标来确定图像是否为OOD。
2 相关工作
OOD检测方法可以大致分为有监督的,需要一些额外的标签或OOD数据,或无监督的,只需要分布内数据。本文对相关工作的概述主要侧重于无监督方法。
2.1 基于生成得方法
一个概念上吸引人的OOD检测方法包括拟合生成模型p(x;θ)拟合到数据分布x上,并评估该模型下未见样本的可能性。假设OOD样本将被分配比分布内样本更低的可能性,并且可以使用该值[2]的简单阈值来识别。从那以后,已经证明OOD的可能性不一定比分布中数据低;例如,在CIFAR10上训练的不同家族的生成模型都为来自SVHN的图像分配了更高的似然[3,9,24]。
随后的研究试图解决生成模型中的这一缺陷。一种方法认为失败可能是由于似然估计错误,并建议在模型集合的似然估计中使用Watanabe-Akaike信息标准(WAIC)来识别OOD样本[3]。其他研究假设似然估计受到人口水平背景统计数据的影响,并建议使用似然比来消除这种影响,要么从额外训练的模型[30]中获得分母,要么从图像复杂性的度量[35]中获得分母。一个密切相关的方法指出,这些方法在变分自编码器(VAE)中表现不佳,并试图为这类模型开发一个特定的似然比[43]。另一种相关的方法指出,较低层次的模型特征支配着可能性,并建议使用分层VAE和要求
样本分布在分层的所有层次[8]中。另一项研究提出,如果样本的可能性不在模型的典型集合内,则将其标记为OOD——简单地说,一个样本不仅可能低于分布内数据的可能性,而且可能高于分布内数据的可能性,那么它可能被认为是OOD的。后续工作建议评估来自模型的多个汇总统计的典型化,而不仅仅是可能性,以评估样本是否是OOD。
2.2 基于重构的方法
基于重建的方法代表了OOD检测的另一种范式。它们涉及训练模型R来重建输入,x´= R(x)。直觉是,如果R包含一个信息瓶颈,比如一个比输入大小低维的潜在空间,它将只能忠实地重建来自它所训练的分布的输入,并且将很差地重建OOD输入。这可以使用输入和重建之间的一些相似性度量S(x, x -)和标记显示低相似性的输入来测量。
一些作品强调了在使用基于重建的方法中的实际问题[4,21,28,48]。如果信息瓶颈太小,模型甚至不能忠实地重建分布中的样本。如果瓶颈太大,模型能够学习恒等函数,允许OOD样本以低误差重建。其结果是,通常需要执行特定于数据集的调优过程来产生性能良好的模型,从而限制了此类模型在实践中的效用。
一些工作已经试图解决这些问题。有人建议使用自编码器特征空间中的马氏距离[22]作为OOD度量[4]。其他研究试图通过引入存储模块来降低自编码器重建OOD样本的能力,并迫使解码器直接从内存中解码,从而鼓励任何重建看起来更类似于分布数据[7]。然而,这些基于重建的工作都没有解决瓶颈选择的基本问题,并且需要对正在考虑的特定分布/OOD数据集配对的信息机器人瓶颈进行一些调整。
也许与我们的工作最密切相关的是AnoD-DPM[40]。在专注于检测局部异常的稍微不同的问题的同时,该工作还建议使用在分布数据上训练的DDPM进行重建。然而,作者建议从单个t值或噪声瓶颈进行重建,并考虑将t的选择调优到数据集。我们试图通过基于ddpm的OOD检测来解决这一缺点,该检测从一系列噪声值中进行重建,从而避免了对任何数据集特定调优的需要。在这项工作的同时,还开发了一种涉及破坏输入和使用ddpm重建的补充方法[20]。
3 方法
为了实现基于重构的 OOD 检测,而不依赖于固定的信息瓶颈,我们建议使用训练过的 DDPM [10] 来重构图像。在训练过程中,样本 x 0 x_0 x0 根据固定的过程和高斯噪声进行降级,根据时间步长 t t t 和噪声方差调度 β t βt βt 产生噪声样本 x t x_t xt。
其中,0 ≤ t ≤ T,我们定义 αt := 1 − βt 和 ¯αt := ∑_{s=1}^{t} αs。调度 βt 被设计为随 t 增加,并且具有这样的性质,即完全噪声化的 xT 接近各向同性的高斯分布,xT ∼ N(0, I);也就是说,xT 不包含关于 x0 的信息。我们训练一个单一的网络,通过估计给定 xt 和 t 的去噪步骤的参数,来迭代地反转扩散过程:
给定这个训练过的模型和一个测试输入 x 0 x_0 x0,我们可以对一系列的 t t t 值采样一组 x t x_t xt 并估计它们的重构, x ^ 0 , t = p θ ( x 0 ∣ x t ) \hat{x}_{0,t} = p_{\theta}(x_0|x_t) x^0,t=p