h1_key

当前位置:首页 >新闻资讯 > 技术文章>详析卷积神经网络CNN的特性和应用
详析卷积神经网络CNN的特性和应用
2023-03-30 738次

 一、神经网络的训练过程

  前文中讨论的CIFAR网络由不同层的神经元组成。如图1所示,32 × 32像素的图像数据被呈现给网络并通过网络层传递。CNN处理过程的第一步就是提取待区分对象的特性和结构,这需要借助滤波器矩阵实现。设计人员对CIFAR网络进行建模后,由于最初无法确定这些滤波器矩阵,因此这个阶段的网络无法检测模式和对象。

  为此,首先需要确定滤波器矩阵的所有参数,以最大限度地提高检测对象的精度或最大限度地减少损失函数。这个过程就称为神经网络训练。前文所描述的常见应用在开发和测试期间只需对网络进行一次训练就可以使用,无需再调整参数。如果系统对熟悉的对象进行分类,则无需额外训练;当系统需要对全新的对象进行分类时,才需要额外进行训练。

  进行网络训练需要使用训练数据集,并使用类似的一组测试数据集来测试网络的精度。例如CIFAR-10网络数据集为十个对象类的图像集合:飞机、汽车、鸟、猫、鹿、狗、青蛙、马、轮船和卡车。我们必须在训练CNN之前对这些图像进行命名,这也是人工智能应用开发过程中最为复杂的部分。本文讨论的训练过程采用反向传播的原理,即向网络连续展示大量图像,并且每次都同时传送一个目标值。本例的目标值为图像中相关的对象类。在每次显示图像时,滤波器矩阵都会被优化,这样对象类的目标值就会和实际值相匹配。完成此过程的网络就能够检测出训练期间从未看到过的图像中的对象。

  

 

1.CIFAR CNN架构


  

 

2.由前向传播和反向传播组成的训练循环

 

  二、过拟合和欠拟合

在神经网络的建模过程中经常会出现的问题是:神经网络应该有多少层,或者是神经网络的滤波器矩阵应该有多大。回答这个问题并非易事,因此讨论网络的过拟合和欠拟合至关重要。过拟合由模型过于复杂以及参数过多而导致。我们可以通过比较训练数据集和测试数据集的损失来确定预测模型与训练数据集的拟合程度。如果训练期间损失较低并且在向网络呈现从未显示过的测试数据时损失过度增加,这就强烈表明网络已经记住了训练数据而不是在实施模式识别。此类情况主要发生在网络的参数存储空间过大或者网络的卷积层过多的时候。这种情况下应当缩小网络规模。

 

 三、损失函数和训练算法

  学习分两个步骤进行。第一步,向网络展示图像,然后由神经元网络处理这些图像生成一个输出矢量。输出矢量的最大值表示检测到的对象类,例如示例中的"狗",该值不一定是正确的。这一步称为前向传播。

  目标值与输出时产生的实际值之间的差值称为损失,相关函数则称为损失函数。网络的所有要素和参数均包含在损失函数中。神经网络的学习过程旨在以最小化损失函数的方式定义这些参数。这种最小化可通过反向传播的过程实现。在反向传播的过程中,输出产生的偏置(损失 = 目标值-实际值)通过网络的各层反馈,直至达到网络的起始层。

因此,前向传播和反向传播在训练过程中产生了一个可以逐步确定滤波器矩阵参数的循环。这种循环过程会不断重复,直至损失值降至一定程度以下。

 

  四、优化算法、梯度和梯度下降法

  为说明训练过程,图3显示了一个包含x和y两个参数的损失函数的示例,这里z轴对应于损失。如果我们仔细查看该损失函数的三维函数图,我们就会发现这个函数有一个全局最小值和一个局部最小值。

  目前,有大量数值优化算法可用于确定权重和偏置。其中,梯度下降法最为简单。梯度下降法的理念是使用梯度算子在逐步训练的过程中找到一条通向全局最小值的路径,该路径的起点从损失函数中随机选择。梯度算子是一个数学运算符,它会在损失函数的每个点生成一个梯度矢量。该矢量的方向指向函数值变化最大的方向,幅度对应于函数值的变化程度。在图3的函数中,右下角(红色箭头处)由于表面平坦,因此梯度矢量的幅度较小。而接近峰值时的情况则完全不同。此处矢量(绿色箭头)的方向急剧向下,并且由于此处高低差明显,梯度矢量的幅度也较大。

  

 

  图3.使用梯度下降法确定到最小值的不同路径


  因此我们可以利用梯度下降法从任意选定的起点开始以迭代的方式寻找下降至山谷的最陡峭路径。这意味着优化算法会在起点计算梯度,并沿最陡峭的下降方向前进一小步。之后算法会重新计算该点的梯度,继续寻找创建一条从起点到山谷的路径。这种方法的问题在于起点并非是提前定义的,而是随机选择的。在我们的三维地图中,某些细心的读者会将起点置于函数图左侧的某个位置,以确保路径的终点为全局最小值(如蓝色路径所示)。其他两个路径(黄色和橙色)要么非常长,要么终点位于局部最小值。但是,算法必须对成千上万个参数进行优化,显然起点的选择不可能每次都碰巧正确。在具体实践中,这种方法用处不大。因为所选择的起点可能会导致路径(即训练时间)较长,或者目标点并不位于全局最小值,导致网络的精度下降。

  因此,为避免上述问题,过去几年已开发出大量可作为替代的优化算法。一些替代的方法包括随机梯度下降法、动量法、AdaGrad方法、RMSProp方法、Adam方法等。鉴于每种算法都有其特定的优缺点,实践中具体使用的算法将由网络开发人员决定。


  五、训练数据

  在训练过程中,我们会向网络提供标有正确对象类的图像,如汽车、轮船等。本例使用了已有的 CIFAR-10 dataset。当然,在具体实践中,人工智能可能会用于识别猫、狗和汽车之外的领域。这可能需要开发新应用,例如检测制造过程中螺钉的质量必须使用能够区分好坏螺钉的训练数据对网络进行训练。创建此类数据集极其耗时费力,往往是开发人工智能应用过程中成本最高的一步。编译完成的数据集分为训练数据集和测试数据集。训练数据集用于训练,而测试数据则用于在开发过程的最后检查训练好的网络的功能。

 

  • 一文读懂什么是IMU传感器?
  • IMU(惯性测量单元,Inertial Measurement Unit) 是一种用于测量物体运动状态的电子设备,通过组合多种传感器来提供三维空间中的加速度、角速度及姿态信息。
    2025-03-05 478次
  • 一文读懂什么是图像传感器?
  • 图像传感器是一种将光学图像转换为电信号的电子器件,广泛应用于数码相机、智能手机、安防监控、医疗影像、自动驾驶等领域。它是现代成像系统的核心组件,决定了图像的清晰度、色彩还原能力和动态范围等关键性能。
    2025-03-03 105次
  • 一文读懂什么是加速度传感器?
  • 加速度传感器(Accelerometer) 是一种测量物体线性加速度的装置,可检测物体在空间中沿X、Y、Z轴的平移运动(包括静态重力加速度和动态运动加速度)。
    2025-02-26 207次
  • XILINX赛灵思 XC7K160T-2FBG484E
  • 赛灵思(XILINX)作为行业的领军企业,其推出的 XC7K160T-2FBG484E 更是一款备受瞩目的产品。XC7K160T-2FBG484E 属于赛灵思 7 系列 FPGA(现场可编程门阵列),具有强大的性能和丰富的功能。
    2024-09-25 364次
  • XILINX赛灵思 XCKU085-2FLVA1517E
  • 赛灵思(XILINX)作为全球领先的可编程逻辑器件供应商,其推出的 XCKU085-2FLVA1517E 以卓越的性能和丰富的功能,成为众多电子工程师和设计师的首选。XCKU085-2FLVA1517E 属于赛灵思 UltraScale 架构系列产品,采用先进的 20 纳米工艺技术制造。这一工艺不仅带来了更高的性能,还实现了更低的功耗,为各种复杂的电子系统设计提供了理想的解决方案。
    2024-09-25 316次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部