当前位置:首页 > 厂商动态 > ADI
[导读]本文是系列文章的第二部分,重点介绍卷积神经网络(CNN)的特性和应用。CNN主要用于模式识别和对象分类。在第一部分文章《卷积神经网络简介:什么是机器学习?——第一部分》中,我们比较了在微控制器中运行经典线性规划程序与运行CNN的区别,并展示了CNN的优势。我们还探讨了CIFAR网络,该网络可以对图像中的猫、房子或自行车等对象进行分类,还可以执行简单的语音识别。本文重点解释如何训练这些神经网络以解决实际问题。

摘要

本文是系列文章的第二部分,重点介绍卷积神经网络(CNN)的特性和应用。CNN主要用于模式识别和对象分类。在第一部分文章《卷积神经网络简介:什么是机器学习?——第一部分》中,我们比较了在微控制器中运行经典线性规划程序与运行CNN的区别,并展示了CNN的优势。我们还探讨了CIFAR网络,该网络可以对图像中的猫、房子或自行车等对象进行分类,还可以执行简单的语音识别。本文重点解释如何训练这些神经网络以解决实际问题。

神经网络的训练过程

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

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

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

图1.CIFAR CNN架构。

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

过拟合和欠拟合

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

损失函数和训练算法

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

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

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

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

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

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

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

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

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

训练数据

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

结论

本系列文章的第一部分《人工智能简介:什么是机器学习?——第一部分》介绍了神经网络并对其设计和功能进行了详细探讨。本文则定义了函数所需的所有权重和偏置,因此现在可以假定网络能够正常运行。在后续第三部分的文章中,我们将通过硬件运行神经网络以测试其识别猫的能力。这里我们将使用ADI公司开发的带硬件CNN加速器的MAX78000人工智能微控制器来进行演示。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

【2024年4月24日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)发布全新PSOC™ Edge微控制器(MCU)系列的详细信息,该系列产品的设计针对机器学习(ML)应用进行了优...

关键字: 物联网 机器学习 MCU

TDK株式会社(东京证券交易所代码:6762)新近推出InvenSense SmartEdgeMLTM解决方案,这是一种先进的边缘机器学习解决方案,为用户提供了在可穿戴设备、可听戴设备、增强现实眼镜、物联网 (IoT)...

关键字: 机器学习 物联网 传感器

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

北京——2024年4月19日 亚马逊云科技宣布,Meta刚刚发布的两款Llama 3基础模型Llama 3 8B和Llama 3 70B现已在Amazon SageMaker JumpStart中提供。这两款模型是一系列...

关键字: 机器学习 基础模型

2024年4月18日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 很荣幸地宣布与Edge Impulse建立新的全球合作关系。Edge Im...

关键字: 机器学习 MCU CPU

全新Balletto™系列无线MCU基于Alif Semiconductor先进的MCU架构,该架构具有DSP加速和专用NPU,可快速且低功耗地执行AI/ML工作负载

关键字: 处理器 微控制器 AI

北京——2024年4月18日 西门子中国和亚马逊云科技双方高层在西门子中国北京总部会晤,双方宣布签署战略合作协议,共同成立“联合创新团队”。基于亚马逊云科技在生成式AI领域的领先技术和服务,并结合西门子在工业领域的深厚积...

关键字: 生成式AI 机器学习 大数据

机器学习作为人工智能领域的重要组成部分,其过程涉及到多个核心环节。本文将详细阐述机器学习的四个主要步骤:数据准备、模型选择、模型训练与评估,以及模型部署与应用,以揭示机器学习从数据到应用的完整流程。

关键字: 数据 人工智能 机器学习

随着信息技术的迅猛发展和大数据时代的到来,机器学习成为了人工智能领域中的核心技术之一。机器学习是通过模拟人类学习行为,使计算机系统能够从数据中自动发现规律、提取特征并进行预测和决策的过程。它在诸多领域取得了广泛的应用,包...

关键字: 计算机 人工智能 机器学习

机器学习算法是人工智能领域中的核心技术之一,它通过对大量数据进行学习,自动发现数据中的规律和模式,从而实现对新数据的预测、分类、聚类等任务。本文将深入探讨机器学习算法的基本过程,包括数据准备、模型选择、训练与评估等关键步...

关键字: 数据 人工智能 机器学习
关闭