深度迁移学习中比较常用的策略是预训练-微调
但是预训练方法有其先天的不足:无法直接处理训练数据和测试数据分布不同的情况,同时微调时目标数据需要标签(无监督域适应场景不适合)。因此需要探索新的迁移模式,以广泛适应新的场景。
1. 数据分布自适应的深度迁移学习方法
1.1 边缘分布自适应
例如,在特征层后面加入最大均值差异(MMD),用来计算源域与目标域之间的差异,并将其加入网络的损失找那个进行训练,促使网络学习域不变特征。另有方法采用多核MMD度量,也取得显著效果。
1.2 条件、联合与动态分布自适应
局部MMD距离,对源域与目标域中每个类别进行显示对齐。
2. 结构自适应的深度迁移学习方法
2.1 批归一化的迁移学习方法
批归一化已经广泛用于深度学习模型中,能够加速模型收敛速度,防治梯度爆炸或消失。批归一化处理对输入数据进行归一化,使其变化为0均值和1方差,减少了批次间的数据分布差异。减少数据分布差异也是迁移学习的有效方法,如何将BN思想用于迁移学习中?
自适应的批归一化(AdaBN):首先对源域数据上用BN操作;然后,在新的数据领域(目标域)重新计算BN统计量。AdaBN相当于对不同领域数据进行归一化处理,大大减少数据分布差异。
2.2 基于多表示学习的迁移网络结构
大多数领域自适应的方法使用单一的结构将两个领域的数据提取到同一特征空间,在这个特征空间下使用不同方式(对抗,MMD)衡量两个领域分布差异,最小化分布差异实现分布对齐。但是单一结构提取的特征表示可能仅包含部分信息,所以在单一结构提取的特征上对齐特征也只能关注部分信息。为了全面表示原始数据,需要提取多种表示。
3. 知识蒸馏
核心思想:把一个训练好的复杂模型中的知识“提纯”,用到另一个小模型中。知识蒸馏网络训练损失一半有两部分组成:第一部分,学生网络训练误差;第二部分,学生网络与教师网络的接近程度。
迁移学习系列--深度迁移学习
最新推荐文章于 2023-11-28 15:30:26 发布