迁移学习 Transer Learning
- 前面的层,表层特征 (可表征); 后面的层深层特征(不可表征)
- 通过判别器,迫使真实和虚假的很像
- 从生成式对抗网络发展而来
迁移:从源域进行学习 – 放到目标域进行使用
- 为什么要迁移?
源域和目标域之间的交叉部分!commom features
自适应:传统损失函数、特征自适应、模型自适应
- 基于误差
- 基于对抗
- 基于重构(Cycle GAN)
- BYOL 自监督模型
Fine-tuning
- 目标域一般数据量小,网络容易过拟合
所以,ft就是源域训练好的模型,放在目标域中微调就行了
注意:目标域也要训练!
防止过拟合:前面几层和后面几层固定不动,只调中间的层
那一层应该fine-tuning 呢?
- 调是什么意思: 把那层的权重手动调节,然后固定住(不进行反向传播更新),其他层反向传播更新
语音:调后面几层
NLP:前面几层
- 源域有标签、目标域没有标签咋办?(目标域是训练集无标签、测试集有标签)
-
DDC
- 源域m个样本 ,目标域 n个标签 分别算MMD(最大平均差异),看像不像
- 效果不行
-
DAN
-
RTN : 残差迁移网络
- 进入目标域,前面几个层挨得比较近
- 根据目标域的不同的任务,有不同的分支,分类的分支加入残差
-
RE-Gard 梯度反转
- input – CNN – feature - > 分类强调全连接网络
- 放到目标域,效果不好
- 解决方法:加一个
域判别器
,源域的特征对应-域1,目标域对应的特征对应-域0 - 用一个网络,加一个域判别的分支,两个分支互相对抗
- 梯度反转层
- 最终目的是:让分类器分不清特征是来自源域还是目标域
-
MADA
- 问题:源域3个类,目标域2个类,MMD太简单,效果不好
- 加判别器:目标域的类别数 = 域判别器数
- 目标域的标签不知道怎么分类?
- 在源域的分类器中先预先判别一下,不仅要域对齐,现在还要类对齐