关注我们,为您推送更多最新资讯。
关键词识别作为人机交互的一种重要方式,被应用在越来越多的智能终端设备上。近年来,基于时域卷积神经网络的关键词识别模型在精度上取得了长足的进步。然而,对于资源有限的边缘设备来说,在模型的轻量化与高准确率之间取得平衡仍然面临着不小的挑战。
硬件加速器的架构图
基于此,来自中山大学的陈弟虎教授及其团队在 Electronics 期刊发表了文章,针对关键词识别的特征提取与特征识别模型进行了轻量化修改,并提出了一个可配置的硬件加速器架构,对时域神经网络模型进行高效地运行。
研究过程与结果
作者在文中针对关键词识别的 MFCC 特征提取算法进行了修改,提出了简化的 MFCC 特征提取算法。
针对传统 MFCC 算法中运算量较大的 FFT 与 Mel 滤波运算步骤,通过调整分帧的策略与运算顺序,减小了每一帧的采样点数,从而在维持原有物理意义的基础上,减小了 FFT 和 Mel 滤波步骤的运算量。对于原算法中的加窗与 dct 运算步骤,在对比实验的结论下,将其删除以减小运算量。对于原算法中的一些乘法运算,也通过对比实验将其替换为加法与移位的运算,从而更有利于在硬件上高效地执行与部署。
原始 MFCC 算法 (左) 与简化的 MFCC 算法 (右)
对于时域卷积神经网络的模型,作者进行了批归一化 (BN) 层融合与参数定点量化的操作。BN 层融合是将网络卷积层之后的批归一化层中使用到的缩放因数与偏移值,通过线性变换与前一卷积层的权重与偏置融合,从而得到新的卷积层权重与偏置,实现无损地模型转换。参数定点量化则是根据训练后模型各层各参数的分布范围,动态决定定点数中整数部分与小数部分位宽,在尽可能小的误差下,将 32bit 的浮点数转换为 8bit 的定点数,减小存储空间开支。
为了在智能终端设备上高效地部署具有深度可分离算子的时域卷积神经网络,作者提出了一种可配置的神经网络加速器架构,其核心是基于乘累加器的计算阵列与相应的数据缓存。对于时域的逐层卷积与逐点卷积两种算子,特征图与权重数据分别以不同方向广播至计算阵列,随着运算结果在阵列中有向传播并累加,输出结果被送入后处理单元进行激活函数等运算。得益于高效的数据流映射方式,逐层卷积与逐点卷积可以使用同一计算阵列进行运算。加速器的控制模块可以根据预先设置的网络参数的指令,执行不同拓扑结构的时域卷积神经网络,具有一定的灵活性与可配置性。
乘累加器运算阵列的电路图
最后,作者对比了加速器架构与相关加速器的性能与资源开销,对于相同的关键词识别任务,本文的算法模型与加速器在更小的硬件开销与更少的运行周期下,可以取得更高的识别准确率,具有应用价值。
研究总结
本文改进了关键词识别的 MFCC 特征提取算法与时域神经网络特征识别模型,针对模型与算法做了硬件友好型的简化与改进。实验结果表明,本文的模型,在相似准确率的情况下,在参数尺寸与模型运算量的指标上表现优于对比模型。针对时域神经网络中最新的逐层卷积与逐点卷积的特殊算子,本文提出了一种基于乘累加器阵列的硬件加速器架构与数据流映射方式。加速器通过模型参数的配置,可以执行不同拓扑结构的时域卷积神经网络,具有较好的灵活性,可以用于各种资源有限的边缘设备。
文章链接:https://www.mdpi.com/2079-9292/11/16/2571
领取专属 10元无门槛券
私享最新 技术干货