一种基于脉冲神经网络聚合标签学习的语音识别方法与流程
时间:2022-02-15 阅读: 作者:专利查询
1.本发明涉及语音信号处理领域,尤其涉及一种基于脉冲神经网络聚合标签学习的语音识别方法。
背景技术:
2.智能语音被誉为人工智能皇冠上的“明珠”,随着深度学习技术的突破,大数据技术以及自然语言理解能力的提升,带动了一波产业热潮,除了在教育、客服、电信等传统行业之外,还开辟出了车载、家居、医疗、智能硬件等语音技术应用新天地。目前,国内外几乎所有的科技巨头都相继进入了智能语音市场,国外有ibm的watson、google now、苹果的siri、微软的cortana、facebook的message platform、亚马逊的aleax等,国内有阿里的天猫精灵、百度的度秘、腾讯的微信语音,以及科大讯飞、华为、小米、云知声、依图等基于深度神经网络技术的智能语音技术和产品。但是,随着用户需求的快速增长,基于深度网络模型的智能语音系统的弊端逐渐暴露出来,并且集中体现在以下三个方面:计算量大且设备功耗高,难以满足用户的实时性要求,基于云计算的语音服务难以保护用户隐私及数据安全。
3.脉冲神经网络作为类脑计算的核心领域,被誉为“第三代神经网络模型”,它能够有效模拟生物神经元之间信息随时间连续传递的动力系统。它的脉冲信息传递机制恰好可以弥补深度学习在模拟时间特性上的缺陷。此外,与传统的人工神经网络ann相比,脉冲神经网络以异步的、事件驱动的方式进行工作,更易于在硬件上实现分布式计算与信息存储,具有低功耗和强大的时序信号处理能力。研究人员初步探索了基于脉冲神经网络snn的智能语音处理模型并希望逐步改善现有语音信息处理系统所面临的问题。比如用自组织映射som先对原始音频数据提取特征,然后再进行脉冲编码,进而利用snn网络对不同的语音信号进行分类。虽然基于snn的智能语音识别有了初步的成果,但是目前所利用的snn编码效果不好,学习算法低效,不能处理真实环境中复杂的语音数据。
技术实现要素:
4.为了解决现有技术中存在的上述技术问题,本发明提出了一种基于脉冲神经网络聚合标签学习的语音识别方法,其具体技术方案如下:一种基于脉冲神经网络聚合标签学习的语音识别方法,包括以下步骤:步骤1:将快速时变的语音信号编码成为脉冲序列;步骤2:采用基于动态阈值的聚合标签学习算法训练双层脉冲神经网络;步骤3:将测试语音输入到训练后的脉冲神经网络,对输出神经元进行解码得到识别结果。
5.进一步的,所述步骤1通过以下子步骤来实现:(1.1)原始的语音波形通过一个基于cqt:constant
‑
q变换的耳蜗滤波器组,提取得到频谱信息,具体的,设每一长度为的帧窗中的频谱采样能量为,则每个帧的频谱能
量为,则得到频谱图;然后,利用大脑听觉系统的采样机制,对于该频谱图进行频域遮掩和时域遮掩;(1.2)对于频谱图的m条频带,每一条频带的能量曲线都被单独编码成脉冲模式,当能量曲线穿越过某一预设的阈值时,该阈值所对应的神经元在该时间发放脉冲,而且,同一阈值但不同的穿越方向:从上往下或者从下往上,对应两个不同的编码神经元;(1.3)将两种穿越方式整合在一起,获得一个有效的稀疏时间脉冲模式。
6.进一步的,所述步骤(1.3)具体为:每个频带能量曲线由31个神经元编码,其中上穿和下穿各自占 15 个神经元,每一对上穿和下穿神经元都共享同一个编码阈值,此外还有一个顶峰神经元,当频谱能量达到最大值时,顶峰神经元发放脉冲,因此,对于每一段语音信号,使用(15
×
2 + 1)
×
m个神经元进行编码,由此获得一个有效的稀疏时间脉冲模式。
7.进一步的,所述步骤2通过以下子步骤来实现:(2.1)如果当前的输出神经元和输入模式不对应且实际输出的脉冲个数大于目标的输出个数,那么设计一个相对较小的值作为该神经元激发脉冲的阈值,在该阈值的情况下,找到最后一个脉冲发放的时间,并且构建误差函数,其中,是在时刻的膜电压,是激发脉冲的阈值;然后利用梯度下降的算法对权重进行更新,其中为学习率,是突触的权重;(2.2)如果当前的输出神经元和输入模式对应且实际输出的脉冲个数小于目标的输出个数,那么设计一个相对较大的值作为该神经元激发脉冲的阈值,在该阈值的情况下,找到阈下膜电压的最大值,并且构建误差函数,其中在时刻的膜电压,是激发脉冲的阈值,在然后利用梯度下降的算法对权重进行更新,其中为学习率,是突触的权重。
8.进一步的,所述步骤3通过以下子步骤来实现:(3.1)如果有输出神经元发放脉冲,则选择发放脉冲最多的那个神经元所代表的语音类别;(3.2)如果没有输出神经元发放脉冲,则选择阈下膜电压最大的那个神经元所代表的语音类别。
9.本发明的优点:本发明实现方法简单,充分利用脉冲神经网络强大的时序信息处理能力和低功耗的特性,可以实时、准确的识别语音信号。
附图说明
10.图1是本发明实施例的语音信号编码流程中的原始语音信号经过cqt耳蜗滤波器组之后的频谱图示意图;
图2是本发明实施例的语音信号编码流程中的经过频率掩码和时域掩码后的频谱图示意图;图3是本发明实施例的语音信号编码流程中的单个频带的编码过程示意图;图4是本发明实施例的语音信号编码流程中的单个频带的脉冲编码结构示意图;图5是本发明采用聚合标签学习算法的当实际输出的脉冲个数大于目标的输出个数时的膜电压变化曲线示意图;图6是本发明采用聚合标签学习算法的当实际输出的脉冲个数小于目标的输出个数时的膜电压变化曲线示意图。
具体实施方式
11.为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
12.一种基于脉冲神经网络聚合标签学习的语音识别方法,包括以下步骤:步骤1:如图1
‑
4所示,将快速时变的语音信号编码成为脉冲序列;具体的,通过以下子步骤实现:(1.1)原始的语音波形通过一个基于cqt:constant
‑
q变换的耳蜗滤波器组,提取得到频谱信息。本发明实施例中使用20个耳蜗滤波器,频率范围从200赫兹到8000赫兹,采样率 16000 赫兹。假设每一长度为的帧窗中的频谱采样能量为,则每个帧的频谱能量为,这样就得到了频谱图;继而利用大脑听觉系统的采样机制,对于该频谱图进行频域遮掩和时域遮掩,提高编码效率;(1.2)对于频谱图的 20 条频带,每一条频带的能量曲线都被单独编码成脉冲模式。当能量曲线穿越过某一预设的阈值时,该阈值所对应的神经元在该时间发放脉冲。而且,同一阈值但不同的穿越方向:从上往下或者从下往上,对应两个不同的编码神经元;(1.3)将两种穿越方式整合在一起,每个频带能量曲线由31个神经元编码,其中上穿和下穿各自占 15 个神经元,每一对上穿和下穿神经元都共享同一个编码阈值;此外还有一个顶峰神经元,当频谱能量达到最大值时,顶峰神经元发放脉冲。因此,对于每一段语音信号,使用(15
×
2 + 1)
×
20 = 620个神经元进行编码,由此获得一个有效的稀疏时间脉冲模式。
13.步骤2:采用聚合标签学习算法训练双层脉冲神经网络;具体的,通过以下子步骤实现:(2.1)如图5所示,如果当前的输出神经元和输入模式不对应且实际输出的脉冲个数大于目标的输出个数,那么设计一个相对较小的值作为该神经元激发脉冲的阈值。在该阈值的情况下,找到最后一个脉冲发放的时间,并且构建误差函数。其中,是在时刻的膜电压,是激发脉冲的阈值。然后利用梯度下降的算法对权重进行更新,其中为学习率,是突触的权重。
14.(2.2)如图6所示,如果当前的输出神经元和输入模式对应且实际输出的脉冲个数
小于目标的输出个数,那么设计一个相对较大的值作为该神经元激发脉冲的阈值。在该阈值的情况下,找到阈下膜电压的最大值,并且构建误差函数。其中在时刻的膜电压,是激发脉冲的阈值。在然后利用梯度下降的算法对权重进行更新,其中为学习率,是突触的权重。
15.步骤3:将测试语音输入到训练后的脉冲神经网络,对输出神经元进行解码得到识别结果;具体的,通过以下子步骤实现:(3.1)如果有输出神经元发放脉冲,则选择发放脉冲最多的那个神经元所代表的语音类别;(3.2)如果没有输出神经元发放脉冲,则选择阈下膜电压最大的那个神经元所代表的语音类别。
16.以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。