domain adaptation(域适配)是一个连接机器学习(machine learning)与迁移学习(transfer learning)的新领域。这一问题的提出在于从原始问题(对应一个 source data distribution)学习到的模型能够很好地适应一个与之相不同的目标问题(对应一个 target data distribution)。比如垃圾邮件过滤问题(spam filtering problems)。

1. 数学描述

  • X:input space(description space),Y:output space(label space),机器学习的目标在于学习到一个模型,h:X→Y,这个模型的样本为:S={(xi,yi)}mi=1∈(X×Y)m;

2. 迁移学习(transfer learning)

如图为一个在 ImageNet 1000 类别分类问题上训练好的 AlexNet 在一个五分类问题上的迁移学习过程。

几乎所有希望在实际应用中使用机器学习算法的人都会遇到领域适应性(Domain Adaptation)的问题:我们在固定的source domain建立了模型,但希望把我们的模型部署到另外一个或几个不同的target domain中。领域的适应性问题在机器学习实际应用的各个领域都非常常见。

获取最新消息链接:获取最新消息快速通道 - lqfarmer的博客 - 博客频道 - CSDN.NET

比如,语音识别中。一个大规模的语音识别系统,需要对各种带有噪声或口音的语音,都能很好的识别。比如图1中描述的,不同人说话,有不同的口音和语速。

图1 语音识别中的domain adaptation问题

文本处理系统,基于新闻(news)训练的模型,我们希望该模型对于博客(Blog)或论坛(forum)也同样适用。

图2 NLP领域中的domain adaptation问题

图像识别领域,我们从亚马逊的网站上得到了很多没有背景的物体的图片来训练我们的模型,然后希望把训练好的模型用于识别实际生活中存在背景的物体图片。

图3 图像识别领域的domain adaptation问题

这都牵扯到领域适应性(Domain Adaptation)的问题。因此,本文主要介绍下什么是domain adaptation问题,有哪些方法用于解决domain adaptation问题。最后再介绍下domain adaptation / Transfer learning中两个特例,单例学习(one-shot learning)和零例学习(zero-shot learning)

1、领域适应性(Domain adaptation)定义

获取最新消息链接:获取最新消息快速通道 - lqfarmer的博客 - 博客频道 - CSDN.NET

Domain Adaptation是迁移学习(Transfer Learning)中的一种,在之前讲迁移学习分类的时候,我们提到过。在很多机器学习任务中,模型在训练(training)时所采用的样本和模型在测试(testing)时所采用的样本分布(domain adaptation)不一致,导致了领域适应性问题(Problem of Domain Adaptation)。Domain Adaptation尝试去建立一个在training和Testing都适用的模型,用概率统计表示成如下形式:

P(X)不等于P(X’);P(Y|X)约等于P(Y|X’)

2、领域自适应相关基本概念和基本算法

1)、基本概念

协移(Covariate Shift):

Ps(y|x) = Pt(y|x)

Source domain中,基于观测样本x的输出y的条件概率Ps(y|x),与Target Domain中,jiyuguance样本x的输出y的条件概率Pt(y|x),是相同的,即模型不管输入的x是来自于那个分布,他们的输入标签为y的概率是一样的,这种情况成为协方差偏移。

Single Good Hypothesis:

一定存在一个最后的模型或者假设H*,使source domain中关于H*的误差Es(H*)和target domain中关于H*的误差Et(H*)都很小。

领域的差异与误差(Domain discrepancy and Error):

source domain和target domain要有一定大的重叠的交集。如图4所示。

图4 领域的差异与误差问题

2)、domain adaptation算法分类

(1)、按是否有监督与domain adaptation相关的算法分类:

半监督适应性算法(Semi-supervised Adaptation):基于Covariate Shift的方法和基于共享表示(shared representation)学习的方法。

监督适应性算法(Supervised Adaptation):基于特征的方法(Feature-Based Approaches)和基于参数的方法(Parameter-Based Approach)。

(2)、基于原理分类

基于实例或权值重写的方法(Reweighting/Inastance-based methods):通过重写source domain的标签数据的权重(weight)来矫正样本偏差(sample bias),使source domain的样本与target domain的样本尽可能靠近。

图5 基于实例或权值重写的domain adaptation方法

基于特征的方法(Feature-based methods):在source domain和target domain靠近的地方,寻找一个新的、常见的(common)表示空间(representation space)(projection,新的特征等等)

图6 基于特征的domain adaptation方法

基于迭代/调整的方法(Adjustment/Iterative methods):通过向模型中加入一些带标签的伪数据来修改模型。

图7 基于迭代/调整的domain adaptation方法

3、单例学习(One-Shot Learning)

单例学习是迁移学习/Domain Adaptation的一个特例。模型在source domain训练好之后,迁移到target domain,target domain只用一个标记样本去训练模型的参数就可以了。

图8 平衡车单例识别

比如识别平衡车。训练时,source domain有大量标记样本,比如自行车、独行车、摩托车和轿车等类别,模型可以从source domain学到表示车的有效特征,比如有轮子、轮子尺寸大小、有踏板、方向盘或龙头等。测试时,在target domian,只需要一个或很少一些target domain的标记样本,比如只需要在模型可以准确识别车的条件下,给模型一张平衡车的标记图片就可以了。

获取最新消息链接:获取最新消息快速通道 - lqfarmer的博客 - 博客频道 - CSDN.NET

4、零例学习(Zero-Shot Learning)或零数据学习(Zero-data Learning)

零例学习是迁移学习/Domain Adaptation的一个特例。source domain存在带标签的数据,模型在source domain训练好之后,因为在第一阶段的学习已经可以很好分离类别,模型迁移到target domain直接可以使用,不需要任务target domain的标记样本去调整模型参数。source domain 和target domain共享信息。

图9 美国金丝雀的零例识别

比如美国金丝雀的识别。训练时,source domain有大量关于金丝雀的带标记的图片,以及关于图片的额外先验知识(属性,图片的描述,....),我们可以通过训练把先验知识加入到图片识别中去。测试时,模型可以准确识别出金丝雀,通过关于图片额外描述信息知道这是美国的的金丝雀,这样很容易把模型推广到新的类别,在测试集上,把见过的和未见过的图像类别合并起来。

Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)相关推荐

  1. 迁移学习(transfer learning)与finetune的关系?【finetune只是transfer learning的一种手段】

    目录 1.迁移学习简介 2.为什么要迁移学习? 3.迁移学习的几种方式 1)Transfer Learning: 2)Extract Feature Vector: 3)Fine-tune: 4.三种 ...

  2. 深度学习不得不会的迁移学习Transfer Learning

    http://blog.itpub.net/29829936/viewspace-2641919/ 2019-04-18 10:04:53 目录 一.概述 二.什么是迁移学习? 2.1 模型的训练与预 ...

  3. 迁移学习(Transfer Learning)的背景、历史

    迁移学习(Transfer Learning)的背景.历史 迁移学习的背景.历史及学习 1.迁移学习提出背景 在机器学习.深度学习和数据挖掘的大多数任务中,我们都会假设training和inferen ...

  4. PyTorch 迁移学习 (Transfer Learning) 代码详解

    PyTorch 迁移学习 代码详解 概述 为什么使用迁移学习 更好的结果 节省时间 加载模型 ResNet152 冻层实现 模型初始化 获取需更新参数 训练模型 获取数据 完整代码 概述 迁移学习 ( ...

  5. 迁移学习(Transfer learning)、重用预训练图层、预训练模型库

    迁移学习(Transfer learning).重用预训练图层.预训练模型库 目录 迁移学习(Transfer learning).重用预训练图层.预训练模型库 迁移学

  6. 迁移学习(Transfer Learning)概述及代码实现(full version)

    基于PaddlePaddle的李宏毅机器学习--迁移学习 大噶好,我是黄波波.希望能和大家共进步,错误之处恳请指出! 百度AI Studio个人主页, 我在AI Studio上获得白银等级,点亮2个徽 ...

  7. 迁移学习(Transfer Learning)概述及代码实现

    基于PaddlePaddle的李宏毅机器学习--迁移学习 大噶好,我是黄波波,希望能和大家共进步,错误之处恳请指出! 百度AI Studio个人主页, 我在AI Studio上获得白银等级,点亮2个徽 ...

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

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

  9. 迁移学习 Transfer Learning—通俗易懂地介绍(常见网络模型pytorch实现)

    前言 你会发现聪明人都喜欢"偷懒", 因为这样的偷懒能帮我们节省大量的时间, 提高效率. 还有一种偷懒是 "站在巨人的肩膀上". 不仅能看得更远, 还能看到更多 ...

  10. 迁移学习 transfer learning

    本文会持续更新~ 1 零次学习 零次学习(zero-shot learning,本文简称ZSL)是迁移学习中一个研究分支,此外还有一次学习,它们所使适用的假设条件是不一样的,但是目的都差不多:根据已有 ...

最新文章

  1. 使用pip安装特定的软件包版本
  2. 【深度学习】Squeeze-and-Excitation (SE) 模块优势解读
  3. Ubuntu 16.04下Caffe-SSD的应用(二)——准备与处理VOC2007数据集
  4. c语言必背数据结构_数据结构(C语言)考试重点必背
  5. 爱尔兰圣三一学院计算机全球排名,QS世界大学学科排名,爱尔兰圣三一学院20个学科进世界百强...
  6. Berg Insight:移动M2M连接将实现长足发展
  7. 实现Eureka注册发现的高可用
  8. eoc机顶盒wifi服务器未响应,网络机顶盒中桌面配置服务器
  9. 红包大战复盘:谁赢得了这场春节游戏?
  10. 数字图像隐写术之卡方分布
  11. 浅谈电费电价管理中预付费系统的完善措施与应用
  12. 神武授权位置服务器,《神武3》X诸葛八卦村 多益网络第二个大型文创项目即将开启...
  13. piblic class 和class的区别
  14. 头文件到底是干啥用的
  15. 推荐系统和搜索引擎的比较
  16. web前端dya07--ES6高级语法的转化rendervue与webpackexport
  17. CS5265的Type-C转HDMI2.0方案
  18. 柏林初创Meditopia​靠一个冥想App获1500万美元融资
  19. windows 快速修复内存不能read
  20. java find()_java 之 find 命令

热门文章

  1. 给一张表加一个自动编号字段_可视化仪表板快速入门教程,10分钟做一张销售分析仪表板...
  2. bootstrapinput传参数_bootstrap-fileinput组件在上传时传递额外参数 Web程序 - 贪吃蛇学院-专业IT技术平台...
  3. 循环输入正整数,求其平均值
  4. uva 147 Dollars(完全背包)
  5. 电商618背后的那些技术事儿
  6. CISCO CCNA RIP
  7. Neo4J简介(2)
  8. 每天一个linux命令(2):文件权限详解
  9. windows 80端口被占用的解决方法
  10. 在WCF中实现双工通信(转载)