【李宏毅2020 ML/DL】P85 Transfer Learning
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
本节内容综述
- 要做一项任务,但是数据不直接与任务相关。这就涉及到了迁移学习。在现实生活中,我们其实不断在做“迁移学习”。
- 关于 Transfer Learning ,李老师的分类如 Overview (目标数据是否有标签、原数据是否有标签)。
- 首先来看 Model Fine-tuning 。
- 接下来是 Multitask Learning 。
- 如果两个任务不像,是否迁移学习会有不好的效果?有人对此提出了 Progressive Neural Networks 。
- 在目标数据没有标签时,如何处理?且看 Domain-adversarial training 。
- 此外,还有一种思路:zero-shot Learning 。
- 剩下一点时间,讲一讲 Source Data 没有 label 是怎么办。
文章目录
- 本节内容综述
- 小细节
- Overview
- Model Fine-tuning
- Conservative Training
- Layer Transfer
- Multitask Learning
- Multilingual Speech Recognition
- Progressive Neural Networks
- Domain-adversarial training
- zero-shot Learning
- DeviSE
- Convex Combination of Semantic Embedding
- Self-taught learning
小细节
Overview
Model Fine-tuning
如上,目标的数据有标签,但是很少;其他数据很大量,有标签。这种数据在语音辨识比较常见。
这种问题的思路可以很直接:使用其他数据训练模型,然后用目标数据微调。
Conservative Training
如上,在 Conservative Training 中,要注意让新老的模型差距不要太大。
Layer Transfer
如上,还有一种方法:把大部分的层都复制并固定到新模型;只让某一层参与微调。
Which layer can be transferred (copied)?
- Speech: usually copy the last few layers;
- Image: usually copy the first few layers.
对于图片训练 Layer Transfer 如上。
Multitask Learning
如上,在训练时,即训练了可以公用的“层”。
Multilingual Speech Recognition
Multitask Learning 很成功的例子就是多语言翻译,如上。
Progressive Neural Networks
如上,用之前任务的中间层去训练下一任务对应层的输出。但是这个方法还存在不少问题。
Domain-adversarial training
如上,如果把神经网络的某层抽出来,你会发现,不同 domain 的数据,其分布根本不同。
因此希望,把 domain 的特性消掉。不同的 domain 的相同类别应该混在一起。
如上,提出了类似 GAN 的结构,在后面加上 Domain classifier ,以消除 Domain 的特性。但是如果只考虑 Domain ,则会造成偏差。因此,还要加上 Label predictor 。
如上,建立了一个大网络。对于蓝色、粉色的输出,其目标不同。
如上,两个目标是冲突的,因此要加一个 gradient reversal layer 。训练时可能比较难 train 。
其结果如上 proposed approach 。
zero-shot Learning
在 zero-shot Learning 中,其任务是截然不同的。在语音辨识中,我们经常遇到这种情况:在训练时,我们不可能见过所有的单词;为此,我们建了一个所有单词的“语义表”,将单词映射到语义表上,对于没见过的单词,也将其映射到该表上。
对于图片同理。
如上,在训练时,训练其各种“特性”。
而在训练时,把 Attributes 输出,然后去属性表中找,哪一种动物的属性最为接近,即为那种动物。
DeviSE
此外,可以把图片以及其属性分别
做一个 embedding ,在测试时,将属性的 embedding 做比较。此外,我们希望 fff 与 ggg 越近越好。
如果我们没有动物的数据库该怎么办呢?如上,我们可以接用 word2vec 。
如上,对于训练,我们应考虑两件事:
- fff 与 ggg 越近越好;
- 对于不对应的 fff 与 ggg ,越远越好。
Convex Combination of Semantic Embedding
如上,如果一张动物的图片,其分类分数作为权重,之后将词向量
加权平均,与哪个词最接近,即为那个词。
其结果如上。
Self-taught learning
- Learning to extract better representation from the source data (unsupervised approach)
- Extracting better representation for target data
如上,原始论文做了许多任务,其表现都不错。
【李宏毅2020 ML/DL】P85 Transfer Learning相关推荐
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P99-105 Life Long Learning
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 终身学习技术,让一个模型学习多个任务,又叫 Continuous Learning.Never ...
- 【李宏毅2020 ML/DL】P97-98 More about Meta Learning
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 陈建成 讲解. 本节 Outline 见小细节. 首先是 What is meta ...
最新文章
- python 替换字符串的方法replace()、正则re.sub()
- java docx word api_javadoc生成word接口文档
- 不改一行代码定位线上性能问题
- JavaScript实现完整的matrix矩阵类(附完整源码)
- cookies默认过期时间_「图」Chrome Canary新版已启动“增强版cookies控制”预览测试...
- 字节大牛耗时八个月又一力作,原理+实战讲解
- U盘安装linux后无法引导
- pytorch---nn模块(3)自定义nn 模块
- NYOJ--114--某种序列(大数)
- visio 绘图矢量图素材网站
- UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置
- studioOne安装教程与简单使用(图文)
- 去掉GaussView启动警告窗口的办法
- linux网络编程——聊天室总结
- 将RSA加密应用在ARM-Linux平台
- 操作系统Unix、Windows、Mac OS、Linux的故事
- 危机管理应遵循哪些原则?
- 年底了,清空自己,让心归零!
- getline()函数的几点疑惑
- 数据结构 —— 广义表
热门文章
- Nginx配置Thinkphp3.2.3配置,访问Nginx报 No input file specified. 的问题解决
- nodejs进程异常退出处理方法
- 深入理解分布式事务,高并发下分布式事务的解决方案
- 解决springmvc加载JS,CSS等文件问题【转】
- 【Golang】解决Go test执行单个测试文件提示未定义问题
- Bash脚本和/ bin / bash ^ M:错误的解释器:没有这样的文件或目录[重复]
- 找不到具有不变名称“System.Data.SqlClient”的ADO.NET提供程序的实体框架提供程序
- TextView内可以有多种样式吗?
- 如何将图例排除在情节之外
- maven deploy到nexus报错:Return code is: 401, ReasonPhrase:Unauthorized