机器学习-迁移学习
·
迁移学习(Transfer learning)
- 动机
1、将 在一个任务上训练的模型应用在一个相关的任务
2、多用于深度学习,因为DNNs缺少数据,训练成本高 - 方法
1、特征提取(Word2Vec,ResNet-50 feature)
2、在一个相关任务上训练模型并重用它
3、在一个预训练好的模型上进行微调 - 相关
1、半监督学习
2、极端情况下,zero-shot/few-shot learning
3、多任务学习,一些标签数据适用于每个任务
预训练好的模型
-
将一个神经网络分成:
1、一个特征提取器(encoder),把原始像素转换成线性可分的特征
2、一个线性分类器(decoder),做决策

-
预训练好的模型
1、在一个大规模的数据集上训练的有泛化能力的神经网络
2、特征提取器能够很好地泛化于:
其他数据集(医学、卫星图片)
其他任务(目标检测)
微调技术
- 初始化新的模型
1、初始化特征提取器,其中特征提取器的参数是预训练模型的参数
2、随机初始化输出层
3、在本地的小数据集上进行参数优化

- 以一个小的学习率训练少量步
规范搜索空间
固定最底层

- 神经网络按分级特征进行学习
1、底层特征泛化得更好
2、高层特征更特化于工作和数据集
模型网站
import timm
from torch import nn
model = timm.create_model('resnet18',pretrained=True)
model.fc = nn.Linear(model.fc.in_features,n_classes)
更多推荐



所有评论(0)