针对新数据点更新预训练的深度学习模型

     2023-03-13     68

关键词:

【中文标题】针对新数据点更新预训练的深度学习模型【英文标题】:Updating pre-trained Deep Learning model with respect to new data points 【发布时间】:2019-05-06 13:51:54 【问题描述】:

以 ImageNet 上的图像分类为例,如何使用新数据点更新预训练模型。 我已经加载了预训练模型。我有一个新数据点,它与之前训练模型的原始数据的分布完全不同。所以,我想在新数据点的帮助下更新/微调模型。如何去做?谁能帮我做这件事?我正在使用 pytorch 0.4.0 进行实现,在 GPU Tesla K40C 上运行。

【问题讨论】:

【参考方案1】:

如果您不想更改分类器的输出(即类的数量),那么您可以简单地继续使用新的示例图像训练模型,假设它们被重新塑造成与预训练模型相同的形状接受。

另一方面,如果您想更改预训练模型中的类数,则可以用新的完全连接层替换最后一个全连接层,并仅在新样本上训练该特定层。以下是来自PyTorch's autograd mechanics notes 的此案例的示例代码:

model = torchvision.models.resnet18(pretrained=True)
for param in model.parameters():
    param.requires_grad = False
# Replace the last fully-connected layer
# Parameters of newly constructed modules have requires_grad=True by default
model.fc = nn.Linear(512, 100)

# Optimize only the classifier
optimizer = optim.SGD(model.fc.parameters(), lr=1e-2, momentum=0.9)

【讨论】:

预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势

...留了很多无法理解的难点。在阅读代码过程中,重模型轻数据,过于注重深度学习模型,却忽略了数据的建模和加工,以BER 查看详情

预训练模型代码深度剖析之开宗明义:新学常见误区和正确的学习姿势

...例,忽略了预训练数据的创建过程。  对于以上问题,针对性的解决方案分别是:代码要与论文对齐(codealigntopaper),具体来说就是先找到两者一致的内容,然后将论文中不存在或者不一致的点也逐一列举出来,并思考它的作用... 查看详情

为啥预训练的深度学习模型的性能会下降?

】为啥预训练的深度学习模型的性能会下降?【英文标题】:Whyisthereadecreaseintheperformanceofpre-trainedDeepLearningmodels?为什么预训练的深度学习模型的性能会下降?【发布时间】:2017-10-0223:13:28【问题描述】:使用来自Keras的模型和权... 查看详情

在迁移学习预训练模型上训练新数据集

】在迁移学习预训练模型上训练新数据集【英文标题】:Trainnewdatasetontransferlearningpre-trainedmodel【发布时间】:2020-05-2106:06:46【问题描述】:代码:fromkeras.preprocessingimportimageasimage_utilfromkeras.applications.imagenet_utilsimportpreprocess_inputfr... 查看详情

深度学习核心技术精讲100篇(八十一)-nlp预训练模型ernie实战应用案例

...ingtask)都取得了很好的成绩。但是,BERT模型主要是聚焦在针对字或者英文word粒度的完形填空学习上面,没有充分利用训练数据当中词法结构,语法结构,以及语义信息去学习建模。比如 “我要买苹果手机”,BERT模型 将&... 查看详情

深度学习核心技术精讲100篇(八十一)-nlp预训练模型ernie实战应用案例

...ingtask)都取得了很好的成绩。但是,BERT模型主要是聚焦在针对字或者英文word粒度的完形填空学习上面,没有充分利用训练数据当中词法结构,语法结构,以及语义信息去学习建模。比如 “我要买苹果手机”,BERT模型 将&... 查看详情

「深度学习一遍过」必修28:基于c3d预训练模型训练自己的视频分类数据集的设计与实现(代码片段)

...址:「深度学习一遍过」必修篇 目录1DownLoadorClone 2数据集准备3代码调试3.1下载预训练模型3.2 配置数据集和预训练模型路径3.3修改label.txt文件3.4运行 查看详情

「深度学习一遍过」必修28:基于c3d预训练模型训练自己的视频分类数据集的设计与实现(代码片段)

...址:「深度学习一遍过」必修篇 目录1DownLoadorClone 2数据集准备3代码调试3.1下载预训练模型3.2 配置数据集和预训练模型路径3.3修改label.txt文件3.4运行 查看详情

深度学习100例|第33天:迁移学习-实战案例教程(必须掌握的一个点)(代码片段)

我的知乎我的微信公众号我的CSDN下载本文源码+数据需要帮助.Ctrl+D:收藏本页面在本教程中,你将学习如何使用迁移学习通过预训练网络对猫和狗的图像进行分类。预训练模型是一个之前基于大型数据集(通常... 查看详情

减少用于特征生成的预训练深度学习模型的大小

】减少用于特征生成的预训练深度学习模型的大小【英文标题】:reducesizeofpretraineddeeplearningmodelforfeaturegeneration【发布时间】:2017-07-2306:35:36【问题描述】:我在Keras中使用预训练模型为一组图像生成特征:model=InceptionV3(weights=\'i... 查看详情

手把手写深度学习(14):如何利用官方预训练模型做微调/迁移学习?(以resnet50提取图像特征为例)

...训练的模型,使用官方提供的预训练模型,然后在自己的数据集/应用场景下微调,同样能取得非常棒的效果,也是最省时省力的方法。本文以训练一个resnet50网络来提取图像特征为例,详细说明怎样使用官网预训练模型进行迁移... 查看详情

深度学习fine-tune技巧总结

深度学习中需要大量的数据和计算资源(乞丐版都需要12G显存的GPU--)且需花费大量时间来训练模型,但在实际中难以满足这些需求,而使用迁移学习则能有效降低数据量、计算量和计算时间,并能定制在新场景的业务需求,可... 查看详情

预训练模型需要知道的知识点总结,万字长文带你深入学习(建议收藏)

前言:如何在有限数据下训练高效的深度学习模型?利用深度学习自动学习特征已经逐步取代了人工构建特征和统计方法。但其中一个关键问题是需要大量的数据,否则会因为参数过多过拟合。以下是我为大家准备的几个精品专... 查看详情

《自然语言处理实战入门》深度学习----预训练模型的使用(albert)

...务。albert的使用参考文献简介bert回顾bert两阶段模式:预训练+微调BERT的总体预训练和微调程序。除了输出层,在预训练和微调中都使用相同的体系结构。相同的预训练模型参数用于初始化不同下游任务的模型。 查看详情

bert:深度双向预训练语言模型

...lEncoderRepresentationsfromTransformers)通过预训练来学习无标注数据中的深度双向表示,预训练结束后通过添加一个额外的输出层进行微调,最终在多个NLP任务上实现了SOTA。预训练语言模型在实践中证明对提高很多自然语言处理任务... 查看详情

针对垂直问题的高性能机器学习算法设计

这是我前几天在CCF青年大会学生论坛的报告内容。因为台上每个人就给十分钟,所以算法细节和一些我自己的想法都没讲,这是15分钟的完整讲稿。现在深度学习非常火,像计算机视觉、自然语言处理这些面向很多问... 查看详情

[深度学习][预训练模型]darknet-yolov7预训练模型下载地址(代码片段)

OfficialYOLOv7:Trainablebag-of-freebiessetsnewstate-of-the-artforreal-timeobjectdetectorspaper: https://arxiv.org/abs/2207.02696sourcecode-Pytorch(usetoreproduceresults): https://github.com/WongKinYiu 查看详情

「深度学习一遍过」必修28:基于c3d预训练模型训练自己的视频分类数据集的设计与实现(代码片段)

...址:「深度学习一遍过」必修篇 目录1DownLoadorClone 2数据集准备3代码调试3.1下载预训练模型3.2 配置数据集和预训练模型路径3.3修改label.txt文件3.4运行train.py3.5运行inference.py​ 开源项目代码:https://github.com/jfzhang95/pytorch-... 查看详情