Learning to cluster in order to transfer across domains and tasks (ICLR 2018)

news/2024/5/20 7:02:03 标签: 聚类, 机器学习, 算法

Learning to cluster in order to transfer across domains and tasks (ICLR 2018)

摘要

这篇论文提出一个进行跨域/任务的迁移学除了习任务,并将其作为一个学习聚类的问题。除了特征,我们还可以迁移相似度信息,并且这是足以学习一个相似度函数和聚类网络来同时进行域自适应和跨任务迁移学习。首先,我们将分类信息弱化为两两约束,也就是只考虑两个样本是否属于同一类(两两语义相似度)。这种相似度是不知道类别的,并且可以通过相似度网络从源域数据中学到。我们接着展示了两种用这个相似度函数的新方法来进行迁移学习。第一,针对无监督的域自适应任务,我们设计了一种新的损失函数来正则化带有约束的聚类损失的分类,因此学习一个带有迁移相似度度量的聚类网络来生成训练输入。第二,针对跨任务学习(例如含有未知类别的无监督聚类),我们提出一个框架再次利用聚类网络来重构和估计语义簇的数量。因为相似度网络是具有噪声干扰的,因此关键是用一个强健的聚类算法。并且,我们展现了我们的构想是比一些可选择的带约束或者无约束的聚类方法更加稳定。使用该方法,我们首先展示针对具备挑战性的跨任务问题最先进的结果,应用在Omniglot和ImageNet数据集上。我们的实验结果说明我们可以以较高的准确率来重构语义簇。然后,我们使用来自Office-31和SVHN-MNIST的图像评估跨域迁移的性能,并在这两个数据集上显示了最高的准确性。我们的方法没有明确地处理域差异。如果结合域自适应损失,则显示出进一步的改进。

迁移学习任务

为了定义这项工作中的迁移学习任务,我们沿用了Pan和Yang的符号。迁移学习的目标是从源域数据 S = ( X S , Y S ) S=(X_S,Y_S) S=(XS,YS)迁移知识到目标域 T = ( X T , Y T ) T=(X_T,Y_T) T=(XT,YT),其中 X S X_S XS是数据样本集合, Y S Y_S YS是与之对应的类别标签。该学习过程是无监督的,因为 Y T Y_T YT是未知的。该场景被分为两只情况。一种是 { Y T } ≠ { Y S } \{Y_T\}\ne \{Y_S\} {YT}={YS},也就是说类别集合是不相同的,因此这种迁移被称为跨任务迁移;另一种是 { Y T } = { Y S } \{Y_T\}=\{Y_S\} {YT}={YS},但是存在域偏移,换句话说,输入数据的边缘概率分布是不同的,例如 P ( X T ) ≠ P ( X S ) P(X_T) \ne P(X_S) P(XT)=P(XS)。后者是一种跨域学习问题,也被称为直推式学习。最近获得极大关注的域自适应方法属于第二种例子。

为了对齐常用基准测试集来评估迁移学习的能力,我们继续使用辅助数据集的记法,并且将源数据分为两个部分 S = S ′ ∪ A S=S' \cup A S=SA,其中 S ′ = ( X S ′ , Y S ′ ) S'=(X'_S,Y'_S) S=(XS,YS)是仅在跨域迁移方案中使用,并且 { Y T } = { Y S ′ } \{Y_T\}=\{Y'_S\} {YT}={YS} A = ( X A , Y A ) A=(X_A,Y_A) A=(XA,YA)是辅助数据集,包含大量的标注数据和潜在类别,即可能包含 { Y T } \{Y_T\} {YT}中的部分类别,也可能不包含。对跨任务场景,只使用 A A A和无标注的 T T T,而对跨域任务而言,则包含 A , S ′ A, S' A,S T T T。在接下来的章节都采用以上符号,并详细描述两类迁移学习任务。大意如图所示:在这里插入图片描述

跨任务迁移

如果目标任务中含有不同的类别,我们不能直接从源域迁移分类器,并且我们是没有标注好的目标域的数据用来微调迁移特征。在此,我们首先提出要将分类问题简化为代理同任务问题,对于变形后的问题,我们直接使用了直推式迁移学习。目标域中的簇结构是通过变形后的任务的预测结果重构出来的。
在这里插入图片描述

源数据包含一个标注好的辅助数据集 A A A,和一个未标注的目标数据集 T T T Y T Y_T YT必须是可以推导的。在该场景下类别集合 { Y A } ≠ { Y T } \{ Y_A\} \ne \{Y_T\} {YA}={YT},并且 Y T Y_T YT是未知的。我们首先将分类问题转化为一个两两相似度预测问题。换句话说,我们指定了一个变换函数 R R R使得 R ( A ) = ( X A R , Y R ) R(A)=(X^R_A, Y^R) R(A)=(XAR,YR),其中 X A R = { ( x A , i , x A , j ) } ∀ i , j X^R_A=\{(x_{A,i},x_{A,j})\}_{\forall i,j } XAR={(xA,i,xA,j)}i,j包含所有组合,而 Y R = { d i s s i m i l a r , s i m i l a r } {Y^R}=\{dissimilar, similar\} YR={dissimilar,similar},对标注好的辅助数据的变换是很简单的。如果两个数据样本来自同一个类别,那么标签就是 s i m i l a r similar similar,反之亦然。我们用它去学习一个两两相似度预测函数 G ( x i , x j ) = y i , j G(x_i,x_j)=y_{i,j} G(xi,xj)=yi,j。通过在 T T T上应用 G G G,我们可以得到 G ( x T , i , x T , j ) = y T , i , j G(x_{T,i}, x_{T,j})=y_{T,i,j} G(xT,i,xT,j)=yT,i,j。下一步就是从 Y T R = { y T , i , j } ∀ i , j Y^R_T= \{y_{T,i,j}\}_{\forall i,j } YTR={yT,i,j}i,j中推导出 Y T Y_T YT,这个可以通过带约束的聚类算法解决,由于 Y T Y_T YT是未知的,所以算法只能推导出类别的索引,这可以说任意顺序。预期所得到的聚类结果将包含一致的语义类别。

跨域迁移

我们考虑该问题的设置等同于无监督的域自适应。按照标准的评估步骤,标注数据集 A A A I m a g e N e t ImageNet ImageNet S ′ S' S O f f i c e − 31 Office-31 Office31数据集,未标注的 T T T O f f i c e − 31 Office-31 Office31数据集中的另一个域。目标就是增强在 T T T上的分类性能,通过利用 A , S ′ , T A, S', T A,S,T

可学习聚类目标(LCO)

受在损失函数中加入两两之间信息的约束聚类的启发,我们方法的关键是设计一个学习目标来利用预测的两两相似度(含有噪声)。成对的信息称为必须连接/不能链接(must-link/cannot-link)或者相似/不相似对(similar/dissimilar),本文中使用的是后者。相应地,相似和不相似对之间的信息也被二值化为0和1。
尽管很多带约束的聚类算法已经被提出,但很少有算法可以根据成对关系的数量而伸缩的。进一步就是,没有一个可以轻松和深度神经网络相结合。受到Hsu和Kira工作的启发,我们构建出在softmax分类器上的概率输出上聚类的对比损失。但是,每一个输出节点不需要映射为一个固定的类别,而是每个输出节点表示一个数据点到一个簇的概率分配。输出结点和簇之间的分配是在优化过程中随机形成的,并且是以两两相似度指导的。如果这是一个相似对,那么它们的输出分布应该是一样的,反之亦然。
具体而言,我们用两两之间的KL散度来评估两个数据样本在 k k k个簇分配上的分布距离,并用预测的相似度来构建对比损失。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

两两相似度网络

在这里插入图片描述
尽管没有限制 G G G应该如何建立,但我们还是因为在视觉任务中的有效性选择深度卷积网络。我们根据Zagoruko设计了一种网络架构,他们将其用于预测图片块之间的相似度,而我们用来预测图片级语义相似度。但是在他们的工作里孪生架构在训练和推理中并不是很有效,尤其是在两两信息是稠密的情况下。因此为了取代孪生网络,我们保持使用单个骨干网络但在特征提取网络之上增加了对枚举层。对枚举层枚举小批量中的所有特征对,并拼接特征。假设层的输入为10 × 512,小批量大小为10,特征尺寸为512,那么对枚举层的输出为100 × 1024(包括自身和自身组成的样本对)。
我们添加一个隐藏全连接层在枚举层的顶端和一个二值分类器在尾端。我们用一个标准交叉熵损失来端到端训练。通过将ground-truth类别标签转化为二元相似度,获得训练的监督。如果两个样本来自同一类,那么他们的标签将是相似的,否则不相似。推理也是端到端,它在一个小批处理中输出所有相似对之间的预测。具有1的输出概率 g ∈ [ 0 , 1 ] g∈[0,1] g[0,1]表示更相似。我们在0.5处对 G G G进行二值化,以获得离散的相似性预测。在下面的章节中,我们将两两相似度预测网络的符号简化为 G G G。一旦学习了 G G G,它就会在我们的实验中作为一个静态函数。

具有稠密相似度预测的目标函数

由于小批量的两两预测可以密集地从 G G G获取,为了高效利用这些成对的信息而不用多次将每一个数据传入模型,我们结合了前面所说的对枚举层和公式5。这样softmax的输出就可以逐对枚举。一个小批量的稠密聚类损失如下所示:
在这里插入图片描述
我们用该损失单独和深度神经网络结合来重构语义簇,并且用于跨任务迁移学习。该架构被称为约束聚类网络(CCN)。
在这里插入图片描述

联合其它目标函数

在跨域任务中,我们额外具有一些标注好的源数据。这个使得我们针对 T T T使用 L C O LCO LCO时也可以用 S ′ S' S训练分类损失。整个训练过程和之前的域自适应方法类似,都是小批量中混合源域数据和目标域数据,不同点就在于使用的损失。针对跨域迁移的损失函数如下:
在这里插入图片描述
在这里插入图片描述

emmm···

这个方法觉得就挺不靠谱的,整个算法的性能很大程度上都依赖所谓的 G G G,也就是相似度预测模型,这么重要的组成部分仅仅是在辅助数据集 I m a g e N e t ImageNet ImageNet训练完就固定了,而没有想办法在后续的训练过程继续去微调一下相似度预测模型,将在 A A A上训练的 G G G应用在 T T T上,这本身就是一个跨域迁移任务。而且,所提到的另一个重要模块 L C O LCO LCO,个人觉得基本和16年那篇论文一致,几乎没有改动。
简单总结一下就是:
跨任务迁移学习就用辅助数据训练一个二分类器给目标域数据一个相不相似的伪标签,然后用 L C O LCO LCO去训练。
跨域迁移学习就是在上面基础上加个分类损失。


http://www.niftyadmin.cn/n/467930.html

相关文章

Python基础三

目录 一、Python数据类型--字符串 1.字符串的下标 2.访问字符串中的值 3.字符串更新 4.字符串内的转义字符 5. 字符串运算符 6.字符串格式化 7.三引号引出的字符串 8.f-string 9.Unicode 方式存储字符串 二、Python内置函数--字符串相关 一、Python数据类型--字符串…

常见的前端性能优化手段和优化方式以及其优化效果

1. 图片懒加载:指在页面滚动到图片位置时,才开始加载图片;而在未滚动到图片位置时,先显示占位图或者不显示图片。这样可以避免在页面初次加载时一次性加载全部图片的性能问题。 2. 路由懒加载:指将 SPA(单…

Java 解决重复提交问题和表单唯一标识的 Redis 缓存实现

概述: 在开发 Web 应用程序时,重复提交和表单唯一标识是常见的问题。重复提交可能导致数据重复插入或重复操作,而表单唯一标识则用于确保每个表单提交都是唯一的。本文将介绍如何使用 Java 来解决这些问题,并结合 Redis 缓存提供…

Spring入门【一】

Spring 一、spring的概述 1. spring 的 开源的轻量级框架 2. spring的两大核心:IOC ,AOP二、spring的EJB的区别 1. EJB可以说像是一个Web Service,但也不完全是,比如EJB将编写好的业务组件放置在EJB容器上,然后提供…

封装复习1

版权声明:本文为CSDN博主「ChristianLuuu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。本文未经本人允许,严禁转载! 原文链接:https://blog.csdn.net/Chrstian/article/details/131362224?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22…

js创建自定义对象

通过Object实例创建自定义对象 const myObject new Object();myObject.name John; myObject.age 30; myObject.greet function() {console.log(Hi, my name is ${this.name} and I am ${this.age} years old.); }myObject.greet(); // Output: "Hi, my name is John …

机器人开发--SLAM详细介绍

机器人开发--SLAM介绍 1 介绍1.1 概述1.2 发展历程三个时代重要时间节点视觉SLAM分类及里程碑技术发展 1.3 SLAM与各模块关系1.5 SLAM分类1.4 应用领域 2 SLAM框架视觉/惯性SLAM系统框架结构经典框架 3 常见方案3.1 常见激光雷达方案3.2 常见视觉方案3.3 多传感器融合方案 4 地…

【Leetcode -1475.商品折扣后的最终价格 -1544.整理字符串】

Leetcode Leetcode -1475.商品折扣后的最终价格Leetcode -1544.整理字符串 Leetcode -1475.商品折扣后的最终价格 题目:给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动,如果你要买第 i 件商品&a…