标签:训练 模型 微调 笔记 学习 特征提取 迁移 model
迁移学习
动机
-
利用在一项任务上训练的模型执行相关任务
-
由于DNN需要大量数据且训练成本高,因此在深度学习中很受欢迎
方法
-
特征提取。
-
针对相关任务培训模型并重新使用它
-
从相关模型进行微调
相关性
-
半监督学习
-
在极端情况下,zero-shot/few-shot学习
-
多任务学习,其中每个任务都有一些标记数据可用
迁移知识
- 在普通大的数据集训练好后,把模型再迁移到自己的数据集上
预训练模型
将神经网络划分为
- 特征提取器(编码器),将原始像素映射到线性可分特征
- 线性分类器(解码器),进行决策
预训练模型
-
在大规模通用数据集上训练的神经网络
-
特征提取器可以很好的推广到其他数据集或者是任务
微调技术
- 初始化新模型,使用预训练模型的特征提取器参数初始化特征提取器
- 随机初始化输出层
- 在局部最小值附近开始参数优化
- 用一个小的学习率模型训练几个epochs,规范化搜索空间
固定底层
- 神经网络学习到层级之间的特征
- 低级的特征是普遍存在的,例如曲线、边、斑点
- 高级特征更多特定于任务和数据集,例如分类标签
- 在微调中,固定底层,从头开始训练顶层,这样保留低层的通用特性完整
预训练模型网址
-
TensorFlow 模型:https://tfhub.dev/
import timm
from torch import nn
model = timm.create_model('resnet18', pretrained=True)
model.fc = nn.Linear(model.fc.in_features, n_classes)
# Train model as a normal training job
应用
微调预训练模型被广泛应用于各种CV应用中
- 检测、分割(相似的图像但不同的目标)
- 医学、卫星图像(相同的任务,但不同的图像)
微调加速了收敛速度,可以获得相似的精度
总结
- 大规模数据集上的训练前模型(通常是图像分类)
- 使用针对下游任务的预训练模型来初始化权重
- 微调可以加速收敛,可能提高精度
标签:训练,模型,微调,笔记,学习,特征提取,迁移,model 来源: https://blog.csdn.net/weixin_45092662/article/details/122298629
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。