资源: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. Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php

    Atitit. 解压缩zip文件 的实现最佳实践 java c# .net php 1. Jdk zip 跟apache ant zip 1 2. Apache Ant包进行ZIP文件压缩,upzip ...

  2. PHP类与面向对象

    PHP常量PHP常量大写PHP常量用define函数或const关键字定义一个常量一旦被定义,就不能再改变或者取消定义.在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量. ...

  3. python中xrange和yield的用法

    相信很多人对xrange和yield都不是很清楚,网上很多文章也是写的云里雾里的,今天我用最简单的例子给大家说下. 说起xrange的时候就一定要提range,其实xrange 用法与 range 完 ...

  4. Android图片处理-相机、相处简单调用

    安卓开发中,常常需要使用到手机相机拍照.或者相册上传头像等等.通过使用Intent,我们很方便地获得相机.相册里面的图片: 1.相机调用,通过设置File文件路径和文件名,可以将拍照得到的图片保存下来 ...

  5. Java Socket网络编程常见异常(转)

    1.java.net.SocketTimeoutException 这个异常比较常见,socket超时.一般有2个地方会抛出这个,一个是connect的时候,这个超时参数由connect(Socket ...

  6. android: 服务的生命周期

    9.4   服务的生命周期 之前章节我们学习过了活动以及碎片的生命周期.类似地,服务也有自己的生命周期, 前面我们使用到的 onCreate().onStartCommand().onBind()和 ...

  7. EnumHelper枚举常用操作类

    在项目中需要把枚举填充到下拉框中,所以使用统一的方法实现,测试代码如下: namespace CutPictureTest.Comm { public class EnumHelper { publi ...

  8. 使用eclipse JDT compile class,解决 无法确定 X 的类型参数;对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最大实例

    ant 命令行方式执行build javac编译class出现 泛型无法转换 无法确定 <X>X 的类型参数:对于上限为 X,java.lang.Object 的类型变量 X,不存在唯一最 ...

  9. java中获取比毫秒更为精确的时间

    所以这里提醒做非常精确的时间统计的朋友,谨慎使用System.currentTimeMillis() . 在Java中可以通过System.currentTimeMillis()或者System.na ...

  10. 微信公共账号开发:48001 api unauthorized解决

    微信公众平台开发:获取token成功并且拉取自定义菜单也OK,但是在拉取用户信息和分组信息 是总是出现这个 {"errcode":48001,"errmsg": ...