Denoising diffusion models for out-of-distribution detection

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/602876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 12实验

1.导入数据。 2.清洗数据,将缺失值或“NAN”替换为“无”,并将文本数据转换为数值型数据。 3.使用聚类算法(如KMeans)对数据进行聚类,并计算样本到簇中心的平均距离以确定最佳的簇数量。 4.对数据进行PCA降维&#xff…

Django Admin后台管理:高效开发与实践

title: Django Admin后台管理:高效开发与实践 date: 2024/5/8 14:24:15 updated: 2024/5/8 14:24:15 categories: 后端开发 tags: DjangoAdmin模型管理用户认证数据优化自定义扩展实战案例性能安全 第1章:Django Admin基础 1.1 Django Admin简介 Dj…

AI预测福彩3D第10套算法实战化赚米验证第1弹2024年5月5日第1次测试

从今天开始,准备启用第10套算法,来验证下本算法的可行性。因为本算法通过近三十期的内测(内测版没有公开预测结果),发现本算法的预测结果优于其他所有算法的效果。彩票预测只有实战才能检验是否有效,只有真…

旅游出行大热!景区电话却打不通了?

根据文化和旅游部5月6日发布的数据显示,今年“五一”假期,全国国内旅游出游合计2.95亿人次。 这个数据可以看出出游的热度是非常高的,但有网友表示在旅游的时候遇到糟心的事情,比如无法联系到景区,网友吐槽自己打电话20次仅仅接通了一次&…

前端奇怪面试题总结

面试题总结 不修改下面的代码进行正常解构 这道题考的是迭代器和生成器的概念 let [a,b] {a:1,b:2}答案 对象缺少迭代器,需要手动加上 Object.prototype[Symbol.iterator] function* (){// return Object.values(this)[Symbol.iterator]()return yeild* Object.v…

场外期权个股怎么对冲?

今天期权懂带你了解场外期权个股怎么对冲?场外个股期权是一种在非交易所市场进行的期权交易,它允许投资者针对特定的股票获得未来买入或卖出的权利。 场外期权个股怎么对冲? 持有相反方向的期权:这是最直接的对冲方法&#xff0c…

一分钟教你学浪app视频怎么缓存

你是否在学浪app上苦苦寻找如何缓存视频的方法?你是否想快速、轻松地观看自己喜欢的视频内容?那么,让我们一起探索一分钟教你如何缓存学浪app视频的技巧吧! 学浪下载工具我已经打包好了,有需要的自己下载一下 学浪下…

【数据分享】2006—2022年我国城市级别的市政设施水平相关指标(免费获取)

市政公用设施水平,作为衡量一座城市基础设施建设情况的核心指标之一,其完善程度、运行效率以及服务质量,不仅直接关乎城市的日常运转与居民生活质量,更是评估城市综合竞争力、宜居性以及可持续发展能力的关键要素。 我们发现在《…

unity-C#调用百度千帆AppBuilder的OpenApi

目录 功能描述准备工作百度智能云账号创建应用编辑应用创建Api秘钥Api调用流程unity代码Unitywebrequest非流式流式注意事项 Restsharp 功能描述 使用百度千帆AppBuilder平台,通过api调用的方式实现AI大模型对话功能(文字) 准备工作 百度智能云账号 请自行在百度智能云进行…

001_Langchain

LangChain LangChain 是一个开源框架,旨在帮助开发者使用大型语言模型(LLMs)和聊天模型构建端到端的应用程序。它提供了一套工具、组件和接口,以简化创建由这些模型支持的应用程序的过程。LangChain 的核心概念包括组件(Components)、链(Chains)、模型输入/输出(Mode…

Failed to build flash-attn:ERROR: Could not build wheels for flash-attn

安装 FlashAttention 的时候遇到报错: Failed to build flash-attn ERROR: Could not build wheels for flash-attn, which is required to install pyproject.toml-based projects可能是安装的版本与环境存在冲突吧,我的环境是: python 3.1…

GRU模块:nn.GRU层的介绍

如果需要深入理解GRU的话,那么内部实现的详细代码和计算公式就比较重要,中间的一些过程和变量的意义需要详细关注,只有这样,才能准备把握这个模块的内涵和意义,设计初衷和使用方式等等,所以,仔细…

值得推荐的多款iPaaS工具

当今企业面临着日益复杂的数据和系统集成挑战,为了提高业务效率和灵活性,许多企业转向了iPaaS工具(Integration Platform as a Service,即集成平台即服务)。iPaaS工具可以帮助企业轻松地连接和集成各种应用程序、数据和…

如何切换PHP版本

如果服务器上安装了多个php,可能会导致默认的php版本错误,无法启动swoole等服务, 查看命令行的php版本方法:https://q.crmeb.com/thread/9921 解决方法如下,选一个即可: 一、切换命令行php版本&#xff…

servlet-会话(cookie与session)

servlet会话技术 会话技术cookie创建Cookieindex.jspCookieServlet 获取Cookieindex.jspshowCookie session创建sessionindex.jsplogin.jspLoginServlet 获取sessionRedurectServket 清除会话login.jspClearItmeServlet 会话技术 两种会话:cookie,sessi…

在 Linux 中创建文件

目录 ⛳️推荐 前言 使用 touch 命令创建一个新的空文件 使用 echo 命令创建一个新文件 使用 cat 命令创建新文件 测试你的知识 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…

利用Python简单操作MySQL数据库,轻松实现数据读写

PyMySQL是Python编程语言中的一个第三方模块,它可以让Python程序连接到MySQL数据库并进行数据操作。它的使用非常简单,只需要安装PyMySQL模块,然后按照一定的步骤连接到MySQL数据库即 可。本文将介绍PyMySQL的安装、连接MySQL数据库、创建表、…

嗨动PDF编辑器V1.60版本发布,有哪些亮点值得注意!

嗨动PDF编辑器V1.60版发布,有哪些亮点值得注意呢? 在数字信息爆炸的时代,PDF文档以其跨平台、易于阅读和保持格式统一的特性,成为了工作、学习和生活中的常客。但很多时候,我们收到的PDF文档只是“只读”的&#xff0…

什么是香草看涨期权?香草看涨期权有哪些特点?

什么是香草看涨期权?香草看涨期权有哪些特点? 香草看涨期权,通常也称为香草期权,是金融市场上的一种金融衍生品,由券商或金融机构推出。它允许投资者以较小的费用获取相应股票市值的收益权,主要用于风险管…

6款好用的数据恢复软件推荐【不收费】+【收费】

日常办公和学习中,总有一些小粗心鬼会不小心误删了自己的重要文件,或者是由于设备故障导致数据丢失。如果需要进行数据恢复,那么可以试试数据恢复工具,只需要自己再电脑中操作,就可以帮助找回数据文件,下面…