0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

10分钟快速了解神经网络(Neural Networks)

颖脉Imgtec 2023-09-21 08:30 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Sadaf Saleem| 作者

罗伯特|编辑


神经网络深度学习算法的基本构建模块。神经网络是一种机器学习算法,旨在模拟人脑的行为。它由相互连接的节点组成,也称为人工神经元,这些节点组织成层次结构。

神经网络与机器学习有何不同?

神经网络是一种机器学习算法,但它们与传统机器学习在几个关键方面有所不同。最重要的是,神经网络可以自行学习和改进,无需人的干预。它可以直接从数据中学习特征,因此更适合处理大型数据集。然而,在传统机器学习中,特征需要手动提供。


为什么使用深度学习?

深度学习的一个关键优势是其处理大数据的能力。随着数据量的增加,传统机器学习技术在性能和准确性方面可能变得低效。而深度学习则能够持续表现出色,因此是处理数据密集型应用的理想选择。

02f1e1da-5816-11ee-9788-92fbcf53809c.png

有人会问,为什么我们要费心研究深度学习的结构,而不是简单地依赖计算机为我们生成输出结果,这是一个合理的问题。然而,深入了解深度学习的底层结构可以带来更好的结果,这其中有很多令人信服的理由。


研究深度学习结构的好处是什么?

通过分析神经网络的结构,我们可以找到优化性能的方法。例如,我们可以调整层数或节点的数量,或者调整网络处理输入数据的方式。我们还可以开发更适合分析医学图像或预测股市的神经网络。如果我们知道网络中的哪些节点对于特定输入被激活,我们可以更好地理解网络是如何做出决策或预测的。


神经网络如何工作?

每个神经元代表一个计算单元,接收一组输入,执行一系列计算,并产生一个输出,该输出传递给下一层。

就像我们大脑中的神经元一样,神经网络中的每个节点都接收输入,处理它,并将输出传递给下一个节点。随着数据在网络中传递,节点之间的连接会根据数据中的模式而加强或减弱。这使得网络可以从数据中学习,并根据其学到的知识进行预测或决策。

想象一个28x28的网格,其中某些像素比其他像素更暗。通过识别较亮的像素,我们可以解读出在网格上写的数字。这个网格作为神经网络的输入。

网格的行排列成水平的一维数组,然后转化为垂直数组,形成第一层神经元,就像这样;

030ad870-5816-11ee-9788-92fbcf53809c.gif

在第一层的情况下,每个神经元对应于输入图像中的一个像素,每个神经元内的值代表该像素的激活或强度。神经网络的输入层负责接收原始数据(在本例中是图像)并将其转化为可以被网络其余部分处理的格式。

在这种情况下,我们有28x28个输入像素,这给了我们784个输入层的神经元。每个神经元的激活值要么是0,要么是1,这取决于输入图像中相应的像素是黑色还是白色。

032ab140-5816-11ee-9788-92fbcf53809c.gif

神经网络的输出层在这种情况下包括10个神经元,每个代表一个可能的输出类别(在本例中是数字0到9)。输出层中每个神经元的输出代表输入图像属于该特定类别的概率。最高概率值确定了对于该输入图像的预测类别。


隐藏层

在输入层和输出层之间,我们有一个或多个隐藏层,对输入数据执行一系列非线性变换。这些隐藏层的目的是从输入数据中提取对当前任务更有意义的高级特征。您可以决定在网络中添加多少隐藏层。

隐藏层中的每个神经元都从前一层的所有神经元接收输入,并在将结果通过非线性激活函数之前,对这些输入应用一组权重和偏差。这个过程在隐藏层的所有神经元上重复,直到达到输出层。


前向传播

前向传播是将输入数据通过神经网络生成输出的过程。它涉及计算网络每一层中每个神经元的输出,通过将权重和偏差应用于输入并通过激活函数传递结果来完成。

数学公式:或 其中, 是神经网络的输出, 是非线性激活函数,是第 个输入特征或输入变量, 是与第个输入特征或变量相关联的权重, 是偏差项,它是一个常数值,加到输入的线性组合上。 :这是输入特征和它们相关权重的线性组合。有时这个术语也被称为输入的“加权和”。


反向传播

反向传播是训练神经网络中常用的算法。它涉及计算梯度,即损失函数相对于网络中每个权重的变化的度量。损失函数衡量了神经网络在给定输入下能够正确预测输出的能力。通过计算损失函数的梯度,反向传播允许神经网络以减小训练过程中的整体误差或损失的方式更新其权重。

该算法通过将来自输出层的误差沿着网络的层传播回去,使用微积分的链式法则计算损失函数相对于每个权重的梯度。然后,这个梯度用于梯度下降优化,以更新权重并最小化损失函数。


神经网络中使用的术语

神经网络的训练是根据输入数据和期望输出来调整神经网络权重的过程,以提高网络预测的准确性。权重:权重是在训练过程中学到的参数,它们决定了神经元之间连接的强度。每个神经元之间的连接被分配一个权重,该权重与输入值相乘,以确定其输出。03870260-5816-11ee-9788-92fbcf53809c.png

偏差(Bias):偏差是另一个在给定层中神经元的加权和上添加的学习参数。它是神经元的附加输入,有助于调整激活函数的输出。

非线性激活函数(Non-linear activation function):非线性激活函数应用于神经元的输出,引入了网络中的非线性。非线性很重要,因为它允许网络建模输入和输出之间的复杂、非线性关系。在神经网络中常用的激活函数包括 Sigmoid 函数、ReLU(修正线性单元)函数和 softmax 函数。损失函数(Loss function):这是一个数学函数,用于衡量神经网络的预测输出与真实输出之间的误差或差异。经验损失度量了整个数据集上的总损失。交叉熵损失常用于输出概率在0和1之间的模型,而均方误差损失用于输出连续实数的回归模型。目标是在训练过程中最小化损失函数,以提高网络预测的准确性。损失优化(Loss optimization):这是在神经网络进行预测时,最小化神经网络所产生的误差或损失的过程。这是通过调整网络的权重来完成的。

梯度下降(Gradient descent):这是一种用于寻找函数最小值的优化算法,例如神经网络的损失函数。它涉及迭代地调整权重,沿着损失函数的负梯度方向。其思想是不断将权重朝着减小损失的方向移动,直到达到最小值。


让我们通过实际例子记住这些术语:

1. 想象一家公司希望通过销售产品来最大化利润。他们可能有一个基于各种因素如价格、营销支出等来预测利润的模型。偏差可能指的是影响产品利润但与价格或营销支出无直接关系的任何固定因素。例如,如果产品是季节性物品,可能在一年中的某些时段存在对更高利润的偏差。实际利润与预测利润之间的差异就是损失函数。梯度下降涉及计算损失函数相对于每个输入特征的梯度,并使用这个梯度迭代地调整特征值,直到找到最佳值的过程,而涉及找到最小化损失函数的输入特征的最佳值的过程就是损失优化。利润预测模型可能会使用非线性激活函数将输入特征(例如价格、营销支出)转化为预测的利润值。这个函数可以用来引入输入特征和输出利润之间的非线性关系。2. 想象你正在玩一个视频游戏,你是一个角色试图到达一个目的地,但你只能在二维平面上移动(前后和左右)。你知道目的地的确切坐标,但不知道如何到达那里。你的目标是找到到达目的地的最短路径。在这种情况下,损失函数可以是你当前位置与目的地之间的距离。损失函数的梯度将是通往目的地最陡坡度的方向和大小,你可以使用它来调整你的移动,靠近目的地。随着你靠近目的地,损失函数减小(因为你离目标更近了),梯度也相应改变。通过反复使用梯度来调整你的移动,最终你可以以最短路径到达目的地。希望你在了解神经网络方面有了更深入的了解。为了更好地理解这一概念,请参考文章中提到的视频。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4842

    浏览量

    108188
  • 机器学习
    +关注

    关注

    67

    文章

    8565

    浏览量

    137228
  • 深度学习
    +关注

    关注

    73

    文章

    5608

    浏览量

    124637
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎?

    我想知道为什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神经网络引擎,请问?您能否举一些关于他们的用例的例子?
    发表于 03-25 06:01

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物神经系统的结构,特别是大脑中神经
    的头像 发表于 12-17 15:05 461次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    自动驾驶中常提的卷积神经网络是个啥?

    在自动驾驶领域,经常会听到卷积神经网络技术。卷积神经网络,简称为CNN,是一种专门用来处理网格状数据(比如图像)的深度学习模型。CNN在图像处理中尤其常见,因为图像本身就可以看作是由像素排列成的二维网格。
    的头像 发表于 11-19 18:15 2255次阅读
    自动驾驶中常提的卷积<b class='flag-5'>神经网络</b>是个啥?

    CNN卷积神经网络设计原理及在MCU200T上仿真测试

    数的提出很大程度的解决了BP算法在优化深层神经网络时的梯度耗散问题。当x&gt;0 时,梯度恒为1,无梯度耗散问题,收敛快;当x&lt;0 时,该层的输出为0。 CNN
    发表于 10-29 07:49

    NMSIS神经网络库使用介绍

    (q7_t) 和 16 位整数 (q15_t)。 卷积神经网络示例: 本示例中使用的 CNN 基于来自 Caffe 的 CIFAR-10 示例。神经网络由 3 个卷积层组成,中间散布着 ReLU
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享在Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    在完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 在仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 readmemh 函数
    发表于 10-20 08:00

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 1570次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    神经网络的并行计算与加速技术

    问题。因此,并行计算与加速技术在神经网络研究和应用中变得至关重要,它们能够显著提升神经网络的性能和效率,满足实际应用中对快速响应和大规模数据处理的需求。神经网络并行
    的头像 发表于 09-17 13:31 1301次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

    基于神经网络的数字预失真模型解决方案

    在基于神经网络的数字预失真(DPD)模型中,使用不同的激活函数对整个系统性能和能效有何影响?
    的头像 发表于 08-29 14:01 3668次阅读

    一文了解Arm神经超级采样 (Arm Neural Super Sampling, Arm NSS) 深入探索架构、训练和推理

    本文将从训练、网络架构到后处理和推理等方面,深入探讨 Arm 神经超级采样 (Arm Neural Super Sampling, Arm NSS) 的工作原理,希望为机器学习 (ML) 工程师和移动端图形开发者来详细解释 Ar
    的头像 发表于 08-14 16:11 3267次阅读

    无刷电机小波神经网络转子位置检测方法的研究

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 06-25 13:06

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合,充分发挥了二者故障诊断的优点,很大程度上降低了对电机
    发表于 06-16 22:09

    神经网络RAS在异步电机转速估计中的仿真研究

    众多方法中,由于其结构简单,稳定性好广泛受到人们的重视,且已被用于产品开发。但是MRAS仍存在在低速区速度估计精度下降和对电动机参数变化非常敏感的问题。本文利用神经网络的特点,使估计更为简单、快速
    发表于 06-16 21:54

    基于FPGA搭建神经网络的步骤解析

    本文的目的是在一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe文件,(coe
    的头像 发表于 06-03 15:51 1506次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析