基于残差卷积网络的建模方法、语音识别方法及电子设备与流程

文档序号:24561970发布日期:2021-04-06 12:11阅读:136来源:国知局
基于残差卷积网络的建模方法、语音识别方法及电子设备与流程

本发明涉及语音识别技术领域,特别地涉及一种基于残差卷积网络的建模方法、语音识别方法及电子设备。



背景技术:

语音识别是将语音片段输入转化为文本输出的过程,整个过程通常包括信息处理、特征提取、声学模型建立、语言模型建立和解码搜索四个阶段。传统的语音识别方法中,声学模型主要采用gmm-hmm模型。

但是gmm等传统的声学模型存在音频信号表征低效,不能利用语境信息,进而存在准确率差的问题。



技术实现要素:

本发明提供一种基于残差卷积网络的建模方法、语音识别方法及电子设备,采用构建的残差卷积网络对语料库中提取的音频特征数据进行训练得到声学模型,以在采用声学模型对待识别语音数据进行识别时,有效提高识别结果的准确性。

为解决上述技术问题,本发明实施例提出如下技术方案:

一种基于残差卷积网络的建模方法,所述方法包括:

获取语料库中的多个音频数据;

对所述音频数据进行特征提取,以得到音频特征数据;

对所述音频特征数据采用构建的残差卷积网络进行训练得到声学模型,所述声学模型用于对待识别语音数据进行识别。

可选的,在上述基于残差卷积网络的建模方法中,对所述音频特征数据采用所述残差卷积网络进行训练得到声学模型的步骤包括:

将所述音频特征数据划分为训练数据集和验证数据集,其中,所述训练数据集和验证数据集分别包括多个音频特征数据;

将所述训练数据集输入至残差卷积网络中进行训练得到一初始模型;

将所述验证数据集输入至所述初始模型中以进行测试处理得到一声学模型。

可选的,在上述基于残差卷积网络的建模方法中,还包括:构建残差卷积网络的步骤,其包括:

构建包括卷积模块和残差模块的残差卷积网络,根据获得的参数信息设置该残差卷积网络中的模型参数语音长度、每个长度的特征大小、输出标签最大长度、模型训练参数的样本数量以及数据集被轮询次数。

可选的,在上述基于残差卷积网络的建模方法中,残差卷积网络还包括卷积池化层,所述卷积模块包括第一卷积模块和第二卷积模块,所述残差模块包括第一残差模块和第二残差模块,将所述训练数据集输入至残差卷积网络中进行训练得到一初始模型的步骤包括:

所述卷积池化层对音频特征数据进行卷积,对卷积后的音频数据进行再次卷积,从再次卷积后的音频特征数据中随机选取第一预设比例的数据作最大池化处理,以输出第一特征图;

所述第一卷积模块对所述第一特征图进行卷积,从卷积后的第一特征图中随机抽取第二预设比例的数据进行最大池化处理,输出第二特征图;

第二个卷积模块对所述第二特征图进行卷积,从卷积后的特征数据中随机抽取第三预设比例的数据进行最大池化处理,输出第三特征图;

所述第一残差模块对所述第三特征图进行卷积,对卷积后的第三特征图进行最大值池化,对池化后的第三特征图进行随机抽取,以输出第四特征图;

所述第二残差模块对所述第四特征图进行卷积,从卷积后的第四特征图中随机抽取第四预设比例的数据进行最大池化处理,对池化处理后的第四特征图按照第五预设比例再次进行抽取,以输出第五特征图;

所述第二残差模块对所述第五特征图进行卷积,从卷积后的第五特征图中随机抽取第六预设比例的数据,以输出第六特征图;

所述第一残差模块对所述第六特征图进行卷积,从卷积后的第六特征图作最大值池化,以得到第七特征图,并将该第七特征图转化为第一预设值大小的矩阵数据,并从该数据中随机抽取第七预设比例的数据后输出至第一全连接层,以全连接输出大小为第二预设值大小的矩阵数据并从该数据中随机抽取第八预设比例的数据,以及将该数据再次输入至第二全连接层,以全连接输出预测结果;

对所述预测结果和所述音频特征数据对应的拼音序列采用损失函数进行计算以得到损失值;

根据所述损失值调整所述残差卷积网络的参数以得到初始模型。

可选的,在上述基于残差卷积网络的建模方法中,获取语料库中的音频数据的步骤包括:

获取语料库中文件格式为wav格式的数据,以得到音频数据。

可选的,在上述基于残差卷积网络的建模方法中,对所述音频数据进行特征提取,以得到音频特征数据的步骤包括:

调用用于进行语音处理的python库或者用于音乐和音频分析的ptthon包中的mfcc算法;

采用所述mfcc算法对所述音频数据进行特征提取,以得到音频特征数据。

本发明还提供一种语音识别方法,所述语音识别方法包括:

获得待识别语音数据;

通过上述的建模方法获得的声学模型对所述语音数据进行识别,以得到与所述语音数据对应的拼音序列;

对所述拼音序列进行解码得到文字序列,从而完成对所述待识别语音数据的识别。

可选的,在上述语音识别方法中,对所述拼音序列进行解码得到文字序列的步骤包括:

采用最大熵马尔科夫模型对所述拼音序列进行处理以得到文字信息;

对所述文字信息采用viterbi算法进行解码得到文字序列。

可选的,在上述语音识别方法中,获得待识别语音数据的步骤包括:

接收语音模块采集到的待识别语音数据。

本发明还提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被处理器执行时,执行如上述的方法的包括。

本发明提供的基于残差卷积网络的建模方法、语音识别方法及电子设备,与现有技术相比,至少具备有以下有益效果:

本发明提供的一种基于残差卷积网络的建模方法、语音识别方法及电子设备,通过对语料库中的音频数据进行特征提取以得到音频特征数据,并构建残差卷积网络以对音频特征数据进行训练得到声学模型,以在采用声学模型对待识别语音数据进行识别时,有效提高识别结果的准确性。

附图说明

在下文中将基于实施例并参考附图来对本发明进行更详细的描述。

图1为本发明实施例提供的一种基于残差卷积网络的建模方法的流程示意图。

图2为图1中步骤s120的流程示意图。

图3为图1中步骤s140的流程示意图。

图4为本发明实施例提供的一种语音识别方法的流程示意图。

图5为图4中步骤s230的流程示意图。

在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。

具体实施方式

以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。

实施例一

请参阅图1,本发明实施例提供了一种可应用于电子设备的基于残差卷积网络的建模方法,该电子设备可以是但不限于电脑、手机或电视等,该方法应用于电子设备时,执行步骤s110至步骤s140:

步骤s110:获取语料库中的多个音频数据。

其中,所述语料库为经科学取样和加工的大规模电子文本库,其内部具有大量的语音数据,该语音数据可以包括但不限于中文语音数据、英文语音数据或其他外文语音数据,可以理解,所述语料库也可以包括词汇词组以及文章段落等。

在本实施例中,所述语料库为中文语料库,其中,该中文语料库可以包括thchs30中文语音数据集、st-cmds中文语音数据集、aishell中文语音数据集、primewords中文语音数据集、aidatatang_200zh开放式中文普通话电话语音库或magicdata语料库中的一个或多个。

可选的,在本实施例中,所述语料库包括thchs30中文语音数据集。

可以理解,所述语料库中可以包括语音数据、视频数据或文字数据,语音数据的格式可以是但不限于voc语音数据、wave语音数据、au语音数据,视频数据可以包括但不限于yuv视频数据或ycbcr视频数据。

可选的,在本实施例中,当采用的语料库包括thchs30中文语音数据集时,上述步骤s110包括:获取语料库中文件格式为wav格式的数据,以得到音频数据。

步骤s120:对所述音频数据进行特征提取,以得到音频特征数据。

其中,对音频数据进行特征提取的方式可以是但不限于mfcc特征提取方法、倒谱法、短时自相关法、lpc法以及短时平均幅度差法,在此不做具体限定,根据实际需求进行设置即可。

可选的,在本实施例中,对音频数据进行特征数据提取的方式为采用mfcc特征提取方法,通常情况下,mfcc算法存储于进行语音处理的python库或者用于音乐和音频分析的ptthon包。

请结合参阅图2,可选的,在本实施例中,上述步骤s120中:对所述音频特征数据进行提取的方式包括:

步骤s122:调用用于进行语音处理的python库或者用于音乐和音频分析的ptthon包中的mfcc算法。

需要说明的是,通常情况下,mfcc算法存储于进行语音处理的python库或者用于音乐和音频分析的ptthon包。

步骤s124:采用所述mfcc算法对所述音频数据进行特征提取,以得到音频特征数据。

需要说明的是,上述步骤具体可以是,对所述语料库中文件格式为wav格式的数据进行预加重处理后,对预加重处理后的数据进行分帧处理(先将n个采样点集合成一个观测单位,称为帧),通常情况下n的值为256或512,涵盖的时间约为20~30ms左右,为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域,此重叠区域包含了m个取样点,通常m的值约为n的1/2或1/3,将分帧处理后的进行加窗,即将每一帧乘以汉明窗,以增加帧左端和右端的连续性,对加窗处理后的数据进行快速傅里叶变换,(即由于信号在时域上的变换通常很难看出信号的特性,所以通常将它转换为频域上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。所以在乘上汉明窗后,每帧还必须再经过快速傅里叶变换以得到在频谱上的能量分布。对分帧加窗后的各帧信号进行快速傅里叶变换得到各帧的频谱),对快速傅里叶变化后的数据采用三角带通滤波器控进行滤波(将能量谱通过一组mel尺度的三角形滤波器组,定义一个有m个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为。m通常取22-26。各f(m)之间的间隔随着m值的减小而缩小,随着m值的增大而增宽),计算每个滤波器组输出的对数能量,以对该对数能量进行经离散余弦变换(dct)得到mfcc系数。在进行音频特征数据提取时,一帧的音量(即能量),也是语音的重要特征,而且非常容易计算。因此,通常再加上一帧的对数能量(定义:一帧内信号的平方和,再取以10为底的对数值,再乘以10)使得每一帧基本的语音特征就多了一维,包括一个对数能量和剩下的倒频谱参数。需要说明的是,若要加入其它语音特征以测试识别率,也可以在此阶段加入,这些常用的其它语音特征包含音高、过零率以及共振峰等,以得到音频特征数据。

步骤s130:构建残差卷积网络。

需要说明的是,残差卷积网络通常包括卷积模块(包括卷积层、池化层)、全连接层和残差结构。卷积层中的卷积核参与卷积操作,全连接层:用于将输入的特征图进行降维提纯,为维数与类别数相等的特征向量;池化层:用到了最大值池化和全局平均池化两种池化方式,全局平均池化用在最后一个卷积层之后,其他地方都采用最大值池化;残差结构:残差结构有两种类型的结构,一种是恒等映射,将输入特征图直接与经过两个卷积层后的输出相加,另一种的含有三个卷积层,这里用一个3×3卷积层和两个1×1卷积层代替两个3×3的卷积层,优点是大量减少参数数量的同时而不影响最终效果。

上述步骤s130具体可以是:构建包括卷积模块和残差模块的残差卷积网络,根据获得的参数信息设置该残差卷积网络中的模型参数语音长度、每个长度的特征大小、输出标签最大长度、模型训练参数的样本数量以及数据集被轮询次数。

其中,获得的参数信息中至少包括模型参数语音长度、每个长度的特征大小、输出标签最大长度、模型训练参数的样本数量以及数据集被轮询次数的具体参数,获得参数信息的方式可以是用户输入的,在本实施例中,根据用户输入的参数将模型参数语音长度设置为1600,每个长度的特征大小设置为200维度,输出标签最大长度设置为64维的向量,模型训练参数的样本数量设置为16,数据集被轮询次数设置为2000。

步骤s140:对所述音频特征数据采用构建的残差卷积网络进行训练得到声学模型,所述声学模型用于对待识别语音数据进行识别。

请参阅图3,为保障对所述音频数据进行训练得到的声学模型的准确性,在本实施例中,上述步骤s140可以包括步骤s142-s146:

步骤s142:将所述音频特征数据划分为训练数据集和验证数据集。

其中,所述训练数据集和验证数据集分别包括多个音频特征数据。上述将音频数据进行划分的方式可以是随机划分,还可以是随机分层抽样划分,上述训练数据集中包括的音频特征数据与所述验证数据集中包括的音频特征数据的比例可以是3:7,也可以是2:8,根据实际需求进行设置即可。

可选的,在本实施例中,上述步骤s142具体可以是:将所述音频特征数据进行随机分层抽样,以获取训练数据集和验证数据集,其中,所述训练数据集与验证数据集中音频特征数据的比例为8:2。

步骤s144:将所述训练数据集输入至残差卷积网络中进行训练得到一初始模型。

在本实施例中,残差卷积网络还包括卷积池化层,所述卷积模块包括第一卷积模块和第二卷积模块,所述残差模块包括第一残差模块和第二残差模块,上述步骤s144包括步骤s144a-步骤s144i。

步骤s144a:所述卷积池化层对音频特征数据进行卷积,对卷积后的音频数据进行再次卷积,从再次卷积后的音频特征数据中随机选取第一预设比例的数据作最大池化处理,以输出第一特征图。

上述步骤具体可以是:所述卷积池化层对输入的1600×200×1的训练数据集中的音频特征数据进行卷积,卷积核个数为32、大小为3×3、移动步数为1,对卷积后的音频数据按照卷积核为fr1=32进行再次卷积,从再次卷积后的音频特征数据中随机选取第一预设比例为0.95的数据作最大池化处理,池化窗口大小为2×2、移动步数为1,最后输出维数为400×50×64的第一特征图。

步骤s144b:所述第一卷积模块对所述第一特征图进行卷积,从卷积后的第一特征图中随机抽取第二预设比例的数据进行最大池化处理,输出第二特征图。

上述步骤具体可以是:所述第一卷积模块对所述第一特征图进行卷积,卷积核个数为fc1=(32,64,64),从卷积后的第一特征图中随机抽取第二预设比例为0.9的数据进行最大池化处理,池化窗口大小为2×2,移动步数为1,输出维数为400×50×64的第二特征图。

步骤s144c:第二个卷积模块对所述第二特征图进行卷积,从卷积后的特征数据中随机抽取第三预设比例的数据进行最大池化处理,输出第三特征图。

上述步骤具体可以是:第二个卷积模块对所述第二特征图进行卷积,卷积核个数为fc2=(64,128,128),从卷积后的特征数据中随机抽取第三预设比例为0.85的数据进行最大池化处理,输出维数为400×50×128的第三特征图。

步骤s144d:所述第一残差模块对所述第三特征图进行卷积,对卷积后的第三特征图进行最大值池化,对池化后的第三特征图进行随机抽取,以输出第四特征图。

上述步骤具体可以是:所述第一残差模块对所述第三特征图进行卷积,卷积核为fr2=128,对卷积后的第三特征图进行最大值池化,池化窗口大小为2×2,移动步数为1,对池化后的第三特征图进行随机抽取,以输出维数为200×25×128的第四特征图。

步骤s144e:所述第二残差模块对所述第四特征图进行卷积,从卷积后的第四特征图中随机抽取第四预设比例的数据进行最大池化处理,对池化处理后的第四特征图按照第五预设比例再次进行抽取,以输出第五特征图。

上述步骤具体可以是:所述第二残差模块对所述第四特征图进行卷积,卷积核fb1=(128,128,128),从卷积后的第四特征图中随机抽取第四预设比例为0.8的数据进行最大池化处理,池化窗口大小为1×1,移动步数为1,对池化处理后的第四特征图按照第五预设比例为0.8再次进行抽取,以输出维数为200×25×128的第五特征图。

步骤s144f:所述第二残差模块对所述第五特征图进行卷积,从卷积后的第五特征图中随机抽取第六预设比例的数据,以输出第六特征图。

上述步骤具体可以是:所述第二残差模块对所述第五特征图进行卷积,卷积核fb2=(128,128,128),从卷积后的第五特征图中随机抽取第六预设比例为0.8的数据,以输出特征图维数为200×25×128的第六特征图。

步骤s144g:所述第一残差模块对所述第六特征图进行卷积,从卷积后的第六特征图作最大值池化,以得到第七特征图,并将该第七特征图转化为第一预设值大小的矩阵数据,并从该数据中随机抽取第七预设比例的数据后输出至第一全连接层,以全连接输出大小为第二预设值大小的矩阵数据并从该数据中随机抽取第八预设比例的数据,以及将该数据再次输入至第二全连接层,以全连接输出预测结果。

在本实施例中,上述步骤具体可以是:所述第一残差模块对所述第六特征图进行卷积,卷积核为fr3=128,从卷积后的第六特征图作最大值池化,池化窗口大小为1×1,移动步数为1,以得到维数为200×25×128的第七特征图,并将该第七特征图转化为200×3200大小的数据,并从该数据中随机抽取第七预设比例为0.7的数据后输出至单元大小为128的第一全连接层,以全连接输出大小为200×128的数据并从该数据中随机抽取第八预设比例为0.7的数据,以及将该数据再次输入至单元大小为1424的第二全连接层,输出最终大小为200×1424的预测结果。

步骤s144h:对所述预测结果和所述音频特征数据对应的拼音序列采用损失函数进行计算以得到损失值。

在本实施例中,所述损失函数为ctc损失函数,通过采用ctc损失函数作为模型的目标优化函数,不仅能将连续相同的符号合并为同一个符号,还降低模型设计的复杂度,使用ctc不需要预先对数据做对齐,只需要一个输入序列和一个输出序列即可训练。

步骤s144i:根据所述损失值调整所述残差卷积网络的参数以得到初始模型。

需要说明的是,上述第一残差模块卷积核个数设置为frn,输入的数据经过两层窗口大小为3×3、卷积核个数为f的卷积层,移动步数均为1,对第一个卷积层输出的数据做批归一化处理并使用relu激活函数处理再输入第二个卷积层,最后输出数据。上述的第二残差模块包含三个卷积层,卷积核个数分别设置为fbn=(f1、f2、f3),输入的数据经过第一层窗口大小为1×1、卷积核个数为f1的卷积层,移动步数均为1,再输入到第二层窗口大小为3×3、卷积核个数为f2的卷积层,最后输入到第三层窗口大小为1×1、卷积核个数为f3的卷积层,最后输出数据,且每两个卷积层之间均对数据做批归一化处理并使用relu激活函数处理。

步骤s146:将所述验证数据集输入至所述初始模型中以进行测试处理得到一声学模型。

其中,将所述验证数据集输入至初始模型中进行测试处理时,根据验证数据集的错误率和模型损失曲线图,到epoch(验证数据集被轮询次数)为1500左右时,损失函数降低到1.2左右,验证数据集预测错误率最优情况降到5%,此时loss(损失函数)会继续下降,但错误率趋于平稳,由此分析得到最优模型。其中模型输出中,往往包含大量连续重复的符号,这里我们使用ctc损失函数作为模型的目标优化函数,不仅能将连续相同的符号合并为同一个符号,还降低模型设计的复杂度,使用ctc不需要预先对数据对齐,只需要一个输入序列和一个输出序列即可训练。

通过采用上述建模方法获得的声学模型即可实现对语音数据进行识别以得到拼音序列,且通过上述的识别方法,相对于传统的gmm-hmm模型在准确率上有了很大的提升。同时在声学模型的输出中,采用损失函数出符号序列中大量连续重复的符号,为语音识别准确率的提升奠定了基础。

实施例二

请参阅图4,在上述实施例一的基础上,本发明还提供了一种可应用于电子设备的语音识别方法,该电子设备可以是但不限于电脑、手机或电视等,该方法应用于电子设备时,在进行语音识别时,使用上述实施例一中生成的声学模型进行语音识别,并执行步骤s210至步骤s230。

由于所述语音识别方法使用上述的实施例一中的声学模型,因此关于所述声学模型的具体描述可以参照上述实施例一的具体描述,在此不做一一赘述。

步骤s210:获得待识别语音数据。

其中,获得待识别语音数据的方式可以是获得语音识别模块采集到的语音数据,也可以是获得预存于电子设备中的语音数据,在此不做具体限定,根据实际需求进行设置即可。

可选的,在本实施例中,上述步骤s110包括:接收语音模块采集到的待识别语音数据。

步骤s220:采用所述声学模型对所述语音数据进行识别,以得到与所述语音数据对应的拼音序列。

步骤s230:对所述拼音序列进行解码得到文字序列,从而完成对所述待识别语音数据的识别。

请结合参阅图5,在本实施例中,上述步骤s230包括:

步骤s232:采用最大熵马尔科夫模型对所述拼音序列进行处理以得到文字信息。

步骤s234:对所述文字信息采用viterbi算法进行解码得到文字序列。

通过上述识别方法,使用残差卷积网络训练的声学模型,能够有效的将待识别语音数据的mfcc特征转化为拼音序列,最终使用memm解码得到文字,且以残差卷积网络为声学模型比传统模型对语音的识别率有很明显的提升,其准确率达到95%。

实施例三

本发明还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被处理器执行时,执行如上述的基于残差卷积网络的建模方法或语音识别方法。

所述存储器与所述处理器相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

所述电子设备可以是但不限于手机、电脑、电视或平板电脑,在此不做具体限定,根据实际需求进行设置即可。

由于所述电子设备能够执行上述的基于残差卷积网络的建模方法或语音识别方法,因此,所述电子设备具有与上述基于残差卷积网络的建模方法或语音识别方法相同或相应的技术特征并能达到相同或相应的技术效果,在此不作一一赘述。

综上,本发明提供的一种基于残差卷积神经网络的建模方法、语音识别方法及电子设备,通过对语料库中的音频数据进行特征提取以得到音频特征数据,并构建残差卷积网络以对音频特征数据进行训练得到声学模型,以在采用声学模型对待识别语音数据进行识别时,有效提高识别结果的准确性。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统和方法,也可以通过其它的方式实现。以上所描述的系统和方法实施例仅仅是示意性的。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1