一种声学模型训练方法及装置与流程
本申请实施例涉及自然语言处理技术,尤其涉及一种声学模型训练方法及装置。
背景技术:
语音识别(automaticspeechrecognition,简称asr)是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转换为相应的文本或命令的技术。随着信息技术的发展,语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音识别技术的应用场景也变得越来越广泛,例如语音识别技术可以应用在字幕添加、识别谈话中的敏感内容、人机交互等场景。
应用语音识别技术的语音识别器中包括声学模型(acousticmodel,简称am)以及语言模型(languagemodel,简称lm)。声学模型的主要功能是对语音特征向量序列进行音素标记,利用词典({词:音素})生成字符串序列,即,实现语音特征到音素的映射。语言模型的目的是根据声学模型输出的结果,给出最大概率的文字序列。
其中一种声学模型是混合声学模型,混合声学模型可以包括:gmm(高斯混合模型)-hmm(隐马尔科夫模型)声学模型和dnn(深度神经网络)-hmm声学模型。通常,dnn-hmm声学模型的训练需要gmm-hmm声学模型的迭代,提供音素状态对齐到音频帧的信息。gmm-hmm声学模型迭代包括平启动的单音素模型和经过三次迭代的三音素模型,每一次模型迭代,随机抽取的训练数据依次增加,模型设置逐渐复杂,建模能力依次增强,所提供的对齐信息也越发准确,最终提供稳定的对齐信息,用于更为复杂的lf-mmi(lattice-freemaximummutualinformation,免除网格的最大互信息)准则的dnn-hmm声学模型的训练。
然而,在实际的复杂场景中,使用以上训练流程得到的声学模型性能会受到干扰因素的影响,比如直播场景下获取的语音训练样本存在一定比例的口语化或者低信噪比的情况,一部分样本带有口音、吐字不清、噪声、背景音乐甚至由此导致的人工标注错误,这部分难样本的存在使得建模能力较弱的单音素模型收敛不好,性能不够好的初始单音素模型为三音素模型提供了过于粗糙的对齐信息,随后每一次迭代的模型均受到上一代对齐的影响,最终dnn-hmm语音识别的性能也将受到限制。
技术实现要素:
本申请提供一种声学模型训练方法及装置,以解决现有技术中在复杂场景中训练的声学模型性能受到干扰因素的影响的问题。
第一方面,本申请实施例提供了一种声学模型训练方法,所述方法包括:
确定样本集中各训练样本的样本难度值,并按照所述样本难度值对所述样本集的各训练样本进行排序;
对高斯混合声学模型进行迭代以训练深度神经网络声学模型,其中,所述训练的过程包括:按照预设的从易到难的策略,从排序后的样本集中选取不同难度以及不同数量的样本子集训练单音素模型和三音素模型,所述单音素模型对应的第一样本子集的难度以及数量小于所述三音素模型对应的第二样本子集的难度以及数量。
第二方面,本申请实施例还提供了一种声学模型训练装置,所述装置包括:
样本难度值确定模块,用于确定样本集中各训练样本的样本难度值,并按照所述样本难度值对所述样本集的各训练样本进行排序;
深度神经网络声学模型训练模块,用于对高斯混合声学模型进行迭代以训练深度神经网络声学模型,其中,所述训练的过程包括:按照预设的从易到难的策略,从排序后的样本集中选取不同难度以及不同数量的样本子集训练单音素模型和三音素模型,所述单音素模型对应的第一样本子集的难度以及数量小于所述三音素模型对应的第二样本子集的难度以及数量。
第三方面,本申请实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的声学模型训练方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的声学模型训练方法。
本申请具有如下有益效果:
在本实施例中,通过对训练样本的难易度量化来获得训练样本的样本难度值,并按照样本难度值对样本集中的训练样本排序。然后根据几次迭代中gmm-hmm模型的建模能力,按照预设的从易到难的策略,调整加入训练的数据量和难易程度,单音素模型捕捉其中相对简单的小部分训练数据进行训练,后续的三音素模型建模能力依次增强,则使用包含更多更难样本的训练数据子集。通过训练数据的调整,帮助gmm-hmm模型更好地收敛,获得更好的识别性能,从而为下一次迭代提供更准确的对齐信息,最终提升dnn-hmm混合模型的识别效果。
附图说明
图1是本申请实施例一提供的一种声学模型训练方法实施例的流程图;
图2是本申请实施例二提供的一种声学模型训练方法实施例的流程图;
图3是本申请实施例二提供的语音识别模型训练流程图;
图4是本申请实施例二提供的声学模型训练示意图;
图5是本申请实施例三提供的一种声学模型训练装置实施例的结构框图;
图6是本申请实施例六提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
实施例一
图1为本申请实施例一提供的一种声学模型训练方法实施例的流程图,本实施例可应用于复杂场景下dnn-hmm声学模型的训练,本实施例可以由训练装置实现,具体可以包括如下步骤:
步骤110,确定样本集中各训练样本的样本难度值,并按照所述样本难度值对所述样本集的各训练样本进行排序。
示例性的,一个训练样本可以为一个语言段。在本实施例中,针对训练数据的音频存在不同程度的口音和噪声等干扰的情形,可以对训练样本集的训练样本被识别的难易程度进行量化,获得各训练样本的样本难度值,即,样本难度值用于反映训练样本的识别难易程度。样本难度值越低表示对应的训练样本的识别难度越低,损失loss越小,例如干净的语音的样本难度值比较低;样本难度值越高表示对应的训练样本的识别难度越高,损失loss越大,例如噪声样本、难样本的样本难度值比较高。
在一种实现中,可以预先训练一个用于量化训练样本难易程度的模型,将各训练样本输入该模型后,可以获取该模型输出的该训练样本的样本难度值。例如,可以训练一个对音频音质或者发音可懂度的打分模型,通过模型对训练样本进行打分作为样本难度值。
获得各训练样本的样本难度值以后,则可以按照样本难度值对样本集的各训练样本进行排序,例如,可以按照样本难度值由小到大的顺序对训练样本进行升序排序。
步骤120,对高斯混合声学模型进行迭代以训练深度神经网络声学模型,其中,所述训练的过程包括:按照预设的从易到难的策略,从排序后的样本集中选取不同难度以及不同数量的样本子集训练单音素模型和三音素模型,所述单音素模型对应的第一样本子集的难度以及数量小于所述三音素模型对应的第二样本子集的难度以及数量。
在该步骤中,深度神经网络声学模型dnn-hmm的训练需要对高斯混合声学模型gmm-hmm进行迭代,提供音素状态对齐到音频帧的信息。在本实施例中,排序后的训练样本将遵循先易后难的策略依次加入到迭代对齐的训练流程。
在一种实现中,可以采用如下方式训练深度神经网络声学模型dnn-hmm模型:
1)训练gmm-hmm单音素模型:通过给每个音素状态平均分配语音时长来初始化对齐信息,在此基础上训练一个gmm-hmm单音素模型,得到初步的对齐信息。由于gmm-hmm单音素模型建模能力有限,在本实施例中,可以按照预设的从易到难的策略,从排序后的样本集中选取难度较小的一小部分训练样本作为第一样本子集,来训练单音素模型。
2)训练gmm-hmm三音素模型:以单音素模型的对齐信息为基础,进行三次gmm-hmm三音素模型的迭代。由于三音素模型的建模能力比单音素模型更强,并且随着对齐信息的逐步优化,每一次迭代可使用比上一次更复杂的建模技巧,训练数据的数量也依次增加。在本实施例中,可以按照预设的从易到难的策略,从排序后的样本集中选取难度和数量都适中的训练样本作为第二样本子集,来训练第一次迭代的三音素模型。其中,第一样本子集的难度以及数量小于第二样本子集的难度以及数量。
3)训练dnn-hmm声学模型:得到较为稳定的对齐结果后,可以使用更复杂的lf-mmi准则训练最终的dnn-hmm声学模型。
在本实施例中,通过对训练样本的难易度量化来获得训练样本的样本难度值,并按照样本难度值对样本集中的训练样本排序。然后根据几次迭代中gmm-hmm模型的建模能力,按照预设的从易到难的策略,调整加入训练的数据量和难易程度,单音素模型捕捉其中相对简单的小部分训练数据进行训练,后续的三音素模型建模能力依次增强,则使用包含更多更难样本的训练数据子集。通过训练数据的调整,帮助gmm-hmm模型更好地收敛,获得更好的识别性能,从而为下一次迭代提供更准确的对齐信息,最终提升dnn-hmm混合模型的识别效果。
实施例二
图2为本申请实施例二提供的一种声学模型训练方法实施例的流程图,本实施例在实施例一的基础上,提供了完整的dnn-hmm声学模型的训练示例,具体可以包括如下步骤:
步骤210,确定样本集中各训练样本的样本难度值,并按照所述样本难度值对所述样本集的各训练样本进行排序。
在本实施例中,针对训练数据的音频存在不同程度的口音和噪声等干扰的情形,可以对训练样本被识别的难易程度进行量化,获得各训练样本的样本难度值。
在一种实施例中,样本难度值可以包括字符错误率(charactererrorrate,简称cer),则步骤210中确定样本集中各训练样本的样本难度值的步骤进一步可以包括如下步骤:
步骤210-1,将各训练样本输入至已训练的语音识别模型中进行语音识别,获得所述语音识别模型输出的识别结果。
步骤210-2,基于各训练样本与对应的识别结果的比较,计算各训练样本的字符错误率。
在该实施例中,语音识别模型可以为比较简单的弱鲁棒性模型,其对难样本的识别能力比较差。采用该语音识别模型对各训练样本进行语音识别得到的识别结果,可以与对应训练样本的文本进行比较,以计算各训练样本的字符错误率cer,cer可以近似反映样本的难易程度,cer越高则认为样本越难识别。其中,上述训练样本的文本为该训练样本的语音段对应的正确文本。
在一种例子中,可以采用如下方式计算每一条训练样本的cer:
cer=(s+d+i)/n=(s+d+i)/(s+d+h)
其中,s为替换的字数,d为删除的字数,i为插入的字数,h为正确的字数,n为(s替换+d删除+h正确)的字数。
获得各训练样本的cer以后,则可以按照cer由低到高对样本集的各训练样本进行排序。
在一种实施方式中,如图3所示的语音识别模型训练流程图,语音识别模型可以采用如下方式生成:
步骤310,采用干净数据训练小型声学模型。
在该实施例中,干净数据可以为区别于自有训练样本的、其他来源的数据。例如,可以从开源数据集中获取干净数据。
在实现时,如图4所示,可以采用干净数据训练一个结构简单的小型声学模型,训练的方法可以采用现有的声学模型训练方法。
步骤320,采用所述训练样本的文本训练二元语言模型。
在该步骤中,如图4所示,可以基于现有的语言模型训练方法,采用步骤210中的样本集中的各训练样本的文本训练一个简单的二元语言模型。
步骤330,基于所述小型声学模型及所述二元语言模型构建所述语音识别模型。
当获得小型声学模型与二元语言模型以后,可以将两者结合成语音识别模型,由于声学模型中的干净数据的不匹配以及过于干净,将两者结合时得到的是一个鲁棒性较差的语音识别模型。
步骤220,从所述样本难度值最低的第一比例的训练样本中,抽取第一数量的训练样本生成第一训练子集,并采用所述第一训练子集训练单音素模型。
在该步骤中,单音素模型即gmm-hmm单音素声学模型,考虑到单音素模型的建模能力最弱,对于前述的排序后的训练样本,可以从样本难度值最低的第一比例的训练样本中,抽取第一数量的训练样本生成第一训练子集,用于训练单音素模型。例如,从cer最低的前30%的训练样本中,均匀采样得到总数据量10%的训练样本,作为第一训练子集(即图4中的子集1)。该第一训练子集中的训练样本发音清晰、噪声较少,有助于单音素模型收敛得更好,提升其识别能力,从而为后边的三音素模型提供更准确的对齐信息。
步骤230,根据所述单音素模型确定各训练样本的第一对齐信息。
示例性地,第一对齐信息中可以包括多个对齐关系,所述对齐关系为一个时间段的音频帧序列及与其对齐的音素状态的对齐关系。
在该步骤中,在训练得到gmm-hmm单音素声学模型以后,可以将各训练样本输入至该gmm-hmm单音素声学模型中,并获得单音素声学模型的hmm模型输出的音素状态序列作为第一对齐信息。
步骤240,从所述样本难度值最低的第二比例的训练样本中,抽取第二数量的训练样本生成第二训练子集,并采用所述第二训练子集以及所述第一对齐信息训练三音素模型,其中,所述第二比例大于所述第一比例,所述第二数量大于所述第一数量。
在该步骤中,三音素模型即gmm-hmm三音素声学模型,由于三音素模型的建模能力比单音素模型更强,则可以增加训练样本的数量和难度。具体的,对于前述的排序后的训练样本,可以从样本难度值最低的第二比例的训练样本中,抽取第二数量的训练样本生成第二训练子集,用于训练三音素模型,其中,第二比例大于第一比例,第二数量大于第一数量。例如,从cer最低的前60%的训练样本中,均匀采样得到总数据量30%的训练样本,作为第二训练子集(即图4中的子集2)。该第二训练子集中的训练样本难度不太高也不太低,可以匹配三音素模型的建模能力,有助于三音素模型收敛和性能提升。
步骤250,根据所述三音素模型确定各训练样本的第二对齐信息。
示例性地,第二对齐信息中可以包括多个对齐关系,所述对齐关系为一个时间段的音频帧序列及与其对齐的音素状态的对齐关系。
在该步骤中,在训练得到gmm-hmm三音素声学模型以后,可以将各训练样本输入至该gmm-hmm三音素声学模型中,并获得三音素声学模型的hmm模型输出的音素状态序列作为第二对齐信息。
步骤260,采用全集的训练样本以及所述第二对齐信息对所述三音素模型进行迭代,并根据迭代后的三音素模型确定各训练样本的第三对齐信息。
经过前两次gmm-hmm模型迭代,得到的第二对齐信息已经是相对稳定的对齐信息,则步骤260和步骤270的两次迭代的训练数据可以使用全部的训练样本,采用全集的训练样本以及第二对齐信息训练三音素模型,以实现对三音素模型的迭代,然后获得经由迭代后的三音素模型生成的第三对齐信息。
步骤270,采用全集的训练样本以及所述第三对齐信息对所述三音素模型进行再次迭代,并根据再次迭代后的三音素模型确定各训练样本的第四对齐信息。
在该步骤中,步骤270相比于步骤260的迭代过程,步骤270采用全集的训练样本以及第三对齐信息训练三音素模型时,可以使用更复杂的模型设置,例如,包括对mfcc(melfrequencycepstrumcoefficient,梅尔频率倒谱系数)特征进行lda(lineardiscriminantanalysis,线性鉴别分析)和mllt(maximumlikelihoodlineartransform,最大似然线性变换)变换,设置更大的gmm分量个数等。
在上述的迭代过程中,通过调整匹配模型建模能力的数据量和样本难度,可以得到更好的gmm-hmm模型性能,为最终的dnn-hmm声学模型提供了更准确的对齐信息。
步骤280,采用全集的训练样本以及所述第四对齐信息训练深度神经网络声学模型。
在该步骤中,根据gmm-hmm声学模型提供的稳定对齐信息(即第四对齐信息),可以采用lf-mmi准则训练dnn-hmm声学模型。
需要说明的是,上述步骤260和步骤270的两次迭代使用的训练数据为全部的训练样本是本实施例的一种示例说明,在实际处理时,还可以按需调整总迭代次数以及每次迭代使用的训练样本的比例和难度。
在该实施例中,在训练dnn-hmm声学模型时,对于训练数据带有噪声或者口音等干扰因素的情形,根据gmm-hmm迭代模型的建模能力,选取不同数量和难度的样本子集进行训练,帮助模型收敛,从而为dnn-hmm提供更准确的对齐信息,最终提升语音识别的性能。
实施例三
图5为本申请实施例三提供的一种声学模型训练装置实施例的结构框图,该声学模型训练装置位于服务器中,可以包括如下模块:
样本难度值确定模块510,用于确定样本集中各训练样本的样本难度值,并按照所述样本难度值对所述样本集的各训练样本进行排序;
深度神经网络声学模型训练模块520,用于对高斯混合声学模型进行迭代以训练深度神经网络声学模型,其中,所述训练的过程包括:按照预设的从易到难的策略,从排序后的样本集中选取不同难度以及不同数量的样本子集训练单音素模型和三音素模型,所述单音素模型对应的第一样本子集的难度以及数量小于所述三音素模型对应的第二样本子集的难度以及数量。
在一种实施方式中,所述深度神经网络声学模型训练模块520具体用于:
从所述样本难度值最低的第一比例的训练样本中,抽取第一数量的训练样本生成第一训练子集,并采用所述第一训练子集训练单音素模型;
根据所述单音素模型确定各训练样本的第一对齐信息;
从所述样本难度值最低的第二比例的训练样本中,抽取第二数量的训练样本生成第二训练子集,并采用所述第二训练子集以及所述第一对齐信息训练三音素模型,其中,所述第二比例大于所述第一比例,所述第二数量大于所述第一数量。
在一种实施方式中,所述深度神经网络声学模型训练模块520还用于:
根据所述三音素模型确定各训练样本的第二对齐信息;
采用全集的训练样本以及所述第二对齐信息对所述三音素模型进行迭代,并根据迭代后的三音素模型确定各训练样本的第三对齐信息;
采用全集的训练样本以及所述第三对齐信息对所述三音素模型进行再次迭代,并根据再次迭代后的三音素模型确定各训练样本的第四对齐信息;
采用全集的训练样本以及所述第四对齐信息训练深度神经网络声学模型。
在一种实施方式中,所述样本难度值包括字符错误率,所述样本难度值确定模块510具体用于:
将各训练样本输入至已训练的语音识别模型中进行语音识别,获得所述语音识别模型输出的识别结果;
将各训练样本对应的文本与所述识别结果比较,计算各训练样本的字符错误率。
在一种实施方式中,所述语音识别模型采用如下方式生成:
采用干净数据训练小型声学模型,所述干净数据为区别于自有训练样本的、其他来源的数据;
采用所述训练样本的文本训练二元语言模型;
基于所述小型声学模型及所述二元语言模型构建所述语音识别模型。
需要说明的是,本申请实施例所提供的上述声学模型训练装置可执行本申请任意实施例所提供的声学模型训练方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6为本申请实施例四提供的一种服务器的结构示意图,如图6所示,该服务器包括处理器610、存储器620、输入装置630和输出装置640;服务器中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;服务器中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的声学模型训练方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的方法。
存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置630可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。
实施例五
本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由服务器的处理器执行时用于执行实施例一至实施例二中任一实施例中的方法。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除