首页
新闻中心

FANN-on-MCU:物联网边缘开源支持者

展商资讯
发布时间:2025-12-31 11:11
摘要:快速人工神经网络微控制器(FANN-on-MCU)是一个基于FANN库构建的开源工具包。它帮助多层神经网络在基于Arm Cortex-M系列和基于RISC-V的并行超低功耗平台(PULP)的MCU上高效运行。该工具包可以支持带浮点运算或不带浮点运算的MCU。...

这对物联网系统为何重要?由先进处理节点和AI驱动工作负载引入的“微型化文化”推动了物联网系统变得更加智能化。传统物联网设备完成了记录、测量、存储和传输信息的工作。然而,现代物联网设备需要具备智能功能。

大多数物联网硬件,如MCU、传感器、麦克风和低分辨率摄像头,都存在资源限制。嵌入式硬件采用超低功耗运行,内存和闪存有限,大多数甚至不具备浮点作能力。

机器学习条目

物联网设备的数据通常会被输入机器学习(ML)分析软件,这对于提取模式和预测趋势非常有用。企业依赖机器学习软件来解决人类在生物学、天文学、计算机视觉、金融等领域中一些最棘手的研究难题。但将机器学习与物联网设备整合仍是行业中的挑战。

嵌入式工作负载依赖快速计算且能耗极低。输出数据通常经过信号调节阶段进行细化。多年前,物联网设备无法应对机器学习算法。然而,资源受限的硬件可以通过多层解释器层、广泛的并行性、现代架构和供应商的帮助,集成到机器学习领域。

一些深度学习

运行在物联网设备上的机器学习算法轻便且节能,相较于传统IP网络中运行的复杂算法。低功耗时间序列数据可以支持基于深度学习的多层全连接网络,称为多层感知(MLP)。

MLP展示了输入层、输出层和隐藏层叠加。从嵌入式系统的角度来看,MLP是一种相对简便的深度神经网络,适合需要较小内存或闪存使用的低功耗作。这是因为MLP在数学上是可预测的,并且可以量子化。MLP训练端到端反向传播算法,这些算法同样更容易执行。

FANN-on-MCU:机器学习×边缘物联网

FANN-on-MCU 是一个开源的 C 语言编程库。通过API,CANN-on-MCU还可以与其他编程语言集成,如MATLAB、Python和Rust。C 语言库足够简单,可以构建、训练和运行 MLP。FANNTool 是一个图形界面单元,能够实现 MLP 网络架构的可视化设计和监控。

Arm Cortex-M MCU 在毫瓦级超低功耗下运行,频率在 16 至 300 MHz 之间。FANN-on-MCU 为 ARM Cortex-M 处理器设计的原因之一是 CMSIS-NN。它是一个包含高效且优化的神经网络内核的软件库。


PULP 是一个开源的 RISC-V 平台,支持低功耗的 AI 工作负载。PULP上提供了定制的RISC-V扩展,用于并行处理。

FANN-on-MCU 由 ARM Cortex-M DSP 指令集和 RISC-V 定制扩展驱动,用于并行处理。大多数框架运行在云训练模型上。例如,STM32Cube.AI 和TensorFlow Lite支持Cortex-M和RISC-V MCU,用于并行处理设置中构建和训练神经网络。

《FANN-on-MCU》有什么特别之处?

通过跨平台支持 Arm Cortex-M 系列和基于 RISC-V 的 PULP,FANN-on-MCU 可以构建和测试多个 MLP。主要优势包括:

  • 更快部署FANN-on-MCU 实现了更快的部署,因为它消除了集成模型解释器或多层子系统的需求。

  • 固定点和浮点支持:FANN-on-MCU支持神经网络的固定点作,以减少循环次数和能耗。如果控制器支持浮点,模型可以进行优化。

  • 多重测试:FANN-on-MCU 可进行单层和多层基准测试,以评估神经网络的可扩展性。借助FANN-on-MCU,可以运行在MCU上,拥有~103,800次多重累积计算(MACs)的大型神经网络。

  • 自动化内存管理:MCU 上的 FANN 运行于确定性内存分配。没有动态分支。它减轻了处理内存的负担。

  • 低能耗:FANN-on-MCU运行需要低能耗。开发者为太阳能和热能驱动的可穿戴移动应用创建了测试平台。FANN在MCU上的实际实现显示能耗低至53和183微焦耳。

  • 实时性能:FANN-on-MCU展现出极低的延迟,仅为微秒级。这种低延迟适用于用于坠落制动系统和脑活动的人工神经网络模型。设备边缘的数据以极低带宽使用率传输到云端。

没有一套通用工具包适用于所有嵌入式物联网系统。FANN-on-MCU 必须结合硬件特性和系统所需的并行处理量进行优化。

粉丝在MCU上与TinyML的对比

FANN-on-MCU 是一个开源工具包,适用于在超低功耗边缘设备上运行 MLP。在商业和学术嵌入式系统领域,它可与TinyDL工具链相媲美。

FANN-on-MCU 可以被视为 TinyML 的附加组件。它采用并执行了在低功耗MCU上运行机器学习模型的相同理念,但部署速度更快,无需解释器。

TinyML是一个更广泛的商业化嵌入式机器学习领域,涵盖硬件、软件、算法等多种领域。它支持针对各种硬件目标的广泛机器学习模型和框架,并受到谷歌等科技巨头的支持。

然而,FANN-on MCU的可扩展性有限,不适合大规模机器学习模型。它缺乏 TinyML 实现的大规模实现,并且在分布式计算中存在可扩展性问题。此外,由于技术较新,软件、文档和社区支持明显减少。

此外,FANN-on-MCU无法实现先进的机器学习算法和神经网络。它不适用于大规模机器学习模型、自然语言处理、频谱图、图像分类和基于音频的神经网络。


最新资讯