迁移学习简介

坚强是说给别人听的谎言 提交于 2019-12-06 10:19:12

# 迁移学习笔记

 

## 迁移学习简介

 

### 迁移学习

 

1. 迁移学习的**定义**是具有将在以前的领域/任务中学习到的知识和技能应用到新的领域/任务中的能力的系统。

 

2. 迁移学习里有两个非常重要的**概念**:

 

**域(Domain)** :可以理解为某个时刻的某个特定领域,比如书本评论和电视剧评论可以看作是两个不同的domain

**任务(Task)** :就是要做的事情,比如情感分析和实体识别就是两个不同的task

 

3. 迁移学习的**关键点**:

 

- 研究可以用哪些知识在不同的领域或者任务中进行迁移学习,即不同领域之间有哪些共有知识可以迁移。

- 研究在找到了迁移对象之后,针对具体问题所采用哪种迁移学习的特定算法,即如何设计出合适的算法来提取和迁移共有知识。

- 研究什么情况下适合迁移,迁移技巧是否适合具体应用,其中涉及到负迁移的问题。

 

4. 迁移学习的意义

 

大数据与少标注 大数据与弱计算 普适化与个性化 特定应用需求

 

### 迁移学习研究领域

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191127095318217.png" alt="image-20191127095318217" style="zoom: 50%;" />

 

### 迁移学习应用领域

 

1. **计算机视觉** Domain Adaptation

2. **文本分类** 将电影评论文本数据集训练的分类器应用在别的领域评论的预测

3. **时间序列** 行为识别 室内定位

4. **医疗健康** 帮助解决难点问题:“无法获取足够有效的医疗数据”

 

## 迁移学习基础知识

 

### 领域(Domain)

 

**源领域(Source Domain)**:有知识、有大量数据标注的领域的对象。

 

**目标领域(Source Domain)**:赋予知识、赋予标注的对象。

 

知识从源领域传递到目标领域,就完成了迁移。 

 

### 任务(Task)

 

**任务是学习的目标,由标签和标签对应的函数构成。**

 

### 形式化

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191127234357349.png" alt="image-20191127234357349" style="zoom:67%;" />

 

### 领域自适应(DA)

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191127235618731.png" alt="image-20191127235618731" style="zoom:67%;" />

 

### 度量准则

 

度量是迁移学习的重要工具,它的核心是衡量两个数据域的差异。

 

度量就是描述源域和目标域这两个领域的距离: 

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000142876.png" alt="image-20191128000142876" style="zoom:67%;" />

 

#### 常见的几种距离

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000220784.png" alt="image-20191128000220784" style="zoom: 67%;" />

 

#### 相似度

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000255084.png" alt="image-20191128000255084" style="zoom:67%;" />

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000307520.png" style="zoom: 67%;" />

 

#### KL 散度与 JS 距离 

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000555481.png" alt="image-20191128000555481" style="zoom: 67%;" />

 

#### 最大均值差异MMD

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000828159.png" alt="image-20191128000828159" style="zoom:67%;" />![image-20191128000916375](/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000916375.png)

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000828159.png" alt="image-20191128000828159" style="zoom:67%;" />![image-20191128000916375](/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128000916375.png)

 

## 迁移学习的基本方法

 

### 基于样本迁移

 

基于样本的迁移学习方法 (Instance based Transfer Learning) 根据一定的权重生成规 则,对数据样本进行重用,来进行迁移学习。 在迁移学习中,对于源域 Ds 和目标域 Dt,通常假定产生它们的概率分布是不同且未知的 (P(xs) ̸= P(xt))。另外,由于实例的维度和数量通常都非常大,因此,直接对 P(xs)和P(xt)进行估计是不可行的。因而,大量的研究工作着 眼于对源域和目标域的分布比值进行估计 (P (xt )/P (xs ))。所估计得到的比值即为样本的权 重。这些方法通常都假设 P(xt) /P(xs) < ∞ 并且源域和目标域的条件概率分布相同 (P(y|xs) = P (y|xt))。

 

TrAdaboost 方法,将 AdaBoost 的思想应用于迁移学习中,提高有利于目标分类任务的实例权重、降低不利于目标分类任务的实例权重,并基于 PAC 理论推导了模型的泛化误差上界。TrAdaBoost 方法 是此方面的经典研究之一。 

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128001606019.png" alt="image-20191128001606019" style="zoom:50%;" />

 

### 基于特征迁移

 

是指将通过特征变换的方式互相迁移 ,来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。 

 

迁移成分分析方法 (Transfer Component Analysis, TCA) 是其中较为典型的一个方法。该方法的 核心内容是以最大均值差异 (Maximum Mean Discrepancy, MMD)作为度量准则,将不同数据领域中的分布差异最小化。 

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128003208121.png" alt="image-20191128003208121" style="zoom:50%;" />

 

### 基于模型迁移

 

基于模型的迁移方法 (Parameter/Model based Transfer Learning) 是指从源域和目 标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条 件是:源域中的数据与目标域中的数据可以共享一些模型的参数。目前绝大多数基于模型的迁移学习方法都与深度神经网络进行结合 。

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128111528027.png" alt="image-20191128111528027" style="zoom:50%;" />

 

### 基于关系迁移

 

基于关系的迁移学习方法 (Relation Based Transfer Learning) 与上述三种方法具有截 然不同的思路。这种方法比较关注源域和目标域的样本之间的关系。

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128115941722.png" alt="image-20191128115941722" style="zoom:50%;" />

 

### 第一类方法:数据分布自适应

 

### 第二类方法:特征选择

 

### **第三类方法:子空间学习**

 

### 深度迁移学习

 

#### *DDC*

 

深度网络中最重要的是网络损失的定义。绝大多数深度迁移学习方法都采用了以下的 

 

损失定义方式: 

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128131644649.png" alt="image-20191128131644649" style="zoom:50%;" />

 

其中,l 表示网络的最终损失,lc(Ds, ys) 表示网络在有标注的数据 (大部分是源域) 上 的常规分类损失 (这与普通的深度网络完全一致),lA(Ds, Dt) 表示网络的自适应损失。最后 一部分是传统的深度网络所不具有的、迁移学习所独有的。此部分的表达与我们先前讨论 过的源域和目标域的分布差异,在道理上是相同的。式中的 λ 是权衡两部分的权重参数。 

 

DDC 固定了 AlexNet 的前 7 层,在第 8 层 (分类器前一 层) 上加入了自适应的度量。自适应度量方法采用了被广泛使用的 MMD 准则。DDC 方法 的损失函数表示为: 

 

#### <img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128131318030.png" alt="image-20191128131318030" style="zoom:67%;" />

 

##### deep_coral

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128133559974.png" alt="image-20191128133559974" style="zoom:50%;" />

 

CORAL损失函数的定义:

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128133806705.png" alt="image-20191128133806705" style="zoom:50%;" />

 

协方差矩阵:

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128133913764.png" alt="image-20191128133913764" style="zoom: 50%;" />

 

梯度计算:

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128133954087.png" alt="image-20191128133954087" style="zoom:50%;" />

 

结果:

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128134200964.png" alt="image-20191128134200964" style="zoom:50%;" />

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128134222591.png" alt="image-20191128134222591" style="zoom:50%;" />

 

A图:coral loss使得target task有所提升,source task准确率基本不变。

 

B图:classification loss跟 CORAL loss是相互抗衡的,最终达到稳态。

 

 

 

#### DAN

 

<img src="/Users/xzhmacbookpro/Library/Application Support/typora-user-images/image-20191128132345638.png" alt="image-20191128132345638" style="zoom:50%;" />

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!