【分布外检测】《Energy-based Out-of-distribution Detection》 NIPS‘20

《Energy-based Out-of-distribution Detection》NIPS'20论文介绍了如何利用能量模型代替softmax函数来识别异常样本,特别是在深度学习和机器学习中。通过对模型进行特定的正则化项调整,可以提高OOD检测的准确性,同时保持对内分布数据的良好性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Energy-based Out-of-distribution Detection》 NIPS’20

不改变模型结构,在任意模型上用能量函数替代softmax函数,识别输入数据是否为异常样本。还提出一个基于能量的正则化项,用来针对性fine-tuning模型。

解决什么问题

当模型遇到和训练数据差别很大的数据时,就会出现out-of-distribution (OOD)uncertainty,这个时候模型表现很差。识别出这些OOD数据很重要,比如对抗样本、异常检测。

传统的OOD检测方法是基于softmax confidence,即对于ID数据,模型会给一个高可信度的结果,对于可信度低的就是OOD样本。但是也可能会给OOD样本高可信度(比如对抗样本)。

这篇文章提出一个energy function来替换softmax函数识别OOD,ID样本能量低,OOD样本能量高。

image-20210319155054261

什么是能量模型(EBM)

能量模型最早由LeCun在2006年提出,本质构建一个能连函数 E ( x ) : R D → R E(x): \mathbb{R}^{D} \rightarrow \mathbb{R} E(x):RDR,将输入空间的每个样本 x x x映射到一个表示能量的非概率标量上。然后通过Gibbs分布可以将能量转化为概率密度:
p ( y ∣ x ) = e − E ( x , y ) / T ∫ y ′ e − E ( x , y ′ ) / T = e − E ( x , y ) / T e − E ( x ) / T (1) p(y \mid \mathbf{x})=\frac{e^{-E(\mathbf{x}, y) / T}}{\int_{y^{\prime}} e^{-E\left(\mathbf{x}, y^{\prime}\right) / T}}=\frac{e^{-E(\mathbf{x}, y) / T}}{e^{-E(\mathbf{x}) / T}} \tag{1} p(yx)=yeE(x,y)/TeE(x,y)/T=eE(x)/TeE(x,y)/T(1)
其中分母被称为配分函数, T T T是温度参数。此时对于任意样本的能量 E ( x ) E(x) E(x)为:
E ( x ) = − T ⋅ log ⁡ ∫ y ′ e − E ( x , y ′ ) / T (2) E(\mathbf{x})=-T \cdot \log \int_{y^{\prime}} e^{-E\left(\mathbf{x}, y^{\prime}\right) / T} \tag{2} E(x)=TlogyeE(x,y)/T(2)
对于一个 K K K类的神经网络分类器 f ( x ) : R D → R K f(x): \mathbb{R}^{D} \rightarrow \mathbb{R}^{K} f(x):RDRK将输入映射到 K K K个对数值,通过softmax得到当前样本属于某一类的概率:
p ( y ∣ x ) = e f y ( x ) / T ∑ i = 1 K e f i ( x ) / T (3) p(y \mid x)=\frac{e^{f_{y}(x) / T}}{\sum_{i=1}^{K} e^{f_{i}(x) / T}} \tag{3} p(y

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值