一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于神经网络的自配置环境语音识别系统及方法与流程

2021-08-13 19:22:00 来源:中国专利 TAG:配置 神经网络 识别系统 语音 语音识别
一种基于神经网络的自配置环境语音识别系统及方法与流程

本发明涉及动态自配置语音识别技术领域,更具体地,涉及一种基于神经网络的自配置环境语音识别系统及方法。



背景技术:

近年来,节能设计越来越受到人们的重视,这是因为大量的应用都需要低功耗的定制设计,但是又希望这些硬件可以展现出很高的处理性能,为了同时满足这两个要求,设计有自配置功能的电路系统成为一种有效的解决方案。

随着神经网络、机器学习等与人类感知相关应用的日益普及,在语音识别、图像处理等方面体现出了极高的应用价值,但优秀的性能背后,也有其不足之处,神经网络具有大量复杂的、并行的乘加运算,需要消耗大量的计算资源。这一点与节能设计的思想则背道而驰。

在传统的神经网络中,权重的位宽是一个非常重要的参数,理所当然,权重的位宽越宽,那么整个网络就具有很强的表达和学习能力,可以大大提高系统的性能,反之,权重的位宽越低,网络的性能也会降低,但是却可以降低计算资源的消耗,实现低功耗设计。

现有技术中,语音识别的神经网络方案有两种:一种方法是设置高的权重位宽,这种方案性能优秀,识别人声能力很强,但是带来的功耗消耗也是巨大的;另一种方案则设置低的权重位宽,低功耗的同时网络的识别性能却不行,不能准确识别语音。本申请旨在提出种基于神经网络的自配置环境语音识别系统以克服现有神经网络语音识别方案的缺陷。



技术实现要素:

为解决现有技术中存在的不足,本发明的目的在于,提供一种基于神经网络的自配置环境语音识别系统及方法,在实现用神经网络进行语音识别的基础上,给系统的网络权重部分设计了两种工作模式,正常工作时,工作在1bit权重的工作模式下,大大降低了运算负担,降低功耗,当网络识别结果发现环境背景音中有可能的人声存在时,将工作模式切换至8bit权重,使识别结果更加精确,可以识别具体的语音内容,解决了现有语音识别系统功耗难以控制的技术问题。

本发明采用如下的技术方案。

一种基于神经网络的自配置环境语音识别系统,包括:环境语音读取模块、神经网络计算模式动态解析模块、语音识别模块;

环境语音采集模块,用于将接收到的32bit环境语音数据截位为16bit语音数据;

神经网络计算模式动态解析模块,用于根据神经网络识别结果确定神经网络当前的计算模式;其中,计算模式包括:8bit权重计算模式、1bit压缩权重计算模式;

语音识别模块,用于实现语音识别,其输入端接收16bit语音数据,根据16bit语音数据与计算模式对应权重的运算结果,得出语音识别结果;

语音识别模块包括:3层卷积神经网络计算子模块、2层全连接神经网络计算子模块;其中,各层卷积神经网络计算子模块和各层全连接神经网络计算子模块均采用神经网络计算模式动态解析模块输出的计算模式;其中,各层卷积神经网络计算子模块和各层全连接神经网络计算子模块中均包括网络权重压缩子单元;

8bit权重计算模式对应权重,是事先写入神经网络中的训练好的8bit权重,1bit压缩权重计算模式对应权重,是经过网络权重压缩子单元压缩好的1bit权重。

优选地,

环境语音采集模块包括:麦克风语音输入单元和语音数据截位单元:

麦克风语音输入单元,用于接收环境语音数据,该单元遵守音频总线i2s协议,采样率设置为64,一帧读取32bit数据,有效数据高24bit,数据精度为18bit;

语音数据截位单元,用于对麦克风语音输入单元接收到的32bit环境语音数据进行截位操作,只取其中高位16bit部分的语音数据,输入到语音识别模块中,用于后续运算。

优选地,

神经网络计算模式动态解析模块包括神经网络输出判别单元;

当神经网络识别结果中有检测到人声存在时,神经网络输出判别单元将各层神经网络中的网络权重压缩子单元全部关闭,即神经网络当前的计算模式为8bit权重计算模式;

当神经网络识别结果中未检测到人声存在时,神经网络输出判别单元将各层神经网络中的网络权重压缩子单元全部开启,网络权重压缩子单元将8bit权重压缩为1bit权重,即神经网络当前的计算模式为1bit压缩权重计算模式。

优选地,

语音识别模块中的各层卷积神经网络计算子模块的结构相同,包括:可配置卷积神经网络计算单元、批量归一化计算单元、激活函数单元;

可配置卷积神经网络计算单元,用于进行16bit语音数据和计算模式对应权重的卷积运算;

批量归一化计算单元,用于进行神经网络的归一化计算,使神经网络输出保持相同分布;

激活函数单元,用于构建神经网络的激活函数,为神经网络引入非线性因素。

第一层卷积神经网络的参数为:20个神经元、3×3的卷积核、横向步长为2以及纵向步长为1;

第二层卷积神经网络的参数为:30个神经元、3×3的卷积核、横向步长为1以及纵向步长为2;

第三层卷积神经网络的参数为:12个神经元、3×3的卷积核、横向步长为2以及纵向步长为1。

可配置卷积神经网络计算单元包括:网络权重压缩子单元、卷积神经网络乘法器子单元以及卷积神经网络加法树子单元;

网络权重压缩子单元,首先读取权重数据,并接收系统计算模式配置信号,由系统计算模式配置信号决定是否网络权重压缩子单元的开启和关闭;在1bit压缩权重计算模式下,网络权重压缩子单元处于开启状态,先读取8bit权重并判断其符号,当8bit权重的最高位为‘1’表示该权重为负数,则压缩后的1bit权重为‘1’,当8bit权重的最高位为‘0’表示该权重为正数,则压缩后的1bit权重为‘-1’;在8bit权重计算模式时,网络权重压缩子单元仅读取8bit权重用于后续运算;

卷积神经网络乘法器子单元,用于进行16bit语音数据和权重的卷积运算的乘法部分;

卷积神经网络计算加法树子单元,采用由8个加法器组成的树形分层结构,用于把9个数据的相加过程分成4级加法树处理过程,完成卷积运算的加法部分。

优选地,

语音识别模块中的各层全连接神经网络计算子模块结构相同,包括:可配置全连接神经网络计算单元、批量归一化计算单元、激活函数单元;

可配置全连接神经网络计算单元,用于进行16bit语音数据和计算模式对应权重的全连接运算;

批量归一化计算单元,用于进行神经网络的归一化计算,使神经网络输出保持相同分布;

激活函数单元,用于构建神经网络的激活函数,为神经网络引入非线性因素。

第一层全连接神经网络的参数为:30个神经元;

第二层全连接神经网络的参数为:12个神经元。

可配置全连接神经网络计算单元包括:网络权重压缩子单元、全连接神经网络乘法器子单元;

网络权重压缩子单元,首先读取权重数据,并接收系统计算模式配置信号,由系统计算模式配置信号决定是否网络权重压缩子单元的开启和关闭;在1bit压缩权重计算模式下,网络权重压缩子单元处于开启状态,先读取8bit权重并判断其符号,当8bit权重的最高位为‘1’表示该权重为负数,则压缩后的1bit权重为‘1’,当8bit权重的最高位为‘0’表示该权重为正数,则压缩后的1bit权重为‘-1’;在8bit权重计算模式时,网络权重压缩子单元仅读取8bit权重用于后续运算;

全连接神经网络乘法器子单元,用于进行16bit语音数据和权重的乘法运算。

一种基于神经网络的自配置环境语音识别方法包括:

步骤1,当前周期,采集环境语音数据,并对环境语音数据进行截位处理,得到16bit语音数据;

步骤2,根据上一周期的语音识别结果,判别当前周期语音识别神经网络的计算模式:即当上一周期语音识别结果中有人声存在时,则判定当前周期语音识别神经网络的计算模式为8bit权重计算模式;反之,则判定当前周期语音识别神经网络的计算模式为1bit压缩权重计算模式;

步骤3,将16bit语音数据和当前计算模式对应的权重输入至神经网络中,由神经网络先进行卷积运算再进行全连接运算,最终获得当前周期语音识别结果。

本发明的有益效果在于,与现有技术相比,在语音识别的基础上,新设计了一款动态可配置神经网络计算模块,动态可配置地对多种输入数据实现近似计算;针对环境语音的输入来决定是否需要更高精度的工作模式,确保可以节省在长期待机时的整个系统功耗,大大提升了语音识别系统的续航能力。神经网络计算模式动态解析模块包括网络输出结果判别模块,其当语音识别模块有检测到人声时,将网络中的所有网络权重压缩模块关闭,运算模块从1bit权重变成8bit权重,否则整个系统都工作在1bit压缩权重下,减少整个系统待机时的功耗。

附图说明

图1为本发明的基于神经网络的自配置环境语音识别系统的架构图;

图2为本发明可配置卷积神经网络计算模块的示意图。

图3为本发明中卷积神经网络计算加法树模块的示意图;

图4为本发明中语音识别模块的示意图。

具体实施方式

下面结合附图对本申请作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。

如图1,一种基于神经网络的自配置环境语音识别系统包括:环境语音读取模块、神经网络计算模式动态解析模块、语音识别模块。

基于神经网络的自配置环境语音识别系统,动态可配置地对多种输入数据实现近似计算。本发明的特点是在语音识别的基础上,新设计了一款动态可配置神经网络计算模块,针对环境语音的输入来决定是否需要更高精度的工作模式,确保可以节省在长期待机时的整个系统功耗,大大提升了语音识别系统的续航能力。本发明核心模块为环境语音读取模块、神经网络计算模式动态解析模块以及语音识别模块。

具体地,

环境语音采集模块,用于将接收到的32bit环境语音数据截位为16bit语音数据。

具体地,环境语音采集模块包括:麦克风语音输入单元和语音数据截位单元。

麦克风语音输入单元,用于接收环境语音数据,该单元遵守音频总线i2s协议,采样率设置为64,一帧读取32bit数据,有效数据高24bit,数据精度为18bit。

语音数据截位单元,用于对麦克风语音输入单元接收到的32bit环境语音数据进行截位操作,只取其中高位16bit部分的语音数据,输入到语音识别模块中,用于后续运算。

本优选实施例中,根据i2s协议串行地向自配置环境语音识别系统发送环境中的语音信号,每个时钟周期发送一个数字信号至自配置环境语音识别系统,一帧语音数据是32bit的数字信号,根据规定,高24bit为有效数据位,25bit到32bit为无用高阻信号,数据精度为18bit,即高18bit为能保证的最大精度,18bit到24bit为全‘0’信号;语音数据截位模块只截取语音信号的高16bit位,对精度几乎没有影响,因此用于后续神经网络运算。

具体地,

神经网络计算模式动态解析模块,用于根据神经网络识别结果确定神经网络当前的计算模式;其中,计算模式包括:8bit权重计算模式、1bit压缩权重计算模式。

具体地,神经网络计算模式动态解析模块包括神经网络输出判别单元;

当神经网络识别结果中有检测到人声存在时,神经网络输出判别单元将各层神经网络中的网络权重压缩子单元全部关闭,即神经网络当前的计算模式为8bit权重计算模式。

当神经网络识别结果中未检测到人声存在时,神经网络输出判别单元将各层神经网络中的网络权重压缩子单元全部开启,网络权重压缩子单元将8bit权重压缩为1bit权重,即神经网络当前的计算模式为1bit压缩权重计算模式。

本优选实施例中,神经网络计算模式动态解析模块包括网络输出结果判别模块,其当语音识别模块有检测到人声时,将网络中的所有网络权重压缩模块关闭,运算模块从1bit权重变成8bit权重,否则整个系统都工作在1bit压缩权重下,减少整个系统待机时的功耗。

具体地,

语音识别模块,用于实现语音识别,其输入端接收16bit语音数据,根据16bit语音数据与计算模式对应权重的运算结果,得出语音识别结果。

语音识别模块包括:3层卷积神经网络计算子模块、2层全连接神经网络计算子模块;其中,各层卷积神经网络计算子模块和各层全连接神经网络计算子模块均采用神经网络计算模式动态解析模块输出的计算模式;其中,各层卷积神经网络计算子模块和各层全连接神经网络计算子模块中均包括网络权重压缩子单元。

8bit权重计算模式对应权重,是事先写入神经网络中的训练好的8bit权重,1bit压缩权重计算模式对应权重,是经过网络权重压缩子单元压缩好的1bit权重。

具体地,语音识别模块中的各层卷积神经网络计算子模块的结构相同,包括:可配置卷积神经网络计算单元、批量归一化计算单元、激活函数单元;

可配置卷积神经网络计算单元,用于进行16bit语音数据和计算模式对应权重的卷积运算。

批量归一化计算单元,用于进行神经网络的归一化计算,使神经网络输出保持相同分布。

本优选实施例中,批量归一化计算模块,该模块是对网络输出数据进行规范归一化处理,使输出值基本符合标准正态分布,防止出现神经网络中的梯度爆炸问题。该模块的数学表达式是:

a×d_in b

式中,a、b都是网络训练的参数,d_in是该模块的输入。

激活函数单元,用于构建神经网络的激活函数,为神经网络引入非线性因素。

本优选实施例中,激活函数模块,该模块是对网络输出数据进行激活,只保留大于0的数的值,小于0的数的值全部归0,防止出现神经网络中的梯度消失问题。

本优选实施例中,第一层卷积神经网络计算模块的参数为:20个神经元、3×3的卷积核、横向步长2以及纵向步长1。第二层卷积神经网络计算模块包括可配置卷积神经网络计算模块,批量归一化计算模块以及激活函数模块,与第一层卷积神经网络计算模块中包含模块及功能全部相同,其参数为30个神经元、3×3的卷积核、横向步长1以及纵向步长2。第三层卷积神经网络计算模块包括可配置卷积神经网络计算模块,批量归一化计算模块以及激活函数模块,与第一层卷积神经网络计算模块中包含模块及功能全部相同,其参数为12个神经元、3×3的卷积核、横向步长2以及纵向步长1。

其中,如图2,所述可配置卷积神经网络计算单元包括:网络权重压缩子单元、卷积神经网络乘法器子单元以及卷积神经网络加法树子单元。

网络权重压缩子单元,首先读取权重数据,并接收系统计算模式配置信号,由系统计算模式配置信号决定是否网络权重压缩子单元的开启和关闭;在1bit压缩权重计算模式下,网络权重压缩子单元处于开启状态,先读取8bit权重并判断其符号,当8bit权重的最高位为‘1’表示该权重为负数,则压缩后的1bit权重为‘1’,当8bit权重的最高位为‘0’表示该权重为正数,则压缩后的1bit权重为‘-1’;在8bit权重计算模式时,网络权重压缩子单元仅读取8bit权重用于后续运算。

卷积神经网络乘法器子单元,用于进行16bit语音数据和权重的卷积运算的乘法部分。

卷积神经网络计算加法树子单元,如图3,采用由8个加法器组成的树形分层结构,用于把9个数据的相加过程分成4级加法树处理过程,完成卷积运算的加法部分。

本优选实施例中,卷积神经网络计算加法树模块用于将上述输入数据和权重的乘法结果进行求和,完成整个卷积过程,卷积核的大小都是3×3,即9个数相加,计算加法树模块第一级有4个加法器,处理8个数相加,得到4个数,第二级有2个加法器,处理4个数相加,得到2个数,第三级有1个加法器,处理2个数相加,得到1个数,第四级有1个加法器,处理第三级的输出和最开始未参与计算的数相加,得到最终的卷积输出结果。

具体地,语音识别模块中的各层全连接神经网络计算子模块结构相同,包括:可配置全连接神经网络计算单元、批量归一化计算单元、激活函数单元。

可配置全连接神经网络计算单元,用于进行16bit语音数据和计算模式对应权重的全连接运算。

批量归一化计算单元,用于进行神经网络的归一化计算,使神经网络输出保持相同分布。

激活函数单元,用于构建神经网络的激活函数,为神经网络引入非线性因素。

本优选实施例中,各层卷积神经网络计算子模块与各层全连接神经网络计算子模块的批量归一化计算单元、激活函数单元均相同。

第一层全连接神经网络的参数为:30个神经元;

第二层全连接神经网络的参数为:12个神经元。

具体地,

可配置全连接神经网络计算单元包括:网络权重压缩子单元、全连接神经网络乘法器子单元。

网络权重压缩子单元,首先读取权重数据,并接收系统计算模式配置信号,由系统计算模式配置信号决定是否网络权重压缩子单元的开启和关闭;在1bit压缩权重计算模式下,网络权重压缩子单元处于开启状态,先读取8bit权重并判断其符号,当8bit权重的最高位为‘1’表示该权重为负数,则压缩后的1bit权重为‘1’,当8bit权重的最高位为‘0’表示该权重为正数,则压缩后的1bit权重为‘-1’;在8bit权重计算模式时,网络权重压缩子单元仅读取8bit权重用于后续运算。

全连接神经网络乘法器子单元,用于进行16bit语音数据和权重的乘法运算。

一种基于神经网络的自配置环境语音识别方法包括:

步骤1,当前周期,采集环境语音数据,并对环境语音数据进行截位处理,得到16bit语音数据。

步骤2,根据上一周期自配置环境语音识别结果,判别当前周期自配置环境语音识别的工作模式:即当上一周期自配置环境语音识别结果中有人声存在时,则判定当前周期自配置环境语音识别的工作模式为8bit权重模式;反之,则判定当前周期自配置环境语音识别的工作模式为1bit压缩权重模式。

步骤3,将16bit语音数据和当前工作模式对应的权重输入至神经网络中,由神经网络先进行卷积运算再进行乘法运算,最终获得当前周期语音识别结果;其中,8bit权重工作模式对应的8bit权重,事先已经写入训练好的神经网络中。

实施例1。

基于神经网络的自配置环境语音识别系统,在内部各模块之间的协调控制下,根据环境语音的识别结果,实现动态调节整个语音识别系统神经网络的计算模块的目的,即实现识别精度的动态调节以及降低整个系统的功耗。

以一组输入数据和一组权重数据为例,如图4,描述卷积神经网络计算加法树模块的工作,初始系统工作在默认1bit权重状态,输入16bit数据为:

网络中预存的权重数据是:

权重的二进制表示为:

此时因为系统工作在1bit权重,卷积神经网络计算加法树模块中的网络权重压缩模块开始工作,遍历卷积核,提取出符号位如下:

即对应权重变为:

此时进入卷积神经网络计算加法树模块中的神经网络乘法器模块,运算结果如下所示:

进入卷积神经网络计算加法树模块,第一级加法树的输入为矩阵中的前8个数,在(3,3)位置的数0.4711最后处理,其余数相邻位相加,第一级的运算为:

第二级的运算为:

第三级的运算为:

{-2.2686-1.8980=-4.1666

第四级的运算用到一开始没用到的0.4711,为:

{-4.1666 0.4711=-3.6955

即得到最终运算结果-3.6955,随后进行滑窗运算,遍历整个权重数据,完成卷积神经网络的计算。

全连接神经网络只需实现输入数据与权重数据相乘即可完成计算。

当网络计算执行完毕后,根据计算结果识别发现环境中可能有人声的存在,给神经网络计算模式动态解析模块发送一个信号,决定系统进入8bit权重工作模式,仍以上述输入数据和权重做例,因为动态解析模块已经决定工作在8bit权重,所以网络权重压缩模块不开启,直接执行数据与权重的乘法,运算结果为:

进入卷积神经网络计算加法树模块,第一级加法树的输入为矩阵中的前8个数,在(3,3)位置的数0.24289916最后处理,其余数相邻位相加,第一级的运算为:

第二级的运算为:

第三级的运算为:

{-0.46772758-0.256170283=-0.723897863

第四级的运算用到一开始没用到的0.24289916,为:

{0.24289916-0.723897863=-0.480998703

即得到最终运算结果-0.480998703,随后进行滑窗运算,遍历整个权重数据,完成卷积神经网络的计算。

本发明的有益效果在于,与现有技术相比,在语音识别的基础上,新设计了一款动态可配置神经网络计算模块,动态可配置地对多种输入数据实现近似计算;针对环境语音的输入来决定是否需要更高精度的工作模式,确保可以节省在长期待机时的整个系统功耗,大大提升了语音识别系统的续航能力。神经网络计算模式动态解析模块包括网络输出结果判别模块,其当语音识别模块有检测到人声时,将网络中的所有网络权重压缩模块关闭,运算模块从1bit权重变成8bit权重,否则整个系统都工作在1bit压缩权重下,减少整个系统待机时的功耗。

本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜