首页> 中国专利> 基于ASR模型与TTS模型的组合模型训练方法及设备

基于ASR模型与TTS模型的组合模型训练方法及设备

摘要

本申请属于人工智能技术领域,本申请提供了一种基于ASR模型与TTS模型的组合模型训练方法、装置、计算机设备及计算机可读存储介质。本申请通过获取预设标注配对数据,采用预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到预设ASR模块与预设TTS模块对应的配对总损失函数,获取预设未标注配对数据,采用预设未标注配对数据对预设组合模型包含的预设ASR‑TTS模块与预设TTS‑ASR模块分别进行训练,得到预设ASR‑TTS模块与预设TTS‑ASR模块对应的未配对总损失函数,根据配对总损失函数与述未配对总损失函数,将预设组合模型进行优化,提高了对未配对数据的使用效率。

著录项

  • 公开/公告号CN113270090A

    专利类型发明专利

  • 公开/公告日2021-08-17

    原文格式PDF

  • 申请/专利权人 平安科技(深圳)有限公司;

    申请/专利号CN202110545794.X

  • 发明设计人 罗剑;王健宗;

    申请日2021-05-19

  • 分类号G10L15/06(20130101);G10L13/08(20130101);

  • 代理机构44242 深圳市精英专利事务所;

  • 代理人武志峰

  • 地址 518000 广东省深圳市福田区福田街道福安社区益田路5033号平安金融中心23楼

  • 入库时间 2023-06-19 12:14:58

说明书

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于ASR模型与TTS模型的组合模型训练方法、装置、计算机设备及计算机可读存储介质。

背景技术

ASR与TTS技术应用前景广泛,因而具有很大的研究价值。已有的ASR模型与TTS模型通常是进行有监督的训练,即需要大量的标注成对数据来训练ASR模型与TTS模型。然而对于语音来说,将文本与语音对齐的开销相当大,且将文本与语音进行精确的对齐也不利于ASR模型与TTS模型学习。与之相反,未标注的数据却很多,获取成本也相当低,例如,客服中心与APP每天都可能收到来自全国各地、包含各种方言的、男女老少的、大量形式丰富的语音数据,假以时日,可以累计得到非常大量且富有多样性的无标注语音数据。类似地,即时聊天工具中产生的海量消息也都是极好的现实使用的文本数据。但传统技术中使用各种渠道产生的语音数据进行ASR模型与TTS模型训练时,一般筛选出训练数据,并将训练数据进行标注,再使用标注语音数据对ASR模型与TTS模型进行训练,由于标注语音数据的丰富性有限,致使训练的ASR模型与TTS模型泛化能力较弱,降低了使用ASR模型与TTS模型的应用效果。

发明内容

本申请提供了一种基于ASR模型与TTS模型的组合模型训练方法、装置、计算机设备及计算机可读存储介质,能够解决传统技术中由于训练ASR模型与TTS模型泛化能力较弱而导致的ASR模型与TTS模型的应用效果较差的技术问题。

第一方面,本申请提供了一种基于ASR模型与TTS模型的组合模型训练方法,包括:获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数;获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数;根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化。

第二方面,本申请还提供了一种基于ASR模型与TTS模型的组合模型训练装置,包括:第一训练单元,用于获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数;第二训练单元,用于获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数;优化单元,用于根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化。

第三方面,本申请还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现所述基于ASR模型与TTS模型的组合模型训练方法的步骤。

第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器执行所述基于ASR模型与TTS模型的组合模型训练方法的步骤。

本申请提供了一种基于ASR模型与TTS模型的组合模型训练方法、装置、计算机设备及计算机可读存储介质。本申请通过获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行单独训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数,获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行单独训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数,再根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化,从而实现使用未配对的数据将ASR-TTS进行联合训练,相较于传统的有监督学习,本申请实施例将标注配对数据与未配对数据结合起来,尤其针对未配对数据通过循环一致性,可以充分使用各种渠道产生的海量的、丰富的未标注配对数据,实现有效地在无监督地情况下约束ASR模型与TTS模型,降低了准备数据的成本,提高了对未标注配对数据的使用效率,将很大程度上帮助ASR模型与TTS模型提高识别精度与鲁棒性,提高ASR模型与TTS模型的泛化能力,从而提升ASR模型与TTS模型应用效果。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的一个流程示意图;

图2为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的联合训练框架结构示意图;

图3为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第一个子流程示意图;

图4为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第二个子流程示意图;

图5为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第三个子流程示意图;

图6为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第四个子流程示意图;

图7为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第五个子流程示意图;

图8为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第六个子流程示意图;

图9为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练装置的一个示意性框图;以及

图10为本申请实施例提供的计算机设备的示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

请参阅图1与图2,图1为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的一个流程示意图,图2为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的联合训练框架结构示意图。如图1所示,该方法包括以下步骤S11-S13:

S11、获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数。

具体地,如图2所示,预先构建包含预设ASR模块、预设TTS模块、预设ASR-TTS模块与预设TTS-ASR模块的预设组合模型,其中,所述预设ASR-TTS模块与所述预设TTS-ASR模块中的ASR模块与TTS模块分别为所述预设组合模型中包含的预设ASR模块及预设TTS模块,即将所述预设组合模型中包含的预设ASR模块及预设TTS模块分别进行不同形式的组合即得到所述预设ASR-TTS模块与所述预设TTS-ASR模块,然后对预设组合模型进行基于ASR与TTS的整体训练,对所述预设组合模型训练完成后,所述预设组合模型包含的所述预设ASR模块、所述预设TTS模块、所述预设ASR-TTS模块与所述预设TTS-ASR模块中的一部分模块或者多部分模块的组合可以在实际业务场景中处理具体业务,其中,ASR,英文为AutomaticSpeech Recognition,为自动语音识别,ASR,英文为Automatic Speech Recognition,为自动语音识别,ASR模块的结构可以为Conformer Encoder,TTS,英文为TextTo Speech,为“从文本到语音”,TTS模块可以为MultiSpeech,以支持多说话人语音合成,所述预设ASR-TTS模块用于将输入语音进行ASR自动识别得到识别文字,再将所述识别文字进行TTS处理,得到生成的目标语音,然后将所述输入语音与所述目标语音进行比较,得到所述预设ASR-TTS模块对应的损失,所述预设TTS-ASR模块用于将输入文字进行TTS处理,得到生成语音,再将所述生成语音进行ASR自动语音识别,得到所述目标文字,将所述目标文字与所述输入文字进行比较,得到所述预设TTS-ASR模块的损失,然后利用所述预设ASR模块、预设TTS模块、预设ASR-TTS模块与预设TTS-ASR模块各自对应的损失对所述预设组合模型进行优化,实现针对基于ASR模型与TTS模型的组合模型的联合训练。

首先,通过预设的经标注配对好的包含语音及所述语音对应的文字的数据对(即预设标注配对数据),对预设组合模型包含的预设ASR模块与预设TTS模块分别进行单独训练,分别计算所述预设ASR模块与所述预设TTS模块各自对应的损失,再根据所述预设ASR模块与所述预设TTS模块各自对应的损失,得到标注配对数据对应的总损失,以建立起基本的ASR与TTS功能,这个过程可以采用相对于未配对数据来说数据量很少的标注配对数据进行,从而减轻了传统技术中基于有监督进行模型训练时的标注数据量,能够提高对模型的训练效率,即获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数。

进一步地,请参阅图3,图3为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第一个子流程示意图。如图3所示,在该实施例中,所述获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数的步骤包括:

S111、获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块进行训练,得到所述预设ASR模块对应的第一配对子损失函数;

S112、采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练,得到所述预设TTS模块对应的第二配对子损失函数;

S113、将所述第一配对子损失函数与所述第二配对子损失函数进行求和,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数。

具体地,由于预设标注配对数据包含文字及所述文字对应的语音,而ASR模型(可以简称ASR)是将语音转换成文字,TTS模型(可以简称TTS)是输入与输出在形式上相对的过程,可以通过同一预设标注配对数据同时实现对所述预设ASR模块与所述预设TTS模块的训练。请继续参阅图2,如图2所示,获取预设标注配对数据(X,y),所述预设标注配对数据为输入语音及对所述输入语音进行标注后,得到的所述输入语音对应的目标文字,将所述输入语音及所述目标文字匹配成数据对,或者为输入文字及对所述输入文字进行标注后,得到所述输入文字对应的目标语音,将所述输入文字及所述目标语音匹配成数据对,从而得到的文字及所述文字对应的语音组成的数据对,其中,X为所述预设标注配对数据包含的标注配对语音数据,y为所述预设标注配对数据包含的标注配对文字数据,例如,假定X,y是标注的成对数据,其中,X是输入语音,可以为输入语音对应的梅尔频谱特征序列,y是进行ASR应该得到目标结果,即X实际对应的事实文字的One-hot向量所组成的向量。

对于ASR模型,目标是希望得到正确文字的概率最大,将输入语音X(即标注配对语音数据)经ASR模型进行自动语音识别得到识别文字y′,将识别文字y′与目标结果y(即标注配对文字数据y)进行比较,即可得到预设ASR模块对应的第一配对子损失函数

y表明模型所需要生成的目标是事实字符串的各字符的one-hot编码向量所组成的一个矩阵,与之相比,预测的y′可能是:

将各个向量看作是某个分布的概率分布密度函数,则根据交叉熵,有如下损失函数:

其中n是句子中字符的个数。

请继续参阅图2,同理,对于与预设ASR模块一同训练的预设TTS模块,将y经TTS处理得到生成语音x′,将x′与X比较即可得到预设TTS模块对应的第二配对子损失函数

进一步地,请参阅图4,图4为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第二个子流程示意图。如图4所示,在该实施例中,所述采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练,得到所述预设TTS模块对应的第二配对子损失函数的步骤包括:

S1121、获取所述预设标注配对数据包含的标注文字数据,将所述标注文字数据通过所述预设组合模型包含的预设TTS模块生成第一语音数据;

S1122、获取第一预设说话人特征数据,并将所述第一语音数据与所述第一预设说话人特征数据进行计算,得到第一目标语音数据;

S1123、获取所述预设标注配对数据包含的标注语音数据,并将所述标注语音数据与所述第一目标语音数据进行损失计算,得到所述预设TTS模块对应的第二配对子损失函数。

其中,说话人特征数据,为说话人特征向量,用于描述说话人的声纹特征,可以通过x-vector对说话人的语音进行识别来获取对应的说话人特征向量。

具体地,所述标注文字数据、所述第一语音数据及所述标注语音数据为各自对应的向量。针对所述预设TTS模块,由于只使用Text本身丢弃了过多信息,导致过于难以重建与真实语音比较接近的语音,因此本申请实施例采用MultiSpeech框架,它将接受音素序列、说话人的特征向量,并输出梅尔频谱序列,其中,说话人的特征向量用于描述说话人声道的物理特性,包括说话的节奏快与节奏慢,将说话人的语音输入x-vector模型,x-vector模型即可输出说话人的特征向量。根据已有的说话人对应的语音数据集,可以构建说话人特征向量集合。请继续参阅图2,采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练时,获取所述预设标注配对数据包含的标注文字数据(即图2所示的标注配对文字数据y),将所述标注文字数据通过所述预设组合模型包含的预设TTS模块生成第一语音数据X’,然后再根据已有的数据集预先计算说话人特征数据x-vector,将所有说话人特征数据x-vector组成说话人特征数据集合v,然后从由所有x-vector组成的集合

X′=TTS(y,v

公式(2)

重建所得的包含说话人特征向量的语音即是上式中的X′,本申请实施例可以有效利用预设标注配对数据,尽可能采取与实际语音接近的训练样本,帮助模型学习更多的样本。本申请实施例由于引入了表示说话人特征的向量,因而模型还能更好地应对各种不同的说话人包含说话人特征向量的实际语音情况,更充分地使用已有的预设标注配对数据,并进一步确保训练出的ASR模型可以提取出与说话人声纹特征无关的发声信息,使模型拥有更好的泛化能力。

进一步地,本申请实施例使用以下损失函数约束TTS,强迫它生成贴近真实情况的语音:

其中n是梅尔频谱特征的维度数,x

请继续参阅图2,如图2所示,在数据标注成对的情况下,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行单独训练后,将所述第一配对子损失函数与所述第二配对子损失函数进行求和,从而计算所述第一配对子损失函数与所述第二配对子损失函数的和值,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数可以为:

S12、获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数。

具体地,使用预设标注配对数据对预设ASR模块、预设TTS模块分别进行单独训练,以建立预设ASR模块与预设TTS模块各自对应的基本功能后,再利用预设未标注配对数据对由所述预设ASR模块与所述预设TTS模块经不同形式组合形成的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练分别进行训练,以充分利用容易得到的、大量的未标注、未进行配对的原始数据(即预设未标注配对数据)再对包含预设ASR模块、预设TTS模块、预设ASR-TTS模块与预设TTS-ASR模块的预设组合模型进行整体训练,以通过不同过程继续训练预设ASR模块与预设TTS模块,即获取预设未标注配对数据,所述预设未标注配对数据为输入语音,或者为输入文字,例如,所述预设未标注配对数据为客服中心与应用程序App收到的成千上万、来自全国各地、各个方言的男女老少的语音数据或者文字数据,所述预设未标注配对数据可以为累积得到的、原始的、非常大量且富有多样性的数据。

进一步地,请参阅图5,图5为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第三个子流程示意图。如图5所示,在该实施例中,所述获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数的步骤包括:

S121、获取所述预设未标注配对数据包含的预设未标注配对语音数据,采用所述预设未标注配对语音数据对所述预设组合模型包含的预设ASR-TTS模块进行训练,得到所述预设ASR-TTS模块对应的第一未配对子损失函数;

S122、获取所述预设未标注配对数据包含的预设未标注配对文字数据,采用所述预设未标注配对文字数据对所述预设组合模型包含的预设TTS-ASR模块进行训练,得到所述预设TTS-ASR模块对应的第二未配对子损失函数;

S123、将所述第一未配对子损失函数与所述第二未配对子损失函数进行求和,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数。

具体地,针对所述预设组合模型包含的预设ASR-TTS模块,由于所述预设ASR-TTS模块用于将输入语音进行ASR自动识别得到识别文字,再将所述识别文字进行TTS处理,得到生成的目标语音,然后将所述输入语音与所述目标语音进行比较,得到所述预设ASR-TTS模块的损失情况。因此,请继续参阅图2,采用所述预设未标注配对数据中的预设未标注配对语音数据x对所述预设组合模型包含的预设ASR-TTS模块进行训练,先通过所述预设ASR-TTS模块中的ASR模块将所述预设未标注配对语音数据x进行自动语音识别,得到识别文字Y^,再将得到的识别文字Y^通过所述预设ASR-TTS模块中的TTS模块生成目标语音X^,从而将生成的目标语音X^与所述预设未标注配对语音数据x进行比对,得到预设ASR-TTS模块的损失。例如,请继续参阅图2,使用无标注语音对所述预设组合模型包含的预设ASR-TTS模块进行训练,所述预设组合模型包含的预设ASR-TTS模块中的ASR首先根据输入X获得输出Y^=ASR(X),仅仅只有Y^是不够约束模型的,因此还需要将Y^通过所述预设ASR-TTS模块中的TTS生成语音X^,可以通过所述预设ASR-TTS模块中的TTS根据Y^生成梅尔频谱特征序列X^=TTS(Y^,v

其中n是梅尔频谱特征的维度数,x

进一步地,请参阅图6,图6为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第四个子流程示意图。如图6所示,在该实施例中,所述获取所述预设未标注配对数据包含的预设未标注配对语音数据,采用所述预设未标注配对语音数据对所述预设组合模型包含的预设ASR-TTS模块进行训练,得到所述预设ASR-TTS模块对应的第一未配对子损失函数的步骤包括:

S1211、获取所述预设未标注配对数据包含的预设未标注配对语音数据,并将所述预设未标注配对语音数据通过所述预设ASR-TTS模块中的ASR模块进行自动语音识别,得到识别文字数据;

S1212、将所述识别文字数据通过所述预设ASR-TTS模块中的TTS模块生成第二语音数据;

S1213、获取第二预设说话人特征数据,并将所述第二语音数据与所述第二预设说话人特征数据进行计算,得到第二目标语音数据;

S1214、将所述第二目标语音数据与所述预设未标注配对语音数据进行损失计算,得到所述预设ASR-TTS模块对应的第一未配对子损失函数。

具体地,由于经ASR进行自动语音识别后得到的文字表示彻底抹去了说话人特征,如语音语调、共振峰、谐波分布、噪声分布以及方言等说话人特征信息,使得TTS很难在无相关信息的情况下将它们还原,因此,本申请实施例还可以采用说话人特征向量x-vector来协助TTS,迫使模型学习说话人无关的表示,这将有效地增强模型的鲁棒性,即获取所述预设未标注配对数据包含的预设未标注配对语音数据,并将所述预设未标注配对语音数据通过所述预设ASR-TTS模块中的ASR模块进行自动语音识别,得到识别文字数据,将所述识别文字数据通过所述预设ASR-TTS模块中的TTS模块生成第二语音数据,获取第二预设说话人特征数据,并将所述第二语音数据与所述第二预设说话人特征数据进行计算,得到第二目标语音数据,将所述第二目标语音数据与所述预设未标注配对语音数据进行损失计算,得到所述预设ASR-TTS模块对应的第一未配对子损失函数。如图2所示,v

针对所述预设组合模型包含的预设TTS-ASR模块,由于所述预设TTS-ASR模块用于将输入文字进行TTS处理,得到生成语音,再将所述生成语音进行ASR自动语音识别,得到所述目标文字,将所述目标文字与所述输入文字进行比较,得到所述预设TTS-ASR模块的损失情况。因此,请继续参阅图2,采用所述预设未标注配对数据中的预设未标注配对文字数据Y对所述预设组合模型包含的预设TTS-ASR模块进行训练,先通过所述预设TTS-ASR模块中的TTS模块将所述预设未标注配对文字数据Y进行语音生成,得到生成语音X”,再将得到的生成语音X”通过所述预设TTS-ASR模块中的ASR模块进行自动语音识别,得到目标文字y”,从而将生成的目标文字y”与所述预设未标注配对文字数据Y进行比对,得到所述预设TTS-ASR模块的损失情况。

进一步地,请参阅图7,图7为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第五个子流程示意图。如图7所示,在该实施例中,所述获取所述预设未标注配对数据包含的预设未标注配对文字数据,采用所述预设未标注配对文字数据对所述预设组合模型包含的预设TTS-ASR模块进行训练,得到所述预设TTS-ASR模块对应的第二未配对子损失函数的步骤包括:

S1221、获取所述预设未标注配对数据包含的预设未标注配对文字数据,并将所述预设未标注配对文字数据通过所述预设TTS-ASR模块中的TTS模块生成第三语音数据;

S1222、获取第三预设说话人特征数据,并将所述第三语音数据与所述第三预设说话人特征数据进行计算,得到第三目标语音数据;

S1223、将所述第三目标语音数据通过所述预设TTS-ASR模块中的ASR模块生成目标文字数据;

S1224、将所述目标文字数据与所述预设未标注配对文字数据进行损失计算,得到所述预设TTS-ASR模块对应的第二未配对子损失函数。

具体地,由于文字Y丢失了几乎所有语音相关的细节,而本申请实施例又希望TTS模型本身不包含说话人特征,因而在本申请实施例中的TTS模型也可以使用外部输入的说话人特征向量V

其中n是输出句子的字符个数,y

得到两个子损失函数

其中α是超参数,默认可以为0.5。

其中,由于可以随机选v

其中y

S13、根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化。

具体地,得到所述配对总损失函数与所述未配对总损失函数后,既可以利用所述配对总损失函数与所述未配对总损失函数分别对所述预设组合模型进行优化,也可以将所述配对总损失函数与所述未配对总损失函数进行求和值后,利用所述和值对所述预设组合模型进行优化。进一步地,请参阅图8,图8为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练方法的第六个子流程示意图。如图8所示,在该实施例中,即所述根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化的步骤包括:

S131、将所述配对总损失函数与所述未配对总损失函数进行线性求和,得到对应的和值;

S132、利用所述和值对所述预设组合模型包含的预设ASR模块、预设TTS模块、预设ASR-TTS模块及预设TTS-ASR模块分别进行梯度下降。

具体地,通过求所述配对总损失函数与所述未配对总损失函数的和值,即可得到所述预设组合模型的总损失函数,进而采用所述总损失函数对所述预设组合模型进行优化,实现对所述预设组合模型基于未配对数据的半监督ASR-TTS联合训练。请继续参阅图2,得到所述配对总损失函数

本申请实施例,通过获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行单独训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数,获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行单独训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数,再根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化,从而实现使用未配对的数据将ASR-TTS进行联合训练,相较于传统的有监督学习,本申请实施例将标注配对数据与未配对数据结合起来,尤其针对未配对数据通过循环一致性,可以充分使用大量的未配对数据,实现有效地在无监督地情况下约束模型,降低了准备数据的成本,提高了对未配对数据的使用效率,使模型的鲁棒性更强。

需要说明的是,上述各个实施例所述的基于ASR模型与TTS模型的组合模型训练方法,可以根据需要将不同实施例中包含的技术特征重新进行组合,以获取组合后的实施方案,但都在本申请要求的保护范围之内。

请参阅图9,图9为本申请实施例提供的基于ASR模型与TTS模型的组合模型训练装置的一个示意性框图。对应于上述所述基于ASR模型与TTS模型的组合模型训练方法,本申请实施例还提供一种基于ASR模型与TTS模型的组合模型训练装置。如图9所示,该基于ASR模型与TTS模型的组合模型训练装置包括用于执行上述所述基于ASR模型与TTS模型的组合模型训练方法的单元,该基于ASR模型与TTS模型的组合模型训练装置可以被配置于计算机设备中。具体地,请参阅图9,该基于ASR模型与TTS模型的组合模型训练装置90包括第一训练单元91、第二训练单元92及优化单元93。

其中,第一训练单元91,用于获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数;

第二训练单元92,用于获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数;

优化单元93,用于根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化。

在一实施例中,所述第一训练单元91包括:

第一训练子单元,用于获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块进行训练,得到所述预设ASR模块对应的第一配对子损失函数;

第二训练子单元,用于采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练,得到所述预设TTS模块对应的第二配对子损失函数;

第一计算子单元,用于将所述第一配对子损失函数与所述第二配对子损失函数进行求和,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数。

在一实施例中,所述第二训练子单元包括:

第一生成子单元,用于获取所述预设标注配对数据包含的标注文字数据,将所述标注文字数据通过所述预设组合模型包含的预设TTS模块生成第一语音数据;

第二计算子单元,用于获取第一预设说话人特征数据,并将所述第一语音数据与所述第一预设说话人特征数据进行计算,得到第一目标语音数据;

第三计算子单元,用于获取所述预设标注配对数据包含的标注语音数据,并将所述标注语音数据与所述第一目标语音数据进行损失计算,得到所述预设TTS模块对应的第二配对子损失函数。

在一实施例中,所述第二训练单元92包括:

第三训练子单元,用于获取所述预设未标注配对数据包含的预设未标注配对语音数据,采用所述预设未标注配对语音数据对所述预设组合模型包含的预设ASR-TTS模块进行训练,得到所述预设ASR-TTS模块对应的第一未配对子损失函数;

第四训练子单元,用于获取所述预设未标注配对数据包含的预设未标注配对文字数据,采用所述预设未标注配对文字数据对所述预设组合模型包含的预设TTS-ASR模块进行训练,得到所述预设TTS-ASR模块对应的第二未配对子损失函数;

第四计算子单元,用于将所述第一未配对子损失函数与所述第二未配对子损失函数进行求和,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数。

在一实施例中,所述第三训练子单元包括:

识别子单元,用于获取所述预设未标注配对数据包含的预设未标注配对语音数据,并将所述预设未标注配对语音数据通过所述预设ASR-TTS模块中的ASR模块进行自动语音识别,得到识别文字数据;

第二生成子单元,用于将所述识别文字数据通过所述预设ASR-TTS模块中的TTS模块生成第二语音数据;

第五计算子单元,用于获取第二预设说话人特征数据,并将所述第二语音数据与所述第二预设说话人特征数据进行计算,得到第二目标语音数据;

第六计算子单元,用于将所述第二目标语音数据与所述预设未标注配对语音数据进行损失计算,得到所述预设ASR-TTS模块对应的第一未配对子损失函数。

在一实施例中,所述第四训练子单元包括:

第三生成子单元,用于获取所述预设未标注配对数据包含的预设未标注配对文字数据,并将所述预设未标注配对文字数据通过所述预设TTS-ASR模块中的TTS模块生成第三语音数据;

第七计算子单元,用于获取第三预设说话人特征数据,并将所述第三语音数据与所述第三预设说话人特征数据进行计算,得到第三目标语音数据;

第四生成子单元,用于将所述第三目标语音数据通过所述预设TTS-ASR模块中的ASR模块生成目标文字数据;

第八计算子单元,用于将所述目标文字数据与所述预设未标注配对文字数据进行损失计算,得到所述预设TTS-ASR模块对应的第二未配对子损失函数。

在一实施例中,所述优化单元93包括:

求和子单元,用于将所述配对总损失函数与所述未配对总损失函数进行线性求和,得到对应的和值;

梯度下降子单元,用于利用所述和值对所述预设组合模型包含的预设ASR模块、预设TTS模块、预设ASR-TTS模块及预设TTS-ASR模块分别进行梯度下降。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于ASR模型与TTS模型的组合模型训练装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

同时,上述基于ASR模型与TTS模型的组合模型训练装置中各个单元的划分和连接方式仅用于举例说明,在其他实施例中,可将基于ASR模型与TTS模型的组合模型训练装置按照需要划分为不同的单元,也可将基于ASR模型与TTS模型的组合模型训练装置中各单元采取不同的连接顺序和方式,以完成上述基于ASR模型与TTS模型的组合模型训练装置的全部或部分功能。

上述基于ASR模型与TTS模型的组合模型训练装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。

请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是台式机电脑或者服务器等计算机设备,也可以是其他设备中的组件或者部件。

参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504,所述存储器也可以为易失性存储介质。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种上述基于ASR模型与TTS模型的组合模型训练方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种上述基于ASR模型与TTS模型的组合模型训练方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数;获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数;根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化。

在一实施例中,所述处理器502在实现所述获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块与预设TTS模块分别进行训练,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数的步骤时,具体实现以下步骤:

获取预设标注配对数据,采用所述预设标注配对数据对预设组合模型包含的预设ASR模块进行训练,得到所述预设ASR模块对应的第一配对子损失函数;

采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练,得到所述预设TTS模块对应的第二配对子损失函数;

将所述第一配对子损失函数与所述第二配对子损失函数进行求和,得到所述预设ASR模块与所述预设TTS模块对应的配对总损失函数。

在一实施例中,所述处理器502在实现所述采用所述预设标注配对数据对所述预设组合模型包含的预设TTS模块进行训练,得到所述预设TTS模块对应的第二配对子损失函数的步骤时,具体实现以下步骤:

获取所述预设标注配对数据包含的标注文字数据,将所述标注文字数据通过所述预设组合模型包含的预设TTS模块生成第一语音数据;

获取第一预设说话人特征数据,并将所述第一语音数据与所述第一预设说话人特征数据进行计算,得到第一目标语音数据;

获取所述预设标注配对数据包含的标注语音数据,并将所述标注语音数据与所述第一目标语音数据进行损失计算,得到所述预设TTS模块对应的第二配对子损失函数。

在一实施例中,所述处理器502在实现所述获取预设未标注配对数据,采用所述预设未标注配对数据对所述预设组合模型包含的预设ASR-TTS模块与预设TTS-ASR模块分别进行训练,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数的步骤时,具体实现以下步骤:

获取所述预设未标注配对数据包含的预设未标注配对语音数据,采用所述预设未标注配对语音数据对所述预设组合模型包含的预设ASR-TTS模块进行训练,得到所述预设ASR-TTS模块对应的第一未配对子损失函数;

获取所述预设未标注配对数据包含的预设未标注配对文字数据,采用所述预设未标注配对文字数据对所述预设组合模型包含的预设TTS-ASR模块进行训练,得到所述预设TTS-ASR模块对应的第二未配对子损失函数;

将所述第一未配对子损失函数与所述第二未配对子损失函数进行求和,得到所述预设ASR-TTS模块与所述预设TTS-ASR模块对应的未配对总损失函数。

在一实施例中,所述处理器502在实现所述获取所述预设未标注配对数据包含的预设未标注配对语音数据,采用所述预设未标注配对语音数据对所述预设组合模型包含的预设ASR-TTS模块进行训练,得到所述预设ASR-TTS模块对应的第一未配对子损失函数的步骤时,具体实现以下步骤:

获取所述预设未标注配对数据包含的预设未标注配对语音数据,并将所述预设未标注配对语音数据通过所述预设ASR-TTS模块中的ASR模块进行自动语音识别,得到识别文字数据;

将所述识别文字数据通过所述预设ASR-TTS模块中的TTS模块生成第二语音数据;

获取第二预设说话人特征数据,并将所述第二语音数据与所述第二预设说话人特征数据进行计算,得到第二目标语音数据;

将所述第二目标语音数据与所述预设未标注配对语音数据进行损失计算,得到所述预设ASR-TTS模块对应的第一未配对子损失函数。

在一实施例中,所述处理器502在实现所述获取所述预设未标注配对数据包含的预设未标注配对文字数据,采用所述预设未标注配对文字数据对所述预设组合模型包含的预设TTS-ASR模块进行训练,得到所述预设TTS-ASR模块对应的第二未配对子损失函数的步骤时,具体实现以下步骤:

获取所述预设未标注配对数据包含的预设未标注配对文字数据,并将所述预设未标注配对文字数据通过所述预设TTS-ASR模块中的TTS模块生成第三语音数据;

获取第三预设说话人特征数据,并将所述第三语音数据与所述第三预设说话人特征数据进行计算,得到第三目标语音数据;

将所述第三目标语音数据通过所述预设TTS-ASR模块中的ASR模块生成目标文字数据;

将所述目标文字数据与所述预设未标注配对文字数据进行损失计算,得到所述预设TTS-ASR模块对应的第二未配对子损失函数。

在一实施例中,所述处理器502在实现所述根据所述配对总损失函数与所述未配对总损失函数,将所述预设组合模型进行优化的步骤时,具体实现以下步骤:

将所述配对总损失函数与所述未配对总损失函数进行线性求和,得到对应的和值;

利用所述和值对所述预设组合模型包含的预设ASR模块、预设TTS模块、预设ASR-TTS模块及预设TTS-ASR模块分别进行梯度下降。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessingUnit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来完成,该计算机程序可存储于一计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本申请还提供一种计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行如下步骤:

一种计算机程序产品,当其在计算机上运行时,使得计算机执行以上各实施例中所描述的所述基于ASR模型与TTS模型的组合模型训练方法的步骤。

所述计算机可读存储介质可以是前述设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单元也包括外部存储设备。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储计算机程序的实体存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

以上所述,仅为本申请的具体实施方式,但本申请明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号