资源:http://www.cse.ust.hk/TL/


简介:

一个例子:

关于照片的情感分析.

源:比如你之前已经搜集了大量N种类型物品的图片进行了大量的人工标记(label),耗费了巨大的人力物力,构建了源情感分类器(即输入一张照片,可以分析出照片的情感).注:这里的情感不是指人物的情感,而是指照片中传达出来的情感,比如这张照片是积极的还是消极的.

目标:因为不同类型的物品,他们在源数据集中的分布也是不同的,所以为了维护一个很好的分类器性能,经常需要增加新的物品.传统的方式是搜集大量N+1号物品的照片进行大量的人工标记.建立模型.而迁移学习要做的是借鉴之前已经训练好的针对N中类型的分类器,来训练这个N+1号分类器.这样就节省了大量的人工标注的成本.

与传统进行比较:


几个概念:

(1)domain D:

包含一个特征空间X和一个边缘概率分布P(X)

如果两个域不同,那么他们可能有不同的特征空间和边缘概率分布.

(2)task T:

给定一个域D,一个task包含两部分:一个标记空间y和一个目标预测函数f().

f()可以用于预测一个新的instance x的label.f(x)可以表示为

迁移学习:给定一个源域DS和一个学习任务(task)TS,一个目标域DT和一个目标学习任务TT.迁移学习旨在利用DS和TS中的knowledge来提高目标预测函数f()在DT中的性能,其中DS≠DT或TS≠TT.


几个问题:

(1)迁移什么?

什么样的knowledge可以拿来迁移?      答:源域和目标域有相关性的才可以拿来迁移.

可以发现,我们把迁移学习的learning settings分为3类:

inductive transfer learning(归纳迁移学习), transductive transfer learning(直推式迁移学习), and unsupervised transfer learning(无监督迁移学习).

a.inductive transfer learning(归纳迁移学习)

研究较多

分为两类:

第一类:

inductive transfer learning:通过把knowledge从源task迁移到目标task,以此在目标task中取得高性能

multitask learning : 同时学习目标和源task

第二类:

源域和目标域的标记空间不同

b.transductive transfer learning(直推式迁移学习)

c.unsupervised transfer learning(无监督迁移学习)

研究较少

(2)怎么迁移?

(3)什么时候迁移?


inductive transfer learning(归纳迁移学习)

定义:给定一个源域DS和一个学习任务TS,一个目标域DT和一个学习任务TT.归纳迁移学习旨在通过使用DS和TS中的知识来提高目标预测函数的性能,其中TS≠TT.

目标域中需要少量的标记好的数据作为训练集.

(1)迁移instances中的knowledge

尽管源域中并非所有数据都可以被利用,但是,还是可以提取出其中的部分有标记的数据用于目标域.

(2)迁移feature representative中的knowledge

目的:找到好的特征代表,以此来减小源域与目标域中的差异.不同的源域数据类型,找到这些好的特征代表的策略也是不同的.

如果源域中有大量有效的带标记的数据,监督学习方法可以用于构建一个特征代表.

如果没有,则采用无监督学习方法来构造特征代表.

(3)迁移Parameters中的knowledge

有相关的task的不同模型之间应该共享一些参数或超参数的先验分布.

不同的域,参数不同.在目标域中,损失函数需要设定更大的权重.

(4)迁移Relational中的knowledge

比如数据网和社会网络.尝试将源域中的relationship转换到目标域中.

方法: statistical relational learning techniques


transductive transfer learning(直推式迁移学习)

源task和目标task是一样的,域不同.

利用部分目标数据来获得边缘概率.

定义:给定一个源域DS和相应的学习taskTS,一个目标域DT和相应的学习task.直推式学习旨在提高DT中的目标预测函数f(),利用DS和TS中的knowledge.其中DS≠DT且TS=TT.此外,训练时需要一些无标记的目标域数据.

(1)迁移instances中的knowledge

方法:重要性抽样:通过最小化期望风险来学习到模型中的最优参数

(2)迁移feature representative中的knowledge

利用目标域中的无标记数据来提取一些相关的特征,以此来减小域的差异性.


unsupervised transfer learning(无监督迁移学习)

定义:给定一个源域DS和相应的学习taskTS,一个目标域DT和相应的学习task.直推式学习旨在提高DT中的目标预测函数f(),利用DS和TS中的knowledge.其中TS≠TT且YS和YT并不明显.

在源域和目的域中都没有标记的数据.

(1)迁移feature representative中的knowledge

以自学习聚类(self-taught  clustering)为例,旨在通过源域中大量的无标记的数据,在目标域中对少量的无标记的数据进行聚类,


迁移学习的边界和消极迁移学习

如果两个域之间没有半毛钱关系,那么这种迁移的效果会很差.


迁移学习的应用

  1. 自然语言处理
  2. 情绪分类问题
  3. 图片分类问题
  4. wifi定位

迁移学习的几个数据集和工具

S

【迁移学习】2010-A Survey on Transfer Learning的更多相关文章

  1. 《A Survey on Transfer Learning》迁移学习研究综述 翻译

    迁移学习研究综述 Sinno Jialin Pan and Qiang Yang,Fellow, IEEE 摘要:   在许多机器学习和数据挖掘算法中,一个重要的假设就是目前的训练数据和将来的训练数据 ...

  2. 最新小样本学习综述 A Survey on Few-Shot Learning | 四大模型Multitask Learning、Embedding Learning、External Memory…

    目录 原文链接: 小样本学习与智能前沿 01 Multitask Learning 01.1 Parameter Sharing 01.2 Parameter Tying. 02 Embedding ...

  3. Generalizing from a Few Examples: A Survey on Few-Shot Learning 小样本学习最新综述 | 三大数据增强方法

    目录 原文链接:小样本学习与智能前沿 01 Transforming Samples from Dtrain 02 Transforming Samples from a Weakly Labeled ...

  4. Google Tensorflow 迁移学习 Inception-v3

    附上代码加数据地址 https://github.com/Liuyubao/transfer-learning ,欢迎参考. 一.Inception-V3模型 1.1 详细了解模型可参考以下论文: [ ...

  5. A Gentle Introduction to Transfer Learning for Deep Learning | 迁移学习

    by Jason Brownlee on December 20, 2017 in Better Deep Learning Transfer learning is a machine learni ...

  6. 小样本学习最新综述 A Survey on Few-shot Learning | Introduction and Overview

    目录 01 Introduction Bridging this gap between AI and humans is an important direction. FSL can also h ...

  7. 基于深度学习和迁移学习的识花实践——利用 VGG16 的深度网络结构中的五轮卷积网络层和池化层,对每张图片得到一个 4096 维的特征向量,然后我们直接用这个特征向量替代原来的图片,再加若干层全连接的神经网络,对花朵数据集进行训练(属于模型迁移)

    基于深度学习和迁移学习的识花实践(转)   深度学习是人工智能领域近年来最火热的话题之一,但是对于个人来说,以往想要玩转深度学习除了要具备高超的编程技巧,还需要有海量的数据和强劲的硬件.不过 Tens ...

  8. AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清

    摘要:诸多关于人工智能的流行词汇萦绕在我们耳边,比如深度学习 (Deep Learning).强化学习 (Reinforcement Learning).迁移学习 (Transfer Learning ...

  9. transfer learning

    https://github.com/jindongwang/transferlearning ftp://ftp.cs.wisc.edu/machine-learning/shavlik-group ...

随机推荐

  1. 【Android】Eclipse Memory Analyzer 进行堆内存溢出分析

    MAT 不是一个万能工具,它并不能处理所有类型的堆存储文件.     不同厂家的 JVM 所生成的堆转储文件在数据存储格式以及数据存储内容上有很多区别,但是比较主流的厂家和格式,例如 Sun, HP, ...

  2. python基于LeanCloud的短信验证

    python基于LeanCloud的短信验证 1. 获取LeanCloud的Id.Key 2. 安装Flask框架和Requests库 pip install flask pip install re ...

  3. Resource annotation is not supported on static fields

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'paramUtil' d ...

  4. framework4.0注册到IIS

    C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir -enable C:\WINDOWS\Microsoft.NET ...

  5. Web开发人员常犯的10个错误

    说到开发一个运行在现代网络中的网站:Web开发人员需要选择虚拟主机平台和底层数据存储,准备编写HTML.CSS和JavaScript用的工具,要有设计执行方式,以及一些可用的JavaScript库/框 ...

  6. JS图片切换效果

    源地址:http://www.codefans.net/jscss/code/4699.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1 ...

  7. 构造函数和:this()的应用

    一.构造函数和:this()的应用 //本实例演示构造函数和:this()的应用 public class ClsA { public string A{set;get;} public string ...

  8. lua中常量的实现及表的深拷贝实现

    废话:好久没在这里写博客了...主要原因是我买了个域名hanxi.info并在github上搭建了个人博客... lua中默认是没有c中的const常量的,在csdn上找到了一个使用setmetata ...

  9. android google 统计导致的文件冲突

    android studio 加入google 统计 1. buildscript { repositories { jcenter() } dependencies { classpath 'com ...

  10. JVM内存溢出及合理配置

    Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.Tomcat的内存溢出本质就是JVM内存溢出,所以在本文开始时,应该先对Java JVM有关内存方面的知识 ...