开放域适应文章专题
2018 ECCV论文 开放域适应专题,后续也会陆续更新新的论文阅读的解析
论文链接 :https://github.com/zhaoxin94/awesome-domain-adaptation/blob/2f39423e584378e435b81ad972913c3c9445d5ba/README.md#open-set-da
本文不全是翻译,会附带作者的一些个人论文理解
摘要
主要讲的是:现在有很多的迁移学习算法被提出,从label信息充足的 Source 域迁移到label信息匮乏的 Target 域,但是这些都是闭集的场景: Source 域与 Target 域共享label空间。论文提出了一种新的场景,在Target域中不仅包含 Source 域的已知类别的样本,更有未知类的一些样本,具体的描述如下图所示。
Introduction
提出问题:
开集域适应存在两个问题:
1.我们没有这些未知类的先验知识,所有无法将未知类剥离出target 目标域
2. 域的差异性无法解决,因为两个域之间存在一定的漂移,所以无法使用域特征对齐的方法解决问题(bp,mmd)
为了解决这些问题,作者使用了对抗学习的思想解决问题:我们假设我们的方法存在两个结构:一个是特征提取器,另一个是分类器,特征提取器输出为一个图片的特征向量,而分类器输出一个 k+1维的向量, k指的是已知类的分类概率,而最后1维是未知类的概率,如果大于0.5即被认为是未知类;
分类器希望将目标域和源域的数据分开,特征提取器希望将数据的分布一致,这样就构成了一种对抗关系。
这样特征提取器有两种方法可以是源域与目标域的分布一致,将目标域数据与源域已知数据特征对齐,另一种方式就是将部分目标域数据识别为未知类,这样就可以实现两域的数据分布一致。
本文的三大贡献:
1.提出开集域适应;
2.使用对抗学习的思想将目标域中已知类和未知类分开;
3.验证该方法在数据集上的有效性。
method
Overall Idea
为了将目标域中的已知类和未知类进行划分,我们需要首先设置一个边界,由于没有未知类的信息,我们还是没有办法提供一个十分准确的边界。所以提出了一个伪边界,我们使用分类器来实现下面的这样一个目标函数,让所有输入的目标域样本的概率为
t
t
t, 然后训练特征提取器来欺骗它,最大化分类的误差。
特征提取器:为了增大误差,可以提高未知类的概率,即将该样本从已知类中分离出去;
举个例子,如果
t
t
t 非常小,特征提取器会很容易将样本属于未知类的概率变大,而非变小来 将分类与
t
t
t差异变大。意思是特征提取器将会选择增大概率(将样本拒绝为未知类样本)或者降低概率(将样本与源域样本特征对齐)的方法增大分类器的误差。
t
t
t 的大小是可以变化的,我们后续分析它的变化对方法的影响。
Training Procedure
首先需要在 source 数据集上预训练分类模型,针对 K 种源数据集中的样本,将其可以很好的分类出来使用以下公式,公式(1)是source数据集中的损失函数,(2)是source数据样本前向传播得到的分类概率向量。
为了满足输入target数据集后样本的概率是
t
t
t, 我们选择使用交叉损失熵来作为损失函数,如下公式所示:
对于分类器,首先对于source数据要做优化,使得分类效果达到最好;对于target域的数据他想要将其概率固定为 t t t,所以最小化器loss函数
对于特征提取器,首先对于source数据要要做优化,使得分类效果达到最好;对于target域的数据他想要将其概率远离为
t
t
t,所以最大化器loss函数
提示:以下是本篇文章正文内容,下面案例可供参考
4. 实验部分
4.1 实现细节:
网络结构与: 使用在 ImageNet上的 AlexNet 和VGGNet 预训练模型进行训练,
数据集 : Office, VisDA, digits datasets.
三个对比方法:
- open set SVM:
它使用source 域中的已知类样本,为所有已知类建立一个分类阈值,在target数据集中直接测试,如果低于阈值即判定为未知类; - MMD - OSVM
先使用MMD将其对齐,然后再使用 OSVM 的方法做未知类的拒绝; - BP - OSVM
使用BP神经网络提取特征,然后再使用OSVM做未知类的拒绝。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的论文,本文主要讲述了使用对抗学习做开集域适应的问题,通过对抗学习,将目标域的已知类数据样本和源域的数据样本对齐,同时分离出目标域中未知类的样本。