Transfer Learning

Transfer Learning


提示:适合初学小白,仅供参考


Overview

Warning: difrerent terminology in different literature.
迁移学习实际上是:用一些不直接相关的数据(Data not related to the task considered)考虑当前的任务。
在这里插入图片描述

It included two tasks:
Similar domain, different tasks
源域与目标域,域相同(例如大象与猫狗都来自动物域),但两域数据分别用作不同的任务(例如源域做猫狗,要借用去做目标域的大象分类)。
Diferent domains, same task
源域与目标域,域不同(例如都是猫狗但是分别来自漫画形象与真实形象),但两域的属于所做任务相同(例如都是做猫狗分类)。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/ed55386c60724947a1e27ebecf77b88d.png

Achievement of Transfer Learning1: Model Fine-training

在这里插入图片描述

Task description:

Target Data <----- Very little
Source Data <----- A large amount

如果Target Data仅有几个examples,则可以看作是One-shot learning: only a few examples in target domain.

Idea:

training a model by source data, then fine-tune the model by target data.
背后思想是:利用源域数据训练一个模型,然后再通过目标域数据对模型进行微调。
(Challge: only limited target data, so be careful about overfitting.)

Method 1: Conservative Training

在这里插入图片描述
这种方法应对以下情况:
对一个源域上训练好的模型,当直接拿到目标域继续进行微调时,整个模型直接坏掉了,准确率下降,这表示模型在目标域数据上的微调改变过大,偏离task goal。我们通过加一些防止过度偏离的措施:限制output 或者限制parameter 的形式。

Method 2: Layer transfer

在这里插入图片描述
这种方法思想如下:
以图像领域来说,网络全连接层之前的特征层可以被看作是在提取特征,那么最开始提取到的基础特征包括一些点,面等,随着层数的推移,提取特征的愈发细致和抽象。我们可以固定并提取部分层到目标域继续训练。即在source data上训练好整个模型,对其中的一些层进行copy,继续到target data上训练剩余层。
在语音识别中:一般迁移后几层,因为后几层可能做的是根据人的发音方式做识别;
在图像识别中:一般迁移前几层,因为前几层做的事情可能就是一些直线、曲线等通用图形。

Achievement of Transfer Learning2: Multitask learning

提示:Fine-tuning与Multitask learning的不同在于,Fine-tuning最终在目标域上进行并关注这模型在目标域上的效果;而Multitask learning则关注模型在源域和目标域上的效果都好不好。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Achievement of Transfer Learning3: Domain-Adversial training

在这里插入图片描述

Idea:

Data from different domains was used to train the same task.
面对相同的任务,利用来自不同域的数据
在这里插入图片描述

Domain-Adversial training网络结构:
在这里插入图片描述

蓝色label predictor:做的事情是把class分类做的正确率越高越好;
红色domain classifier:做的事情是想正确predict image是属于哪个domain;
绿色feature extractor:想要做的事情是:要同时improve label predictor,同时想要minimize domain classifier accuracy。

Personal understanding :

实际上数据经过网络时,可以看作网络对数据进行了两阶段的操作,第一阶段就是绿色的特征提取阶段,第二阶段就是红色或蓝色的分类阶段。我们的主线任务实质上是让源域数据与目标域数据都分类很好,那么首先对于第一阶段的特征提取过程,就要提取到源域与目标域的相似特征,如果提取到的特征可以很好的分类不同域,那么迁移就根本没有效果。所以我们的第一个目标就是需要让网络提取到的特征不容易区分目标域与源域数据,将两者视为同一分布。在此之后,第二个目标是对数据进行分类,与正常的分类任务追求的目标一致,我当然希望网络特征能够很好的进行类别坚定(注意不是域鉴定)。

如何实现第一个目标呢,第一个目标来自红色部分,如果说红色是为了最大化不同域的区别,那么只需要改变传播时的梯度更新方向,就能让绿色部分将两域数据视为同一分布。这就体现了adversarial。

Note:

具体的adversarial的体现:实际上在对绿色部分进行更新的时候需要一个正向的蓝色部分梯度下降,需要一个红色部分的梯度上升,而随着训练,提取到的特征实际上对红色部分的识别是越来越困难的,而训练最终红色部分一定会fail。

Achievement of Transfer Learning4: Zero-shot-learning

在这里插入图片描述

在这里插入图片描述

Idea:

在相同领域的数据上,做不同的任务。实际上用相同的网络去预测一个没有见过的label是不容易的,但是如果将label换成更简单的属性(例如将最后的label output 换成倒数第二层的 feature output,那么这件事就容易多了)。在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值