• Deep Spiking Neural Network model for timevariant signals classification: a realtime speech recognition approach


    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

    2018 INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORKS (IJCNN), pp.1-8, (2018)

    Abstract

      语音识别已成为改善人机界面的一项重要任务。考虑到当前自动语音识别系统的局限性,例如非实时基于云的解决方案或电力需求,最近对神经网络和仿生系统的兴趣推动了新技术的实现。

      其中,脉冲神经网络和神经形态听觉传感器的组合提供了执行类人语音处理任务的替代方案。在这种方法中,实现了脉冲卷积神经网络模型,其中连接的权重是通过训练具有特定激活函数的卷积神经网络来计算的,使用基于发放率的静态图像以及从神经形态耳蜗获得的脉冲信息。该系统使用包含"左"和"右"语音命令的大型数据集进行训练和测试,准确率达到89.90%。已经提出了一种新颖的脉冲神经网络模型,以使已经用静态图像训练的网络适应非静态处理方法,从而可以对音频信号和时间序列进行实时分类。

    Index Terms—speech recognition, audio processing, Spiking Neural Networks, Convolutional Neural Networks, neuromorphic hardware, deep learning.

    I. INTRODUCTION

      语音命令通常用于多个个人虚拟助手[1],例如Microsoft Windows中的Cortana或iOS中的Siri。用户可以通过使用自然语言句子来控制他们的个人电脑或手机,例如"提醒我下午给罗伯特打电话",或者更直接地,"给罗伯特打电话"。这种助手基于称为自然语言处理(NLP)的人工智能(AI)领域来识别用户所说的内容[2][3]。使用数字信号处理(DSP)技术(例如语音处理[4])对音频进行处理和分析。

      语音识别是语音处理的跨学科子领域,其中使用特定方法识别口语句子并将其翻译成文本(或其他数据表征)。通常,这些方法单独识别每个口语单词,应用几个处理步骤来获得特征,然后将这些特征映射到特定单词[5]。

      近年来,人工神经网络(ANN)在该领域的应用已经司空见惯。值得注意的是,循环神经网络(RNN)和卷积神经网络(CNN)的结合在开发人机界面方面取得了重大进展,如[6][7][8][9]所示。最近,Google WaveNet系统[10]展示了对整个对话的理解显著提高,并且能够基于原始音频语音表征训练的CNN从文本中生成类人语音。

      训练CNN是一项相对容易的任务。存在几个框架和训练机制来实现这一目标。最常用的训练算法(用于ANN和CNN训练)是著名的Levenberg-Marquardt反向传播算法[11]。相比之下,脉冲神经网络(SNN)没有既定的标准训练算法。

      脉冲时序依赖可塑性(STDP)是一种生物过程,能够根据特定神经元输出和输入脉冲活动的相对时间来调整神经元之间连接的强度(权重)。该过程已在包括SpiNNaker[12]在内的多个模拟器和硬件平台中实现,并且已成为训练基于脉冲的网络的最普遍方法之一,尤其是对于无监督学习[13]。事实证明,STDP对于静态输入信号(如图像[14][15])非常有用且鲁棒,但在处理音频样本等时变信号时更难应用。

      作为STDP的替代方案,网络中神经元之间连接的权重可以手动设置或基于特定的统计算法设置。这种方法在[16]等论文中得到了考虑,其中作者使用两种不同的基于发放率的归一化来设置权重,以在八种不同的纯音之间进行分类。这个选项很复杂,因为它通常需要多次试错循环才能找到最佳的权重配置,这可能需要很长时间。此外,这种设置连接权重的方式过于特定于任务,缺乏STDP的普遍性和生物学合理性。

      由于对SNN的兴趣日益增加,许多工作都试图开发新的框架或方法来自动训练SNN模型。第一种方法是开发新的基于STDP的算法,如在[17]中,他们使用强制发放技术进行增量学习,从而可以使用无监督学习过程实时不断地学习新模式。此外,在[18]中,作者使用了一种新的学习规则,称为疲劳STDP,它将长期STDP动力学与短期突触疲劳动力学机制相结合。

      还有许多其他受生物启发的技术可用于训练神经模型,例如使用进化算法[19]来调整网络的权重。

      最近,深度SNN和深度ANN之间的分类误差差异显著减小[20]。这些令人兴奋的结果表明,如果经过适当的训练,SNN可以用于机器学习推理,而不会在数据分类准确性方面引入惩罚。使用深度SNN代替深度ANN替代方案可以为机器学习系统提供节能和输入噪声容限优势[21]。

      此外,可以根据神经形态脉冲传感器设备生成的输入数据对此类深度SNN进行训练,从而释放脉冲神经形态平台上实时推理系统的潜力[22]。我们相信,只有将这些结合起来,完全基于脉冲的处理系统的真正优势才会显现出来。

      上述深度SNN的发展显示了使用深度卷积SNN对静态输入数据(图像)的准确分类。我们在这项工作中表明,我们能够在来自神经形态听觉传感器(NAS)[23]的时间序列输入数据上训练一个类似结构的网络,这些数据由一系列声音输入产生。通过使用一种生成训练数据集的技术,该数据集由NAS输出的许多重叠"快照"和SNN的"时间缓冲"输入组成,我们能够对随时间变化的脉冲输入产生稳健的推断。

      本文的其余部分结构如下:第II部分概述了系统架构和在这项工作中使用的语音命令数据库,以及如何生成训练和测试数据集。然后,第III部分描述了用于使用从上一部分获得的音频样本数据集来训练和模拟SNN的整个框架。然后,第IV节描述了训练和模拟的结果。到目前为止,此设置用于使用静态输入(音频样本转换为图像)训练和测试系统,因此在第V节中,我们提出了一种新颖的SNN架构,以使用之前使用来自神经形态耳蜗的实时输入使用静态数据实时训练的网络。最后,第VI节介绍了这项工作的结论。

    II. SYSTEM OVERVIEW, DATASET ACQUISITION AND PREPROCESSING OF THE INFORMATION

    III. OFF-LINE SNN TRAINING AND SNN CONSTRUCTION

    IV. RESULTS

    V. SNN ARCHITECTURE FOR AUDIO SAMPLES CLASSIFICATION IN REAL TIME

      使用第III节中描述的方法时系统的准确度结果证明,该机制可以用于对音频样本进行分类,如本文中使用的音频样本,甚至更复杂的音频样本,只要它们可以转换为图像即可。

      这是一种完全离线的方法,这意味着音频样本不是实时输入的。这些样本必须已经记录并转换为脉冲才能对其进行分类。使用NAS的要点在于,除了以仿生方式处理声音信息外,它还能够提供将音频信号分解为频带(本例中为32个频带或耳蜗通道)的实时输出,以及已经转化为脉冲,就像生物耳蜗会做的那样。

      即使不使用这种神经形态传感器的实时功能,使用它对于不需要在短时间内完成分类的任务也很有用。在[38]中,Dominguez-Morales等人使用NAS处理心音记录并分类是健康人还是病理患者,以便在听诊过程中帮助心脏病专家。像这样的应用程序不需要分类器的立即输出,这意味着可以在以后记录和分析声音。

      但是,在使用语音命令进行机器人导航等任务中,识别命令并作用于机器人的电机是需要尽快完成的动作。否则,导航将不会感觉流畅和自然。COFNET项目(TEC2016-77785-P)的主要目标之一是使用来自神经形态视网膜(动态视觉传感器)和来自NAS的神经形态信息的融合来驱动来自Robotnik的4轮SUMMIT XL机器人(使用语音命令)。为了在使用本工作中考虑的相同训练方法的同时实现这一点,作者提出了如图6所示的SNN架构。

      该架构考虑到输入数据已使用深度脉冲卷积神经网络(SCNN)进行训练,因为它是静态输入(图像)。也就是说,通过对矩阵进行展平,将图像从矩阵(二维数组)转换为一维数组(例如,将28x28 MNIST图像转换为768个元素的数组)。整个训练好的SCNN在图中以云的形式呈现。为了调整经过训练的模型以使用来自NAS的实时输入,必须添加一个新的脉冲群体层。

      这些群体充当NAS和经过训练的SCNN之间的一层,其目标是实时调整来自NAS的脉冲信息,以便作为网络的输入。这是通过有64个群体(由于网络是用64个20 ms-bins图像训练的事实)完成的,每个群体有64个神经元(每个NAS通道两个神经元),它们像菊花链一样连接,每两个之间具有延迟的一对一连接。由于使用了bin宽度,为这些连接设置的延迟为20 ms。NAS的输出连接到这些群体中的第一个,在20毫秒后将相同的脉冲信息传播到下一个群体。然后,这一层的64个群体中的每一个都无延迟地连接到先前训练的SCNN。这样一来,语音命令一旦发送到NAS,NAS和SCNN之间的群体就会开始传播信息。这种"时间缓冲"架构允许运行语音识别和音频样本分类的实时实验,前一步是用静态音频图像训练网络,这在神经形态工程领域是一个新事物。将多个图像用于相同的语音命令,并将信息转移并集中在不同的bin中,不仅可以使训练更加稳健,而且可以使实时测试花费更少的时间来开始提供正确的结果。也就是说,来自NAS的脉冲不需要通过许多群体传播才能正确分类,因为网络经过训练可以识别语音命令的重要信息也可能出现在第一个bin(对应于第一个群体)中,而不是在声波图的中间部分。

    VI. CONCLUSIONS

      在这项工作中,作者提出了一种新颖的机制,用于离线训练时间序列并稍后在脉冲卷积神经网络中使用从神经形态听觉传感器的实时输出中获得的信息进行实时测试。

      在这项工作中获得的结果证明,当使用从先前训练的卷积神经网络获得的权重和基于脉冲率的图像测试深度脉冲神经网络时,可以获得几乎相同的准确度结果(在这种情况下减少1%),其中对于像音频信号这样的时间相关信号来说是一种新颖性。

      来自语音命令数据集的包含4720个"左"和"右"语音命令的数据库用于生成141726个超声图像,其中包含从神经形态耳蜗(NAS)获得的脉冲信息。这些图像后来被用于训练和测试系统,在SpiNNaker硬件平台上模拟和部署网络时,准确率达到了89.90%。

      作者还提出了一种新颖的SNN架构,用于实时音频样本分类,使用神经形态传感器的输出作为网络的输入,以及具有延迟群体的缓冲层,该层将信息从实时域调整到静态域,在其中训练SNN。这种方法还可用于实时处理具有SNN的时间序列或时间相关信号。

  • 相关阅读:
    《安富莱嵌入式周报》第266期:真正模拟大神的威力,全开源nV级测量仪表挑战赛结束,欣赏震撼设计过程
    【设计模式】—中介者模式
    【Linux】笔记
    【设计模式】—策略模式+
    【设计模式】—观察者模式
    设计模式面试题(设计模式速成版)
    【设计模式】总结
    【设计模式】—状态模式
    【设计模式】—模板方法模式
    【设计模式】—访问者模式
  • 原文地址:https://www.cnblogs.com/lucifer1997/p/15916564.html
Copyright © 2020-2023  润新知