迁移学习 - 微调

什么是与训练和微调?

  • 你需要搭建一个网络模型来完成一个特定的图像分类的任务。首先,你需要随机初始化参数,然后开始训练网络,不断调整参数,直到网络的损失越来越小。在训练的过程中,一开始初始化的参数会不断变化。当你觉得结果很满意的时候,你就可以将训练模型的参数保存下来,以便训练好的模型可以在下次执行类似任务时获得较好的结果。这个过程就是 pre-training。
  • 之后,你又接收到一个类似的图像分类的任务。这时候,你可以直接使用之前保存下来的模型的参数来作为这一任务的初始化参数,然后在训练的过程中,依据结果不断进行一些修改。这时候,你使用的就是一个 pre-trained 模型,而过程就是 fine-tuning。

所以,预训练 就是指预先训练的一个模型或者指预先训练模型的过程;微调就是指将预训练过的模型作用于自己的数据集,并使参数适应自己数据集的过程。

网络架构

一个神经网络一般可以分为两块

  • 特征抽取将原始像素变成容易线性分割的特征
  • 线性分类器来做分类

微调

微调中的权重初始化

训练

是一个目标数据集上的正常训练任务,但使用更强的正则化

  • 使用更小的学习率
  • 使用更少的数据迭代

源数据集远复杂与目标数据,通常微调效果更好。

重用分类器权重

  • 源数据集可能也有目标数据中的部分标号
  • 可以使用预训练好模型分类器中对应标号对应的向量来做初始化

固定一些层

神经网络通常学习有层次的特征表示

  • 低层次的特征更加通用
  • 高层次的特征则更跟数据集相关

可以固定底部一些层参数,不参与更新

  • 更强的正则

总结:

  • 微调通过使用在大数据上得到的预训练好的模型来初始化模型权重来完成提升精度
  • 预训练模型质量很重要
  • 微调通常速度更快、精度更高
相关推荐
kaikaile19956 分钟前
matlab基于图像的人员计数
人工智能·计算机视觉·matlab
荣5829 分钟前
python打卡day37
人工智能·python·深度学习
FreeBuf_25 分钟前
ComfyUI遭“Pickai“C++后门攻击,全球700余台AI图像生成服务器沦陷
服务器·c++·人工智能
Jamence32 分钟前
多模态大语言模型arxiv论文略读(130)
论文阅读·人工智能·深度学习·语言模型·论文笔记
cg501735 分钟前
OpenAI的Prompt工程
人工智能·prompt
爱学习的capoo36 分钟前
【解析法与几何法在阻尼比设计】自控
线性代数·机器学习·概率论
qife1 小时前
AI 对冲基金模拟系统
机器学习·量化交易·金融科技·ai投资
从零开始学习人工智能1 小时前
使用 OpenCV 和传统机器学习实现工业开关状态识别
人工智能·opencv·机器学习
ZVAyIVqt0UFji1 小时前
沉浸式AI交互数字人技术解析
人工智能
TiAmo zhang1 小时前
人机融合智能 | 人智交互语境下的设计新模态
人工智能·人机交互