位置: IT常识 - 正文

Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告)

编辑:rootadmin
Cifar-10图像分类/Pytorch/LeNet/AlexNet 1 研究任务一介绍1.1 研究任务

推荐整理分享Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:图像分类attention,图像分类最新算法,cifar10图像分类实验报告参考文献,图像分类最新算法,图像分类最新算法,cifar10图像分类时测试集准确率特别低,cifar10图像分类时测试集准确率特别低,cifar10图像分类时测试集准确率特别低,内容如对您有帮助,希望把文章链接给更多的朋友!

给定训练集和测试集Cifar10,数据集共分为10类,采用LeNet和AlexNet两种CNN机器学习算法进行图像分类,以准确率为评测指标,进行分类算法性能评估与结果分析。

数据集官方网址:CIFAR-10 and CIFAR-100 datasets

代码见网盘:链接:https://pan.baidu.com/s/1SP5N0RGTLqlTBpGsaOHvuw?pwd=omsj  提取码:omsj

1.2 研究内容的具体描述

数据集介绍

Cifar10数据集,是一个很经典的图像分类数据集,由 Hinton 的学生 Alex Krizhevsky 和 Ilya Sutskever 整理的一个用于识别普适物体的小型数据集,一共包含 10 个类别的 RGB 彩色图片。每张图像的大小为32*32,包含如图1.1所示的十个类别的对象。每个类都包含6000张图片,总共有60000张图片,数据集平衡。其中,训练组图像包含50000张图片,测试集包含10000张图像。

 图1.1 Cifar10数据集类别图

数据集包含五个训练batch和一个测试batch,每个batch包含一万张图片。深度学习训练时直接从batch读取数据,也可转换为PNG或者JPG图片格式进行读取和查看图像数据。

2 研究方法原理与步骤2.1 LeNet模型

2.1.1 研究方法选择原因

LeNet网络结构是第一个典型的CNN网络,对于学习机器学习具有很重要的意义。

2.1.2 方法原理与步骤

LeNet网络主要参考1998年计算机科学家Yann LeCun发布的论文:Gradient based learning applied to document-recognition。

图2.1 LeNet网络框架图

LeNet网络的整体架构包含输入层总共8层网络,分别为:

(1)输入层(INPUT):输入的手写体是32x32像素的图片。

(2)卷积层(Convolutions,C1):提取特征。有6个特征平面,对应6个不同的5x5卷积核或者6个滤波器,每个滤波器参数值(权值)相同,每个特征平面有28x28神经元,连接数为:(5x5+1)x28x28x6 = 122304,每个特征平面神经元共用一套权值,每套权值取决于卷积核大小,权值数为:(5x5+1)x6 = 156。

(3)池化层(Subsampling,S2): 降低数据维度。又叫下采样层,目的是压缩数据,降低数据维度,和卷积有明显区别,采样2x2的选择框进行压缩,原来是28x28,采样后是14x14,通过选择框的数据求和再取平均值然后在乘上一个权值和加上一个偏置值,组成新的图片,每个特征平面采样的权值和偏置值相同,因此每个特征平面对应的采样层只两个待训练参数,总共有6张采样平面,总共待训练权值为:2x6=12。

(4)卷积层(C3):有16个特征平面,每个特征平面对应的卷积核,和池化层的多个平面进行卷积。每一个特征平面是对应多个池化层的采样数据。

(5)池化层(S4):采样窗口2x2,对C3层进行采样,得到16个5x5采样平面,本层存在激活函数sigmod。

(6)卷积层(C5):特征平面有120个,每个特征平面5x5,连接池化层的所有采样层。本层有120个神经元并列排列,每个神经元连接池化层的所有层。C5层的每个神经元的连接数为5x5x16+1,总共连接数为:(5x5x16+1)x120=48120,权值和连接数一样。

(7)全连接层(F6):BP网络的隐层,且为全连接层,有84个神经元,每一个神经元都和上一次的120个神经元相连接,连接数为(120+1)x84 = 10164,因为权值不共享,隐层权值数也是10164,本层输出有激活函数为双曲正切函数。                           

输出层:有10个神经元,基于径向基神经网络,即基于距离衡量两个数据的相近程度。

实现步骤:

(1)lenet.py:定义LeNet网络模型;

(2)train.py:加载数据集并训练,训练集计算loss,测试集计算accuracy,保存训练好的网络参数;

(4)utils.py:可视化loss和预测图像;

(3)predict.py:得到训练好的网络参数后,用自己找的图像进行分类测试。

2.1.3 模型训练超参设置

epoch=5,对训练集的全部数据进行5次完整的训练;batch_size=50,将训练集分成多个批次训练,每批数据大小为50;step=1000,训练集共有50000个样本,每个batch_size包括1000step;lr=0.001,定义优化器学习率。2.2 AlexNet模型

2.2.1 研究方法选择原因

LeNet网络之后,更引人注目的一个CNN网络是AlexNet网络,AlexNet网络结构在整体上类似于LeNet,都是先卷积然后在全连接。但在细节上有很大不同,AlexNet更为复杂。AlexNet有60 million个参数和65000个神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax,与LeNet形成很好的对比。

2.2.2 方法原理与步骤

AlexNet网络结构是2012年ImageNet竞赛中取得冠军的一个模型整理后发表的文章:ImageNet Classification with Deep Convolutional Neural Networks。作者是多伦多大学的Alex Krizhevsky等人。

图2.2 AlexNet网络框架图

AlexNet网络的整体架构包含输入层总共8层网络,分别为:

(1)第一层:卷积层1,输入为 224×224×3的图像,卷积核数量为96,卷积核大小为 11×11×3; stride=4,stride表示步长,pad=0, 表示不扩充边缘;

Cifar-10图像分类/Pytorch/LeNet/AlexNet(cifar10图像分类实验报告)

(2)第二层:卷积层2, 输入为上一层卷积的feature map, 卷积的个数为256个。卷积核的大小为:5×5×48; pad=2,stride=1;然后做LRN,最后max_pooling, pool_size=(3, 3),stride=2;

(3)第三层:卷积3, 输入为第二层的输出,卷积核个数为384, kernel_size= (3×3×256),padding=1, 第三层没有做LRN和Pool

(4)第四层:卷积4, 输入为第三层的输出,卷积核个数为384, kernel_size= (3×3), padding=1, 和第三层一样,没有LRN和Pool

(5)第五层:卷积5, 输入为第四层的输出,卷积核个数为256, kernel_size= (3×3), padding=1。直接进行max_pooling, pool_size=(3, 3), stride= 2;

(6)第6,7,8层是全连接层,每一层的神经元的个数为4096,最终输出softmax为1000,因为上面介绍过,ImageNet这个比赛的分类个数为1000。全连接层中使用了RELU和Dropout。

实现步骤:

(1)alexnet.py:定义AlexNet网络模型;

(2)train.py:加载数据集并练,保存训练好的网络参数;

(3)test.py:训练集计算loss和accuracy;

(4)utils.py:可视化loss和预测图像;

(3)predict.py:得到训练好的网络参数后,用自己找的图像进行分类测试。

2.2.3 模型训练超参设置

(1)epoch=50,对训练集的全部数据进行50次完整的训练;

(2)batch_size=256,将训练集分成多个批次训练,每批数据大小为256;

(3)lr=0.01,定义优化器学习率。

3 实验结果及分析3.1 实验结果

3.1.1 开发环境介绍

Pytorch 1.10.2

torchvision 0.11.3

Conda4.5.4+Python 3.6.5

AMD Radeon R5 M200 Series+Intel(R) HD Graphics 5500

Win7+Pycharm

CPU

3.1.2 性能评估指标介绍

准确度: Accuracy = (TP + TN) / (TP + FN + FP + TN)

3.1.3 实验结果

表3.1 两种算法的准确率值

Accuracy

LeNet

66.0%

AlexNet

80.2%

图3.1 LeNet算法的Loss曲线图

图3.2 AlexNet算法的Loss曲线图

 

图3.3 LeNet网络预测结果图

图3.4 AlexNet网络预测结果图

3.2 实验结果分析

LeNet网络经过5个Epochs的训练,准确率达到了66.0%;AlexNet网络经过50个Epochs的训练,准确率达到了80.2%。 LeNet网络和AlexNet网络随着训练次数的增多,准确率不断提高,Loss 不断降低。由两个网络的准确率表3.1和Loss曲线图3.1和图3.2可知,AlexNet网络比LeNet网络的准确率更高,Loss更优;从预测结果看,LeNet网络预测成功3/5,AlexNet网络预测成功4/5,AlexNet网络比LeNet网络预测效果更好。

4 结论

AlexNet网络比LeNet网络的准确率更高,Loss更优,预测效果更好。AlexNet在结果上要优于LeNet很多,特别是其在处理大规模数据方便的优势更是明显。AlexNet的问世也开启了深度学习在计算机视觉领域的大规模应用,可以将其看做浅层神经网络和深层神经网络的分界线。

本文链接地址:https://www.jiuchutong.com/zhishi/298410.html 转载请保留说明!

上一篇:分割网络损失函数总结!交叉熵,Focal loss,Dice,iou,TverskyLoss!(网络分割算法)

下一篇:vue项目关于:Error Cannot find module ‘xxx\bin\vue-cli-service.js‘的解决方案(vue.$el)

  • 少了一个肾能活多久身体健康有什么影响

  • 华为小艺怎么录入自己的声音(华为小艺怎么录入两个人声音)

  • 小米手机如何设置自动开关机(小米手机如何设置骚扰电话拦截)

  • 双方都加不了微信怎么回事(微信双方都加不上好友怎么办)

  • 抖音可以看自己的评论吗(抖音可以看自己访问过谁吗)

  • 华为荣耀10通话声音小怎么办(华为荣耀10通话录音在哪里找到)

  • 电脑版WPS艺术字线条颜色怎么设置(wps电脑艺术字在哪)

  • 用微信登录探探会不会被好友知道(用微信登录探探号安全吗)

  • 华为m6电脑模式有什么用(华为M6电脑模式打不开)

  • 抖音手速太快点不了赞(抖音提示手速太快)

  • 手机上的表格怎么传到电脑上(手机上的表格怎么打印)

  • 华为通话视频哪里设置

  • 新建一个空数据库的快捷键是(新建一个空数据库快捷键是())

  • 京东买空调包安装吗(京东买空调包安装收打孔费吗)

  • 用电脑登录微信能看到聊天记录吗(用电脑登录微信手机怎样不被发现)

  • wps审阅模式怎么开(wps审阅模式怎么批注)

  • 投诉群群主可以看见吗(投诉群主咋投诉了)

  • 网络正常微信发不出去信息是怎么回事(网络正常微信发不出去图片)

  • pr如何减掉视频的一小部分(pr如何减掉视频中的音频)

  • 笔记本电脑上飞机(笔记本电脑上飞机要开飞行模式吗)

  • gt手表能打电话吗(gt手表可以打电话吗)

  • iphone怎么取消恢复模式吗(如何取消苹果数据恢复)

  • 手机开关机键失灵怎么办(手机开关机键失灵了修一下多少钱)

  • 索尼qrcode打开步骤(索尼微单qrcode怎么才会出现)

  • qq巨轮怎么看具体天数(qq巨轮怎么看多少天)

  • 苹果6plus像素多少万(苹果6plus像素多少)

  • 重置组策略(重置组策略命令)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络