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

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

3天内不再提示

Moku人工神经网络101

上海昊量光电设备有限公司 2024-11-01 08:06 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Moku 3.3版更新在 Moku:Pro 平台新增了全新的仪器功能【神经网络】,使用户能够在Moku设备上部署实时机器学习算法,进行快速、灵活的信号分析、去噪、传感器调节校准、闭环反馈等应用。如果您不熟悉神经网络的基础知识,或者想了解神经网络如何优化加速实验研究,请继续阅读,探索基于深度学习的现代智能化实验的广阔应用前景。

什么是神经网络?

“人工神经网络”(ANN)又称“神经网络”,是一种模仿生物神经网络的计算模型。在这篇介绍中,我们将侧重介绍全连接神经网络,不涉及卷积、递归和变压器架构等复杂设置。

神经网络由各层节点组成。一个节点的值取决于上一层一个或多个节点的值。第一层(输入)的节点直接从外部输入获取其值,而最后一层(输出)的节点则给出网络的结果。输入层和输出层之间的层被称为隐藏层。

用数学术语来说,可以把输入层想象成一个 N ✕ 1 矩阵,其中 N 是输入层的节点数,矩阵中的每个元素都对应激活值,如图 1 所示。

264043ce-97e5-11ef-8084-92fbcf53809c.jpg

图 1:典型神经网络架构,包含输入层、隐藏层和输出层。

接下来是隐藏层。隐藏层的数量及其节点数取决于模型的复杂性和可用的计算能力。隐藏层的每个节点会对输入层的激活值应用不同的权重和偏置,然后通过非线性激活函数处理。通过这种方式,神经网络不仅能执行简单的线性运算,还能解决复杂的非线性问题。

266c117a-97e5-11ef-8084-92fbcf53809c.png

图 2:隐层的激活值是通过上一层激活值的组合计算得出的。

如果输入层是一个 N ✕ 1 矩阵(n1、n2......),那么下一个激活值就是将其与一个 M ✕ N 矩阵相乘得到的,其中 M 是隐藏层的节点数。矩阵中的每个元素都是一个权重,用 wmn 表示,这意味着每一层都需要 MN 个参数。结果是一个 M ✕ 1 矩阵,然后用偏置值(b1、b2......)抵消。计算出新的激活值后,将其传递给“激活函数”。激活函数可以提供非线性行为,如剪切和归一化,能使网络比简单的矩阵乘法更强大。

数据经过几个隐藏层处理后,最终到达输出层。输出节点的激活值对应用于分类或预测相关参数。例如,从示波器收集的时间序列数据被输入到输入层,达到将信号分类为正弦波、方波、锯齿波或直流信号的神经网络目的。在输出层中,每个节点将对应其中一个选项,激活值最高的节点代表网络对信号形式的最佳猜测。如果一个激活值接近 1,而其他激活值接近0,则表示网络猜测的可信度很高。如果激活值相近,则表示对预测结果的信心不足。

神经网络是如何工作的?

如果不调整隐藏层的权重和偏置,神经网络最终只能是一个复杂的随机数生成器。为了提高模型的准确性,用户必须提供训练数据,即使用已知答案的训练数据集优化模型。然后,模型可以根据训练集计算出自己的答案,并与真实值进行比较。计算出的差值被称为成本函数,是对模型性能的量化评估。

计算出给定数据集的成本函数后,就可以通过各种微积分运算来调整隐藏层的权重和偏置,从而达到最小化成本函数的目标。这与向量微积分中的梯度下降概念类似,可在文献[1]中进一步探讨。这一过程被称为反向传播(backpropagation),它允许通过成本函数获得的信息在各层中向后传递,从而使模型在无需人工输入的情况下进行学习或自我调整。

训练数据通常会在神经网络中运行多次。提供给模型的每个数据实例被称为一个历元。通常情况下,部分训练数据会被保留用于验证。在验证过程中,训练有素的网络将从保留的数据集中推断输出,并将其预测结果与已知的正确输出进行比较。这比单纯的成本函数值更能准确反映模型的性能,因为它表明了模型对新输入和新输入的泛化能力。

神经网络有哪些不同类型?

神经网络的运行原理虽然相似,但根据应用的不同可以有多种形式。常见的神经网络包括

前馈神经网络(FNN):这是标准格式,如上述示例中讨论的格式。在前馈神经网络中,数据通过网络向前传递,不需要任何反馈,也不需要记忆之前的输入。典型的应用例子比如图像识别,每个像素都是神经网络的输入,而输出则是对该图像的分类。

卷积神经网络(CNN):这是 FNN 的一种子类型,通常通过使用滤波器来检测图像中的特征。由于图像的尺寸通常很大,这些滤波器的作用是将输入图像的尺寸缩小到更小的权重数。这样,隐层中的每个神经元就可以在整个输入中扫描相同的特征,因此CNN 在处理图像识别任务具有很高鲁棒性。

递归神经网络(RNN):与前馈网络不同,RNN 在隐藏层中使用反馈。反馈机制为系统提供了记忆,因此给定层的输出可以取决于先前的输入。这使得 RNN 成为时间序列、语音和音频数据等连续数据集的绝佳选择。

自动编码器自动编码器是一种特殊的神经网络,它能将给定数据编码到一个缩小的维度空间,然后从编码数据中重建或解码。从概念上讲,这与统计和生物信息学中常用的主成分分析(PCA)非常相似。

神经网络在信号处理中的应用

神经网络不仅在大型语言模型、图像解密和翻译等方面具有广泛应用,还能显著提升信号处理中的测量性能。利用机器学习改进测量设置的应用包括:

控制系统在某些复杂系统中,很难事先知道实现特定控制状态所需的输入,或者系统模型难以反向推导。在这种情况下,可使用波形发生器或函数发生器对系统进行探测,同时使用示波器监控系统的响应状态。然后,神经网络根据当前状态与目标控制之间的差异学习反向映射。与 PID 控制器结合使用,可实现 PID 参数的自适应调整[2]。

传感器校准:神经网络可以获取传感器数据并补偿系统误差,如电缆的相位失真或延迟,或光电探测器的光束偏差。这种方法可在数据进入下一阶段实验前进行实时修正,提高测量精度。

信号去噪:这种技术利用神经网络作为自动编码器,提取信号的关键特征,然后根据这些特征重建信号。由于随机噪声不属于关键特征,重建后的信号本质上就是经过去噪的信号,即神经网络充当了高效的噪声滤波器。

信号分类:神经网络可将时间序列等输入信号与已知模板或一系列模板进行比较。这样,用户就能快速对信号类别进行分类,识别数据集中的异常值或错误,检测随机事件,或根据 IQ 正交振幅量子态进行分类[3]。

267fdb74-97e5-11ef-8084-92fbcf53809c.png

图 3:经过神经网络处理后的去噪重建信号。

基于 FPGA 的神经网络有哪些优势?

神经网络通常是在 CPU 和/或 GPU 的组合上构建和运行的。这在处理大型模型时非常有效,但同时也对资源和能耗要求较高。对于前面提到的信号处理应用类型来说往往也是过度的。

FPGA具有高速处理及并行能力,使得神经网络在处理实时数据时具备低延迟和高效的资源利用率。与传统的GPU/CPU相比,基于 FPGA 的神经网络非常适合实验情况,因为它们处理实时数据的速度快,无需与主机 PC 通信就能实现快速控制和决策。FPGA 还可以根据用户需求变化重新调整配置,灵活性强。最后,由于 FPGA 体积小巧,在FPGA 上实现的神经网络有助于减少资源和能源消耗[4][5]。

Moku神经网络是什么?

Moku基于FPGA开发了一些列灵活、可快速重新配置的测试和测量仪器套件外, Moku:Pro 现在还新增 Moku 神经网络 功能。得益于 FPGA 的可重构性性和快速处理速度,神经网络可与其他 Moku 仪器(如波形发生器、 PID 控制器和示波器)一起使用,优化信号分析、去噪、传感器调节和闭环反馈等应用场景解决方案。

用户可以使用 Python 开发和训练自己的神经网络,并在多仪器并行模式下将训练好的神经网络上传到 Moku:Pro 。这样就可以实现多达四个输入通道或一个通道的时间序列数据分析,以及多达四个输出用于实时实验数据处理,所有这些都可以在一台 Moku:Pro 上完成。Moku 神经网络具有多达五个全连接层,每个层包含多达 100 个神经元,并根据您的应用提供五种不同的激活函数选项,以适应不同应用需求。

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

    关注

    42

    文章

    4847

    浏览量

    108484
  • 人工智能
    +关注

    关注

    1821

    文章

    50552

    浏览量

    267988
  • 机器学习
    +关注

    关注

    67

    文章

    8571

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于神经网络的负载机械速度估计器实现方案

    本文提出了一种基于神经网络(NN)的负载机械速度估计器的实用实现,适用于具有弹性耦合(elastic coupling)的驱动系统,使用可重构FPGA。
    的头像 发表于 05-16 09:07 5033次阅读
    基于<b class='flag-5'>神经网络</b>的负载机械速度估计器实现方案

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

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

    神经网络的初步认识

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

    AMD利用可重构FPGA设备Moku实现自定义激光探测解决方案

    探测技术。文中结合多个案例研究探讨了使用Moku平台简化实验设置、部署锁相放大器和双boxcar平均器提升信号质量、并通过Moku神经网络及云编译功能优化实时信号
    的头像 发表于 11-20 17:28 1996次阅读
    AMD利用可重构FPGA设备<b class='flag-5'>Moku</b>实现自定义激光探测解决方案

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

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

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

    CICC2033神经网络部署相关操作

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

    人工智能工程师高频面试题汇总:循环神经网络篇(题目+答案)

    后台私信雯雯老师,备注:循环神经网络,领取更多相关面试题随着人工智能技术的突飞猛进,AI工程师成为了众多求职者梦寐以求的职业。想要拿下这份工作,面试的时候得展示出你不仅技术过硬,还得能解决问题。所以
    的头像 发表于 10-17 16:36 969次阅读
    <b class='flag-5'>人工</b>智能工程师高频面试题汇总:循环<b class='flag-5'>神经网络</b>篇(题目+答案)

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

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

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

    随着人工智能技术的飞速发展,神经网络在众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也在不断增加,这使得传统的串行计算方式面临着巨大的挑战,如计算速度慢、训练时间长等
    的头像 发表于 09-17 13:31 1389次阅读
    <b class='flag-5'>神经网络</b>的并行计算与加速技术

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

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

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

    摘要:论文通过对无刷电机数学模型的推导,得出转角:与三相相电压之间存在映射关系,因此构建了一个以三相相电压为输人,转角为输出的小波神经网络来实现转角预测,并采用改进遗传算法来训练网络结构与参数,借助
    发表于 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 1618次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析