掌桥专利:专业的专利平台
掌桥专利
首页

模型训练方法、装置及电子设备

文献发布时间:2023-06-19 10:14:56


模型训练方法、装置及电子设备

技术领域

本公开涉及计算机技术领域/语音识别技术领域,更具体地,涉及一种模型训练方法、装置及电子设备。

背景技术

自动语音识别(Automatic speech recognition,ASR)是指将人类的讲话内容自动转换为文字的技术。目前语音识别技术已经应用在智能系统的多个方面,例如个人助理和会议转写等。随着深度神经网络技术的快速发展和广泛应用,大词汇量的连续语音识别效果在近年来取得了显著的提升。其中,基于注意力机制的编码-解码器模型(Attentionbased encoder-decoder model)由于其端到端(End-to-end)的特性,极大的简化了语音识别模型在训练和应用上的复杂度,因而成为目前的语音识别的主流方法。基于注意力机制的编码-解码器模型使用深层神经网络来构建编码器(Encoder)和解码器(Decoder),并配以注意力机制(Attention)来连接两个部分。由于其不对语音的时序独立性做任何假设,且不需要发音词典和复杂的训练流程,故而充分的训练数据成为保证这种模型取得良好识别性能的必要条件。

语音识别领域需求的增长,使得越来越多的语音识别系统需要在资源受限的条件下快速的搭建起来,例如,应用于小语种的语音识别系统。然而,这种情况下开发者通常缺乏充分的带标签的训练数据,而人工的数据标签通常需要付出高昂的成本,相比之下,无标签的语音数据却可以通过互联网和移动终端快速大量地收集。因此,在有标签数据受限的条件下,充分利用无标签语音数据来辅助模型的训练,从而提升语音识别系统的性能,即半监督语音识别(Semi-supervised speech recognition)逐渐成为语音识别领域广泛关注的课题。

在基于注意力机制的编码-解码器模型的框架下,现有的半监督语音识别方法可以分为两大类。第一类方法涉及以重建语音信号的方式来使用无标签的语音数据,通常包含一个额外的模块实现这种功能,例如语音合成(Text-to-speech,TTS)模块。在这类方法中,无标签数据先经过语音识别的部分网络来得到隐层表示,再通过附加的模块来映射回语音信号,以此来使语音识别网络学习到更好的表达能力。在一定程度上促进识别性能的同时,这类方法也面临着辅助任务不匹配(重建损失函数与识别损失函数不匹配)、梯度回传不畅(识别网络的输出使离散符号,梯度难以从此回传至识别网络内部)的问题和挑战。

另一类方法不引入任何附加的模块和损失函数,而是通过给无标签数据样本添加伪标签的方式,把它们看作是有标签数据来共同训练,因此被称作伪标签(Pseudo-labeling)法。这类方法通常需要先使用一个已有的语音识别模型来为无标签数据生成伪标签,然后再将所有数据和它们的标签一起训练一个新的模型。已有的模型通常是在资源受限的条件下使用有标签数据训练得到的,称之为教师模型(Teacher model),新模型对应地称为学生模型(Student model),因此这类方法又被成为教师-学生(Teacher-studentlearning)方法。一个典型的情况是教师和学生公用同一种模型结构,在这种情景下该方法又被称为自训练(Self-training)法。在伪标签法中,如何在教师模型性能受限的条件下提升伪标签的质量,为学生模型提供更好的监督信息,成为最终促进语音识别性能的关键。

综上所述,在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:1)单纯地使用教师模型的预测字符序列作为无监督数据的标签,不足以提供有效的监督信息,或者说这种监督信息是存在严重偏差(偏向教师模型)的;2)伪标签提供的监督信息的有效性是相对的,即在不同的任务难度下,同样的伪标签提供的监督信息的有效性是不同的。

发明内容

有鉴于此,本公开提供了一种模型训练方法、装置及电子设备。

本公开的实施例一个方面提供了一种模型训练方法,包括:获取语音样本,上述语音样本包括有标签语音样本和无标签语音样本;利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型;将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,上述第一伪标签为最优解码序列,上述第二伪标签为上述最优解码序列对应的条件后验分布序列;将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率,以及计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当上述交叉熵损失值满足预设条件时,得到经训练得到的第二语音识别模型。

根据本公开的实施例,将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,包括:上述第一语音识别模型利用线束搜索算法输出上述语音样本中每条语音样本对应的第一伪标签;上述第一语音识别模型利用前缀解码线束输出上述语音样本中每条语音样本对应的第二伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

根据本公开的实施例,将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,包括:上述第一语音识别模型利用线束搜索算法输出上述第一伪标签;将前缀解码线束输入语言模型,输出上述语音样本中每条语音样本对应的第一初始伪标签;将上述前缀解码线束输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第二初始伪标签;将上述第一初始伪标签和上述第二初始伪标签进行加权计算得到上述第二伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,通过频谱增强对上述语音样本进行干扰。

根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,通过频谱增强和随机丢弃机制对上述语音样本进行干扰。

根据本公开的实施例,利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型,包括:将上述有标签语音样本和上述有标签语音样本的样本标签输入上述第一初始语音识别模型,输出上述有标签语音样本的标签预测概率,以及计算上述有标签语音样本的标签预测概率和上述有标签语音样本的样本标签之间的交叉熵损失值,当上述交叉熵损失值达到上述预设条件时,得到经训练得到的第一语音识别模型。

根据本公开的实施例,将上述有标签语音样本和上述有标签语音样本的样本标签输入上述第一初始语音识别模型,输出上述有标签语音样本的标签预测概率,包括:利用编码器将上述有标签语音样本映射为第一上下文信息的隐层表示;将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示;利用上述解码器对上述第二上下文信息的隐层表示进行解码,输入所述第二上下文信息和所述有标签语音样本的上一步的标签,获得当前步的输出状态,并将上述当前步的输出状态经过分类层,输出上述有标签语音样本的当前步的标签的预测概率。

根据本公开的实施例,可选地,上述第一初始语音识别模型和上述第二初始语音识别模型采用同样的网络模型结构。

本公开的另一个方面提供了一种模型训练装置,包括:第一获取模块,用于获取语音样本,上述语音样本包括有标签语音样本和无标签语音样本;第一训练模块,用于利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型;第二获取模块,用于将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,上述第一伪标签为最优解码序列,上述第二伪标签为上述最优解码序列对应的条件后验分布序列;第二训练模块,用于将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率,以及计算模块,用于计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当上述交叉熵损失值达到最小值时,得到经训练得到的第二语音识别模型。

本公开的另一方面提供了一种电子设备,包括:“个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。

本公开的另一方面提供了一种计算机程序产品,上述计算机程序产品中的计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上所述的方法。

根据本公开的实施例,因为使用来自第一语音识别模型输出的两类伪标签:最优解码序列和上述最优解码序列对应的条件后验分布序列,并将最优解码序列对应的条件后验分布序列作为第二语音识别模型的优化目标,所以至少部分地克服了现有技术中的半监督语音识别训练方法提供的伪标签监督信息不够丰富,不能很好的覆盖到输入语音的多样性,且无法保证产生伪标签的质量的技术问题,进而,相比于现有技术,伪标签信息更加充足且有效,可以传递更多的监督信息来缓解标签质量差的问题,缓解了由于数据多样性和第一语音识别模型能力不足带来的标签质量不足的问题;从而可以利用大量的同源无标签语音样本,促进有标签语音样本数量受限条件下的端到端语音识别性能。

此外,本公开实施例提供的模型训练方法相对于传统的教师-学生方法,几乎不引入额外的计算量和模型参数,从而可以方便地嵌入到经典的端到端语音识别框架中,应用范围广。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的一种模型训练方法的流程图;

图2示意性示出了根据本公开实施例的另一种模型训练方法的流程图;

图3示意性示出了根据本公开实施例的另一种模型训练方法的流程图;

图4示意性示出了根据本公开实施例的一种模型训练装置的框图;以及

图5示意性示出了根据本公开实施例的适于实现模型训练方法的电子设备的框图;

图6示意性示出了根据本公开实施例的一种模型训练方法中操作为S103~S105的系统流程图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

现有技术中,单纯地使用教师模型的预测字符序列作为无监督数据的标签,不足以提供有效的监督信息,或者说这种监督信息是存在严重偏差(偏向教师模型)的;另外,伪标签提供的监督信息的有效性是相对的,即在不同的任务难度下,同样的伪标签提供的监督信息的有效性是不同的。

为了解决现有技术中的上述问题,在有标签数据和无标签数据给定的前提下,半监督伪标签训练方法对语音识别性能提升的关键,在于伪标签的质量,而后者依赖于教师模型的性能和数据筛选机制。本公开从提升伪标签监督质量着手,提供了一种可以给被训练模型提供有效且充足的监督信息的模型训练方法,以及一种模型训练装置及电子设备。

下面结合具体实施例来说明。

图1示意性示出了根据本公开实施例的一种模型训练方法的流程图。

如图1所述,该方法包括操作S101~S105。

在操作S101,获取语音样本,其中,语音样本包括有标签语音样本和无标签语音样本。

在操作S102,利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型。

在操作S103,将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,第一伪标签为最优解码序列,第二伪标签为上述最优解码序列对应的条件后验分布序列。

在操作S104,将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率。

在操作S105,以及计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,以此来更新第二语音识别模型,当上述交叉熵损失值满足预设条件时,得到经训练得到的第二语音识别模型。

可选地,根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,通过频谱增强对上述语音样本进行干扰。

可选地,根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,通过频谱增强和随机丢弃机制对上述语音样本进行干扰。具体地,使用频谱增强技术(Spectrum augmentation)作为扰动函数,即,随机掩蔽掉输入梅尔谱X的一段连续的时域带或频域带,或对梅尔谱进行时间扭曲,同时,采用对模型层面的扰动技术如随机丢弃机制(dropout)应用于此。

本公开实施例提供的模型训练方法中,此种做法,为了使两种伪标签提供的监督信息相对得更加有效,语音样本输入第二初始语音识别模型前,对该语音样本进行干扰,第二初始语音识别模型接收到扰动后,将更难输出正确的预测字符,因此语音样本的标签预测概率和语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值总是保持着一个相对有效的值,它为梯度下降的优化算法提供了更好的监督信息。通过对输入被训练模型(第二初始语音识别模型)的语音样本进行干扰,给被训练模型增加训练难度,通过反向训练,进一步地提升了伪标签信息对于被训练模型的有效性。具体讲,在不添加扰动的前提下,第二初始语音识别模型很容易做到与第一语音识别模型同样的预测能力,那么这个时候通过调整第二初始语音识别模型的参数也不能增加其性能,假若人为给第二初始语音识别模型制造难度,那么为了达到与第一语音识别模型相同的预测结果,就会更加依赖与模型参数的调优,迫使第二语音识别模型通过自身模型的优化来抵消人为对样本数据的破坏。据此,训练好的第二语音识别模型在之后的测试过程中,即便对输入其的语音样本不添加扰动也可以得到更好的测试性能。

可见,通过添加扰动,使第二初始语音识别模型面临更难的识别任务,在受到扰动后难以输出与第二伪标签同等质量的概率分布,从而提升了第二伪标签作为优化目标时的有效性。

可选地,根据本公开的实施例,可选地,上述第一初始语音识别模型和上述第二初始语音识别模型采用同样的网络模型结构。第一初始语音识别模型和上述第二初始语音识别模型,均采用基于注意力机制的编码-解码器模型(Attention based encoder-decodermodel),该基于注意力机制的编码-解码器模型包括:

编码器模块,用于将有标签的语音样本映射为第一上下文信息的隐层表示;

注意力模块,用于解码时抓取上下文信息,将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示;

解码器模块,用于对上述第二上下文信息的隐层表示进行解码,获得当前步的输出状态,并以上述当前步的输出状态为输入自回归式地得到下一步的输出状态,并将上述下一步的输出状态经过分类层,输出有标签的语音样本的标签预测概率。

为了更清楚地说明本申请实施例中的技术方案,可参考图6,如图6示意性示出了根据本公开实施例的一种模型训练方法中操作为S103~S105的系统框图。

虚线框内是预先训练得到的第一语音识别模型;不含标签的有标签语音样本和无标签语音样本X={x

经过第一语音识别模型时,输出所述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,所述第一伪标签为最优解码序列,所述第二伪标签为所述最优解码序列对应的条件后验分布序列。

经过第二初始语音识别模型时,先通过扰动模块和编码器模块得到第一上下文信息的隐层表示:

H={h

这里T′和T分别表示语音特征和高级表征的长度,从T′到T是一个降采样的过程;然后再经过注意力模块(注意力机制函数)和解码器模块自回归式地得到当前的解码输出概率

最后,通过损失函数计算每条所述语音样本的标签预测概率和所述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当所述交叉熵损失值满足预设条件时,得到经训练得到的第二语音识别模型。

根据本公开的实施例,因为使用来自第一语音识别模型输出的两类伪标签:最优解码序列和上述最优解码序列对应的条件后验分布序列,并将最优解码序列对应的条件后验分布序列作为第二语音识别模型的优化目标,所以至少部分地克服了现有技术中的半监督语音识别训练方法提供的伪标签监督信息不够丰富,不能很好的覆盖到输入语音的多样性,且无法保证产生伪标签的质量的技术问题,进而,相比于现有技术,伪标签信息更加充足且有效,可以传递更多的监督信息来缓解标签质量差的问题,缓解了由于数据多样性和第一语音识别模型能力不足带来的标签质量不足的问题;从而可以利用大量的同源无标签语音样本,促进有标签语音样本数量受限条件下的端到端语音识别性能,从而提高伪标签的监督信息的丰富性和有效性,最终提升语音识别的性能。通过引入解码后验概率分布作为优化目标,扩充了伪标签的信息量,为监督信号提供了更多的可能性,缓解了由于数据多样性和教师模型能力不足等问题带来的伪标签质量不足或伪标签存在偏差的问题。

图2示意性示出了根据本公开实施例的另一种模型训练方法的流程图。

如图2所述,该方法包括操作S201~S209。

在操作S201,获取语音样本,其中,语音样本包括有标签语音样本和无标签语音样本,本实施例中,有标签语音样本的样本标签采用文本标注(即采用字符序列作为表征)。

在操作S202,利用编码器将上述有标签语音样本映射为第一上下文信息的隐层表示。

在操作S203,将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示。

在操作S204,利用上述解码器对所述第二上下文信息的隐层表示进行解码,输入上述第二上下文信息和上述有标签语音样本的上一步的标签,获得当前步的输出状态,并将上述当前步的输出状态经过分类层,输出上述有标签语音样本的当前步的标签的预测概率。

在操作S205,计算上述有标签语音样本的标签预测概率和上述有标签语音样本的样本标签之间的交叉熵损失值,当上述交叉熵损失值达到上述预设条件时,得到经训练得到的第一语音识别模型。

上述操作S201~S205,用于采用有标签语音样本和有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型,具体地,采用如下操作:

第一初始语音识别模型中,输入:有标签语音样本的对数梅尔谱X及其对应的标注字符序列Y(即有标签语音样本的样本标签)组成的数据集{(X,Y)};输出:训练好的教师第一语音识别模型

H={h

这里T′和T分别表示语音帧和隐层表示的长度,从T′到T是一个降采样的过程。编码器模块由二维卷积(CNN)和双向长短记忆层(BiLSTM)级联组成。随后,第一上下文信息的隐层表示H通过注意力机制(函数Att)进行加权计算,获得加权后的第二上下文信息的隐层表示c

c

c

这里的

下标t表示第一语音识别模型。于是在计算下一步解码器状态时,所需要的

其中

在操作S206,第一语音识别模型利用线束搜索算法输出所有有标签语音样本和无标签语音样本中每条语音样本对应的第一伪标签。

在操作S207,第一语音识别模型利用前缀解码线束输出所有有标签语音样本和无标签语音样本中每条语音样本对应的第二伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

上述操作S206~S207,用于使用训练好的第一语音识别模型为无标签语音样本生成两类伪标签,即,将所述有标签语音样本和所述无标签语音样本分别输入所述第一语音识别模型,输出所述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,所述第一伪标签为最优解码序列,所述第二伪标签为所述最优解码序列对应的条件后验分布序列。具体操作如下:

将全部语音样本的对数梅尔谱X

以及条件后验分布序列

此处,第一语音识别模型使用线束搜索(Beam search)算法来寻找最优解码序列。当线束搜索算法执行至第i步时,对于每一条已经得到的前缀解码线束

在操作S208,将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率。

在操作S209,计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当上述交叉熵损失值满足预设条件时,得到经训练得到的第二语音识别模型。

上述操作S208和S209,用于使用生成的两种伪标签训练第二初始语音识别模型,得到经训练得到的第二语音识别模型。具体操作如下:

将每条上述语音样本和每条上述语音样本对应的第一伪标签

此处,第二初始语音识别模型采用与第一语音识别模型同样的网络结构,不同的地方在于使用的语音数据和标签。此处,把最优解码序列

这里,

图3意性示出了根据本公开实施例的另一种模型训练方法的流程图。

如图3述,该方法包括操作S301~S311。

在操作S301,获取语音样本,其中,语音样本包括有标签语音样本和无标签语音样本。

在操作S302,利用编码器将上述有标签语音样本映射为第一上下文信息的隐层表示。

在操作S303,将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示。

在操作S304,利用上述解码器对上述第二上下文信息的隐层表示进行解码,获得当前步的输出状态,并以上述当前步的输出状态为输入自回归式地得到下一步的输出状态,并将上述下一步的输出状态经过分类层,输出上述有标签语音样本的标签预测概率。

在操作S305,计算上述有标签语音样本的标签预测概率和上述有标签语音样本的样本标签之间的交叉熵损失值,当上述交叉熵损失值达到上述预设条件时,得到经训练得到的第一语音识别模型。

在操作S306,第一语音识别模型利用线束搜索算法输出所有有标签语音样本和无标签语音样本中每条语音样本对应的第一伪标签。

在操作S307,将前缀解码线束输入语言模型,输出所有有标签语音样本和无标签语音样本中每条语音样本对应的第一初始伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

在操作S308,将前缀解码线束输入上述第一语音识别模型,输出所有有标签语音样本和无标签语音样本中每条语音样本对应的第二初始伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

在操作S309,将上述第一初始伪标签和上述第二初始伪标签进行加权计算得到上述第二伪标签。

在操作S310,将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率。

在操作S311,计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当上述交叉熵损失值满足预设条件时,得到经训练得到的第二语音识别模型。

该实施例所示模型训练方法与图2中实施例示出的模型训练方法大体相同,区别在于第二伪标签的获取方式有所不同,具体见操作S307~操作S309,此处,在对第一语音识别模型使用线束搜索算法时,结合一个语言模型(Language model,LM)使解码路径和条件后验分布更准确,此时第i步的条件后验分布为:

其中,p

图4示意性示出了根据本公开实施例的一种模型训练装置的框图。

如图4所示,模型训练装置400包括第一获取模块401、第一训练模块402、第二获取模块403、第二训练模块404和计算模块405;

第一获取模块401,用于获取语音样本,上述语音样本包括有标签语音样本和无标签语音样本;

第一训练模块402,用于利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型;

第二获取模块403,用于将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,上述第一伪标签为最优解码序列,上述第二伪标签为上述最优解码序列对应的条件后验分布序列;

第二训练模块404,用于将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率,

以及计算模块405,用于计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,以此来更新第二语音识别模型,当上述交叉熵损失值达到最小值时,得到经训练得到的第二语音识别模型。

其中,第一初始语音识别模型和第二初始语音识别模型均采用基于注意力机制的编码-解码器模型(Attention based encoder-decoder model),该基于注意力机制的编码-解码器模型包括:

编码器模块,用于将有标签的语音样本映射为第一上下文信息的隐层表示;

注意力模块,用于解码时抓取上下文信息,将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示;

解码器模块,用于对上述第二上下文信息的隐层表示进行解码,获得当前步的输出状态,并以上述当前步的输出状态为输入自回归式地得到下一步的输出状态,并将上述下一步的输出状态经过分类层,输出有标签的语音样本的标签预测概率。

可选地,编码器模块由多层循环神经网络或多层自注意力网络构成;解码器模块由多层循环神经网络或多层自注意力网络构成;注意力模块由可训练的神经网络构成。

根据本公开实施例的技术方案,通过第一获取模块401获取语音样本,通过第一训练模块402得到经训练得到的第一语音识别模型;通过第二获取模块403,输出语音样本中每条语音样本对应的第一伪标签和第二伪标签,其中,上述第一伪标签为最优解码序列,上述第二伪标签为上述最优解码序列对应的条件后验分布序列;通过第二训练模块404将每条上述语音样本和每条上述语音样本对应的第一伪标签输入第二初始语音识别模型,输出每条上述语音样本的标签预测概率;以及通过计算模块405,计算每条上述语音样本的标签预测概率和上述语音样本中每条语音样本对应的第二伪标签之间的交叉熵损失值,当上述交叉熵损失值达到最小值时,得到经训练得到的第二语音识别模型。因为使用来自第一语音识别模型输出的两类伪标签:最优解码序列和上述最优解码序列对应的条件后验分布序列,并将最优解码序列对应的条件后验分布序列作为第二语音识别模型的优化目标,所以至少部分地克服了现有技术中的半监督语音识别训练方法提供的伪标签监督信息不够丰富,不能很好的覆盖到输入语音的多样性,且无法保证产生伪标签的质量的技术问题,进而,相比于现有技术,伪标签信息更加充足且有效,可以传递更多的监督信息来缓解标签质量差的问题,缓解了由于数据多样性和第一语音识别模型能力不足带来的标签质量不足的问题;从而可以利用大量的同源无标签语音样本,促进有标签语音样本数量受限条件下的端到端语音识别性能,从而提高伪标签的监督信息的丰富性和有效性,最终提升语音识别的性能。通过引入解码后验概率分布作为优化目标,扩充了伪标签的信息量,为监督信号提供了更多的可能性,缓解了由于数据多样性和教师模型能力不足等问题带来的伪标签质量不足或伪标签存在偏差的问题。

可选地,根据本公开的实施例,将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,可以包括如下操作:上述第一语音识别模型利用线束搜索算法输出上述语音样本中每条语音样本对应的第一伪标签;上述第一语音识别模型利用前缀解码线束输出上述语音样本中每条语音样本对应的第二伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

可选地,根据本公开的实施例,将上述有标签语音样本和上述无标签语音样本分别输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第一伪标签和第二伪标签,可以包括如下操作:上述第一语音识别模型利用线束搜索算法输出上述第一伪标签;将前缀解码线束输入一语言模型,输出上述语音样本中每条语音样本对应的第一初始伪标签;将上述前缀解码线束输入上述第一语音识别模型,输出上述语音样本中每条语音样本对应的第二初始伪标签;将上述第一初始伪标签和上述第二初始伪标签进行加权计算得到上述第二伪标签,其中,上述前缀解码线束由上述线束搜索算法获得。

可选地,根据本公开的实施例,在第二初始语音识别模型前,可添加扰动模块。

具体地,根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,扰动模块通过频谱增强对上述语音样本进行干扰。

具体地,根据本公开的实施例,将每条上述语音样本输入第二初始语音识别模型前,扰动模块通过频谱增强和随机丢弃机制对上述语音样本进行干扰。

可选地,根据本公开的实施例,利用上述有标签语音样本和上述有标签语音样本的样本标签训练第一初始语音识别模型,得到经训练得到的第一语音识别模型,可以包括如下操作:将上述有标签语音样本和上述有标签语音样本的样本标签输入上述第一初始语音识别模型,输出上述有标签语音样本的标签预测概率,以及计算上述有标签语音样本的标签预测概率和上述有标签语音样本的样本标签之间的交叉熵损失值,当上述交叉熵损失值达到上述预设条件时,得到经训练得到的第一语音识别模型。

可选地,根据本公开的实施例,将上述有标签语音样本和上述有标签语音样本的样本标签输入上述第一初始语音识别模型,输出上述有标签语音样本的标签预测概率,可以包括如下操作:利用编码器将上述有标签语音样本映射为第一上下文信息的隐层表示;将上述第一上下文信息的隐层表示通过注意力机制函数进行加权计算获得第二上下文信息的隐层表示;利用上述解码器对上述第二上下文信息的隐层表示进行解码,获得当前步的输出状态,并以上述当前步的输出状态为输入自回归式地得到下一步的输出状态,并将上述下一步的输出状态经过分类层,输出上述有标签语音样本的标签预测概率。

可选地,根据本公开的实施例,上述第一初始语音识别模型和上述第二初始语音识别模型采用同样的网络模型结构。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一获取模块401、第一训练模块402、第二获取模块403、第二训练模块404和计算模块405中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块401、第一训练模块402、第二获取模块403、第二训练模块404和计算模块405中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块401、第一训练模块402、第二获取模块403、第二训练模块404和计算模块405中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的模型训练方法。

图5示意性示出了根据本公开实施例的适于实现模型训练方法的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器50l例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开的另一方面提供了一种计算机程序,上述计算机程序包括计算机可执行指令,上述指令在被执行时用于实现如上上述的方法。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

为了验证本公开的实施提供的模型训练方法的有效性,设计并进行了以下实验:

(1)实验设置:

本实验使用数据来自开源英语数据集Librispeech,包含约100小时的有标签语音样本数据、360小时的无标签语音样本数据,以及分别为10小时的验证样本数据和测试样本数据。其中,有标签语音样本数据及其样本标签用以训练第一初始语音识别模型,额外的无标签语音样本数据与有标签语音样本的语音部分合在一起训练第二初始语音识别模型,验证样本数据和测试样本数据用来衡量模型的识别性能。

本实验的第一初始语音识别模型和第二初始语音识别模型使用基于长短记忆单元(LSTM)的编码器和解码器,层数分别为6层和2层,建模维度分别为双向2×512和单向512,单个模型参数量约为30M。频谱增强技术(spectrum augmentation)和dropout(随机丢弃机制)构成本实验的扰动模块。第一语音识别模型生成两种伪标签时,使用线束大小为10的线束搜索算法。同时,验证集和测试集的解码结果均使用了上述的线束搜索算法。模型使用pytorch框架实现,并使用Adadelta优化器训练,当验证集效果不再提升时,认为模型收敛,结束训练。

(2)实验结果:

本实验得到的实验结果如表1所示。

其中,Train Label为transcript表示使用真实提供的样本标签训练第二初始语音识别模型的结果;

1-best表示仅使用第一语音识别模型产生的最优解码序列作为输入第二初始语音识别模型的标签来训练第二初始语音识别模型的结果;

1-best+prob表示使用本公开实施例提出的最优解码序列以及最优解码序列对应的条件后验分布序列来训练第二初始语音识别模型的结果;

表中的SpecAug&Drop表示是否使用频谱增强技术和dropout机制作为本公开实施例的扰动模块。

表1

从表1可以看到,采用本公开实施例提出的模型训练方法可以将识别词错误率由教师模型(T2)的10.4%降至8.4%(S4),相对性能提升为19.2%。并且在加模型扰动或者不加模型扰动时,本方法都优于以往的仅使用最优解码序列的训练方法。

从表1中可以看出,与未做任何数据增强的全部有标签语音样本的模型(O1)相比较,采用本公开实施例提出的模型训练方法得到的第二语音识别模型识别性能可以达到与之相当的训练效果。

可见,根据本公开的实施例,因为使用来自第一语音识别模型输出的两类伪标签:最优解码序列和上述最优解码序列对应的条件后验分布序列,并将最优解码序列对应的条件后验分布序列作为第二语音识别模型的优化目标,相比于现有技术,伪标签信息更加充足且有效,可以传递更多的监督信息来缓解标签质量差的问题,缓解了由于数据多样性和第一语音识别模型能力不足带来的标签质量不足的问题,最终提升语音识别的性能。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 模型训练方法、预测方法、装置、重识别模型及电子设备
  • 模型、保险风控模型训练方法、装置及电子设备
技术分类

06120112478684