语音识别系列之基于脉冲神经网络的语音唤醒

作者:王佳杰
引言
语音唤醒(Keyword Spotting , KWS)是较为初级的语音识别任务 , 在2014年陈果果的工作[1]后 , 学界兴起大量研究 , 业界也获普遍应用 , 如智能家居(音箱、TV)、智能穿戴(TWS耳机、手表)、智能座舱等 。KWS参、算量远低于ASR , 可离线工作 。作为智能语音系统的入口 , KWS常要全天候(Always On)运行 , 若应用场景是功耗敏感、内存受限的可穿戴设备 , 则参、算量要求更为严苛 。脉冲神经网络(Spiking Neural.NETwork, SNN)作为所谓的第三代神经网络 , 相比于人工神经网络(Artificial Neural Network , ANN)有功耗及内存优势 , 近年来逐渐拓宽应用 。在音频领域 , 场景分类和KWS较早获得SNN应用 。

语音识别系列之基于脉冲神经网络的语音唤醒

文章插图
 
一、历史工作
2018年 , 加州大学圣迭戈分校的Bruno U. Pedroni等人[2]在TIMIT数据集中挑选出greasy, oily, water, carry, dark, wash六个词语做KWS , 余下词、静音及噪声作为其他类别 , 共七分类 。文中SNN及做对比之用的ANN均采用前向全连接结构 , SNN又分为基于速率的SNN(RBSNN) , 和基于时间的SNN(TBSNN) , 前者可使用映射方程将预训练的ANN参数“翻译”给RBSNN , 后者则需要其他方法训练 。
RBSNN选用输出层脉冲数最多的类别作为胜出类别 , TBSNN则是脉冲最先到达的类别 。由于脉冲神经元激活与否可用0/1二进制代替 , 因此与(浮点)权重的乘法(Multiply-and-Accumulate operations , mac)可简化为权重自身的加法(Accumulate , AC) 。结果表明 , RBSNN及TBSNN与ANN性能基本相当 , 但RBSNN的计算代价为ANN的91% , TBSNN仅为ANN的16% , 这是因为TBSNN依据脉冲间隔编码 , 相比于依据同等时间内脉冲个数编码的RBSNN更为“优雅”高效 。该工作指出未来的优化方向是基于TBSNN做网络结构优化 , 即将前馈全连接结构优化为卷积结构 。
2020年10月 , 新加坡国立大学李海洲组的Emre Yilmaz等人[3]宣称首次将深度卷积结果应用于SNN-KWS , 该网络使用串联学习(Tandem Learning)训练 , 数据使用Hey Snips及google Speech Commands数据集 , 加噪使用MUSAN数据库 , 加噪信噪比-5至10 dB 。实验结果表明 , 在各测试条件下 , SpikeCNN-KWS的ROC性能与CNN-KWS基本相当或略有优势 , 在类脑芯片上能耗仅是后者的15~30分之一 。该工作代码开源 。
时隔不久 , 同年11月 , 法国图卢兹大学的Thomas Pellegrini等人[4]将扩张卷积引入SNN-KWS , 且施加关于SNN各层脉冲数的正则项 , 以求神经脉冲激发尽可能稀疏 , 以进一步节省能耗 。训练使用替代时间反传(Back-Propagation Through Time with Surrogate Gradient, BPTT with SG)法 。该工作代码开源 , 且宣称将尝试SNN-ASR 。
2021年 , 时识科技(SynSense)[5]瑞士中心的研发副总Sadique Sheik和Philipp Weidel受WaveNet结构的启发 , 指出脉冲神经元的膜电位积累机制 , 同WaveNet中扩张时间卷积之前存在一定的相似性 , 因此提出具有一组固定膜时间常数和简单前馈结构的WaveSense来替代WaveNet做KWS 。结果表明在Aloha, Hey Snips, Google Speech Commands数据集上均优于前述SNN-KWS工作 , 且逼近ANN-KWS的SOTA性能 , 所提SNN含脉冲神经元864个 , 权重参量18k 。
2022年7月 , 国内另一家类脑芯片公司九天睿芯[6]发布智能语音芯片ADA100 , 宣称其感、存、算语音唤醒方案支持预设多大30个关键词 , 还支持用户提取特征做自定义语音唤醒 , 但不确定其方案是否基于SNN 。
同年月 , 荷兰Yin Bojian及华为Guo Qinghai等人[7]使用含注意力机制的循环脉冲神经网络Attention-RSNN做流式KWS , 宣称在Google Speech Commands v1&v2数据集上 , 性能优于GRU基线和时识科技的WaveSense 。
2023年1月 , 瑞典吕勒奥理工大学嵌入式智能系统实验室的Mattias Nilsson等人[8]基于脉冲时差编码器和突触兴奋/抑制单元对音频脉冲串做更深层次的信息抽取 , 所抽取的信息组合后接线性分类器 , 对TIDIGITS数据集分类 。此架构有别于先前SNN-KWS的工作 , 遗憾的是 , 未与其他工作进行性能对比 。


推荐阅读