[论文分享] VOS: Learning What You Don‘t Know by Virtual Outlier Synthesis

news2024/12/28 2:20:05

这篇文章是ICLR‘ 2022的一篇文章。

No.content
PAPER{ICLR’ 2022} VOS: Learning What You Don’t Know by Virtual Outlier Synthesis
URL论文地址
CODE代码地址

Motivation

· 现有OOD Detection方法大多依赖于真实的离群点数据集进行模型正则化,实际应用中过于昂贵,有时不可行。

· 作者认为导致OOD data效果差,主要是因为训练过程中缺少未知的知识,只在ID data上训练产生的决策边界对OOD Detection来说可能很糟糕。如图1-b所示,只用ID训练出来的分类器overconfident于远离ID data的区域(红色阴影部分),增加了OOD Detection的难度。作者认为模型应该学习一个更紧凑的决策边界,对于ID data应该有更低的不确定性,对OOD data有高的不确定性,如图1-c所示。
Figure 1

Contribution

· 提出了新的框架VOS,实现了SOTA

· VOS在feature space生成outliers的方式要比其他方法直接在高维像素空间生成的效果要好(e.g., using GAN (Lee et al., 2018a)),也优于直接使用噪声作为outliers的方法。

· 在常见的OOD Detection的benchmarks上测试了方法,还测试了一些目标检测任务。

Method

Figure 2

· 1. virtual outliers generation
假设特征表示满足多元类条件高斯分布:
p θ ( h ( x , b ) ∣ y = k ) = N ( μ k , ∑ ) p_{\theta}(h(x,\mathbb{b})|y=k)=\mathcal{N}(\mu_{k},\sum) pθ(h(x,b)y=k)=N(μk,)
提取倒数第二层网络的特征,计算当前训练样本的 μ ^ k \hat{\mu}_k μ^k ∑ ^ \hat{\sum} ^
μ ^ k = 1 N k ∑ i : y i = k h ( x I , b I ) \hat{\mu}_k=\frac{1}{N_k}\sum_{i:y_i=k}h(x_I,b_I) μ^k=Nk1i:yi=kh(xI,bI)
∑ ^ = 1 N ∑ k ∑ i : y i = k ( h ( x i , b i ) − μ ^ k ) ( h ( x i , b i ) − μ ^ k ) T \hat{\sum}=\frac{1}{N}\sum_{k}\sum_{i:y_i=k}(h(x_i,b_i)-\hat{\mu}_k)(h(x_i,b_i)-\hat{\mu}_k)^{T} ^=N1ki:yi=k(h(xi,bi)μ^k)(h(xi,bi)μ^k)T

得到高斯分布后,从特征空间采样outliers,
在这里插入图片描述
其中, ϵ \epsilon ϵ应该足够小,保证采样的点很靠近类边界。
 
· 2. uncertainty Loss
Follow Liu et al., 2020a的思路,作者基于Energy-based model在OOD Detection uncertainty measurement优秀效果的启发,设计了uncertainty Loss。思路其实就是让ID data有更低的energy,outliers有更高的能量,作者这里直接让其分别为正值和负值了。
在这里插入图片描述
进一步,得到平滑近似版本
在这里插入图片描述
相比于Liu et al., 2020a的方法,作者认为他的方法不用再设置in- and out- of distribution data的超参阈值,效果更好。

最后总的training objective如下,
在这里插入图片描述

 
· 3. virtual outliers generation
在inference过程中,使用逻辑回归不确定性分支的输出进行OOD Detection。给定输入 x ∗ x^{*} x,object detector产生 b ∗ b^{*} b。OOD Detection的不确定性分数为
在这里插入图片描述
设置阈值区分ID和OOD目标
在这里插入图片描述
VOS整体framework:
在这里插入图片描述

 
 
Reference
Weitang Liu, Xiaoyun Wang, John Owens, and Yixuan Li. Energy-based out-of-distribution detection. Advances in Neural Information Processing Systems, 2020a.
Du X, Wang Z, Cai M, et al. VOS: Learning What You Don’t Know by Virtual Outlier Synthesis[C]//International Conference on Learning Representations.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常用位运算

一、求解二进制表示的第k位数字 #include<iostream> using namespace std;int main() {int n 10; // 例如&#xff0c;十进制10用二进制表示为1010 for(int k3;k>0;k--)cout << (n >> k & 1);// 第一步&#xff1a;右移k位// 第二步&#xff1a; &am…

JVM基础总结

文章目录 一、程序计数器二、Java虚拟机栈栈内存溢出【StackOverflowError】线程运行诊断 三、本地方法栈【Native Method Stacks】四、堆【Head】线程共享堆内存溢出【OutOfMemoryError&#xff1a;Java heap space】堆内存诊断 五、方法区【Method Area】线程共享运行时常量池…

Springboot +Flowable,为流程设置租户

一.简介 什么叫flowable的租户呢&#xff1f;这边举个例子&#xff1a; 假设现在有 A、B、C、D 四个子系统&#xff0c;四个子系统都要部署同一个名为 leave 的流程&#xff0c;如何区分四个不同子系统的的流程呢&#xff1f;通过租户就可以解决这个问题。Flowable 中的租户其…

dell r750服务器安装centos系统全记录

1、启动盘制作 1.1 下载系统 打开 https://www.centos.org/download/ 任意选择一个镜像网站&#xff0c;博主选择的是163镜像 下载内存为4g镜像文件 这里也可以参考 https://blog.csdn.net/weixin_46703995/article/details/121191113 1.2 下载启动盘制作软件 linux系统一…

Denoising Diffusion Probabilistic Model,DDPM阅读笔记——(二)

Denoising Diffusion Probabilistic Model&#xff0c;DDPM阅读笔记 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&#xff09; 一、去噪扩散概率模型&#xff08;Denoising Diffusion Probabilistic Model&#xff0c;DDPM&…

C++数据结构:手撕红黑树

目录 一. 红黑树的概念及结构 二. 红黑树节点的定义 三. 红黑树节点的插入 3.1 初步查找插入节点的位置并插入节点 3.2 红黑树结构的调整 3.3 红黑树节点插入完整版代码 四. 红黑树的结构检查 4.1 检查是否为搜索树 4.2 检查节点颜色是否满足要求 附录&#xff1a;红黑…

TypeScript进阶

目录 TypeScript 与 Vue 文档说明 vscode 插件说明 准备页面基本结构 defineProps与Typescript defineEmits与Typescript ref与Typescript reactive与Typescript computed与Typescript 事件对象与Typescript 模板Ref与Typescript 可选链操作符和非空断言 TypeScript…

21.网络爬虫—js逆向详讲与实战

网络爬虫—js逆向 js逆向JavaScript逆向的详细讲解实战演示有道翻译设置密钥和初始向量对密钥和初始向量进行哈希处理创建AES对象并解密消息移除padding并返回结果 前言&#xff1a; &#x1f3d8;️&#x1f3d8;️个人简介&#xff1a;以山河作礼。 &#x1f396;️&#x1f…

python基于卷积神经网络实现自定义数据集训练与测试

样本取自岩心照片&#xff0c;识别岩心是最基础的地质工作&#xff0c;如果用机器来划分岩心类型则会大大削减工作量。 下面叙述中0指代Anhydrite_rock&#xff08;膏岩&#xff09;&#xff0c;1指代Limestone&#xff08;灰岩&#xff09;&#xff0c;2指代Gray Anhydrite_r…

深度学习-第T6周——好莱坞明星识别

深度学习-第T6周——好莱坞明星识别 深度学习-第T6周——好莱坞明星识别一、前言二、我的环境三、前期工作1、导入数据集2、查看图片数目3、查看数据 四、数据预处理1、 加载数据1、设置图片格式2、划分训练集3、划分验证集4、查看标签 2、数据可视化3、检查数据4、配置数据集 …

Flutter学习之旅 - 页面布局Stack层叠组件

文章目录 StackPositioned定位布局浮动导航(StackPositioned)FlutterMediaQuery获取屏幕宽度和高度StackAlign Stack Stack意思是堆的意思&#xff0c;我们可以用Stack结合Align或者Stack结合Positioned来实现页面的定位布局 属性说明alignment配置所有元素显示位置children子组…

23.Lambda表达式

Lambda表达式 一、Lambda表达式背景 Lambda 表达式(lambda expression)是一个匿名函数&#xff0c;Lambda表达式基于数学中的λ演算得名&#xff0c;直接对应于其中的lambda抽象(lambda abstraction)&#xff0c;是一个匿名函数&#xff0c;即没有函数名的函数。Lambda表达式…

2023-05-05 背包问题

背包问题 1 01背包和完全背包问题 01背包问题 有N件物品和一个容量为V的背包&#xff0c;第i件物品的体积是v[i]、价值是w[i]&#xff0c;每种物品只可以使用一次&#xff0c;求将哪些物品放入背包可以使得价值总和最大。这里的w是weight即权重的意思 这是最基础的背包问题&a…

【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手

文章目录 前言环境列表视频教程1.飞书设置2.克隆feishu-chatgpt项目3.配置config.yaml文件4.运行feishu-chatgpt项目5.安装cpolar内网穿透6.固定公网地址7.机器人权限配置8.创建版本9.创建测试企业10. 机器人测试 转载自远控源码文章&#xff1a;飞书接入ChatGPT - 将ChatGPT集…

Ubuntu 如何查看 CPU 架构、系统信息、内核版本、版本代号?

Ubuntu 查看 CPU 架构、系统信息、内核版本、版本代号等相关信息有很多方式&#xff0c;本文介绍几种常用的命令。 x86 架构与 ARM 架构的 CPU 架构不同&#xff0c;如果回显为 aarch64 表示为 ARM 架构&#xff0c;如果回显为 x86_64 表示为 x86 架构&#xff0c;参考《CPU 架…

Prometheus快速入门

Prometheus快速入门 环境准备 三台主机&#xff0c;配置好主机名 各自配置好主机名 # hostnamectl set-hostname --static server.cluster.com ... 三台都互相绑定IP与主机名 # vim /etc/hosts 192.168.126.143 server.cluster.com 192.168.126.142 agent.clu…

归并排序(看了就会)

目录 概念1. 基本思想2. 实现逻辑3. 复杂度分析4、代码 概念 归并排序&#xff0c;是创建在归并操作上的一种有效的排序算法。算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;且各层分治递归可以同时进行。归并排序思路简单&…

智头条|欧盟达成《人工智能法》协议,全球前沿科技齐聚AWE 2023

行业动态 华为云联手多方推进数字化&#xff0c;软通动力深度参与 华为云宣布启动“‘百城万企’应用现代化中国行”&#xff0c;旨在推动应用现代化进程、助力数字中国高质量落地。软通动力是该行动的参与者之一&#xff0c;共同探索符合区域特点、产业趋势、政企现状的数字化…

Python进阶(Linux操作系统)

一&#xff0c;操作系统 1.1&#xff0c;Linux系统基础操作 1.2&#xff0c;linux进程与线程 1.2.1并发&#xff0c;并行 &#xff08;1&#xff09;并发&#xff1a;在一段时间内交替的执行多个任务&#xff1a;对于单核CPU处理多任务&#xff0c;操作系统轮流让让各个任务…

BasicVSR++代码解读(总体介绍)

本文代码主要来自于OpenMMLab提供的MMEditing开源工具箱中的BasicVSR代码。第一部分的解读主要是针对每一个部分是在做什么提供一个解释&#xff0c;便于后续细读每一个块的细节代码。 &#xff08;1&#xff09;导入库     basicvsr_plusplus_net中主要继承了torch,mmcv,m…