机器学习 | 卷积神经网络

这篇具有很好参考价值的文章主要介绍了机器学习 | 卷积神经网络。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器学习 | 卷积神经网络

实验目的

采用任意一种课程中介绍过的或者其它卷积神经网络模型(例如LeNet-5、AlexNet等)用于解决某种媒体类型的模式识别问题。

实验内容

  1. 卷积神经网络可以基于现有框架如TensorFlow、Pytorch或者Mindspore等构建,也可以自行设计实现。
  2. 数据集可以使用手写体数字图像标准数据集,也可以自行构建。预测问题可以包括分类或者回归等。实验工作还需要对激活函数的选择、dropout等技巧的使用做实验分析。必要时上网查找有关参考文献。
  3. 用不同数据量,不同超参数,比较实验效果,并给出截图和分析

实验环境

Windows11; Anaconda+python3.11; VS Code

实验过程、结果及分析(包括代码截图、运行结果截图及必要的理论支撑等)

4.1 算法理论支撑

4.1.1 卷积神经网络(CNN)的基本原理

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,特别设计用于处理和分析具有网格结构的数据,如图像和视频。它能够自动学习图像中的特征并进行高效的图像分类、对象检测、图像生成和分割等任务,其模型结构主要包含以下部分:

  1. 卷积层: 卷积层负责从图像中提取特征,如边缘和纹理。它们通过应用过滤器来捕捉这些特征,逐渐形成更复杂的视觉模式。
  2. 池化层: 池化层在保留基本信息的同时减小了特征图的大小。最常见的方法是最大池化,它有助于缩小图像,同时保持关键特征并增强鲁棒性。
  3. 全连接层: 全连接层结合从前一层提取的特征进行分类和决策。他们将这些特征映射到不同的类别,识别图像中的内容。
4.1.2 AlexNet的基本结构

AlexNet网络结构相对简单,使用了8层卷积神经网络,前5层是卷积层,剩下的3层是全连接层,具体如下图2所示。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

与原始的LeNet相比,AlexNet网络结构更深,同时还包括以下特点:

  1. ReLU激活函数的引入:采用修正线性单元(ReLU)的深度卷积神经网络能够大幅提高训练速度,同时能够有效防止过拟合现象的出现。
  2. 层叠池化操作:AlexNet中池化层采用了层叠池化操作,即池化大小>机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能步长,这种类卷积操作可以使相邻像素间产生信息交互和保留必要的联系。
  3. Dropout操作:Dropout操作会将概率小于0.5的每个隐层神经元的输出设为0,即去掉一些神经节点,能够有效防止过拟合现象的出现。

4.2 实验设计

4.2.1 实验数据集及数据预处理

MNIST数据集(Mixed National Institute of Standards and Technology database)是美国国家标准与技术研究院收集整理的大型手写数字数据集,包含60,000个样本的训练集以及10,000个样本的测试集。其中包括09的数字。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

在本实验中,使用torchvision自带的数据集加载MNISTCIFAR-10数据集,并使用transforms.ToTensor方法加载为Tensor张量,最后通过DataLoader加载进GPU进行运算。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

4.2.2 模型设计

在本次实验中,仿照AlexNet,实现了包含五个卷积层和三个全连接层构建一个深度卷积神经网络,网络的定义是重写nn.Module实现的,卷积层和全连接层之间将数据通过view拉平,同时可选择加入Dropout层防止数据过拟合。

Feature map数变化:1→32→64→128→256,卷积核kernel size均为3,同时在边缘填充单位长度的0,步幅均为1。

MaxPooling核大小为2×2,每次将特征图大小缩为原来的一半。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

4.3 实验结果及分析

4.3.1 实验结果

在本次实验中,使用交叉熵损失函数和SGD优化器,激活函数采用ReLU,将模型输入通道根据数据集设为1机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能,并设置训练超参数epoch为10,batch size为128,学习率learning rate为0.01。训练过程中损失函数loss的值和在测试集上的准确率变化如下图所示。

实验发现,随训练过程的进行,损失函数不断降低,在测试集上准确率逐渐升高,最终测试正确率最高能够达到约98.94%。损失函数和测试准确率在训练最后阶段呈现波动态,可能原因是在局部最优点附近振荡。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

而后通过torch.load方法加载模型对测试集进行直观展示,模型能够对手写数字作出较为准确的分类,具有一定的泛化能力。

4.3.2 不同激活函数的比较

将所有激活函数换为Sigmoid函数,发现结果很差,损失函数强烈震荡,几乎毫无效果。分析原因可能为:

  1. 梯度消失:Sigmoid在输入极值附近的梯度接近于零,这可能导致梯度消失问题,特别是在深层网络中。这可能会影响网络的训练效率和能力。
  2. 输出偏移:Sigmoid函数的输出在0到1之间,这意味着它倾向于产生偏向于0或1的输出,这可能在梯度下降过程中导致网络权重的不稳定更新。
  3. 非稀疏性:与ReLU不同,Sigmoid的输出不稀疏,因为它在整个输入范围内都有非零输出。这可能导致网络的表示能力受到限制。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

而将所有激活函数换为LeakyReLU函数,发现结果有一定提升,最高能够达到99.13%机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能左右,且收敛速度较快,原因可能为:

传统的 ReLU 在负数输入时输出为零,这可能导致梯度在训练过程中变得非常小或者为零,称为梯度消失。Leaky ReLU 引入了一个小的负数斜率,使得梯度在负数输入时仍然存在,从而导致更均匀的梯度分布,可以减少训练过程中的梯度爆炸问题,并使权重更新更加平滑。

机器学习 | 卷积神经网络,机器学习,机器学习,cnn,人工智能

实验结论

卷积神经网络使用卷积操作,相较于全连接,其网络层与层之间的连接是稀疏的。其次同一层的卷积的参数是共享的,且每一层的卷积运算可以并行处理,具有较快的学习和推理速度,同时也具有较强的表示和学习能力,在图像分类领域具有较为广泛的应用。

同时,需要针对数据集和具体任务选择合理的超参数,采用合适的权重初始化方法,能够有效提高模型的性能。同时,适时的引入Dropout操作,可以通过随机断开神经元的连接,使模型更具鲁棒性,降低模型过拟合风险。

此外,CNN 还可用作其他任务的基础模型,如生成对抗网络(GAN),作为其backbone模型来辅助生成高质量的图像。文章来源地址https://www.toymoban.com/news/detail-795821.html

到了这里,关于机器学习 | 卷积神经网络的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习实验4——CNN卷积神经网络分类Minst数据集

    基于手写minst数据集,完成关于卷积网络CNN的模型训练、测试与评估。 卷积层 通过使用一组可学习的滤波器(也称为卷积核)对输入图像进行滑动窗口卷积操作,这样可以提取出不同位置的局部特征,从而捕捉到图像的空间结构信息。 激活函数 在卷积层之后,通常会应用一

    2024年01月24日
    浏览(52)
  • 【人工智能】— 深度神经网络、卷积神经网络(CNN)、多卷积核、全连接、池化

    Pre-training + Fine-tuning Pre-training(预训练) : 监督逐层训练是多隐层网络训练的有效手段, 每次训练一层隐层结点, 训练时将上一层隐层结点的输出作为输入, 而本层隐结点的输出作为下一层隐结点的输入, 这称为”预训练”. Fine-tuning(微调) : 在预训练全部完成后, 再对整个网络进行

    2024年02月10日
    浏览(47)
  • 【AI机器学习入门与实战】CNN卷积神经网络识别图片验证码案例

    👍【 AI机器学习入门与实战 】目录 🍭 基础篇 🔥 第一篇:【AI机器学习入门与实战】AI 人工智能介绍 🔥 第二篇:【AI机器学习入门与实战】机器学习核心概念理解 🔥 第三篇:【AI机器学习入门与实战】机器学习算法都有哪些分类? 🔥 第四篇:【AI机器学习入门与实战】

    2024年02月02日
    浏览(64)
  • 机器学习-卷积神经网络CNN中的单通道和多通道图片差异

    最近在使用CNN的场景中,既有单通道的图片输入需求,也有多通道的图片输入需求,因此又整理回顾了一下单通道或者多通道卷积的差别,这里记录一下探索过程。 直接给出结论,单通道图片和多通道图片在经历了第一个卷积层以后,就没有单通道或者多通道的区别了,剩下

    2023年04月11日
    浏览(41)
  • 人工智能之卷积神经网络(CNN)

    前言:今天我们重点探讨一下卷积神经网络(CNN)算法。 _ 20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络CNN(Convolutional Neural Networks)。 1980年,K.Fukushima提

    2024年02月20日
    浏览(52)
  • 人工智能卷积神经网络,CNN,梯度下降

    CNN,是针对图像领域提出的神经网络。 得出的结论: 神经元存在局部感受区域,也称 感受野 细胞对角度有选择性 如细胞对垂直光条响应最强 细胞对运动方向有选择性 1.视觉系统是分层,分级处理的。从低到高堆叠使用卷积和池化。 2.神经系统是存在局部感受区域的。 第一

    2024年02月01日
    浏览(57)
  • 人工智能:CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的知识梳理

    卷积神经网络(CNN),也被称为ConvNets或Convolutional Neural Networks,是一种深度学习神经网络架构,主要用于处理和分析具有网格状结构的数据,特别是图像和视频数据。CNN 在计算机视觉任务中表现出色,因为它们能够有效地捕获和识别图像中的特征,具有平移不变性(transla

    2024年02月05日
    浏览(67)
  • 毕业设计选题-基于深度学习的车道线检测算法识别系统 人工智能 机器学习 卷积神经网络

    目录 前言 课题背景和意义 实现技术思路 一、车道线检测方法 1.1 卷积神经网络 1.2 注意力机制 二、 数据集 三、实验及结果分析 3.1 实验环境搭建 3.2 模型训练 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学

    2024年02月22日
    浏览(79)
  • 深度学习——CNN卷积神经网络

    卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习中常用于处理具有网格结构数据的神经网络模型。它在计算机视觉领域广泛应用于图像分类、目标检测、图像生成等任务。 CNN 的核心思想是通过利用局部感知和参数共享来捕捉输入数据的空间结构信息。相比于传统

    2024年02月15日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包