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

    文章

    4814

    浏览量

    104070
  • 人工智能
    +关注

    关注

    1809

    文章

    49152

    浏览量

    250665
  • 机器学习
    +关注

    关注

    66

    文章

    8510

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BP神经网络与卷积神经网络的比较

    BP神经网络与卷积神经网络在多个方面存在显著差异,以下是对两者的比较: 一、结构特点 BP神经网络 : BP神经网络是一种多层的前馈神经网络
    的头像 发表于 02-12 15:53 ?728次阅读

    BP神经网络的优缺点分析

    自学习能力 : BP神经网络能够通过训练数据自动调整网络参数,实现对输入数据的分类、回归等任务,无需人工进行复杂的特征工程。 泛化能力强 : BP神经网络通过训练数据学习到的特征表示
    的头像 发表于 02-12 15:36 ?988次阅读

    什么是BP神经网络的反向传播算法

    BP神经网络的反向传播算法(Backpropagation Algorithm)是一种用于训练神经网络的有效方法。以下是关于BP神经网络的反向传播算法的介绍: 一、基本概念 反向传播算法是BP
    的头像 发表于 02-12 15:18 ?821次阅读

    BP神经网络与深度学习的关系

    BP神经网络与深度学习之间存在着密切的关系,以下是对它们之间关系的介绍: 一、BP神经网络的基本概念 BP神经网络,即反向传播神经网络(Backpropagation Neural N
    的头像 发表于 02-12 15:15 ?915次阅读

    BP神经网络的基本原理

    BP神经网络(Back Propagation Neural Network)的基本原理涉及前向传播和反向传播两个核心过程。以下是关于BP神经网络基本原理的介绍: 一、网络结构 BP神经网络
    的头像 发表于 02-12 15:13 ?938次阅读

    如何训练BP神经网络模型

    BP(Back Propagation)神经网络是一种经典的人工神经网络模型,其训练过程主要分为两个阶段:前向传播和反向传播。以下是训练BP神经网络模型的步骤: 一、前向传播 前向传播
    的头像 发表于 02-12 15:10 ?971次阅读

    深度学习入门:简单神经网络的构建与实现

    深度学习中,神经网络是核心模型。今天我们用 Python 和 NumPy 构建一个简单的神经网络神经网络由多个神经元组成,神经元之间通过
    的头像 发表于 01-23 13:52 ?557次阅读

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工
    的头像 发表于 01-09 10:24 ?1300次阅读
    <b class='flag-5'>人工</b><b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法

    卷积神经网络与传统神经网络的比较

    在深度学习领域,神经网络模型被广泛应用于各种任务,如图像识别、自然语言处理和游戏智能等。其中,卷积神经网络(CNNs)和传统神经网络是两种常见的模型。 1. 结构差异 1.1 传统神经网络
    的头像 发表于 11-15 14:53 ?1944次阅读

    RNN模型与传统神经网络的区别

    传统神经网络(前馈神经网络) 2.1 结构 传统神经网络,通常指的是前馈神经网络(Feedforward Neural Networks, FNN),是一种最简单的
    的头像 发表于 11-15 09:42 ?1184次阅读

    LSTM神经网络的结构与工作机制

    LSTM(Long Short-Term Memory,长短期记忆)神经网络是一种特殊的循环神经网络(RNN),设计用于解决长期依赖问题,特别是在处理时间序列数据时表现出色。以下是LSTM神经网络
    的头像 发表于 11-13 10:05 ?1695次阅读

    LSTM神经网络与传统RNN的区别

    在深度学习领域,循环神经网络(RNN)因其能够处理序列数据而受到广泛关注。然而,传统RNN在处理长序列时存在梯度消失或梯度爆炸的问题。为了解决这一问题,LSTM(长短期记忆)神经网络应运而生。 循环
    的头像 发表于 11-13 09:58 ?1266次阅读

    LSTM神经网络的基本原理 如何实现LSTM神经网络

    LSTM(长短期记忆)神经网络是一种特殊的循环神经网络(RNN),它能够学习长期依赖信息。在处理序列数据时,如时间序列分析、自然语言处理等,LSTM因其能够有效地捕捉时间序列中的长期依赖关系而受到
    的头像 发表于 11-13 09:53 ?1653次阅读

    关于卷积神经网络,这些概念你厘清了么~

    随着人工智能(AI)技术的快速发展,AI可以越来越多地支持以前无法实现或者难以实现的应用。本文基于此解释了 卷积神经网络 (CNN)及其对人工智能和机器学习的意义。CNN是一种能够从复杂数据中提
    发表于 10-24 13:56

    matlab 神经网络 数学建模数值分析

    matlab神经网络 数学建模数值分析 精通的可以讨论下
    发表于 09-18 15:14