文章目录
【【跟李沐学AI】|【跟李沐学AI】11.1 迁移学习】11.1 迁移学习【斯坦福21秋季:实用机器学习中文版】
视频地址:https://www.bilibili.com/video/BV1SL4y1t7ZL
文字版:https://www.bilibili.com/read/cv14694414?from=note
内容大概:
- 迁移学习定义:能在一个任务上学习一个模型,然后用其来解决相关的别的任务
- 微调做法:将预训练好的权重拿过来代替随机初始化,可以固定下面的层(普遍认为下面的层已经学习好了,例如图片颜色,纹理,所以即使是不同数据集不同类别,微调也有好的效果,何乐而不为),具体固定哪些层多少层也是需要自己调的。
- 但是微调要限制搜索空间,普遍认为预训练好的权重接近最优解了,这时候需要学习率调小一点例如1e-3,epoch少一点5,10轮即可
- 哪里找预训练的模型:
首先要去找有没有我们想要的预训练模型,然后是看它是在什么样的数据集上训练好的;
可以去的途径(ModelHub、ModelZoom之类的):
Tensorflow Hub: https://tfhub.dev/;(允许用户去提交模型)
TIMM(把pytorch上能找到的各种代码实现弄过来): https://github.com/rwightman/pytorch-image-models;(ross 自己维护的一个包【文档不错,模型性能暂时一般般】)
TIMM使用代码介绍:
- 微调的作用:这样通常会加速收敛,有时可以提升精度但通常不会变差;(所以通常在CV中是经常被推荐的做法)(微调一般用一个小一点的学习率进行细微的调整,)
推荐阅读
- 脑技术|人工智能、机器学习、神经网络和深度学习的发展历程(下)
- 深度学习_李宏毅|【李宏毅2021机器学习深度学习】10-1 概述领域自学习(Domain Adaptation)
- Keras|从零开始TensorFlow---利用Keras 搭建CNN网络
- 机器学习基础|多标签学习之白话版
- NLP|Raki的NLP竞赛topline解读(NBME - Score Clinical Patient Notes)
- 深度学习|神经网络之激活函数
- [开发环境部署]Python3.8下载和安装教程
- 机器学习|李沐-斯坦福《实用机器学习》-01章
- 论文笔记|YOLOv5论文笔记