【跟李沐学AI】|【跟李沐学AI】11.1 迁移学习


文章目录

【【跟李沐学AI】|【跟李沐学AI】11.1 迁移学习】11.1 迁移学习【斯坦福21秋季:实用机器学习中文版】
视频地址:https://www.bilibili.com/video/BV1SL4y1t7ZL
文字版:https://www.bilibili.com/read/cv14694414?from=note
内容大概:

  1. 迁移学习定义:能在一个任务上学习一个模型,然后用其来解决相关的别的任务
  2. 微调做法:将预训练好的权重拿过来代替随机初始化,可以固定下面的层(普遍认为下面的层已经学习好了,例如图片颜色,纹理,所以即使是不同数据集不同类别,微调也有好的效果,何乐而不为),具体固定哪些层多少层也是需要自己调的。
  3. 但是微调要限制搜索空间,普遍认为预训练好的权重接近最优解了,这时候需要学习率调小一点例如1e-3,epoch少一点5,10轮即可
  4. 哪里找预训练的模型:
首先要去找有没有我们想要的预训练模型,然后是看它是在什么样的数据集上训练好的;
可以去的途径(ModelHub、ModelZoom之类的):
Tensorflow Hub: https://tfhub.dev/;(允许用户去提交模型)
TIMM(把pytorch上能找到的各种代码实现弄过来): https://github.com/rwightman/pytorch-image-models;(ross 自己维护的一个包【文档不错,模型性能暂时一般般】)
TIMM使用代码介绍:
  1. 微调的作用:这样通常会加速收敛,有时可以提升精度但通常不会变差;(所以通常在CV中是经常被推荐的做法)(微调一般用一个小一点的学习率进行细微的调整,)

    推荐阅读