1. 背景
异常检测目标
给定数据集 { x m } m = 1 M \{x_m\}^M_{m=1} {xm}m=1M,分布外(OOD)检测的目标是对 { x m } \{x_m\} {xm}上的检测器建模,识别x为分布内(ID)或者分布外(OOD)数据。
对比学习
对比学习的思想是学习编码器 f θ f_θ fθ,以提取必要的信息,将相似样本与其他样本区分开来。设 x x x为查询, x + {x_+} x+与 x − {x_−} x− 分别为一组正样本和负样本。对比损失的原始形式定义如下:
其中
∣
x
+
∣
|{x_+}|
∣x+∣表示集合{x+}的势,
z
(
x
)
z(x)
z(x)表示对比层的输出特征,
τ
τ
τ表示温度超参数。可以定义对比特征
z
(
x
)
z(x)
z(x) 。
s
i
m
(
z
,
z
′
)
sim(z,z')
sim(z,z′)为余弦相似性。
可以直接定义对比特征
z
(
x
)
z(x)
z(x)为编码器
f
θ
f_θ
fθ,即
z
(
x
)
=
f
θ
(
x
)
z(x)=f_θ(x)
z(x)=fθ(x),或应用额外的投影层
g
φ
g_φ
gφ,即
z
(
x
)
=
g
φ
(
f
θ
(
x
)
)
z(x)=g_φ(f_θ(x))
z(x)=gφ(fθ(x))。论文中使用了投影层。
SimCLR的目标损失函数通过对比损失来定义:
其中
B
:
=
x
i
i
=
1
B
B:={x_i}^B_{i=1}
B:=xii=1B为给定的批次,每个
(
x
~
i
(
1
)
,
x
~
i
(
2
)
)
(\tilde{x}^{(1)}_i,\tilde{x}^{(2)}_i)
(x~i(1),x~i(2))为查询密钥(query-key)对,分别为对样本
x
x
x进行两个同系列变换得到的变换样本。其他来自不同图片的样本为负样本。
2. CSI
2.1 Contrasting shifted instances
论文定义的 CSI(Contrasting shifted instances)损失为:
其中
S
S
S为不同变换(包括恒等式
I
I
I)中的一个,即
S
∈
{
S
1
,
.
.
.
,
S
K
−
1
}
S∈ \{S_1, . . . , S_{K−1}\}
S∈{S1,...,SK−1}.
2.2 Classifying shifted instances
论文还考虑了一个辅助任务,该任务可以预测给定的输入
x
x
x应用了哪些移位转换
y
S
∈
S
y^S∈ S
yS∈S,以便于
f
θ
f_θ
fθ区分每个移位实例。论文在
f
θ
f_θ
fθ上添加了一个线性层,用于建模辅助softmax分类器。设
B
~
S
\tilde{B}_S
B~S为通过SimCLR从
B
S
B_S
BS扩充而来的批次,损失定义如下:
最终损失CSI通过结合两个目标来定义:
实验中
λ
=
1
λ=1
λ=1。
3. 检测OOD分数的函数
3.1 对比表征的检测分数
论文发现SimCLR表示的两个特征在检测OOD样本方面有效:
(a)
x
x
x与
{
x
m
}
\{x_m\}
{xm}中最近的训练样本的余弦相似性,即
max
m
s
i
m
(
z
(
x
m
)
,
z
(
x
)
)
\max_m sim(z(x_m),z(x))
maxmsim(z(xm),z(x))
(b)表示的范数,即
∣
∣
z
(
x
)
∣
∣
||z(x)||
∣∣z(x)∣∣。
直观地说,对比损失增加了分布样本的范数,因为通过增加(1)的分母,可以很容易地最小化相同样本的余弦相似性。论文简单地结合这些特征来定义对比表征的检测分数:
3.2 利用变换
论文提出了两个额外的分数分别对应于
L
c
o
n
−
S
I
L_{con-SI}
Lcon−SI(3)和
L
c
l
s
−
S
I
L_{cls-SI}
Lcls−SI(4):
总的分数为: