Finetune方式总结

方式一 使用Pretrain模型做约束
具体包括:
直接使用Pretrain模型作为约束、
使用Pretrain模型的中间层作为约束、
使用Pretrain模型对不同特征注意力强度作为约束

Explicit inductive bias for transfer learning with convolutional networks(ICML 2018)
方法:通过添加Pretrain模型参数和Finetune模型参数之间的某种正则化损失,让Finetune后的模型参数和最开始的Pretrain模型参数更加相似。文章中尝试了多种正则化方法,通过最终的实验发现,一个简单的L2正则效果最好,即对于Pretrain模型和Finetune模型的对应层的参数计算L2距离,作为Finetune过程中损失函数的一部分。
在这里插入图片描述
通过L2正则化的方法拉近Pretrain模型和Target模型参数也存在一定问题,如何设定正则化的强度直接决定了迁移效果,正则化太弱仍然会导致过拟合和信息遗忘,迁移强度太强会导致Finetune的模型在Target任务上不是最优解。

DELTA: DEEP LEARNING TRANSFER USING FEATURE MAP WITH ATTENTION FOR CONVOLUTIONAL NET- WORKS(ICLR 2019)
方法:
通过约束网络的behavior,即feature map,而非模型参数,来实现约束目标。约束项
在这里插入图片描述
其中,Wj表示第j个卷积层的约束强度,FM表示第i个样本经过参数w提取的feaure map。Wj的计算方法为,使用Pretrain的模型Freeze住底层Feature Extractor参数,Finetune后面Discriminator参数,通过衡量去掉每个channel后效果的损失,的到这个channel的迁移强度。如果去掉Pretrain模型某个channel后效果下降特别明显,说明Pretrain得到的这个channel的信息对Target任务是很有效的,这个时候要增大这种channel参数的迁移强度。
采用Pretrain模型对Finetune模型进行约束需要引入额外的正则化Loss,可以被称为Transfer Loss。

方法二 选择性地对Pretrain模型迁移
对Pretrain的模型有选择的迁移,重点迁移那些对下游任务帮助大的信息。

方法三 在Finetune阶段调整网络结构
下游的Target任务可能需要和Source任务采用不同的模型结构来更好地进行学习。

方法四 学习每组参数Transfer的方式
进行迁移学习时,我们往往需要决定哪些网络的参数要Freeze,哪些网络参数跟随Target任务Finetune。例如,在CV领域,一些研究表明底层网络能够提取出更一般的图像规律,而接近分类层的参数对于不同Task差异很大,因此为了不将Pretrain阶段学到的知识破坏,将底层参数Freeze,只Finetune上层参数,会最大限度保留Pretrain阶段在大量数据学到的知识,提升迁移效果。

参考文章链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值