Transfer learning
核心思想:类比
迁移学习:数据和任务不一致
1:数据差不多,但标签和任务无关
2:数据标签一致,但是数据本身和任务不符合
为什么要用迁移学习?
有用的data并不多
如下图,用其他语言数据来做中文的语言识别
迁移学习之所以管用,是因为,好多东西的内在逻辑是相通的,用英文来做中文的识别,因为二者都是语言,在一些语法和语义上相通。如下图,将漫画家工作的流程,迁移到研究生的流程,二者是很类似的。这也就是迁移学习名字的来历
target是与task有关的训练数据,source data是与task无关的训练数据
如果二者都有label,利用source可以对模型进行微调
model fine-tuning
source data要足够多,少的画直接当正常的数据就完事了
target data数据很少时,叫
有什么具体实例呢?
target:自己说话的声音
source:其他人的声音
具体流程:先用source数据来训练,再用target数据来调整model
有什么缺点呢?
target数据太少了,可能会产生over fit
如下图,把上几层的数据直接复制过去(用source 训练),只留最下边的layer,用target来训练
哪些layer可以被transfer?
对最后结果影响小的layer,可以被copy
简单说:共性的东西可以被copy,个性的东西不可以被copy
最好是先transfer后,再用source data来微调新的model,准确率最高
Multitask learning
最经典的应用
辨别不同语言
如下图的公共部分可以用source data
最新的做法
先训练出task1,然后task3同时考虑task1和task2的weight
domain advertisarial learning
source(用做training)有label,target(testing)没有label
在神经网路的特征提取阶段时,将feature抽取出来,加入domain classifier来将source data和target data 混在一起
zero-shot learning
source训练数据是只有猫,狗
测试数据却是草泥马
不去直接辨识是不是猫和狗,而是根据训练数据来对属性进行分类,学习能力更强
做一个表,直接辨识这些属性
测试的时候,把属性识别后,在表查询,看看是哪一种动物