文献阅读·3-Open set domain adaptation

简介

  参考资料[1][2]:Open set domain adaptation的解读,截至发文,谷歌学术引用88。第1篇是会议版本,发表在\color{red}{\small \bf 2017-ICCV},第2篇是期刊版本,发表在\color{red}{\small \bf 2018-TPAMI}上。第2篇相对第一篇增加了使用线性映射进行域对齐的理论来源(参考资料3,4),增加了一些实验。附上作者的开源代码:https://github.com/Heliot7/open-set-da。由于开源代码比较复杂,解读能力有限,没有复现。

关键字

开放集(open set),域适应(domain adaptation) ,深度学习,机器学习

正文

1. 概述

  首先提出了OSDA问题场景,通过两个步骤迭代来解决问题。步骤一通过距离度量相似度,为target域中的样本分配伪标签,分离出know和unknow;步骤二根据分离出的know样本,通过线性映射对齐source和target域。迭代至收敛后,在source上训练分类器应用到target上完成任务。该过程相当于逐步将source样本移动至target域内,最后训练分类器。

2. 应用场景

  应用的场景参考下图,该图参考了资料[6]自行绘制。文献[1]的应用场景是图中第2个,source和target都含有unknow的情况。


场景分类.png
3. 基本思路和解决方案

  按照问题来,先分离know和unknow,再对齐域,最后正常学习。分离know和unknow时,使用的相似度度量为样本距离类中心的距离;对齐域时用线性映射,映射的目标是类内距离最小化。

4. 具体方法和实现

(1)分离know和unknow

  如何为target样本分配伪标签呢?最常用的就是利用距离作为相似度度量,由于是利用距离作为相似度度量,所以首先要定下来是和谁的距离作为度量,比较朴素的就是与类中心的距离了,这里已知的类中心只能由source提供,source一共提供了k个需要预测的know类,以及1个unknow类的类中心,也就是共有k+1个类中心。那么target样本距离哪个类中心近,就归为哪个类。但是这里存在source和target不同域(分布不同)的情况,因此离的比较远的样本可信度就比较低,所以为了提高算法的效果,在分配伪标签的过程中,增加了一种类别不能确定的类别。这样,target的样本有三种可能性。第1种是属于某个know类;第2种是属于unknow类;第3种是类别尚未明确,称为异常点。凡是target样本与类中心的距离超过一定阈值λ的都属于第3种异常点,剩下的离哪个类中心近就属于哪个类(含source的unknow类),这里具体的阈值λ设置为target样本与所有类中心中最大距离和最小距离的一半。用数学表达式写下来就是:
\begin{align} \min_{x_{ct},o_t} &\ \sum_t(\sum_c d_{ct}x_{ct}+\lambda_{ot})\\ s.t. &\ \sum_cx_{ct}+o_t=1\\ &\ \sum_tx_{ct} \ge 1\\ &\ x_{ct},o_t\in \{0,1 \} \end{align}
其中dct,代表类别c的类中心与target的样本xt的距离。xct取值只能为0或1,为1时表示样本xt属于c类。ot类似只能为0或1,为1时代表xt属于尚未确定的类。约束条件1要求一个样本仅属于一个类,条件2要求每个类至少1个样本,条件3约束xct和ot取值只能为0或1。这里只讲无监督的情况。

(2)对齐source和target

  对齐两个域,也就是减少source和target域数据的分布差异。怎么减少呢,把source的数据按照一定的规则映射到target中,这时候可以认为这两个域重叠了,那么分布差异就小了。这里用一个线性映射W来实现,source经过映射后,与target域中的同类样本间的总距离更小了,用数学来表达就是:
f(w)=\frac 12 \sum_t\sum_c x_{ct}\mid \mid WS_c-T_t \mid \mid _2^2
  最后经过上面两个步骤的迭代收敛至f(w)小于一定的值0.01或最大迭代次数。迭代收敛后,将source样本通过训练好W映射至target中,使用libsvm训练出一个分类器,最后对target进行分类。

5. 对比方法

  基于深度的对比方法有:LSVM,DAN,RTN,BP。基于深度的对比方法在分类层上使用Lsvm代替softmax层最后进行分类测试。
  非深度的对比方法有:TCA,GFK,SA,CORAL。
  另外还有OSR的方法,OS-SVM。

6. 数据集及实验设置

  迭代次数:最大为10或满足下式度量小于0.01

\sqrt{ \sum_c\sum_tx_{ct}\mid S_{c,k}-T_t \mid^2}
  分类器Svm:实验最后采用的linear svm,多分类器训练形式为ovo,用的是libsvm版本(参考文献[1]内的参考文献8)。惩罚参数C=0.001。其余设置参考文献[1]内的12和39。
  异常点:阈值设置为

\lambda=0.5(\max_{t,c}d_{ct}+\min_{t,c}d_{ct})
  效果度量:使用类平均准确率,在原文中没有见到详细的说明,是参考资料[5]中的说明才基本明确其准确率的计算方法,共三种类型CS,OS,OS
  CS:使用source的share类训练,在target的share类上测试,计算每一个类的准确率再平均。
  OS:使用source的所有类(含未知类,即将非share类整合成一个未知类)训练,在target的所有类(含未知类)上测试,计算每一个类的准确率再平均。
  OS
:使用source的所有类(含未知类,即将非share类整合成一个未知类)训练,在target的所有类(含未知类)上测试,仅计算share类的每一个类准确率再平均。
  Office数据集:与Cal-tech共同的类为share类,剩下的按字母序,11-20为source的unknow类,21-31为target的unknow类。补充说明下,根据对文献内容的理解,Office数据集在本文中有两种形式,如果是深度的对比方法使用的是Office的原始形式,即图像,而本文提出的方法ATI以及非深度对比方法用的DeCAF7的特征。在深度对比方法中使用全部的样本作为训练集,在非深度对比方法中训练集的样本数量为A(20),W(8),D(8),随机抽样,共实验5次,准确率取均值和标准差。
  Dense-Dataset:由Bing,Caltech256,Imagenet,Sun四个数据集公共类组成,共40类。取1-10作为share类,11-25作为source的unknow类,26-40作为target的unknow类。作为source的每类抽取50个样本,target每类30个样本,除了sun数据集,它只用20个样本。使用这些样本的DeCAF7特征完成学习。
  Sparse-Dataset:由Pascal07,Caltech101,Office三个数据集组成,使用公共类作为share类,其余类都作为unknow。使用这些样本的DeCAF7特征完成学习。
  动作识别数据集:Kinetics-UCF101。
  合成数据集:VisDA‘17-Pascal3D。

7. 分析

  分析:算法成功的关键是fc7特征本身具有较好的共同特征,适用于域适应的场景,其次fc7特征也适合线性映射完成域适应。

  另外在期刊版本中增加了一个实验(table2),似乎证明了在两个迭代的步骤中起重要作用的是第一个伪标签赋值的步骤,这么说fc7特征符合高斯分布?异常点阈值的实验(fig5),说明在给定伪标签的样本数量不足的情况下,准确率也难以保证。

  问题:异常点的确定这里有个作为超参数的阈值;source的unknow和target的unknow是不一样的,且有多个类,整合作为一个未知类,作为类中心进行聚类未必合适。期刊版本的fig3也说明了这种方法在target数量稀少时会失效。

参考资料

[1] Panareda Busto, Pau, and Juergen Gall. "Open set domain adaptation." Proceedings of the IEEE International Conference on Computer Vision. 2017.
[2] Busto, Pau Panareda, Ahsan Iqbal, and Juergen Gall. "Open Set Domain Adaptation for Image and Action Recognition." IEEE Transactions on Pattern Analysis and Machine Intelligence (2018).
[3] Bengio, Yoshua, et al. "Better mixing via deep representations." International conference on machine learning. 2013.
[4] Upchurch, Paul, et al. "Deep feature interpolation for image content changes." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
[5] Saito, Kuniaki, et al. "Open set domain adaptation by backpropagation." Proceedings of the European Conference on Computer Vision (ECCV). 2018.
[6] Zhang, Hongjie, et al. "Improving Open Set Domain Adaptation Using Image-to-Image Translation." 2019 IEEE International Conference on Multimedia and Expo (ICME). IEEE, 2019.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355