李宏毅机器学习——学习笔记(17) Transfer Learning

Transfer Learning

1.transfer learning可以分为四大类(不同的文件上有不同的称呼):Model Fine-tuning、Multitask Learning(source labeled and target labeled),Domain-adversarial training、Zero-shot learning(source labeled and target unlabeled),self-taught learning(source unlabeled and target labeled),self-taught clustering(source unlabeled and target unlabeled)
(1)a.Model Fine-tuning:Source data的数量非常多,而Target data的数量很少。极端的例子就是 One-shot Learning(在目标域中只有几个data)。举例来说,语音辨识。由于target data的数据量很少,所以需要防止出现过拟合。
李宏毅机器学习——学习笔记(17) Transfer Learning_第1张图片
为了防止过拟合,可以使用conservative learning(保守学习)的方式,先使用源数据训练一个网络,再利用目标数据对这个网络进行微调。这种学习方式,目标数据起到了regularization的作用,微调后的网络参数或者同样的输入所产生的输出都要与原来网络中的值接近。
李宏毅机器学习——学习笔记(17) Transfer Learning_第2张图片
也可以在训练的时候,限制只有部分layer的参数能够进行调整。语音上调整靠近输入层的layer,图像上调整靠近输出层的layer。
李宏毅机器学习——学习笔记(17) Transfer Learning_第3张图片
b.Multitask Learning:进行多任务的学习
李宏毅机器学习——学习笔记(17) Transfer Learning_第4张图片
Progressive Neural Network:
先对task 1进行学习,然后再对task 2进行学习,两者的网络不相交。task 2会task 1网络中的参数加入到task 1中,但是并不会对task 1中的参数进行调整。
李宏毅机器学习——学习笔记(17) Transfer Learning_第5张图片
(2)a.Domain-adversarial training( same task):可以看成是GAN的一种,通过前几层的feature extractor,可以使得source data和target data的特征嵌入在同一分布中,而domain classifier对输入样本的所属域进行划分,feature extractor希望产生出的feature让domain classifier难以区分。如果不添加条件,只是对domain classifier进行训练的话,feature extractor全输出0即可。因此在训练的过程中,还需要添加label predictor对feature extractor进行约束。整个

李宏毅机器学习——学习笔记(17) Transfer Learning_第6张图片
b.Zero-shot learning(different task) : 通过属性来代表分类,实现对target data在source data中未出现过的类别的分类。将样本的embedding和属性embedding到同一空间中,比较两者的相似性。
李宏毅机器学习——学习笔记(17) Transfer Learning_第7张图片
loss function的确认,不能只是比较样本embedding跟样本属性embedding结果相接近。如果只是这样进行训练的话,可能会导致网络全输出0的结果。通过下面的式子,保证同一样本及其属性之间的embedding足够近,如不同样本及属性之间的embedding足够远。k是个阈值,确定两者之间的区分程度。如果不知道属性分类的话,可以直接用类别的word embedding作为属性的embedding。
李宏毅机器学习——学习笔记(17) Transfer Learning_第8张图片

将所有的语言都投影到同一个空间进行embedding,进行比较。再将相近的结果翻译成我们所需要的语言。

李宏毅机器学习——学习笔记(17) Transfer Learning_第9张图片

持续更新中。。。。

你可能感兴趣的:(机器学习)