论文地址:https://arxiv.org/pdf/1904.12347.pdf
代码地址:https://github.com/VisionLearningGroup/DAL

1 研究动机与研究思路

研究动机:之前的研究都有一个强假设,目标数据从同一分布均匀采样。本文提出Domain-Agnostic Learning (DAL)问题,即如何把有标注的源域信息迁移到无标注的任意目标域数据上。这个问题存在两个难点:1)目标数据来自混合的目标域,所以目前主流的特征对齐方法不太适用,2)类无关信息会导致负迁移,特别是当目标域高度异构的时候。
研究思路:一种深层对抗解耦自编码器( Deep Adversarial Disentangled Autoencoder,DADA ),能够将特定领域中分离出特定类的特征。

2 主要工作

本文的主要贡献在于:

  • 提出了领域不可知学习的新范式;
  • 提出了一个端到端的深层对抗解耦自动编码器( DADA ),更好的学习特征解耦表示;
  • 提出用类解耦来去除类无关特征,并最小化互信息来增强解耦。

3 DADA

3.1 符号定义

定义领域无关学习任务如下:给定一个具有 nsn_sns​个标注样本的源域 D^s={(xis,yis)}i=1ns\widehat{\mathcal{D}}_s=\left\{\left(\mathbf{x}_i^s, y_i^s\right)\right\}_{i=1}^{n_s}Ds​={(xis​,yis​)}i=1ns​​ ,目标是在没有域标注的情况下最小化NNN个目标域 D^t={D^1,D^2,…,D^N}\widehat{\mathcal{D}}_t=\left\{\widehat{\mathcal{D}}_1, \widehat{\mathcal{D}}_2, \ldots, \widehat{\mathcal{D}}_N\right\}Dt​={D1​,D2​,…,DN​} 上的风险。我们将有 ntn_tnt​个未标注样本的目标域记为D^t={xjt}j=1nt\widehat{\mathcal{D}}_t=\left\{\mathrm{x}_j^t\right\}_{j=1}^{n_t}Dt​={xjt​}j=1nt​​。最小化目标风险ϵt(θ)=Pr⁡(x,y)∼D^t[θ(x)≠y]\epsilon_t(\theta)=\operatorname{Pr}_{(\mathbf{x}, y) \sim \widehat{\mathcal{D}}_t}[\theta(\mathrm{x}) \neq y]ϵt​(θ)=Pr(x,y)∼Dt​​[θ(x)=y],其中θ(x)\theta(\mathrm{x})θ(x)为分类器。

3.2 DADA总框架

DADA方法学习提取视觉类别的领域不变特征。除了领域解耦(蓝线),还使用类别解耦(红线)来去除类别无关的特征(在有标签的源域上训练一个类标识符,解耦器生成特征来欺骗类标识符),两者都是对抗训练的,进一步应用互信息最小化器来加强解耦。
图1展示了所提出的模型, 特征生成器 GGG 将输入图片映射到特征向量 fGf_GfG​, 这个 fGf_GfG​ 是一个高度耦合的特征, 所以后面编码器 DDD 的目的是将这个特征解耦为域不变特征 fdif_{d i}fdi​, 域特定特征 fdsf_{d s}fds​ 和类无关特征 fcif_{c i}fci​ 。特征重建器 RRR 的目的是接受 (fdi,fci)\left(f_{d i}, f_{c i}\right)(fdi​,fci​) 或 ( fdi,fdsf_{d i}, f_{d s}fdi​,fds​ ) 作为输入, 然后重建出 fGf_GfG​ 。 DDD 和 RRR 使用变分自编码器(VAE)中的编码器与解码器实现。为了增强解耦, 在 (fdi,fci)\left(f_{d i}, f_{c i}\right)(fdi​,fci​) 以及 ( fdif_{d i}fdi​, fdsf_{d s}fds​ ) 上进行互信息最小化约束。在域判别器支路(白三角) 通讨对抗训练学习出域不变特征 fdif_{d i}fdi​ 。类判别器 CCC (黒三 角) 通过在有标注的源域数据上预测类分布 fCf_CfC​ 训练得到, 类无关特征 fcif_{c i}fci​ 是通过结合 CCC 以对抗的方式提取到的。

3.3 具体实现

3.3.1 变分自编码器

VAEs ( Kingma &韦林, 2013)是一类同时训练概率编码器和解码器的深度生成模型。编码器会生成符合高斯分布的隐藏向量。通过使用VAE来获得每个部分的解耦表示,损失函数设计如下:
Lvae =∥f^G−fG∥F2+KL(q(z∣fG)∥p(z))\mathcal{L}_{\text {vae }}=\left\|\widehat{f}_G-f_G\right\|_F^2+K L\left(q\left(z \mid f_G\right) \| p(z)\right) Lvae ​=​f​G​−fG​​F2​+KL(q(z∣fG​)∥p(z))

这个式子前一项的目的是重建GGG提取的原始特征,后面一项计算Kullback - Leibler散度,惩罚隐藏特征分布与先验分布 p(zc)p\left(z_c\right)p(zc​)(as z∼z \simz∼ N(0,I)\mathcal{N}(0, I)N(0,I) )的偏差。这个约束仅仅是将隐藏特征映射到一个标准分布(将潜在特征对齐到正态分布),并没有保证特征解耦。

3.3.2 类别解耦

通过对抗的方式实现类别信息解耦来移除一些类别无关的特征,比如背景等。首先通过源域数据进行有监督训练得到class identifierCCC((图中黑色的三角)):
首先,在交叉熵损失的监督下,训练解耦器DDD和KKK - way class identifierCCC来正确预测标签:

Lce=−E(xs,ys)∼D^s∑k=1K1[k=ys]log⁡(C(fD))\mathcal{L}_{c e}=-\mathbb{E}_{\left(x_s, y_s\right) \sim \widehat{\mathcal{D}}_s} \sum_{k=1}^K \mathbb{1}\left[k=y_s\right] \log \left(C\left(f_D\right)\right) Lce​=−E(xs​,ys​)∼Ds​​k=1∑K​1[k=ys​]log(C(fD​))
其中 fD∈{fdi,fci}f_D \in\left\{f_{d i}, f_{c i}\right\}fD​∈{fdi​,fci​}.固定住类判别器CCC来训练解耦器DDD来生成类无关特征fcif_{c i}fci​来欺骗CCC。这可以通过最小化预测类分布的负交叉熵来实现:

Lent =−1ns∑j=1nslog⁡C(fcij)−1nt∑j=1ntlog⁡C(fcij)\mathcal{L}_{\text {ent }}=-\frac{1}{n_s} \sum_{j=1}^{n_s} \log C\left(f_{c i}^j\right)-\frac{1}{n_t} \sum_{j=1}^{n_t} \log C\left(f_{c i}^j\right) Lent ​=−ns​1​j=1∑ns​​logC(fcij​)−nt​1​j=1∑nt​​logC(fcij​)
第一项与第二项分别指的是在源域上和目标域上的交叉熵最小。上述对抗训练过程迫使相应的解缠器提取与类别无关的特征。

3.3.3 域解耦

为了实现源域与目标对齐,将学习到的特征分解为领域特定的和领域不变的特征,从而在领域不变的潜在空间中将源和目标领域对齐。这通过在得到的隐空间里进行对抗性域判别得到。具体来说,我们利用一个域标识符DID IDI,它以解缠后的特征((fdi\left(f_{d i}\right.(fdi​ or fds)\left.f_{d s}\right)fds​))作为输入,输出域标签lfl_flf​(源或目标)。领域标识符的目标函数为:
LDI=−E[lflog⁡P(lf)]+E(1−lf)[log⁡P(1−lf)]\mathcal{L}_{D I}=-\mathbb{E}\left[l_f \log P\left(l_f\right)\right]+\mathbb{E}\left(1-l_f\right)\left[\log P\left(1-l_f\right)\right] LDI​=−E[lf​logP(lf​)]+E(1−lf​)[logP(1−lf​)]
之后就训练解耦器DDD来欺骗域判别器DID IDI来提取域不变特征。

3.3.4 互信息最小化

为了更好地分离特征,最小化领域不变和特定领域特征((fdi,fds)\left(f_{d i}, f_{d s}\right)(fdi​,fds​)),以及领域不变和类别无关特征( (fdi\left(f_{d i}\right.(fdi​, fci)\left.f_{c i}\right)fci​) )之间的互信息:
I(Dx;Dfdi)=∫X×Zlog⁡dPXZdPX⊗PZdPXZ,I\left(\mathcal{D}_x ; \mathcal{D}_{f_{d i}}\right)=\int_{\mathbb{X} \times \mathcal{Z}} \log \frac{d \mathbb{P}_{X Z}}{d \mathbb{P}_X \otimes \mathbb{P}_Z} d \mathbb{P}_{X Z}, I(Dx​;Dfdi​​)=∫X×Z​logdPX​⊗PZ​dPXZ​​dPXZ​,
其中, x∈{fds,fci},PXZx \in\left\{f_{d s}, f_{c i}\right\}, \mathbb{P}_{X Z}x∈{fds​,fci​},PXZ​的联合概率分布,(Dx,Dfdi)\left(\mathcal{D}_x, \mathcal{D}_{f_{d i}}\right)(Dx​,Dfdi​​), PX=∫ZdPXZ\mathbb{P}_X=\int_{\mathcal{Z}} d \mathbb{P}_{X Z}PX​=∫Z​dPXZ​ and PZ=\mathbb{P}_Z=PZ​= ∫XdPXZ\int_{\mathcal{X}} d \mathbb{P}_{X Z}∫X​dPXZ​ 为边缘分布。尽管互信息是跨领域的关键度量,但它只适用于离散变量或有限的概率分布未知的问题。计算复杂度为O(n2)O\left(n^2\right)O(n2),不适合深层的CNN。因此这篇文章采用的是互信息神经估计器(MINE):
I(X;Z^)n=sup⁡θ∈ΘEPXZ(n)[Tθ]−log⁡(EPX(n)⊗P^Z(n)[eTθ])\widehat{I(X ; Z})_n=\sup _{\theta \in \Theta} \mathbb{E}_{\mathbb{P}_{X Z}^{(n)}}\left[T_\theta\right]-\log \left(\mathbb{E}_{\mathbb{P}_X^{(n)} \otimes \widehat{\mathbb{P}}_Z^{(n)}}\left[e^{T_\theta}\right]\right) I(X;Z​)n​=θ∈Θsup​EPXZ(n)​​[Tθ​]−log(EPX(n)​⊗PZ(n)​​[eTθ​])
其中, (x,z)(x, z)(x,z)从联合分布中采样,z′z^{\prime}z′ 从边缘分布中采样。使用神经网络来执行方程7中定义的蒙特卡罗积分。

3.3.5 Ring-style Normalization

通过减去批均值除以批标准差来减少内部协变量偏移。尽管在领域自适应方面取得了很好的效果,但仅靠批量归一化并不足以保证嵌入的特征在异构领域场景中得到很好的归一化。目标数据从多个域中采样,其嵌入特征在隐空间中不规则分散。Zheng等人(2018)提出了ring-style norm constraint用于保证多类别的角分类边界(angular classification margins)间的均衡性,其目的如下:
Lring =12n∑i=1n(∥T(xi)∥2−R)2\mathcal{L}_{\text {ring }}=\frac{1}{2 n} \sum_{i=1}^n\left(\left\|T\left(x_i\right)\right\|_2-R\right)^2 Lring ​=2n1​i=1∑n​(∥T(xi​)∥2​−R)2
式中:R为学习到的范数值。然而,Ring-style并不鲁棒,如果学习到的R较小,可能会导致模式崩溃。取而代之的是,Geman-McClure模型,最小化如下损失函数:
Lring GM=∑i=1n(∥T(xi)∥2−R)22nβ+∑i=1n(∥T(xi)∥2−R)2\mathcal{L}_{\text {ring }}^{G M}=\frac{\sum_{i=1}^n\left(\left\|T\left(x_i\right)\right\|_2-R\right)^2}{2 n \beta+\sum_{i=1}^n\left(\left\|T\left(x_i\right)\right\|_2-R\right)^2} Lring GM​=2nβ+∑i=1n​(∥T(xi​)∥2​−R)2∑i=1n​(∥T(xi​)∥2​−R)2​
其中β\betaβ是Geman -麦克卢尔模型的尺度因子。

以端到端的方式进行训练优化模型。使用Stochasitc Gradient Descent ( Kiefer等, 1952)或Adam ( Kingma & Ba , 2014)优化器迭代训练类和域解耦部分、MINE和重建部分。使用流行的神经网络( e.g. Le Net、Alex Net或Res Net)作为特征生成器G。详细的训练过程在算法1中给出。

2019_ICML_Domain Agnostic Learning with Disentangled Representations相关推荐

  1. Domain Agnostic Learning with Disentangled Representations

    Domain Agnostic Learning with Disentangled Representations 第一章 领域未知的表示学习 文章目录 Domain Agnostic Learni ...

  2. 《Domain Agnostic Learning with Disentangled Representations》代码

    文章目录 `class_loss` 分类交叉熵损失_论文公式(2) `ring_loss` Ring-style Normalization_论文公式(8) `mutual_information`_ ...

  3. [ICML19] Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations

    谷歌等一篇名为<挑战无监督分离式表征的常见假设>的论文,表明 (没有归纳偏置的) 无监督方法学不到可靠的分离式表征 (Disentangled Representations) .本篇是I ...

  4. Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations学习与理解

    这篇论文是ICML2019两篇best paper之一,针对无监督解耦进行了分析,从理论上证明无监督解耦是不可能的,虽然知乎上存在一些对这篇论文的负面评论,但个人感觉还是对解耦这个概念理解不一致造成的 ...

  5. 文献学习(part13)--A Sober Look at the Unsupervised Learning of Disentangled...

    学习笔记,仅供参考,有错必纠 文章目录 A Sober Look at the Unsupervised Learning of Disentangled Representations and th ...

  6. 论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition

    论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition 论文搜索(studyai.com) 搜索 ...

  7. Learning Disentangled Representations of Negation and Uncertainty

    学习否定和不确定性的分解表示法 Jake Vasilakes 1 , Chrysoula Zerva 2,3 , Makoto Miwa 4,5 , Sophia Ananiadou 1,5 1 Na ...

  8. Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth

    Machine learning of neural representations of suicide and emotion concepts identifies suicidal youth ...

  9. [CVPR2016]Learning Deep Feature Representations with Domain Guided Dropout for Person Re-id

    论文题目:Learning Deep Feature Representations with Domain Guided Dropout for Person Re-identification 还是 ...

最新文章

  1. django项目实战(2)-数据库配置
  2. Python Web部署方式总结
  3. mac mysql安装_Mac下MySQL的安装【手摸手系列】
  4. 设计模式:各个模式间的对比
  5. UML造型——使用EA时序图工具的开发实践和经验
  6. 1.视频压缩编码综述
  7. (六)为时装设计生成训练和运行GAN
  8. 多关卡连连看php源码_奇怪的连连看ios版是一款非常好玩的手机消除闯关游戏,奇怪的连连看采用了最经典的三消玩法,游戏中有着非常多的游戏关卡,是一...
  9. [2019杭电多校第五场][hdu6625]three arrays(01字典树)
  10. 在Android系统中添加宏控制代码【原创】
  11. 超详细的QSS样式表入门Demo
  12. scrapy项目-爬取阳光问政
  13. 学习java哪个网课最好_学习Java的最佳方法
  14. 【云原生】Docker高级篇之网络、compose、可视化、监控
  15. revit建模中复合墙与叠层墙区别?Revit中怎么创建叠层墙?
  16. 魔法宝石(思维啊……)
  17. hive常用函数之其他函数
  18. 淘宝、百度、腾讯、新浪开放平台
  19. Facebook推出强大Android 自动释放内存的图片库Fresco
  20. Linux查看磁盘、文件系统、文件夹、文件大小的命令(lsblk、df、du、ll)

热门文章

  1. 【辅助驾驶】图像拼接[3]——车载全景可视系统SurroundView
  2. DocuWare平台——用于文档管理和工作流程自动化的内容服务平台详细介绍(上)
  3. RT-Thread 流水笔记一 startup ,schedule,thread
  4. EasyCVR视频广场可以播放WebRTC,设备中却无法播放是什么原因?
  5. windows电脑蓝光过滤,颜色校准调节蓝光,电脑源头过滤蓝光,保护眼睛,护眼软件原理
  6. 为什么linux图形引擎那么丑,为什么你的技术文章配图总是那么丑?那是你还没看过这篇教科书般的技术文章配图指南!...
  7. java中long如何使用_如何在Java中将long转换为int?
  8. 【ART-PI】使用STM32H750的隐藏2MB ROM
  9. Delphi实现局域网聊天01
  10. Python实现快速下载全球最大的旅游网站——Tripadvisor美食数据