迁移学习系列笔记(一)—— 李宏毅Machine Learning2017笔记

本章课程PDF,视频(油管B站)。

本文搬迁自 「李宏毅机器学习」学习笔记-Transfer Learning,由于原作者总结得太好了,在此几乎完全搬运,仅略作修改。

The aim for Transfer Learning and Example

Aim

Transfer Learning要做的是:假设现在手上有与现在进行的task没有直接相关的data,使用这些data来帮助做一些事情。

Example

比如现在要做猫狗的分类器,所谓不直接相关的data就可能是

  • Similar domain, different tasks(大象与老虎的图片,与猫狗图片的分布是相像的)
  • Different domain, same task(猫狗的卡通图片,与猫狗图片的分布是不像的)
    Transfer Learning Example

Why Transfer Learning?

为什么考虑transfer learning?因为我们只有很少的数据是符合任务处理要求的(Target Data),但是类似的数据(Source Data)却有很多。

例如,我们的任务是

  1. 辨识台语,我们只有很少台语数据,但是我们有很多其它语言的数据,类似中文、英语等等;
  2. 辨识医疗图像,数据很少,但是普通的image很多;
  3. 文本分析上,需要分析的文件是某个很specific的domain,数据很少,但是从网络上可以找到很多文本数据。
    在这里插入图片描述
    在这里插入图片描述

Transfer Learning - Overview (Four Class)

Target data是跟现在考虑的task直接相关的,source data跟我们现在考虑的task没有直接的关系。
Transfer Learning Four Class

Class1: source->labelled, target->labelled

Model Fine-tuning

Fine-Tuning
如果target data的量特别少,少到只有几个example,这时候叫做one-shot learning

训练的时候,先用source data训练出一个model,然后用target data去fine-tune这个model。其实就相当于把source data训练出的model当作当前model的初始值,然后在用target data训练。

训练的时候有很多小技巧,比如Conservative TrainingLayer Transfer

Conservative Training

在这里插入图片描述
为了避免target data在fine-tune模型时造成过拟合,要增加约束,即增加正则化项,希望同一笔data经过fine-tune前后两个模型的output越接近越好,或两个模型的参数越接近越好。

Layer Transfer

Layer Transfer

把Source data训练好的模型中的某些layer直接copy过来,用target data训练剩下的layer。这样的好处是,target data只需要训练较少的参数,避免了过拟合
Two domain

在不同的task上,需要被transfer的layer往往是不一样的。比如

  1. 语音识别上,通常copy最后几层,重新训练前几层。这是因为语音识别神经网络前几层是识别语者的发音方式,后几层是识别,后几层与语者没有关系。
  2. 图像识别上,通常copy前面几层,重新训练后面几层。这是因为图像识别神经网络的前几层是识别有没有基本的几何结构,因此可以transfer,而后几层往往学到的比较抽象,无法transfer。

所以,哪些layer要被transfer是case by case的。特别是运用之妙,存乎一心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值