Page 93 - 《软件学报》2024年第4期
P. 93
周植 等: 面向开集识别的稳健测试时适应方法 1671
移, 无论是经典开集识别方法, 还是基于域不变特征的稳健开集识别方法, 都面临严重的性能下降问题. 因
此, 仅凭静态模型是难以有效应对连续变化的协变量分布 t (X). 测试时适应可以在测试阶段利用无标注测试
样本持续更新模型, 使其适应于连续变化的协变量分布. 有研究 [21,24] 表明, 测试时适应技术能够有效地解决
协变量分布偏移的问题. 因此, 本文考虑使用测试时适应来解决本文所提的开放世界适应问题.
数据分布偏移 数据分布偏移
(a) 模型分类已见类别的准确率 (b) 模型识别了未见类样本的 AUROC
图 2 协变量分布偏移时, 开集识别方法与本文方法分类已见类与识别未见类的性能表现
Tent 是一种代表性的测试时适应方法, 由于其使用方式简单、性能提升显著, 取得了研究者们的广泛关
注. 既有研究 [21] 指出, Tent 在多个基准数据集上均取得了显著的性能提升. 例如: 在图像分类任务 CIFAR10 与
CIFAR100 的协变量分布偏移测试集上, Tent 方法对比基线方法, 错误率相对降低 64.95%与 44.49%. Tent 方法
在测试阶段利用无标注样本更新深度模型的批标准化层(batch normalization layer, BN Layer) [36] . 批标准化层
是深度学习广为使用的技术, 它能解决数据内部的协变量偏移问题. 定义 r∈ B×C×L 为一批样本的特征表示,
其中, B, C, L 分别表示这批样本的数量、图片的通道数量、特征表示的维度. 批标准化层的输出为
r − µ
c
,
BN (r :, ,: ;µσ 2 c ) γ ⋅ = :, ,: c + β (1)
c
c
σ 2 c ε +
2
其中, γ, β是批标准化层中的可学习参数, ε>0 是一个小常数来保证批准化层中数值计算的稳定性, µσ ∈ C
,
c
c
分别表示测试数据分布的均值与方差. 在传统机器学习问题中, 训练数据分布 0 (X)与测试数据分布 t (X)相
同. 因此, µ c , σ c 2 可以直接从训练数据集 D train 中估计得到. 当测试数据的协变量偏移时 0 (X)≠ t (X), 从训练
数据集 D train 中估计得到的均值与方差无法近似测试数据分布的均值与方差. Tent 方法假设测试数据分布 t (X)
连续变化, 用上一时刻的测试数据分布 t−1 (X)近似当前时刻的测试数据分布 t (X); 然后, 其基于公式(2)利用
最近一批测试样本动态估计 µ c , σ c 2 :
1
µ = BL ∑ r b , ,c l
c
, bl (2)
σ 2 1 ∑ (r − µ = ) 2
c BL , bl b , , c l c
既有工作 [35] 证明, 这种简单有效估计方式能够有效地缓解测试数据分布中的协变量偏移问题. 在此基础
上, Tent 方法发现样本的预测正确率与熵值大小呈正相关. 因此, 其利用熵最小化损失 ent (x)来优化批标准化
层中的可学习参数γ, β:
K
x
ent () = −∑ f () log ()fx k x k (3)
k = 1
Tent 及一系列方法 [21,22,27] 均利用熵最小化损失在测试阶段对模型参数进行更新, 显著地提升了深度学习
模型面对协变量分布偏移时的性能表现.