论文信息

论文标题:Domain-invariant Feature Exploration for Domain Generalization
论文作者:Wang Lu, Jindong Wang, Haoliang Li, Yiqiang Chen, Xing Xie
论文来源:TMLR 2022
论文地址:download 
论文代码:download
引用次数:

1 前言

  本文将介绍一种基于域不变特征挖掘的域泛化方法($\text{DIFEX}$)。近年来,领域泛化(Domain Generalization, DG) 受到了越来越多的关注,现有的 DG 方法可以粗略地分为三类:数据操作表示学习学习策略。本文聚焦于域泛化表示学习,针对现有表示学习中获取的不变特征不够充分的问题,尝试思考:什么是域不变特征?如何进一步改进DG的效果?首次将域不变特征分成域内不变特征(internally-invariant)和域间不变特征(mutually-invariant)两种类型,更多样、更充分地挖掘域不变特征。

2 介绍

  数据操作:对数据输入输出进行操作,比如数据增量、数据生成;

  表示学习:学习域不变特征或者对特征进行解耦,获取更有意义的泛化特征;

  学习策略:设计一些特定的策略增强模型泛化能力,比如集成或元学习;

  本文主要聚焦于表示学习,进行模型泛化能力的增强。已有的关于域不变特征学习方法的探索促使我们尝试思考这类方法的合理性:什么是域不变特征?如何获取域不变特征并更好获得泛化效果?现有一些工作表明,在域自适应领域,简单的域间特征对齐获取的特征是远远不够的,需要关注更多其它的方面。最近,在域泛化领域也出现了类似的结论,简单的对齐可能损害模型的分辨能力以及特征的多样性和充分性。针对这个问题,我们对于不变特征进行了深入的思考。

  本文认为不变特征应该从域内域间两个角度进行学习:

    • 域内不变特征(internally-invariant features),与分类有关的特征,产生于域的内部,不受其他域的影响,主要抓取数据的内在语义信息;
    • 域间不变特征(mutually-invariant features),跨域迁移知识,通过多个域产生,共同学习的一些知识;

  本文认为,把这两种特征有效充分地结合起来,可以得到泛化性更好的模型。注意我们的方法类似特征解耦,但是其实稍有区别,特征解耦通常将特征分为域专有特征和域共有特征,这里的域内不变特征和域专有特征有稍许区别,更关注于对分类有用的特征,可以理解为针对分类不变的特征,而后者强调与域关联的特征。广泛的实验表明,我们的方法能获取更多样、更充分的特征,从而构建泛化能力更强的机器学习模型。

3 问题定义

  多源域数据集 $\mathcal{S}=\left\{\mathcal{S}^{i} \mid i=1, \cdots, M\right\}$ ,其中 $\mathcal{S}^{i}=\left\{\left(\mathbf{x}_{j}^{i}, y_{j}^{i}\right)\right\}_{j=1}^{n_{i}}$ 代表着第 $i$ 个源域,每个域的联合分布不一样 $P_{X Y}^{i} \neq   P_{X Y}^{j}, 1 \leq i \neq j \leq M$。域适应的目的是从 $M$ 个训练的源域学习到一个泛化函数 $h: \mathcal{X} \rightarrow \mathcal{Y}$ 应用到一个不可知的目标域 $\mathcal{S}_{\text {test }}$,使得 $\min _{h} \mathbb{E}_{(\mathbf{x}, y) \in \mathcal{S}_{\text {test }}}[\ell(h(\mathbf{x}), y)]$ 。所有域,包括源域和目标域,都具有相同的输入空间 $\mathcal{X}^{1}=\cdots=\mathcal{X}^{M}=\mathcal{X}^{T} \in \mathbb{R}^{m}$ 和输出空间 $\mathcal{Y}^{1}=\cdots=\mathcal{Y}^{M}=\mathcal{Y}^{T}=\{1,2, \cdots, C\}$。

4 动机

  已有的工作表明傅里叶相值(Phase)中包含更多的语义信息,不太容易受到域偏移的影响,而傅里叶幅值(Amplitude)信息主要包含低层次的统计信息,受域偏移影响较大。从下面的图中,可以看出,对于行走采集到的原始数据来说,傅里叶的相值信息的确更能代表类别,仅由相值恢复的数据的确包含更多的语义信息,比如周期性以及起伏。因此,我们把傅里叶相值作为域内不变特征。

  

5 方法

  整体框架:

  

  如上图所示,$\text{DIFEX}$ 尝试同时学习域内不变特征和域间不变特征,并尝试将他们集合起来进行分类。注意,为了保持公平性,我们将最后一层特征一分为二,一部分进行域内不变特征学习,一部分进行域间特征学习;同时为了保证特征的多样性,我们提出了一个正则项,来让两种特征的差别尽量大。下面来具体看看两种特征的获取以及多样性的拓展。

5.1 域不变特征

  为了获取域内不变特征,主要采用一个简单的蒸馏框架来学习,注意这里的蒸馏方法虽然在训练时候引入了额外的训练代价,但是在预测时可以减少不必要的FFT计算,确保预测的整个过程可以端到端的直接进行。

  

  如上图所示,我们首先使用一个老师网络来利用傅里叶相值信息来学习分类模型,从而获取有用的与分类有关的傅里叶相值信息,训练之后,我们认为老师模型可以得到与分类有关的傅里叶相值信息,那么在学生模型训练的时候,便可以让它参考老师的这部分特征,进行域内不变特征学习。

    $\underset{\theta_{S}^{f}, \theta_{S}^{c}}{\text{min }}      \mathbb{E}_{(\mathbf{x}, y) \sim P \operatorname{tr}} \ell_{c}\left(G_{S}^{c}\left(G_{S}^{f}(\mathbf{x})\right), y\right)+\lambda_{1} \mathcal{L}_{m s e}\left(G_{S}^{f}(\mathbf{x}), G_{T}^{f}(\tilde{\mathbf{x}})\right) \quad\quad\quad(4)$

补充:

  对单通道二维数据 $x$ 的傅里叶变换 $\mathcal{F}(\mathbf{x})$ 表示为:

    $\mathcal{F}(\mathbf{x})(u, v)=\sum\limits _{h=1}^{H-1} \sum\limits_{w=0}^{W-1} \mathbf{x}(h, w) e^{-j 2 \pi\left(\frac{h}{H} u+\frac{w}{W} v\right)}\quad\quad\quad(1)$

  其中 $u$ 和 $v$ 是指数。$H$ 和 $W$ 分别是高度和宽度。傅里叶变换可以用 FFT 算法有效地计算出来。相位分量随后表示为:

    $\mathcal{P}(x)(u, v)=\arctan \left[\frac{I(x)(u, v)}{R(x)(u, v)}\right]\quad\quad\quad(2)$

  其中,$R(x)$ 和 $I(x)$ 分别表示 $\mathcal{F}(\mathbf{x})$ 的实部和虚部。对于具有多个通道的数据,分别计算每个通道的傅里叶变换,得到相应的相位信息。我们将 $x$ 的傅里叶相位表示为 $\tilde{\mathbf{x}}$,然后,使用 $(\tilde{\mathbf{x}}, y)$ 训练教师网络:

    $\underset{\theta_{T}^{f}, \theta_{T}^{c}}{\text{min}}  \quad \mathbb{E}_{(\mathbf{x}, y) \sim P^{t r}} \mathcal{L}_{c l s}\left(G_{T}^{c}\left(G_{T}^{f}(\tilde{\mathbf{x}})\right), y\right)\quad\quad\quad(3)$

  一旦获得了教师网络 $G_{T}$,我们就使用特征知识蒸馏来指导学生网络学习傅里叶信息。这种蒸馏方法的配方如下:

    $\underset{\theta_{S}^{f}, \theta_{S}^{c}}{\text{min }}      \mathbb{E}_{(\mathbf{x}, y) \sim P \operatorname{tr}} \ell_{c}\left(G_{S}^{c}\left(G_{S}^{f}(\mathbf{x})\right), y\right)+\lambda_{1} \mathcal{L}_{m s e}\left(G_{S}^{f}(\mathbf{x}), G_{T}^{f}(\tilde{\mathbf{x}})\right) \quad\quad\quad(4)$

  其中,$\theta_{S}^{f}$ 和 $\theta_{S}^{c}$ 是学生网络的特征提取器 $G_{S}^{f}$ 和分类层 $G_{S}^{c}$ 的可学习参数。$\lambda_{1}$ 是一个权衡超参数,$\mathcal{L}_{m s e}$ 是 $\text{MSE}$ 损失,它可以使学生网络的特征接近教师网络的特征。

5.2 互不变特征

  如前所述,仅凭傅里叶相位特征并不足以获得足够的鉴别特征来进行分类。因此,我们通过利用多个训练领域中包含的跨领域知识来探索互不变的特征。具体来说,给定两个域 $\mathcal{S}^{i}$,$\mathcal{S}^{i}$,我们使用相关性对齐方法对它们的二阶统计量(相关性)进行对齐:

    $\mathcal{L}_{\text {align }}=\frac{2}{N \times(N-1)} \sum\limits_{i \neq j}^{N}\left\|\mathbf{C}^{i}-\mathbf{C}^{j}\right\|_{F}^{2}\quad\quad\quad(5)$

  其中,$\mathbf{C}^{i}=\frac{1}{n_{i}-1}\left(\mathbf{X}^{i} \mathbf{X}^{i}-\frac{1}{n_{i}}\left(\mathbf{1}^{T} \mathbf{X}^{i}\right)^{T}\left(\mathbf{1}^{T} \mathbf{X}^{i}\right)\right)$ 是协方差矩阵,$\|\cdot\|_{F}$ 代表着 $F$ 范数。

  由于域内不变特征和域间不变特征之间可能存在重复和冗余,我们期望两部分可以尽可能多地提取出不同的不变特征。这使得特征有更多的多样性,有利于泛化。为了实现这个目标,我们通过最大化内部不变($z_1$)和互不变( $z_1$)特征之间的距离,我们称之为  $\text{exploration loss}$:

    $\mathcal{L}_{\exp }\left(\mathbf{z}_{1}, \mathbf{z}_{2}\right)=-d\left(\mathbf{z}_{1}, \mathbf{z}_{2}\right) \quad\quad\quad(6)$

  其中 $d(\cdot, \cdot)$ 是一个距离函数,为了简单,我们简单地使用 $L2$ 距离: $ \mathcal{L}_{e x p}=-\left\|\mathbf{z}_{1}-\mathbf{z}_{2}\right\|_{2}^{2} $。

6 DIFEX 总结

  综上所述,我们的方法被分为两个步骤。首先,我们优化了 $\text{Eq.1}$。其次,优化了以下目标:

    $\underset{\theta_{f}, \theta_{c}}{\text{min}} \;\mathbb{E}_{(\mathbf{x}, y) \sim P^{t r}} \mathcal{L}_{c l s}\left(G_{c}\left(G_{f}(\mathbf{x})\right), y\right)+\lambda_{1} \mathcal{L}_{m s e}\left(\mathbf{z}_{1}, G_{T}^{f}(\tilde{\mathbf{x}})\right)+\lambda_{2} \mathcal{L}_{\text {align }}+\lambda_{3} \mathcal{L}_{\text {exp }}\left(\mathbf{z}_{1}, \mathbf{z}_{2}\right)$

迁移学习(DIFEX)《Domain-invariant Feature Exploration for Domain Generalization》的更多相关文章

  1. Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)

    domain adaptation(域适配)是一个连接机器学习(machine learning)与迁移学习(transfer learning)的新领域.这一问题的提出在于从原始问题(对应一个 so ...

  2. 【迁移学习】2010-A Survey on Transfer Learning

    资源:http://www.cse.ust.hk/TL/ 简介: 一个例子: 关于照片的情感分析. 源:比如你之前已经搜集了大量N种类型物品的图片进行了大量的人工标记(label),耗费了巨大的人力物 ...

  3. 迁移学习(Transformer),面试看这些就够了!(附代码)

    1. 什么是迁移学习 迁移学习(Transformer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中.迁移学习是通过从已学习的相 ...

  4. 【转载】 迁移学习简介(tranfer learning)

    原文地址: https://blog.csdn.net/qq_33414271/article/details/78756366 土豆洋芋山药蛋 --------------------------- ...

  5. 中文NER的那些事儿2. 多任务,对抗迁移学习详解&代码实现

    第一章我们简单了解了NER任务和基线模型Bert-Bilstm-CRF基线模型详解&代码实现,这一章按解决问题的方法来划分,我们聊聊多任务学习,和对抗迁移学习是如何优化实体识别中边界模糊,垂直 ...

  6. 迁移学习(Transfer Learning)(转载)

    原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...

  7. 迁移学习-Transfer Learning

    迁移学习两种类型: ConvNet as fixed feature extractor:利用在大数据集(如ImageNet)上预训练过的ConvNet(如AlexNet,VGGNet),移除最后几层 ...

  8. 【深度学习系列】迁移学习Transfer Learning

    在前面的文章中,我们通常是拿到一个任务,譬如图像分类.识别等,搜集好数据后就开始直接用模型进行训练,但是现实情况中,由于设备的局限性.时间的紧迫性等导致我们无法从头开始训练,迭代一两百万次来收敛模型, ...

  9. 用tensorflow迁移学习猫狗分类

    笔者这几天在跟着莫烦学习TensorFlow,正好到迁移学习(至于什么是迁移学习,看这篇),莫烦老师做的是预测猫和老虎尺寸大小的学习.作为一个有为的学生,笔者当然不能再预测猫啊狗啊的大小啦,正好之前正 ...

  10. 迁移学习(Transfer Learning)

    原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...

随机推荐

  1. 19.-哈希算法&注册登录

    一.哈希算法 哈希: 给定明文-计算出一段定长的-不可逆的值 定长输出:不管明文输入多少,哈希都是定长的 不可逆:无法反向计算出对应的明文 雪崩效应:输入改变,输出必然变 md5:32位16进制   ...

  2. LabVantage仪器数据采集方案

    LabVantage的仪器数据采集组件为LIMS CI,是一个独立的应用程序/服务,实现仪器数据的采集(GC.LC等带有工作站的仪器). 将仪器输出数据转换为LIMS所需数据并传输,使用Talend这 ...

  3. 「浙江理工大学ACM入队200题系列」问题 E: 零基础学C/C++78——求奇数的乘积

    本题是浙江理工大学ACM入队200题第八套中的E题 我们先来看一下这题的题面. 题面 输入 输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你 ...

  4. Excel中的VLOOKUP函数

    VLOOKUP函数是Excel中的一个纵向查找函数,功能是按列查找,最终返回该列所需查询序列所对应的值. 该函数的语法规则如下: VLOOKUP(lookup_value,table_array,co ...

  5. 关于Docker的一些事--Docker-Compose 升级版本

    起源 近来一直在研究怎么搭建自己的私有网盘,本着虚心耐心,认真求是态度,开始做起了实验,最终种草了Nextcloud这款开源网盘,然而用私人的服务器感觉很卡,故转战到了一个基友的服务器,感觉非常吊! ...

  6. 注册IBMlinuxone并使用xshell登陆

    登陆地址:https://linuxone.cloud.marist.edu/#/login 注册地址:https://linuxone.cloud.marist.edu/#/register?fla ...

  7. 【Java集合框架001】为什么重写equals就要重写hashcode?

    一.前言 如果面试官问:你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法? 遇到这样的问题,应该怎样回答呢?其实,equals和hashCode都 ...

  8. 1759D(数位变0)

    题目链接 题目大意: 给你两个整数n, m.你需要求一个数,它满足如下条件: 是n的整数倍,且倍数小于m. 你应该使其末尾的0尽可能的多(如100后面有2个零,1020后面有一个零,我们应该输出100 ...

  9. FIXMAP内存管理器

    fixed map是被linux kernel用来解决一类问题的机制,这类问题的共同特点是: (1)在很早期的阶段需要进行地址映射,而此时,由于内存管理模块还没有完成初始化,不能动态分配内存,也就是无 ...

  10. 根据MediatR的Contract Messages自动生成Minimal WebApi接口

    大家好,我是失业在家,正在找工作的博主Jerry.今天给大家介绍一个能大大减少ASP.Net Minimal WebApi编码量的方法. 我们一般会把微服务的VO和DTO封装成消息类,并作为WebAp ...