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

    文章

    4732

    浏览量

    100366
  • 人工智能
    +关注

    关注

    1789

    文章

    46532

    浏览量

    236783
  • 机器学习
    +关注

    关注

    66

    文章

    8337

    浏览量

    132247
收藏 人收藏

    评论

    相关推荐

    BP神经网络和卷积神经网络的关系

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种在人工智能和机器学习领域
    的头像 发表于 07-10 15:24 973次阅读

    BP神经网络人工神经网络的区别

    BP神经网络人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及
    的头像 发表于 07-10 15:20 650次阅读

    人工神经网络的案例分析

    人工神经网络(Artificial Neural Network, ANN)作为深度学习领域的重要分支,自20世纪80年代以来一直是人工智能领域的研究热点。其灵感来源于生物神经网络,通
    的头像 发表于 07-08 18:20 613次阅读

    人工神经网络的特点和优越性不包括什么

    人工神经网络(Artificial Neural Networks, ANNs)是一种模仿人脑神经网络结构和功能的数学模型,它通过模拟神经元之间的连接和信息传递来实现对数据的处理和分析
    的头像 发表于 07-05 09:26 564次阅读

    人工神经网络的工作原理及应用

    人工神经网络(Artificial Neural Networks, ANNs)是一种受到生物神经网络启发的计算模型,用于模拟人脑处理信息的方式。它们在许多领域都有广泛的应用,包括图像识别、语音识别
    的头像 发表于 07-05 09:25 506次阅读

    人工神经网络模型包含哪些层次

    人工神经网络(Artificial Neural Network,ANN)是一种模拟人脑神经网络的计算模型,具有自适应、自学习、泛化能力强等特点。本文将详细介绍人工
    的头像 发表于 07-05 09:17 436次阅读

    人工神经网络模型的分类有哪些

    人工神经网络(Artificial Neural Networks, ANNs)是一种模拟人脑神经元网络的计算模型,它在许多领域,如图像识别、语音识别、自然语言处理、预测分析等有着广泛的应用。本文将
    的头像 发表于 07-05 09:13 811次阅读

    人工智能神经网络的结构是什么

    人工智能神经网络是一种模拟人脑神经网络的计算模型,其结构和功能非常复杂。 引言 人工智能神经网络是一种模拟人脑
    的头像 发表于 07-04 09:37 382次阅读

    人工智能神经网络芯片的介绍

    人工智能神经网络芯片是一类专门为深度学习和神经网络算法设计的处理器。它们具有高性能、低功耗、可扩展等特点,广泛应用于图像识别、语音识别、自然语言处理等领域。以下是关于人工智能
    的头像 发表于 07-04 09:33 499次阅读

    神经网络人工智能的关系是什么

    神经网络人工智能的关系是密不可分的。神经网络人工智能的一种重要实现方式,而人工智能则是神经网络
    的头像 发表于 07-03 10:25 828次阅读

    bp神经网络和卷积神经网络区别是什么

    BP神经网络(Backpropagation Neural Network)和卷积神经网络(Convolutional Neural Network,简称CNN)是两种不同类型的人工神经网络
    的头像 发表于 07-03 10:12 840次阅读

    卷积神经网络和bp神经网络的区别

    化能力。随着深度学习技术的不断发展,神经网络已经成为人工智能领域的重要技术之一。卷积神经网络和BP神经
    的头像 发表于 07-02 14:24 2074次阅读

    人工神经网络的含义和用途是

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种受生物神经网络启发而构建的数学模型,它通过模拟人脑神经元的连接和信息传递方式来实现对复杂数据的处
    的头像 发表于 07-02 10:07 534次阅读

    人工神经网络的工作原理是什么

    人工神经网络(Artificial Neural Networks,简称ANNs)是一种模拟人脑神经网络的计算模型,它通过大量的简单计算单元(神经元)和它们之间的连接(突触)来实现对复
    的头像 发表于 07-02 10:06 771次阅读

    人工神经网络的模型及其应用有哪些

    人工神经网络(Artificial Neural Networks,ANNs)是一种受生物神经网络启发的计算模型,它通过模拟人脑神经元的连接和交互来实现对数据的学习和处理。自20世纪4
    的头像 发表于 07-02 10:04 713次阅读