Page 265 - 《软件学报》2020年第9期
P. 265
2886 Journal of Software 软件学报 Vol.31, No.9, September 2020
进行训练模型,其中:基于伪标记的方法和基于实例分类的方法一般使用有标记的源域的数据进行模型预训练,
然后使用无标记的目标域数据进行无监督学习;基于图像生成的方法一般通过将源域中的图像转化成目标域
风格的图像,然后再使用这些图像来训练模型;基于领域自适应的方法旨在减少领域间数据分布的差异,通过特
征的层级来对齐源域和目标域的数据分布,以将源域中的判别性信息迁移到无标记的目标域中.
2.1 基于伪标记的方法
伪标记方法在无监督学习中有着广泛的应用,其主要思想是为无标记的数据产生高质量的伪标记来训练
和更新神经网络,如图 4 所示.Yu 等人 [43] 提出了一种基于软的多标记学习的方法来解决无监督行人重识别问题,
该方法通过借助有标记的辅助数据集来生成代理标签.具体地,通过在辅助数据集上为每一个类别产生一个代
理(可以将其视为聚类中心),然后针对每个无标记的样本计算它们与这些代理的相似性并生成一个相似性向量
(即软的多标记),进而判断两个无标记样本的相似性.例如:如果两个无标记数据生成的软的多标记相似,则它们
大概率属于相同的行人.另外,根据无标记数据原始特征的相似性,该方法挖掘了难的负样本对(即属于不同的
人但外表比较相似的样本对).该方法最终由以下 3 种损失同时优化:(1) 软的多标记学习旨在将无标记数据中
潜在相同的人尽可能拉近,难的负样本对尽可能推远;(2) 软标记分布的一致性学习旨在将不同视角下的软标
记分布尽可能变成相同的分布;(3) 代理样本的学习旨在找出合适的代理,以对有标记的辅助数据集中的每一
个类别(即每一个人)进行表示.
1.怎样产生鲁棒的伪标记?
2.设计怎样的损失函数来有效地使用伪标记 ?
损
特征
失
无标记数据
伪
标
记
Fig.4 Schematic diagram of the methods based on pseudo-label
图 4 基于伪标记方法的学习框架
Yang 等人 [44] 提出了基于分块的判别性特征学习方法,该方法由以下两个模块构成:(1) 基于块的特征学习,
该模块基于分块网络将得到的相似图像块拉近,不相似的图像块推远;(2) 图像层级的块的特征学习,该模块将
原始图像通过随机图像转化的方法 [45] 对其风格进行一定程度的转化,然后得到对应的正样本对,而对于负样本
的选择则采用循环排序的方法挖掘困难的负样本(即对于一个查询样本得到的排序结果,将这些结果中的图像
依次作为查询图像重新得到一个排序列表,然后根据列表中图像的重叠度来判断该查询图像和排序列表中的
图像是否属于一个人),最后,基于生成的正负样本对进行块的三元组损失的计算和优化.Wang 等人 [46] 在有标记
的源域上引入属性语义信息和身份判别信息分别训练两个不同的分支网络,并使用一个自编码网络将身份信
息从身份分支迁移到属性分支.而对无标记的目标域数据,采用在有标记的源域上训练好的属性分支来生成属
性的伪标记信息,再使用这些带有伪标记信息的目标域数据来更新网络.在测试阶段中,作者使用属性分支的特
征作为最终的特征.Lv 等人 [47] 提出使用摄像头的时空信息来提升生成正确的正样本对的概率,然后基于这些融
合时空信息的正负样本对进行模型的训练和更新.在框架中,作者提出了一种基于贝叶斯推断的融合模型,该模
型能够有效地将时空信息融入到样本的相似性度量中.
近年来,许多工作也将传统的聚类方法引入到无监督的行人重识别任务中,用来产生伪标记的信息.