【深度学习】CIFAR10图像分类

清华大学驭风计划课程链接 

学堂在线 - 精品在线课程学习平台 (xuetangx.com)

代码和报告均为本人自己实现(实验满分),只展示主要任务实验结果,如果需要详细的实验报告或者代码可以私聊博主

有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~

案例3:PyTorch实战: CIFAR10图像分类

1 用多层感知机(MLP)和卷积网络(ConvNet)完成CIFAR10分类

      使用PyTorch分别实现多层感知机(MLP)和卷积网络(ConvNet),并完成CIFAR10数据集(http://www.cs.toronto.edu/~kriz/cifar.html)分类。本案例不提供初始代码,请自行配置网络和选取超参数,包括层数、卷积核数目、激活函数类型、损失函数类型、优化器等方面。

提交所有代码和一份案例报告,要求如下:

1详细介绍所使用的模型及其结果,至少包括超参数选取,损失函数、准确率及其曲线;

2比较不同模型配置下的结果,至少从三个方面作比较和分析,例如层数、卷积核数目、激活函数类型、损失函数类型、优化器等。

2 学习PyTorch ImageNet分类示例

      请自行学习PyTorch官方提供的ImageNet分类示例代码,以便更好地完成后续案例(https://github.com/pytorch/examples/tree/master/imagenet)

3实验结果

1,详细介绍所使用的模型及其结果,至少包括超参数选取,损失函

数、准确率及其曲线;

在这里三个模型统一超参数,学习率为 0.001 ,动量值为 0.9 ,权重衰减值为 0.0001 ,都用
SGD 优化器来进行训练,并且都使用了早停法三个周期不提升 0.5% 的正确率就停止训练,
结果如下

2,比较不同模型配置下的结果,至少从三个方面作比较和分析,例如

层数、卷积核数目、激活函数类型、损失函数类型、优化器等

层数:我把 MPL 模型加深的两层的全连接层来比较层数对于最终正确率的影响

MPL 模型结果:
DeepMPL 模型结果:
从图中看 MPL 和 DeepMPL 这两个模型,六层全连接层的 DeepMPL 正确率略高
于层次较浅四层全连接层MPL模型,虽然层数更多的DeepMPL初始正确率不高,
但是随着更多周期的训练赶上的层数浅的 MPL 模型,从这里可以看出模型层数
更深对于结果是有一定的提升。

卷积核数目:这里我对比的是普通的 CNN+BN 模型和 ResNet+BN 模

型,它们统一加了批归一化。
CNN+BN 模型结果:
ResNet+BN 模型结果:
ResNet 模型
在 ResNet 模型中,每个残差块包含了多个卷积层和批归一化层,用于提取图像特征。
根据模型定义,ResNet 模型中的卷积核数量如下:
第一层卷积层:卷积核数目为 64。
layer1: 每个 ResidualBlock 中的卷积核数目为 64,有 2 个 ResidualBlock。
layer2: 每个 ResidualBlock 中的卷积核数目为 128,有 2 个 ResidualBlock。
layer3: 每个 ResidualBlock 中的卷积核数目为 256,有 2 个 ResidualBlock。
将每个层次的卷积核总数相加并加上第一层的卷积核数目:
总卷积核数目 = 第一层卷积层 + (layer1 + layer2 + layer3) × 2
= 64 + (64 + 128 + 256) × 2 = 960
因此,这个 ResNet 模型中总共有 960 个卷积核
CNN 模型
CNN 模型中,有三个卷积层(conv1、conv2 和 conv3),每个卷积层都有一组卷积核。
卷积核的数量取决于在每个卷积层中设置的输出通道数。在模型中,这些输出通道数分
别为 64、128 和 256。每个卷积核与输入数据进行卷积操作,生成输出特征图。
第一层卷积层(conv1)有 64 个输出通道,因此有 64 个卷积核。
第二层卷积层(conv2)有 128 个输出通道,因此有 128 个卷积核。
第三层卷积层(conv3)有 256 个输出通道,因此有 256 个卷积核。
所以,总共有 64 + 128 + 256 = 448 个卷积核在 CNN 模型中
可以看出 ResNet 模型的卷积核数目是 CNN 模型的两倍之多,增加卷积核的数量可以增
加模型的复杂性和容量,使其能够更好地拟合训练数据,从而使得得出的正确率更高.

优化器:这里我用了同样两个 CNN+BN 模型,一个用 SGD 优化器,

一个用 Adam 优化器来进行训练比较。
SGD 优化器结果:
Adam 优化器结果:
从结果看出在相同超参数的情况下使用 Adam 优化器的结果反而没有 SGD 优化
器的结果好,在这里我也试着调整学习率发现使用 Adam 优化器学习率为 0.0001
的时候最优,结果如下
可以看出结果仍然略小于使用 SGD 优化器的结果,所以在这个数据集中 SGD 优
化器表现更出色,虽然 Adam 优化器能够自适应调整学习率适应不同参数的变化
情况,因此在某些情况下,Adam 可以更快地收敛并找到较好的局部极值。然而,
在某些情况下,Adam 可能会过于敏感,导致在训练后期震荡。

3,最终结果汇总

从汇总的分类结果看鸟和猫,还有狗的识别更难,个人猜测如下
视觉复杂性: 猫、狗和鸟都具有较高的视觉复杂性,它们在形态、纹理、颜色等方面的变
化较大,不同品种之间的差异也较大。这会增加模型在识别过程中的挑战,因为需要学会区
分各种差异。
图像大小和分辨率: CIFAR-10 数据集中的图像尺寸相对较小,为 32x32 像素,这意味着
图像中的细节和特征可能被压缩和丢失,对于一些具有复杂纹理和形态的类别(如猫、狗和
鸟)来说,这可能导致难以捕捉到关键特征,从而影响识别性能

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X.AI666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值