2022CS231n PPT笔记 - 迁移学习

本文介绍了迁移学习的概念,强调在数据集小的情况下,利用预训练的大型神经网络进行微调的重要性。讨论了不同的迁移学习策略,包括固定特征提取器和微调部分层。还提供了微调ResNet模型进行热狗识别的案例,并给出了训练技巧和注意事项。最后,提到了TensorFlow和PyTorch的相关资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Index of /slides/2022一切图片来自官网

目录

什么是迁移学习

为什么要迁移学习

 迁移学习方式

案例

导包

定义和初始化模型 

微调模型 

注意事项


什么是迁移学习

别人在一个非常大的数据集上训练CNN,然后我们直接使用该模型(全部或部分)结构和参数,用于自己的目标任务

为什么要迁移学习

  1. 对于数据集本身很小(几千张图片)的情况,从头开始训练具有几千万参数的大型神经网络是不现实的,因为越大的模型对数据量的要求越大,过拟合无法避免。这时候如果还想用上大型神经网络的超强特征提取能力,只能靠微调已经训练好的模型。In practice, very few people train an entire Convolutional Network from scratch (with random initialization), because it is relatively rare to have a dataset of sufficient size.
  2. 可以降低训练成本:如果使用导出特征向量的方法进行迁移学习,后期的训练成本非常低,用 CPU 都完全无压力,没有深度学习机器也可以做。
  3. 前人花很大精力训练出来的模型在大概率上会比你自己从零开始搭的模型要强悍,没有必要重复造轮子。

 迁移学习方式

最重要的决定因素是新数据集的大小和与原来数据集的相似程度

  • 训练数据很少,并且新数据集和原始数据集合类似

把网络前面的层当做feature extractor固定住,最后一个全连接层换成新的(最后一层通常是不一样的,因为分类的数量不同),随机初始化该层的模型参数,在⽬标数据集上只训练这一层。这是因为模型前面的卷积层从图片提取到的是更一般的特征(比如边缘或者颜色),对很多识别任务都有用,但是CNN后面的卷积层学习到的特征就更针对于原来的数据集了

  • 训练数据较多且新旧数据集较相似   或 新旧数据集差异较大

输出层将从头开始进行训练,而部分层的参数将根据源模型的参数进行微调。First you can freeze the feature extractor, and train the head. After that, you can unfreeze the feature extractor (or part of it), set the learning rate to something smaller, and continue training.

  • 训练数据很多,并且和原来数据集差异非常大

网络所有层都可以调整,只是用预训练的参数作为初始化参数,训练过程和往常一样。It is common in this method to set the learning rate to a smaller number. This is done because the networ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值