问题设定
源域类别空间 ,目标域类别空间
,其中目标域中包含未知的类别空间
,满足
。
其中源域数据分布 p 与目标域数据分布 q 不一致,及时在共享的类别 上数据分布依旧不一致:
。
所提方法
Partial Optimal Transport
本文提出一种基于 Partial Optimal Transport 的方法,在传统 Optimal Transport 的基础上引入一个自适应的 并仅选择匹配程度小于等于
的样本作为迁移样本。
其中,表示样本 i 与 j 是否匹配成功,基于此引入了一个匹配损失:
将匹配样本的特征对齐,一个未知损失:
期望将匹配到源域样本i但是被标记为未知类的目标域样本j与源域样本i之间的距离拉远。
Joint Discriminative Prototypical Compactness
在学习的过程中估计目标域样本的原型:
与未知样本的原型(如果未知样本聚成多个簇是否会产生问题):
使用利用了 Mahalanobis 距离的类似于交叉熵的损失将同类样本之间的距离拉近,不同类样本之间的距离推远:,其中
,最终损失的形式为:
对于应该属于同一个聚类的样本,则将其向聚类中心拉近:
最终,这个方法的损失是 ,整体内容还是比较多的,看上去比较容易调参数。
实验
实验部分使用了四种评价指标:OS将未知类当成一个类计算平均准确率,OS*仅在已知类上计算平均准确率,ALL, UNK分别计算所有样本的准确率和未知样本的准确率。
实验里比较统一的是数字分类都使用LeNet, Office这种任务都是用ResNet50。
想法
当未知类分布比较散的时候未知类的类心计算不准确或者根本不存在一个本该存在的类心,这种基于原型将其他类别与未知类推远的想法是否是否还适用?
这种样本之间匹配的操作感觉计算开销非常大啊…感觉应用到流式数据上可以修改成基于原型的方法,然后在样本与原型之间匹配和拒绝。
把原型的方法改成统一的对比学习损失。