发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种面向边缘计算的轻量级语音识别方法,大大提高了语音识别的准确性。
为了达到上述目的,本发明采用以下技术方案:
本发明面向边缘计算的轻量级语音识别方法,包括下述步骤:
S1、构建面向边缘计算设备的轻量级语音识别网络模型EdgeRNN,所述EdgeRNN由1-D CNN和RNN构成,所述1-D CNN用于在时序特征上提取空间的高级特征,所述RNN用于语音时间序列的建模;所述EdgeRNN包括声学特征提取层、密集块、最大池化层、RNN层、自我注意力层以及分类层;
S2、将原始的语音音频输入到EdgeRNN进行处理,具体为:
S21、从原始的音频中提取低级的声学特征;
S22、根据特征重用和可学习组卷积的原理,设计一个面向边缘计算的密集块,EdgeRNN每经过一次密集块可增加growth_rate维高级空间特征,其中,密集块使用的激活函数为PRelu,可学习组卷积层中的卷积使用的是1-D CNN;
S23、使用密集块使不断地对低级的声学特征进行高级的空间特征提取;
S24、用最大池化层来消除语音特征中的噪声
S25、融合原先的声学特征和1-D CNN每一次提取的高级空间特征进入RNN层中提取时间序列的信息;
S26、进入自我注意力层,获得话语级别最后的表示结果;
S27、利用全连接层来分析语音的类别。
作为优选的技术方案,步骤S21中,使用librosa库对原始的语音进行声学特征提取,提取128维梅尔频谱图,12维delta和12维double-delta特征,总计152维的声学特征。
作为优选的技术方案,声学特征提取之后的特征维度为(152,32),152代表的是有152维的特征,32代表每一维度特征的长度。
作为优选的技术方案,步骤S22中,所述密集块中采用两个连续的3×3可学习组卷积,所述密集块包括卷积块1和卷积块2,所述卷积块1中的可学习组卷积层输出4倍增长率的特征图,所述卷积块3中的可学习组卷积层输出1倍增长率的特征图。
作为优选的技术方案,步骤S23中,对于原始的声学特征图保留,是在声学特征图的基础上不断地使用1-D CNN提取高级的特征,每次新增的特征是在前面所有层的基础上进行提取。
作为优选的技术方案,密集块之后的特征维度为(344,32),344表示344维的高级特征,32是每一维特征的长度,使用最大池化层来减少特征里面的噪音,即经过最大池化层之后特征维度变为(344,16)。
作为优选的技术方案,步骤S25中,进入RNN层之前首先需要把特征转置,即把(344,16)的特征转化为(16,344)的特征,这是RNN中的格式要求,RNN层处理之后特征维度保持不变,同样为(16,344),344依然代表维度,16表示每维特征的长度。
作为优选的技术方案,步骤S26具体为:
假设Xi是RNN计算出当前时间戳的上下文特征,αi是注意力得分并由以下公式获得:
其中,αi的计算方式就是sigmoid函数,其值在[0,1]之间,αi可解释为该帧对语音的最终话语水平表示的贡献分数,获得的注意力得分αi用于加权平均以获得话语级别C的表示:
获得话语级别表示的结果首先经过激活后,再传到全连接层来汇总最终的结果,汇总的最终结果传递到网络的输出softmax层,以获得每个语音类别的后验概率。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明设计了一种面向边缘计算设备的轻量级语音识别网络模型,命名为EdgeRNN。EdgeRNN由1-D CNN和RNN构成,1-D CNN可以在时序特征上提取空间的高级特征,RNN用于语音时间序列的建模。语音提取的声学特征中除了空间维度上的频域信息之外,还有时间维度上的时域信息。1-D CNN可以处理声学特征各频域的整体空间信息。RNN可以处理声学特征各频域的时间信息,结合1-D CNN和RNN来进行语音识别处理是大大提高了语音识别的准确性。
2、本发明在语音情感识别和语音关键字识别这两大语音识别子任务上验证了EdgeRNN的高效性。语音情感识别中使用的是IEMOCAP数据集,准确率达到63.62%。语音关键字识别中使用的是谷歌的Speech Commands数据集,准确率达到96.62%。EdgeRNN在语音情感识别和语音关键字识别上的准确率都优于现有的轻量级网络模型。本发明把EdgeRNN成功地运行在树莓派3B+开发板上,运行的速度基本满足实际的要求。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例面向边缘计算的轻量级语音识别方法,其特征在于,包括下述步骤:
S1、构建面向边缘计算设备的轻量级语音识别网络模型EdgeRNN,所述EdgeRNN由1-D CNN和RNN构成,所述1-D CNN用于在时序特征上提取空间的高级特征,所述RNN用于语音时间序列的建模;所述EdgeRNN包括声学特征提取层、密集块、最大池化层、RNN层、自我注意力层以及分类层;
语音识别中,首先需要对原始的语音进行声学特征提取,本发明从准确率和速度这两个方面进行多次的实验,最终选定提取128维梅尔频谱图,12维delta和12维double-delta特征。
本实施例取IEMOCAP数据集的Session1中四种情绪为例,提取的声学特征如图1(a)-图1(d)所示。水平方向表示的是语音的时间变化,垂直方向代表某时刻的声学特征。从图1可以看出,语音识别既有时间方面的时域信息,也有空间方面的频域信息。因此本发明首先使用一维卷积神经网络(1-D CNN)用于处理声学特征的每个频域的整体空间信息,其次递归神经网络(RNN)用于处理声学特征的每个频域的时间信息,最后本发明提出了一种简化的注意力机制,以增强有助于最终识别的网络部分。本发明的EdgeRNN结构处理如表1所示。
表1:EdgeRNN的结构示意图
S2、将原始的语音音频输入到EdgeRNN进行处理,具体为:
S21、从原始的音频中提取低级的声学特征;
声学特征提取是把原始的音频转化为低级的声学特征,以用来深度学习建模。本发明是使用librosa库去提取这152维的声学特征。梅尔频谱图的相邻特征高度相关,也就是相邻滤波器组之间有重叠,这非常有利于CNN建模。其次梅尔频谱图比MFCC具有更高的维度,这保留着更多的信息。delta特征表示相邻帧的关系,double-delta特征表示相邻三帧之间的关系,并且它们都擅长在MFCC上表示语音动态的过程。因此,本发明使用的delta和double-delta特征都是在MFCC之后进行提取。另外,本发明只选用12维的delta和double-delta特征。声学特征提取之后的特征维度为(152,32),152代表的是有152维的特征,32代表每一维度特征的长度。
S22、根据特征重用和可学习组卷积的原理,设计一个面向边缘计算的密集块,EdgeRNN每经过一次密集块可增加growth_rate维高级空间特征,其中,密集块使用的激活函数为PRelu,可学习组卷积层中的卷积使用的是1-D CNN;
先前的可学习组卷积处理的是计算机视觉任务,因此使用的是2-D卷积层。2-D卷积层和1-D卷积层的不同方式处理如图2所示(图2中矩形块为2-D卷积方式,长条为1-D卷积处理方式)。很明显,2-D卷积处理的是声学特征局部空间信息,1-D卷积处理的是声学特征各频域的整体空间信息。因此,1-D卷积层更适合于声学特征的建模。所以,本发明把先前的2-D可学习组卷积改为适用于语音识别的1-D可学习组卷积。
表2中的可学习组卷积都用L-conv表示,其中参数groups是分组的个数,condense_factor是浓缩因子。浓缩因子表示每一组的仅连接
的输入特征通道。
S23、使用密集块使不断地对低级的声学特征进行高级的空间特征提取;
如表2所示,本发明在密集块中采用两个连续的3×3可学习组卷积,因为更大的感受野可以学到更丰富的特征。本发明使用的包括可学习组卷积在内的所有卷积层都设置bias=True,这是为了让网络能够增加非线性特性来更好地拟合数据。
密集块的卷积块1中的可学习组卷积层输出4倍增长率的特征图,如表2所示。然而在卷积块2中的可学习组卷积层只输出1倍增长率的特征图。这意味着每经过一次密集块,网络只增加1倍增长率维特征图。本发明的EdgeRNN选定的增长率为16,虽然每经过一个密集块只增加16维的特征图,但是经过12次之后EdgeRNN就增加了192维的特征图。
表2:EdgeBlock的结构图(L-Conv代表learned group convolution,G代表分组的个数,C是Condensation Factor)
需要注意的是,本发明保留着原先的声学特征图,只是在声学特征图的基础上不断地使用1-D CNN提取高级的特征。每次新增的特征是在前面所有层的基础上进行提取。比如图三的dense9新增的16维高级特征是在整个dense8的特征图上提取的。12次的高级特征提取之后,网络就得到344维的特征。即原先提取的152维声学特征保持不变,12次的密集块每次增加16维的高级特征(12×16=192),加起来一共344维特征。
S24、使用最大池化层来消除语音特征中的噪声;
密集块之后的特征维度为(344,32),344表示344维的高级特征,32是每一维特征的长度,本声明使用最大池化层来减少特征里面的噪音,即经过最大池化层之后特征维度变为(344,16)。
S25、融合原先的声学特征和1-D CNN每一次提取的高级空间特征进入RNN层中提取时间序列的信息;
RNN层主要是提取语音中的时间序列信息。语音识别不仅具有时维的时域信息,还具有空间维的频域信息。CNN的优势在于空间信息,而RNN的优势在于时间信息。因此,许多工作首先使用CNN提取声学特征的高级特征,然后使用RNN进行序列建模。但是,这些工作中使用的RNN是RNN的变体,例如长短期记忆(LSTM)和门控循环单元(GRU)。RNN使用一个门,GRU使用三个门,LSTM使用四个门。这意味着GRU的计算复杂度是RNN的三倍,而LSTM的计算复杂度是RNN的四倍。众所周知,RNN在长序列中存在梯度***或梯度消失的问题。因此,引入LSTM和GRU来解决长序列中的时间依赖性问题。但是,语音识别中的许多任务(例如语音情感识别和语音关键字识别)都是短期和中期相关的。而RNN适用于短期和中期依赖性问题。另外,注意力机制可用于使RNN学习短期和中期序列中的短期和中期依存关系。进入RNN层之前首先需要把特征转置,即把(344,16)的特征转化为(16,344)的特征,这是RNN中的格式要求。RNN层处理之后特征维度保持不变,同样为(16,344),344依然代表维度,16表示每维特征的长度。
S26、进入自我注意力层,获得话语级别最后的表示结果;
RNN处理之后就进入本发明设计的简化的,只需要少量计算量的自我注意力机制。假设Xi是RNN计算出当前时间戳的上下文特征,αi是注意力得分并由以下公式获得:
其实αi的计算方式就是sigmoid函数,其值在[0,1]之间。αi可以解释为该帧对语音的最终话语水平表示的贡献分数。获得的注意力得分αi用于加权平均以获得话语级别C的表示:
获得话语级别表示的结果首先经过激活后,再传到全连接层来汇总最终的结果。汇总的最终结果传递到网络的输出softmax层,以获得每个语音类别的后验概率。
S27、利用全连接层来分析语音的类别。
本发明的网络模型结构如图3所示。本发明是使用IEMOCAP数据集中Ses01F_impro02_F000样本可视化的结果来展现EdgeRNN的结构。
1-D CNN和RNN都是计算密集型的,因此在先前的研究中很少被使用于轻量级的语音识别任务中。然而,语音提取的声学特征中除了空间维度上的频域信息之外,还有时间维度上的时域信息。所以,本发明充分地利用了1-D CNN和RNN来对声学特征中的时间和空间信息进行建模,这是本发明的关键点一。
EdgeRNN在语音关键字识别和语音情感识别这两大语音识别子任务上的准确率都能优于现有的轻量级网络模型,这也是第一篇能够同时适用于语音关键字识别和语音情感识别的轻量级网络模型,这是本发明的关键点二。
语音情感识别任务的工作很少集中在轻量级网络模型的设计上。本发明仅发现了最近的BCRNN[1]。BCRNN显示IEMOCAP数据集上模型的准确性和大小。EdgeRNN和BCRNN的性能比较如表3所示,其中精度基于UAR。UAR被定义为每个类在所有类上的平均精度,因此无论类中的测试样本数量如何,每个类的准确度具有相同的重要性。由于类不平衡,UAR是用于语音情感识别的广泛使用的度量。
网络模型 |
UAR(%) |
Model size(MB) |
Millions Params |
Millions Ops |
BCRNN[1] |
61.90 |
4.34 |
- |
- |
EdgeRNN |
63.62 |
5.47 |
0.83 |
16.77 |
表3:EdgeRNN在语音情感识别IEMOCAP数据库上的性能
语音关键字识别的研究较为热门。EdgeRNN与其它轻量级语音关键词识别网络模型的性能比较如表4所示,其中使用的数据集是Google的Speech Commands数据集。其它工作中有多种网络模型。在表4中,仅列出了准确率最高的模型。WAR是正确预测的测试音频总数与测试音频总数之比,是用于语音关键字识别的广泛使用的度量。
网络模型 |
WAR(%) |
Millions Params |
Millions Ops |
Full-DCNN[2] |
88.50 |
0.01 |
5.94 |
tpool2[3] |
91.97 |
1.09 |
103.00 |
DS-CNN[4] |
95.40 |
0.49 |
56.90 |
SANAS[5] |
80.70 |
- |
37.70 |
res15[6] |
95.80 |
0.23 |
894.00 |
EdgeRNN |
96.62 |
0.83 |
2.96 |
表4:EdgeRNN在语音关键字识别Speech Commands数据集上的性能
本发明充分地应用了大网络模型中的DenseNet和Condensenet模型的原理来设计一个面向边缘计算的轻量级网络模型EdgeRNN,这是优点一。
EdgeRNN在语音识别的语音关键字识别和语音情感识别这两大子任务上的准确率都能优于目前现有的轻量级语音识别网络模型。同时,EdgeRNN的实际运行速度也能满足语音处理的要求。
具体的,在语音情感识别中,5.78秒的语音在树莓派3B+上1.17秒就可以处理完;在语音关键字识别中,1秒的语音在树莓派3B+上0.68秒就可以处理完。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。