Page 339 - 《软件学报》2025年第7期
P. 339
3260 软件学报 2025 年第 36 卷第 7 期
(4) 使用上述 (1)–(3) 作为所提出方法的损失项, 用于训练分类器.
基于数据扩增的无监督域适应方法的流程见算法 1.
算法 1. 基于扩增技术的无监督域适应方法 (A-UDA).
{( s s )} n s { } n t
T
输入: 源域中标记样本 D s = x ,y , 目标域中无标记数据 D t = x t , 迭代步骤 i, 总迭代次数 , 阈值为 β 和 τ,
i i i=1 j j=1
λ t 和 ;
权重因子 λ d
输出: 分类器 f θ .
1. 在源域上对分类器进行预训练
2. For i = 0 : T
3. 通过源域数据 D s 训练分类器 , 利用公式 (7) 计算源域损失 L s
f θ
{ } n t
4. 对目标域数据 D t 应用数据扩增, 得到其扩增数据 D a = x a j
j=1
t ˆ Y a
5. 使用分类器 f θ 对目标域数据 D t 和扩增数据 D a 进行预测, 得到 ˆ Y 与
6. 利用公式 (8) 选择具有高置信度的伪标签以及对应目标域样本训练分类器 f θ
7. 利用公式 (9) 对目标域数据未经过 Softmax 的网络输出进行锐化操作得到 ˆ Y t (sharp)
8. 根据公式 (4) 和公式 (10) 分别计算损失 L d 和 , 得到总损失 L total
L t
9. 使用损失 L total 对分类器 f θ 进行训练
10. End
11. 输出分类器 f θ
A-UDA 方法的性能取决于是否能够生成具有较高置信度的、有效的目标域扩增样本. 针对不同的任务场景,
可以采用不同的样本扩增技术, 生成更加准确的、鲁棒的目标域样本, 用于提高一致性正则化损失的计算准确性.
A-UDA 方法可以根据这些目标域中的样本及其扩增样本计算一致性正则化损失, 分类器的性能并不受到影响.
这里, MMD 损失用于计算源域与目标域之间样本分布的差异大小, 其损失计算项中未使用标记信息, 仅仅是
单一计算特征分布之间的距离, 并通过最小化此距离获得分类器性能的提升. 与 MMD 损失不同, 一致性正则化损
失项则描述了目标域中扩增样本及伪标记的损失大小对分类器的影响程度. 由于伪标记是分类器对目标域中的样
本或者扩增样本进行添加得到的, 因此, 利用了分类器在源域中的知识来增加目标域中的训练样本及标记, 提升域
适应任务中分类器的泛化性能. 这里, 一致性正则化技术通过对目标域中数据添加扰动的方式, 增加了能够使分类
器更加具有鲁棒性的扩增样本. 继而, 通过最小化这部分样本与其他目标域中样本间的损失, 获得分类性能更加稳
定的训练模型. 基于伪标记技术的标注扩增则为目标域中的扩增样本和原始样本增加了高置信度的伪标签, 其目
的是充分利用源域上所学习分类器对目标域中每个样本的置信度来提升分类器的学习效果, 并仅选择置信度较高
的目标域中的样本及其标记参与损失计算. 这些扩增样本和伪标记直接用于计算一致性正则化损失项, 旨在充分
利用分类器的知识逐步提升目标域上分类器的性能.
3 实验结果与分析
本节首先在常用的数字和视觉对象两个分类任务上与常用基线方法进行比较, 之后, 基于消融实验验证 A-UDA
方法中各损失的有效性. 用于数字分类任务的数据集有 MNIST [57] 、USPS [58] 、SVHN [59] , 而对于视觉对象分类数据
集, 选择 Office-Home [60] 、ImageCLEF-DA 进行域适应任务实验. 本文使用 PyTorch 框架进行实现, 训练数据仅使
用有标记源域数据和无标记目标域数据, 源域和目标域具有不同的特征分布. 针对所有任务采取在线数据增强的
方式, 优点在于训练时可以在不同的周期针对同一样本产生不同的增强示例. 一边训练一边对样本进行数据扩增,
极大节省数据存储空间, 获得更加接近真实数据的扩增结果.
数据扩增部分采用 Python 图像库 (Python image library, PIL) 中的所有图像处理变换作为基础, 包括: Invert,

