1 迁移学习
1.0 简介
迁移学习是机器学习研究的课题,在机器学习中集中于依据习得的知识解决不同但相关的问题;即用已知去解决未知(相关);
1.2 迁移学习分类
(1) 使用模型结构,不利用模型权重,重新训练数据,输出训练模型
当新的任务与现存的模型任务差距较大时,可借鉴模型结构,重新进行训练,以达到较优的效果,如图1.2中的摩托车和肿瘤识别.
(2) 使用模型结构和模型权重,对整个模型的权重进行微调(fine-tuning),训练数据,输出训练模型;
若新任务是现存任务的升级版,则可利用现有模型的结构和训练好的模型,微调模型的全部权重,以达到新任务的需求;如提高物品的识别种类,因任务和分类任务相似,新任务只是提高了识别种类,从10类提高到100类,调节训练权重即可.
(3) 使用模型结构和模型权重,根据需要对部分神经网络层权重进行微调,训练数据,输出训练模型;
如图1.4所示,任务B在任务A的基础上,将前两层权重进行冻结(frozen)对后面的权重进行微调,即可达到效果.
图1.5中的识别语言分类中,即只调节最后一层网络,冻结其他层权重,因新任务和现有任务比较类似,且分类差别不大,仅调节最后一层即可.
1.3 迁移学习应用选型
待训练数据集数量 | 任务相似度 |
---|---|
大 | 高 |
小 | 低 |
将新任务与现有任务进行两个维度拆分,即新任务数据集数量和两个任务的相似度,进行组合,确定使用哪种迁移方法.
(1) 使用模型结构,不利用模型权重
大低:待训练数据集数量大,任务相似度低;
新任务的数据集的数据量较多,现有模型实现的功能和新任务差异较大,则仅使用模型结构,重新训练新任务模型,如对图中的肿瘤图形进行分类,重新训练模型效果较好.
(2) 使用模型结构和模型权重,对整个模型的权重进行微调
小高:待训练数据集数量小,任务相似度高;
新任务是现有任务的升级,可考虑对全局权重进行微调,由于数据集较少且要求都较为相似,则对整个模型微调较稳妥,如分类类别增加,从10类到100类.
(3) 使用模型结构和模型权重,根据需要对部分神经网络层权重进行微调
小高:待训练数据集数量小,任务相似度高;
新任务数据集数量较小,且两个任务相似度较高,则在特定层次进行微调模型,如输入层和全连接的最终分类层,可获得较好效果.
2 对抗学习
2.1 简介
如图2.1所示,对抗学习有两个部分,生成网络(Generator Network)和识别网络(Discriminator Network);生成网络用于生成一个"假"图,鉴别网络是一个二分类器,负责比较生成的"假"图与实际图像的相似度,输出比较结果,若为0,则两张图相似度为0%,若为1,则两张图相似度为100%.
2.2 分类过程
(1) 生成网络(Generator Network)
生成网络:通过随机噪声
x
i
x_i
xi和
y
j
y_j
yj在Generator网络中生成一个"假"图(fake images)即fake ouput;
(2) 辨别网络(Discriminator Network)
辨别网络:将真实图像(real image)和生成的图像(fake output)在辨别网络中进行识别,类似于二分类网络,输出辨识结果True或False;若为True则两图像相似度较高,若为0则相似度较低;
所有图片:声明"本人无意侵犯版权"
[参考文献]
[1]https://en.wikipedia.org/wiki/Transfer_learning
[2]https://blog.csdn.net/u010159842/article/details/79202107
[3]https://blog.csdn.net/just_sort/article/details/79454054