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

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

3天内不再提示

边缘的超低功耗关键短语检测

星星科技指导员 来源:嵌入式计算设计 作者:Hussein Osman 2022-06-24 10:09 次阅读

本文将描述一种针对网络边缘设计的基于 NN 的关键短语检测解决方案。这些二值化模型可在低功耗 UltraPlus™ FPGA 上运行。本文将讨论当使用包含嘈杂背景(如音乐或聊天噪声)的数据集训练 NN 时,如何在嘈杂环境中使用关键短语检测。在这种情况下,神经网络使用公共数据集进行训练,以检测“七”这个词。关键短语检测可用于广泛的应用,无需个人助理设备。可能的应用包括智能电灯开关、智能电视和 AVR,通过音量增大和减小等命令来管理设备。

一、引言

长期以来,使用语音命令来控制人机界面 (HMI) 一直是系统设计人员的目标。可以追溯到 20 世纪中叶的流行科幻电视节目和电影,例如《星际迷航》和《星球大战》,向我们暗示了语音世界的样子。但事实证明,为现实生活中的消费类应用开发低成本、高能效的解决方案是难以捉摸的。

然而,在过去几年中,亚马逊的 Alexa 和苹果的 Siri 等流行的人工智能应用程序的出现,以及它们将语音命令转换为系统操作的能力,加速了向基于语音的 HMI 的迁移。这些快速进步为越来越多依赖关键短语检测的智能家居解决方案打开了大门。如今,用户可以要求 Alexa 在互联网上订购产品、开灯、锁门、设置家庭恒温器,甚至给草浇水。

通常,这些支持语音的 HMI 执行识别云中的关键短语所需的计算。在许多情况下,设计师将他们的应用程序插入到预先存在的基础设施中,比如亚马逊的 Alexa。然而,这种发展战略面临着一些限制。首先最重要的是成本。在云中的服务器上运行关键短语检测算法的解决方案必须在每次访问云中的资源时按分钟付费。此外,构建基于云的边缘解决方案的开发人员必须向 NRE 支付费用,以针对特定设备训练他们的解决方案,然后为他们交付的每个解决方案支付版税。将他们的设计插入现有基础设施的设计人员将看到他们的成本随着他们转向需要更强大的处理器来获取数据、分析数据的 Wi-Fi 模型而增加,

此外,依赖互联网连接会带来额外的风险。如果连接中断,使用互联网连接将数据传输到云可能会导致服务中断。通过互联网传输数据也存在潜在的黑客攻击风险。从用户的角度来看,互联网连接为侵犯隐私和安全问题打开了大门。依赖直接位于设备上的计算资源的边缘解决方案避免了这些潜在问题。

二、新的方法

本文探讨了一种不同的方法,可以为位于网络边缘的设备带来成本更低的关键短语检测。利用在开发高精度、紧凑和低成本的二值化神经网络 (NN) 模型方面取得的进展,以及对新一代极低功耗现场可编程门阵列 (FPGA) 的改进,设计人员现在可以构建关键短语检测解决方案,以执行所有计算都在边缘,从而消除了与云连接的 NN 关键词检测实施相关的连接性、安全性和隐私问题。

通过在本地执行关键短语检测,与基于云的解决方案相比,此设计策略可显着节省成本。它也不依赖其他生态系统来运行。如果基于云的解决方案中的 Internet 连接失败,则系统将失败。本地的、基于边缘的解决方案不会冒这种风险。安全和隐私问题不是威胁。本地解决方案更易于用户设置和运行。最后,使用莱迪思的超低功耗 iCE40 Ultra Plus FPGA,这种方法为设计人员提供了显着的节能效果,这是电池供电设备的一个重要考虑因素。例如,本演示文稿中描述的解决方案仅消耗 7 mW。

将负担得起的智能家居应用带到边缘的关键步骤是开发能够在低密度、低功耗 FPGA 上运行的二值化 NN 模型。在云端使用浮点计算的深度学习技术对于边缘的消费者应用程序是不切实际的。相反,设计人员必须开发计算效率高的解决方案,既要满足精度目标,又要符合消费市场的成本、尺寸和功率限制。因此,在边缘工作的设计人员必须使用尽可能少的数学运算。

设计人员可以简化计算的一种方法是从浮点切换到定点甚至基本整数。通过补偿浮点到定点整数的量化,使用二值化神经网络的设计人员可以开发出训练更快、精度更高的解决方案,并将定点、低精度整数神经网络的性能提高到接近浮点版本的水平。 为了构建简单的边缘设备,训练必须创建具有 1 位权重的 NN 模型。这些模型称为二值化神经网络 (BNN)。

通过使用 1 位值而不是更大的数字,BNN 可以消除乘法和除法的使用。这允许使用 XOR 和弹出计数来计算卷积,从而导致显着的成本和高达 16 倍的功耗节省。借助当今的 FPGA,设计人员拥有了一个高度灵活的平台,可以提供他们所需的所有存储器、逻辑和 DSP 资源。

三、神经网络实现

下面的讨论描述了一个关键短语检测解决方案的示例,该解决方案专为边缘应用而设计,并在具有 BNN 软核的 iCE40 UltraPlus FPGA 中实现。在正常操作期间,关键短语检测实现会在消耗不到 1mW 的情况下侦听声音。一旦系统检测到声音,它就会激活 1 秒的缓冲并调用 BNN。BNN 直接对原始输入进行操作,而不是传统的频谱图和 MFCC 预处理。代表 1 秒音频的 16K 原始样本通过重叠的 1D 卷积层,变成 30 个 32x32x3 图像,每个图像代表一个 10ms 音频样本。然后将输出传递到主 BNN 进行处理。

poYBAGK1HTKAfpnlAAJwxhNRDyk996.png

BNN 有四层深,每层执行如下所示的功能:

poYBAGK1HUGABOQ8AAJaIJ7gxnU837.png

二进制卷积是输入数据和 1 位权重的 1 位乘法。在这种情况下,乘法被 XOR 函数代替。Batch Normalization 和 Scale 在 BNN 训练阶段对激活进行归一化并提供帮助。整流线性单元 (ReLu) 将低于特定阈值的数据设置为 0,高于相同阈值的数据设置为 1。对图像的每个相邻像素执行池化,并选择概率最高的有意义的像素。此功能减少了后续步骤所需的计算量。全连接层通常是最后一层,它占用前一层中的每个神经元。它对下一层的神经元也有一定的影响。这个函数通常计算量很大,因此它是作为最后一个操作执行的,其中神经元显着减少。

BNN 使用 GPU 进行训练,并运行 Café 和 TensorFlow 等标准训练工具。使用的训练数据集是一个公共训练集,包含 65,000 个 1K+ 人 30 个短词的 1 秒长的话语。这个阶段被称为训练阶段。然后,训练工具的输出通过莱迪思半导体的 NN 编译器工具进行格式化,以供 FPGA 设计使用。您可以将权重视为边缘硬件推理期间要使用的关键短语的模板。选择的关键词是“七”。

四。系统实施

为了演示系统的功能,工程师使用了带有 iCE40 UltraPlus FPGA 的 HiMax HM01B0 UPduino 扩展板。这是一款低成本的 Arduino 外形板,旨在展示 FPGA 的功能。该板有两个直接连接到 FPGA 的 I2S 麦克风、用于 FPGA 设计的外部闪存和权重激活存储。它还具有用于指示检测到关键短语的 LED。用户可以直接对着麦克风讲话。一旦检测到关键短语,LED 就会亮起。

poYBAGK1HVaAMXEsAAFfdYv32YQ574.png

五、业绩

在此应用中,FPGA 设计频率和处理长度可以换取功耗。在 27MHz 时,16K 原始样本,相当于 1 秒的音频处理,可以在 25ms 内处理,同时消耗 7.7mW。当频率降至 13.5MHz 时,功耗降至 4.2mW,同样的 1 秒音频样本在 50ms 内处理完毕。

关键短语检测通常必须在嘈杂的环境中运行,而无需添加额外的硬件来消除噪声和回声。该实现通过使用包含嘈杂背景的数据集训练 NN 来实现这一目标,而无需定位和波束成形。训练有素的 NN 像人类一样检测关键词,但有类似的限制。带有各种随机人群噪音水平(咖啡厅、会议等)的数据集被添加到关键词中。用较高噪声水平训练的 NN 对噪声的鲁棒性更强,但需要更响亮的关键短语。

BNN 可以检测多达十个 1 秒的关键短语,非常适合通过语音进行 HMI。为了提高检测精度,仅在连续检测发生时才使用时域过滤器来报告关键短语检测。该设计为单个关键短语提供高达 99% 的准确性,为多达 5 个关键短语提供高达 90% 的准确性。

结论

将人工智能带到边缘会带来几个重大挑战。然而,它也提供了巨大的机会。正如该项目所展示的,使用 FPGA 实现 BNN 而不是基于云的资源将 AI 构建到设备中可以显着降低硬件成本,同时加快响应时间。同时,保持本地处理可以提高安全性并节省宝贵的带宽和服务器使用成本。

审核编辑:郭婷

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

    关注

    1592

    文章

    21207

    浏览量

    592136
  • 服务器
    +关注

    关注

    12

    文章

    8012

    浏览量

    82208
  • AI
    AI
    +关注

    关注

    87

    文章

    26126

    浏览量

    263702
收藏 人收藏

    评论

    相关推荐

    构建超低功耗精密高边电流检测电路,你的选择是?

    精密微安级高边电流测量需要一个小阻值检测电阻和一个低失调电压的放大器。LTC2063零漂移放大器的最大输入失调电压仅为5µV,仅需消耗1.4µA的电流,是构建完整的超低功耗精密高边电流检测电路的理想
    的头像 发表于 03-19 08:22 124次阅读
    构建<b class='flag-5'>超低功耗</b>精密高边电流<b class='flag-5'>检测</b>电路,你的选择是?

    0.1毫安!超超超超超低功耗安信可雷达模组Rd-03L

    ,极简化24GHz一发一收天线,天线波束窄、分辨率高、频带宽、抗干扰力强。 2、可检测到微动、运动状态和静止状态下的人体目标,识别精准。 3、超低功耗,持续工作时平均电流0.1mA(1Hz上报频率)。 4、提供可视化工具,支持配置探测距离区间、目标消失延迟时
    的头像 发表于 03-07 11:19 187次阅读
    0.1毫安!超超超超<b class='flag-5'>超低功耗</b>安信可雷达模组Rd-03L

    27 MHz超低功耗无线鼠标参考设计

    电子发烧友网站提供《27 MHz超低功耗无线鼠标参考设计.pdf》资料免费下载
    发表于 11-13 14:59 2次下载
    27 MHz<b class='flag-5'>超低功耗</b>无线鼠标参考设计

    请问需要超低功耗选择MSP430还是STM32?

    请问需要超低功耗,选择MSP430还是STM32?需要在野外收集数据,长期收集。
    发表于 10-20 07:20

    超低功耗封装的高端边缘AI和视觉处理

    基于德州仪器(TI) Jacinto™ 7 TDA4x或DRA8x处理器的最新SMARC 2.1嵌入式计算机模块。这些新的工业级嵌入式计算机模块非常适合高性能人工智能边缘应用,具有超低功耗(ULP)封装
    发表于 10-17 11:28 616次阅读
    <b class='flag-5'>超低功耗</b>封装的高端<b class='flag-5'>边缘</b>AI和视觉处理

    用于超低功耗实施的PDS设计

    在 PDS 设计和电源管理方面,每个具有超低功耗特征的产品都有几个固有的主要因素:在非常小的几何尺寸中设计高效的 PDS、管理功耗和延长电池寿命。在某些产品实施中,例如远程监控设备,选择合适的电容器以消除它们作为潜在的功率消耗源(由于泄漏)也是一个
    的头像 发表于 10-15 15:26 465次阅读

    芯海科技CS32L015:一款超低功耗的高性价比32位MCU

    超低功耗MCU的应用领域非常广泛,能够满足终端应用设备的持久使用和待机需求,能够提升终端应用设备的可靠性和稳定性,保证设备高频反馈且不受影响。芯海科技CS32L015作为一款通用型超低功耗的高性价比
    的头像 发表于 10-11 08:16 572次阅读
    芯海科技CS32L015:一款<b class='flag-5'>超低功耗</b>的高性价比32位MCU

    SynSense将开发基于铁电技术的超低功耗边缘AI加速器

    SynSense时识科技宣布成功斩获欧盟边缘人工智能项目Ferro4EdgeAI,将联合11家知名研发机构及企业,开发基于低成本、高密度、多级铁电(FE)存储技术及存内计算范式的超低功耗边缘人工智能加速器。
    发表于 09-08 10:21 250次阅读

    以CS32L010为例浅谈超低功耗MCU的应用

    随着物联网技术的不断发展,超低功耗MCU已经成为了物联网方案中主要的芯片处理技术。超低功耗MCU具有众多的优点,其中一大所用就是能够大大提高物联网设备的续航能力,保证设备在长时间内不掉电不断电。那么
    的头像 发表于 08-09 14:41 696次阅读

    超低功耗MCU的选型技巧与设计思路

    循序渐进式的功耗优化已经不再是超低功耗mcu的游戏规则,而是“突飞猛进”模式,与功耗相关的很多指标都不断刷新记录。我们在选择合适的超低功耗mcu时要掌握必要的技巧,在应用时还需要一些设
    的头像 发表于 08-04 14:46 1227次阅读

    超低功耗蓝牙芯片

    PHY6222 超低功耗蓝牙芯片 是一款低功耗蓝牙芯片,主要应用在数据传输的产品领域。例如,车载蓝牙、手环、医疗、蓝牙锁、蓝牙自拍杆、蓝牙健身器材等等。处理器为32位的ARM Cortex M0
    发表于 06-27 17:30

    超低功耗MCU在物联网方案中的应用

    随着物联网技术的不断发展,超低功耗MCU已经成为了物联网方案中主要的芯片处理技术。超低功耗MCU具有众多的优点,其中一大所用就是能够大大提高物联网设备的续航能力,保证设备在长时间内不掉电不断电。那么
    发表于 06-13 18:18

    AquaPing超低功耗智能传感器开源

    电子发烧友网站提供《AquaPing超低功耗智能传感器开源.zip》资料免费下载
    发表于 06-12 10:27 0次下载
    AquaPing<b class='flag-5'>超低功耗</b>智能传感器开源

    英飞凌PSoC62 实现超低功耗温湿度计

    一款超低功耗的温湿度计。
    的头像 发表于 06-03 10:13 1903次阅读
    英飞凌PSoC62 实现<b class='flag-5'>超低功耗</b>温湿度计

    超低功耗设计概述

    介绍Cortex-M0、Cortex-M0+超低功耗
    的头像 发表于 06-02 09:36 40.9w次阅读