news 2026/2/27 18:43:43

深度学习之第八课迁移学习(残差网络ResNet)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习之第八课迁移学习(残差网络ResNet)

目录

简介

一、迁移学习

1.什么是迁移学习

2. 迁移学习的步骤

二、残差网络ResNet

1.了解ResNet

2.ResNet网络—残差结构

三、代码分析

1. 导入必要的库

2. 模型准备(迁移学习)

3. 数据预处理

4. 自定义数据集类

5. 数据加载器

6. 设备配置

7. 训练函数

8. 测试函数

9. 训练配置和执行

整体流程总结

简介

经过长久的卷积神经网络的学习、我们学习了如何提高模型的准确率,但是最终我们的准确率还是没达到百分之八十。原因是因为我们本身模型的局限,面对现有很多成熟的模型,它们有很好的效果,都是经过多次训练选取了最佳的参数,那我们能不能去使用哪些大佬的模型呢?

答案是可以的,这就使用到迁移学习的知识。

深度学习系列之第五课卷积神经网络_CNN_如何训练自己的数据集(暨食物分类案例)

[深度学习之第六课卷积神经网络 (CNN)如何保存和使用最优模型][_CNN 1]

[深度学习之第七课卷积神经网络 (CNN)调整学习率][_CNN 2]

一、迁移学习

1.什么是迁移学习

迁移学习是指利用已经训练好的模型,在新的任务上进行微调。迁移学习可以加快模型训练速度,提高模型性能,并且在数据稀缺的情况下也能很好地工作。

2. 迁移学习的步骤

1、选择预训练的模型和适当的层:通常,我们会选择在大规模图像数据集(如ImageNet)上预训练的模型,如VGG、ResNet等。然后,根据新数据集的特点,选择需要微调的模型层。对于低级特征的任务(如边缘检测),最好使用浅层模型的层,而对于高级特征的任务(如分类),则应选择更深层次的模型。

2、冻结预训练模型的参数:保持预训练模型的权重不变,只训练新增加的层或者微调一些层,避免因为在数据集中过拟合导致预训练模型过度拟合。

3、在新数据集上训练新增加的层:在冻结预训练模型的参数情况下,训练新增加的层。这样,可以使新模型适应新的任务,从而获得更高的性能。

4、微调预训练模型的层:在新层上进行训练后,可以解冻一些已经训练过的层,并且将它们作为微调的目标。这样做可以提高模型在新数据集上的性能。

5、评估和测试:在训练完成之后,使用测试集对模型进行评估。如果模型的性能仍然不够好,可以尝试调整超参数或者更改微调层。

太多概念,我们直接使用残差网络进行迁移学习。

二、残差网络ResNet

1.了解ResNet

ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出,斩获当年ImageNet竞赛中分类任务第一名,目标检测第一名。获得COCO数据集中目标检测第一名,图像分割第一名。

传统卷积神经网络存在的问题?

卷积神经网络都是通过卷积层和池化层的叠加组成的。 在实际的试验中发现,随着卷积层和池化层的叠加,学习效果不会一直逐渐变好,反而出现2个问题:

1、梯度消失和梯度爆炸 梯度消失:若每一层的误差梯度小于1,反向传播时,网络越深,梯度越趋近于0 梯度爆炸:若每一层的误差梯度大于1,反向传播时,网络越深,梯度越来越大

2、退化问题

如何解决问题?

为了解决梯度消失或梯度爆炸问题,论文提出通过数据的预处理以及在网络中使用 BN(Batch Normalization)层来解决。 为了解决深层网络中的退化问题,可以人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为 残差网络 (ResNets)。

实线为测试集错误率 虚线为训练集错误率

2.ResNet网络—残差结构

ResNet的经典网络结构有:ResNet-18、ResNet-34、ResNet-50、ResNet-101、ResNet-152几种,其中,ResNet-18和ResNet-34的基本结构相同,属于相对浅层的网络,后面3种的基本结构不同于ResNet-18和ResNet-34,属于更深层的网络。

不论是多少层的ResNet网络,它们都有以下共同点:

  • 网络一共包含5个卷积组,每个卷积组中包含1个或多个基本的卷积计算过程(Conv-> BN->ReLU)

  • 每个卷积组中包含1次下采样操作,使特征图大小减半,下采样通过以下两种方式实现:

    • 最大池化,步长取2,只用于第2个卷积组(Conv2_x)
    • 卷积,步长取2,用于除第2个卷积组之外的4个卷积组
  • 第1个卷积组只包含1次卷积计算操作,5种典型ResNet结构的第1个卷积组完全相同,卷积核均为7x7, 步长为均2

  • 第2-5个卷积组都包含多个相同的残差单元,在很多代码实现上,通常把第2-5个卷积组分别叫做Stage1、Stage2、Stage3、Stage4

  • 首先是第一层卷积使用kernel 7∗7,步长为2,padding为3。之后进行BN,ReLU和maxpool。这些构成了第一部分卷积模块conv1。

  • 然后是四个stage,有些代码中用make_l

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/27 14:24:24

内存固态等大幅涨价的优势是什么?

原本电子垃圾又有了些许价值升华。 排名上升 现在有部分旧电脑重新启用。看大数据的排名结果: https://blog.csdn.net/ZhangRelay/article/details/155345614 这是去年,2025年11月28日测试的结果,2%排位,非常低端了。 预料之中的…

作者头像 李华
网站建设 2026/2/23 5:49:02

YOLOv12官版镜像训练全流程,附完整代码示例

YOLOv12官版镜像训练全流程,附完整代码示例 YOLOv12不是迭代编号的简单延续,而是一次范式跃迁——它彻底告别了卷积主干,将注意力机制作为目标检测的原生语言。当行业还在为RT-DETR的推理延迟发愁时,YOLOv12已用1.6毫秒完成一次高…

作者头像 李华
网站建设 2026/2/25 2:24:58

SAM 3多模态提示实战:文本+点选协同提升小目标分割准确率

SAM 3多模态提示实战:文本点选协同提升小目标分割准确率 1. 模型概述 SAM 3是Meta推出的新一代多模态分割基础模型,能够同时处理图像和视频中的对象分割任务。与传统的单一模态分割模型不同,SAM 3创新性地支持文本提示和视觉提示的协同使用…

作者头像 李华
网站建设 2026/2/24 4:48:23

【毕业设计】SpringBoot+Vue+MySQL spring boot校园商铺管理系统平台源码+数据库+论文+部署文档

摘要 随着互联网技术的快速发展,校园商铺管理系统逐渐成为高校信息化建设的重要组成部分。传统校园商铺管理多依赖人工操作,效率低下且容易出错,无法满足现代校园商业活动的需求。通过数字化手段实现商铺信息的统一管理、订单的高效处理以及…

作者头像 李华
网站建设 2026/2/14 19:29:27

前后端分离工作流程管理系统系统|SpringBoot+Vue+MyBatis+MySQL完整源码+部署教程

摘要 随着互联网技术的快速发展,传统的前后端耦合式开发模式逐渐暴露出维护成本高、开发效率低、扩展性差等问题。前后端分离架构因其模块化、解耦性强、开发效率高等优势,成为现代Web开发的主流趋势。工作流程管理系统作为企业信息化建设的重要组成部分…

作者头像 李华
网站建设 2026/2/26 19:45:49

Z-Image Turbo在游戏开发预研中的应用:角色概念图快速迭代案例

Z-Image Turbo在游戏开发预研中的应用:角色概念图快速迭代案例 1. 游戏角色设计的新工具革命 想象一下这样的场景:游戏美术团队正在为一个新项目设计角色概念图。传统流程中,设计师需要手绘多版草图,反复修改,整个过…

作者头像 李华