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

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

3天内不再提示

基于Cortex-M处理器上实现高精度关键词语音识别方案

电子设计 来源:电子设计 作者:电子设计 2020-12-10 21:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者:吴湛

我们可以对神经网络架构进行优化,使之适配微控制器的内存和计算限制范围,并且不会影响精度。我们将在本文中解释和探讨深度可分离卷积神经网络在 Cortex-M 处理器上实现关键词识别的潜力。

关键词识别 (KWS) 对于在智能设备上实现基于语音的用户交互十分关键,需要实时响应和高精度,才能确保良好的用户体验。最近,神经网络已经成为 KWS 架构的热门选择,因为与传统的语音处理算法相比,神经网络的精度更胜一筹。

关键词识别神经网络管道

由于要保持“永远在线”,KWS 应用的功耗预算受到很大限制。虽然 KWS 应用也可在专用 DSP 或高性能 CPU 上运行,但更适合在 Arm Cortex-M 微控制器上运行,有助于最大限度地降低成本,Arm Cortex-M 微控制器经常在物联网边缘用于处理其他任务。

但是,要在基于 Cortex-M 的微控制器上部署基于神经网络的 KWS,我们面临着以下挑战:

有限的内存空间

典型的 Cortex-M 系统最多提供几百 KB 的可用内存。这意味着,整个神经网络模型,包括输入/输出、权重和激活,都必须在这个很小的内存范围内运行。

2. 有限的计算资源

由于 KWS 要保持永远在线,这种实时性要求限制了每次神经网络推理的总运算数量。

以下是适用于 KWS 推理的典型神经网络架构:

• 深度神经网络 (DNN)

DNN 是标准的前馈神经网络,由全连接层和非线性激活层堆叠而成。

• 卷积神经网络 (CNN)

基于 DNN 的 KWS 的一大主要缺陷是无法为语音功能中的局域关联性、时域关联性、频域关联性建模。CNN 则可将输入时域和频域特征当作图像处理,并且在上面执行 2D 卷积运算,从而发现这种关联性。

• 循环神经网络 (RNN)

RNN 在很多序列建模任务中都展现出了出色的性能,特别是在语音识别、语言建模和翻译中。RNN 不仅能够发现输入信号之间的时域关系,还能使用“门控”机制来捕捉长时依赖关系。

• 卷积循环神经网络 (CRNN)

卷积循环神经网络是 CNN 和 RNN 的混合,可发现局部时间/空间关联性。CRNN 模型从卷积层开始,然后是 RNN,对信号进行编码,接下来是密集全连接层。

• 深度可分离卷积神经网络 (DS-CNN)

最近,深度可分离卷积神经网络被推荐为标准 3D 卷积运算的高效替代方案,并已用于实现计算机视觉的紧凑网络架构。

DS-CNN 首先使用独立的 2D 滤波,对输入特征图中的每个通道进行卷积计算,然后使用点态卷积(即 1x1),合并纵深维度中的输出。通过将标准 3D 卷积分解为 2D和后续的 1D,参数和运算的数量得以减少,从而使得更深和更宽的架构成为可能,甚至在资源受限的微控制器器件中也能运行。

在 Cortex-M 处理器上运行关键词识别时,内存占用和执行时间是两个最重要因素,在设计和优化用于该用途的神经网络时,应该考虑到这两大因素。以下所示的神经网络的三组限制分别针对小型、中型和大型 Cortex-M 系统,基于典型的 Cortex-M 系统配置。

KWS 模型的神经网络类别 (NN) 类别,假定每秒 10 次推理和 8 位权重/激活

要调节模型,使之不超出微控制器的内存和计算限制范围,必须执行超参数搜索。下表显示了神经网络架构及必须优化的相应超参数。

神经网络超参数搜索空间

首先执行特征提取和神经网络模型超参数的穷举搜索,然后执行手动选择以缩小搜索空间,这两者反复执行。下图总结了适用于每种神经网络架构的最佳性能模型及相应的内存要求和运算。DS-CNN 架构提供最高的精度,而且需要的内存和计算资源也低得多。

最佳神经网络模型中内存与运算/推理的关系

KWS 应用部署在基于 Cortex-M7 的 STM32F746G-DISCO 开发板上(如下图所示),使用包含 8 位权重和 8 位激活的 DNN 模型,KWS 在运行时每秒执行 10 次推理。每次推理(包括内存复制、MFCC 特征提取、DNN 执行)花费大约 12 毫秒。为了节省功耗,可让微控制器在余下时间处于等待中断 (WFI) 模式。整个 KWS 应用占用大约 70 KB 内存,包括大约 66 KB 用于权重、大约 1 KB 用于激活、大约 2 KB 用于音频 I/O 和 MFCC 特征。

Cortex-M7 开发板上的 KWS 部署

总而言之,Arm Cortex-M 处理器可以在关键词识别应用中达到很高的精度,同时通过调整网络架构来限制内存和计算需求。DS-CNN 架构提供最高的精度,而且需要的内存和计算资源也低得多。

代码、模型定义和预训练模型可从 github.com/ARM-software 获取。

审核编辑 黄昊宇

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

    关注

    42

    文章

    4829

    浏览量

    106819
  • 语音识别
    +关注

    关注

    39

    文章

    1804

    浏览量

    115576
  • Cortex-M
    +关注

    关注

    2

    文章

    234

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Cortex-M产品的特色

    处理性能。 成本效益:Cortex-M处理器提供了高性价比的解决方案,适用于各种规模的嵌入式系统设计。 处理器核心:
    发表于 11-26 07:22

    Cortex-M内核中的精确延时的方法

    400M主频的芯片,那它的计时精度高达2.5ns(1/400000000 = 2.5),而如果是 i.MX RT1052这种比较牛X的处理器,最长能记录的时间为:8.13s=2的32次方
    发表于 11-21 07:51

    Cortex-M级别的转换

    一、 简述 Cortex-M 里面有特权级别的概念,不同级别可以设定不同的权限,如何转换特权级别基本是本章的内容。 二、操作模式 ARM M 核操作模式有两个: 线程(Thread)模式:在复位时或
    发表于 11-19 07:32

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    -A55 处理器,支持 1.8 GHz 主频,并集成2Tops NPU、G2D、VPU 4K高清视频编解码,为复杂控制算法与视觉融合计算提供充足算力。米尔MYD-LT536开发板 在“高精度机器人控制”场景中
    发表于 11-14 15:48

    Cortex-M0+处理器的HardFault错误介绍

    在ARM处理器中,如果一个程序产生了错误并且被处理器检测到,就会产生错误异常。Cortex-M0+处理器只有一种异常用以处理错误:HardF
    的头像 发表于 10-14 10:50 2977次阅读
    <b class='flag-5'>Cortex-M</b>0+<b class='flag-5'>处理器</b>的HardFault错误介绍

    AUDIO SoC的解决方案

    语音识别功能。 皮质-M 系列的主要创新特点: RISC 处理器内核,具有高性能 32 位 MPU,可实现稳定计算,具有低延迟 3
    发表于 09-05 08:26

    请问NuMicro® Cortex-M® 系列芯片是否支持 I2C 监视功能?

    NuMicro® Cortex-M® 系列芯片是否支持 I2C 监视功能?
    发表于 08-21 06:04

    方案分享 | 高精度时间同步技术的实现与应用

    如何通过硬件级PTSS/CTSS技术实现亚微秒级时间同步,支持多传感数据精准对齐?PSB+QX550方案采用GPS/PPS/本地时钟冗余设计,具备动态容错功能,适用于自动驾驶测试等需要高精度
    的头像 发表于 05-28 09:49 1917次阅读
    <b class='flag-5'>方案</b>分享 | <b class='flag-5'>高精度</b>时间同步技术的<b class='flag-5'>实现</b>与应用

    高精度功率监测解决方案:使用新唐NADC24和M031 MCU实现电压、电流和功率监测

    NADC24是由新唐科技开发的一款高精度24位Delta-Sigma模数转换(ADC),专为低噪声、高分辨率的模拟信号转换而优化。当与基于Cortex-M0的M031微控制
    的头像 发表于 05-27 14:00 1924次阅读
    <b class='flag-5'>高精度</b>功率监测解决<b class='flag-5'>方案</b>:使用新唐NADC24和<b class='flag-5'>M</b>031 MCU<b class='flag-5'>实现</b>电压、电流和功率监测

    蓝牙语音遥控国产适用芯片HS6621

    长亮,用户开始录音同时将语音数据上传给智能电视或者机顶盒。而智能电视或者机顶盒,接收到 HID 编码后,打开语音识别软件,开始识音并把语音数据识别
    发表于 04-30 16:21

    方案】超高精度和稳定性的雷达液位计方案

    。产品集成高灵敏度收发天线、DSP信号处理器,支持加装物联网模块,支持实时数据上传至云端平台,并兼容4G/5G、LoRa等通信协议,实现远程监控与智能预警,能够满足不同用户的多样化需求。 二、主要
    发表于 03-17 15:14

    高精度晶圆划片机切割解决方案

    高精度晶圆划片机切割解决方案实现高精度晶圆切割,需从设备精度、工艺稳定性、智能化控制等多维度优化,以下为
    的头像 发表于 03-11 17:27 734次阅读
    <b class='flag-5'>高精度</b>晶圆划片机切割解决<b class='flag-5'>方案</b>

    Arm Cortex-A320 CPU助力嵌入式设备实现高能效AI计算

    ,要确定适合特定 AI 应用的处理器,系统开发者需要通过比较基于 Arm Cortex-A、Arm Cortex-M 和 Arm Ethos-U NPU 的设备及其可能的搭配进行决策。除了成本的考量,开发者还需了解各款
    的头像 发表于 02-27 17:17 1157次阅读
    Arm <b class='flag-5'>Cortex</b>-A320 CPU助力嵌入式设备<b class='flag-5'>实现</b>高能效AI计算

    98%识别率!语音+触摸方案,让卫浴操控一步到位!

    体验,让舒适与便捷一步到位!方案亮点:技术赋能,精准高效高精度语音识别语音识别率高达98%,支
    的头像 发表于 02-26 15:49 802次阅读
    98%<b class='flag-5'>识别</b>率!<b class='flag-5'>语音</b>+触摸<b class='flag-5'>方案</b>,让卫浴操控一步到位!

    请问ADS1263能做到多高精度实现高精度应该注意什么?

    我想实现每通道10K以上采样率,测量范围为-500mV ~+500mV,请问ADS1263能做到多高精度实现高精度应该注意什么,比如电压基准源应该选用什么器件?应该选用什么电源器件
    发表于 01-01 06:28