Page 81 - 《软件学报》2024年第4期
P. 81
王帆 等: 局部一致性主动学习的源域无关开集域自适应 1659
并放入主动样本的集合;
8: 基于阈值, 得到潜在的公共类和开放类合. 利用主动样本的集合来对这两个集合进行匹配纠正,
得到可信的公共类和开放类集合;
9: 对可信公共类样本聚类, 得到可信的伪标签;
10: While iter_num<n b do //n b 表示所有样本计算出来的批次总数, n b =样本数量/batch_size
***第 2.2.2 节利用主动样本点***
11: 对开放类样本利用公式(1)计算开集损失, 对公共类样本利用公式(2)和公式(3)计算交叉熵损失
和信息最大化损失;
12: 利用整体的损失(4)训练模型 h t ;
13: end while
14: end while
3 实验与结果
本节通过对比实验, 从多方面验证了本文提出方法的有效性. 实验部分将按照数据集、基准方法、实验
细节和衡量指标、实验结果与分析展开介绍. 代码公布在 https://github.com/fanwang826/LCAL.
3.1 数据集
本文在 3 个无监督域自适应的公开基准数据集上评估了 LCAL 算法, 这 3 个数据集分别为 Office-31 [44] ,
Office-Home [45] 和 VisDA-C [46] . Office-31 是一个标准的小型域自适应数据集, 包含了来自 Amazon(A), Dslr(D)
和 Webcam(W)这 3 个 office 环境领域, 31 个类别, 共 4 110 张图片. 3 个领域可以组成6种迁移场景. 本文划分
前 10 类作为公共类别, 后 11 类作为开放类别. Office-Home 相对是一个中型且具备挑战的数据集, 其包含
Artistic(Ar), Clipart(Cl), Product(Pr)和 Real-world(Re)这 4 个领域, 每个领域含有 65 个类别, 共 15 588 张图片,
可以组成 12 种迁移场景. 本文划分前 25 类作为公共类别, 后 40 类作为开放类别. VisDA-C 是一个极具挑战
的大型数据集, 共有 12 类. 源域包含 15.2 万张通过渲染 3D 模型生成的合成(S)图像, 而目标域包含 5.5 万张
从 Microsoft COCO 采样的真实(R)物体图像. 本文划分前 6 类作为公共类别, 后 11 类作为开放类别. 以上 3
个数据集开放类和公共类的划分方式参考了现有开集域自适应工作 UMAD [13] .
3.2 基准方法
本文将 LCAL 算法与目前需要额外数据和额外训练的源域无关开集域自适应方法和目前主流的主动学习
的方法分别进行了比较. 对比的源域无关开集域自适应方法包括: (1) Inheritune [12] , (2) OSHT-SC [15] ; 和 (3)
UMAD [13] . 对比的主动学习的方法包括: (1) Random: 随机选择样本作为主动样本; (2) Least Confidence
(LC) [25] : 选择具备最小的模型预测输出概率样本作为主动样本; (3) Entropy [24] : 选择具备最大的信息熵的样本
作为主动样本; (4) Best-Versus-Second-Best (BVSB) [47] : 选择最大的两个输出概率的差值最小的样本作为主动
样本; (5) K-means: 对目标域样本进行 K-means 聚类, 并挑选每类的类中心作为主动样本; (6) Coreset [26] :
Coreset 将主动样本的选择过程看成一个 set-cover 问题, 本文复现了 Coreset 提供的官方代码; (7) Batch Active
Learning by Diverse Gradient Embeddings (BADGE) [48] : BADGEE 在梯度嵌入中执行 K-means++算法, 来挑选
保证分散批次的主动样本, 本文复现了 BADGE 提供的官方代码.
3.3 实验细节和衡量指标
参考现有的源域无关开集域自适应方法的标准实验设置, Office-31 和 Office-Home 利用在 ImageNet 上训
练好的 ResNet 50 作为基础骨干网络, VisDA-C 利用在 ImageNet 上训练好的 ResNet101 作为骨干网络. 实验中,
训练图片的尺寸被重设置为 256×256, 并且使用随机水平翻转的手段将其随机裁剪为 224×224. 参考 SHOT [43] ,
−4
在源域模型的训练过程中, 本文引入了标签平滑技巧. 本文使用 SGD 作为优化器, 其重量衰减值为 5×10 ,
−2
动量为 0.9. 在整体模型的训练过程中, Office-31 和 Office-Home 数据集上的学习率被设置为 1e , VisDA-C 上