2020李宏毅 transfer learning 笔记
文章目录
意义
利用 data not directly related to the task considered 去帮助解决现在我们关心的task
不直接相关的数据有两种
- similar domain,different task
- different domains, same task
例如:
transfer-learning 概述
注意:transfer-learning的划分定义在学术界不太统一,这里不具体纠结。
labelled-labelled 情况
Fine-tuning
问题描述:
-
目标数据:很少
-
源数据(我们已有的):很大量
-
例子
语音辨识系统中我们需要识别一个特别的人的声音。—> 直接fine-tuning,但是很容易overfitting
Conservative training
加正则,想办法让我们两个模型比较接近
“变了但没完全变”
Layer Transfer
copy某些层,只训练其他没换的层
- 语音问题:复制后面几层(前面是抽每个人的说话的模式,后面几层是转为文字)
- 图像问题:复制前面几层(前几层是抽横线竖线这种通用纹理信息,后面的是语义的信息)
上图横坐标是copy的层数
上图表示target和source就算很不一样,第一层做的工作也是差不多的
Multitask Learning
Multitask learning有一个很成功的例子:多语音识别翻译,如下图
可以帮助现任务做的更好,如上图
Progressive Neural Networks
不同的任务的隐藏层可以连起来,有点像GoogleNet/resnet
unlabelled-labelled
Domian-adversarial training
问题描述:
- 源数据: ( x s , y s ) (x^s, y^s) (xs,ys)
- 目标数据: ( x t ) (x^t) (xt) (没有y,即label;但是和源数据比较像)
我们的网络前面几层是来抽特征的,于是就出现问题了,不同的数据的domain完全不一样;前面几层不变的话就会直接烂掉,无法区分,分类;如上图
所以我们希望做到前面抽特征的几层网络可以去除domian的特性
具体做法:
这里红色的分类器吐出的结果是输入数据是来着哪一类的,然而我们需要的是分不出两个domain,所以我反向传播的时候红色的分类器给的feature extractor 的梯度会额外乘上一个**$ -\lambda$**, 来破坏前面绿色的网络,使得其达到下面的效果:
即绿色的feature extractor 抽出来的东西的分布是混杂的,无法明显分别两个原始的domain
但是我们最终还是要让网络分类,所以蓝色的网络也需要去训练来正确分类;所以最后的训练好的网络大概是蓝色可以正确分类,但是红色的完全区分不出来数据是属于哪个domian的
我这里的理解就是加入红色的网络来不让前面的feature extractor 用比较偷懒的方式来得到正确的结果,而是真的去提取这两个domain相似的的特征(比如说是数字的轮廓而不是数字“0”占黑色背景的百分比这种“不是很正确的特征”)
Zero-shot learning
问题描述:
- 源数据: ( x s , y s ) (x^s, y^s) (xs,ys)
- 目标数据: ( x t ) (x^t) (xt) (没有y,即label;但是源数据里从来没有出现过x; 也就是比上一个要求更严格了)
例如:
如上图,我们的网络绝对不可能能认出草泥马;所以我们退一步,只要求我们的网络认出客体的属性,也就是有没有毛等等。然后跟根据这些属性来查表来得到分类结果; 如下图
更进一步我们可以把这些属性进行embedding(类似word2vec); 如下
这里我们再讲一下loss
- 首先如果我们按下图所示定义loss可以嘛?
不行的,这样会出现一个问题,那就是我的模型会把所有东西都投影到一个点
- 解决方案:我们让类别一致的尽可能靠近的情况下还要让不同的类别分的尽可能的远;如下图
理解:k是我设置的“边缘”超参数
因为argmin,所以模型会尽力让 k − f ( x n ) ∗ g ( y n ) + m a x f ( x n ) ∗ g ( y m ) k-f(x^n)*g(y^n)+maxf(x^n)*g(y^m) k−f(xn)∗g(yn)+maxf(xn)∗g(ym)小于0,也就是
根据上面不等式的变换我们可以得知这意味着我们的同一类别 比 其他最接近这一类别的类别还要大k个值,所以可以分开
例子:google多语言翻译系统
它可以直接把不同语言投射到semantic的空间上,相同的意思空间上很接近,如下图
可以把这个语义空间理解为模型自己“发明的一种语言”