迁移学习-李沐

1、什么是迁移学习

能在一个任务上学习一个模型,然后用其来解决相关的别的任务。
迁移学习的途径
a.做好一个模型将其做成一个特征提取的模块

  • Word2Vec-在文本上做训练一个单层神经网络,在训练好之后,每一个词对应一个特征,然后用这个特征去别的事情;
  • ResNet-对图片做特征,然后用这个特征来对作为另一个模型的输入,这样假设效果非常好,那么就可以代替人工去抽取特征;
  • I3D-用来对视频做特征
    b、在一个相关的任务上训练一个模型,然后在另一个任务上直接用它
    c、训练好一个模型,然后在一个新的任务上对其做微调,使模型能更好的适应新的任务;

2、在计算机视觉中应用

  • 训练好一个模型,然后在一个新的任务上对其做微调,使模型能更好的适应新的任务;
  • 在CV的迁移学习,我们是希望存在很多数据的一些应用上比较好的模型,能将它的知识拓展到我们自己的任务上去;
  • 通常任务数据集会比大的数据集(ImageNet)要小很多(一开始不会花太多钱去标注很多的数据,标好了一些看看模型效果怎么样,好的话再继续投入进去,这样是一个迭代的过程),想要快速的迭代,看看能不能用比较大的数据集来将一些学到的东西迁移到我们自己的任务上面去。

3、预训练模型

  • 神经网络分为两个部分,一个是编码器,用于特征提取,主要的目的是将原始的像素转化在一个语义空间中可以线性可分的一些特征;一个是解码器,主要是线性分类器,将编码器表示映射成想要的符号,或者做一些决策;
  • 预训练模型:在一个比较大的数据集上训练好一个模型,这个模型会有一定的泛化能力(放到新的模型或者新的数据集上,该模型还是有效果的),该模型目前主要用于图片分类,但是也可以用于目标检测

4、微调

  • 将预训练好的模型用于新的任务上叫做fine-tuning(微调),通常在深度学习中,微调可以带来最好的效果,但是也有一定的开销。
    微调如何做的(how)

  • 在新的任务上构建一个新的模型,新的模型架构和预训练模型的架构一样;

  • 在找到合适的预训练模型之后要初始化我们的模型,将预训练模型的权重(除了最后一层)复制给新的模型,**即可以把预训练模型当成特征提取器;**最后一层解码器还是随机权重(标号和预训练模型的标号是不一样的)

  • 初始化完成之后,即开始学习

  • 小技巧,限制微调后的学习率,限制学习率可以使得我们不会走太远,可以达到限制搜索空间的目的;

5、限制搜索空间的其他方法-固定最底层

  • 神经网络是一个层次化的结构,最底层一般学习了底层的特征,上层与语义相关;底层和上层没有大多关系
  • 最后一层是随机初始化学习,只对某一些层进行改动,最下面的层在微调时候就不改动,学习率为0;
  • 其中固定多少层是根据应用来分析,假设应用与预训练的模型差别比较大,可以多训练一层

6、如何去找微调模型

  • 首先需要去找我们想要的预训练模型,然后看他在什么样的数据集上训练好
  • 途径
  • Tensorflow Hub-----https://tfhub.dev/ 允许用户去提交模型
  • TIMM ------把pytorch上能找到的各种代码实现弄过来

7、微调的一些应用

  • 在大的数据集上训练好模型在微调到自己应用的CV领域上广泛的应用;
  • 新的任务包括目标检测、语义分割
  • 现在的观点是微调加速了收敛,**微调让初始的点不再是一个随机的点而是一个距离最终目标比较近的点,使得损失比较平滑,**但是不一定可以提升精度,因为微调只是改变初始值而已,跟随机初始化没有区别,只要走的足够远也能摆脱初始值的影响。

8、总结

  • 通常我们会在大数据上训练预训练好的模型,这种任务通常是图片分类;
  • 把解决任务上把模型的权重初始化成预训练模型的权重,最后一层(解码器)是要随机初始化的;
  • 微调一般用一个比较小的学习率进行细微的调整,这样通常会加速收敛,可以提升精度但是不会变差。

参考内容

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值