首页 > 乐器声学 专利正文
语音生成方法、装置、电子设备及可读存储介质与流程

时间:2022-02-24 阅读: 作者:专利查询

语音生成方法、装置、电子设备及可读存储介质与流程

1.本技术涉及语音合成技术领域,具体而言,本技术涉及一种语音生成方法、装置、电子设备及可读存储介质。


背景技术:

2.在实际生活中,可以实现将输入的信息转化为不同语言的语音信息,如可以实现将不同语言的文本转换为对应于不同说话人音色的语音信息。例如一个中英文语音生成系统,在输入一段中文文本、以及指定一个目标说话人后,即可生成用该目标说话人的音色朗读中文语音,同理,输入英文,即可以生成用该目标说话人的音色朗读英文语音。
3.但是,虽然现有技术中的语音生成系统已经可以实现多人多语言的语音合成,但是所生成的语音的语音效果还有待提高。


技术实现要素:

4.本技术实施例的目的旨在提供一种。本技术实施例所提供的方案具体如下:
5.第一方面,本技术实施例提供了一种语音生成方法,该方法包括:
6.获取待处理信息;
7.对所述待处理信息进行编码,得到信息编码结果;
8.基于所述信息编码结果,生成目标用户对应于目标语言的语音信息。
9.第二方面,本技术实施例提供一种语音生成装置,该装置包括:
10.信息获取模块,用于获取待处理信息;
11.信息编码模块,用于对所述待处理信息进行编码,得到信息编码结果;
12.语音生成模块,用于基于所述信息编码结果,生成目标用户对应于目标语言的语音信息。
13.第三方面,本技术实施例提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时,执行本技术实施例所提供的方法。
14.第四方面,本技术实施例提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在被处理器运行时,执行本技术实施例所提供的方法。
15.本技术实施例提供的技术方案带来的有益效果将在下文具体实施方式部分的描述中结合各可选实施例进行详细描述,在此不再说明。
附图说明
16.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
17.图1示出了现有技术的语音合成的基本框图;
18.图2示出了本技术实施例所提供的一种语音生成方法的流程示意图;
19.图3示出了本技术实施例所提供的一种初始神经网络模型的结构示意图;
20.图4示出了本技术实施例所提供的一种初始神经网络模型的具体结构示意图;
21.图5示出了本技术实施例所提供的一种语音生成模型的结构示意图;
22.图6示出了本技术实施例所提供的一种生成语音信息的原理示意图;
23.图7示出了本技术实施例所提供的另一种初始神经网络模型的结构示意图;
24.图8示出了本技术实施例所提供的另一种初始神经网络模型的具体结构示意图;
25.图9示出了本技术实施例所提供的另一种语音生成模型的结构示意图;
26.图10为本技术实施例提供的另一种生成语音信息的原理示意图;
27.图11示出了本技术实施例所提供的又一种初始神经网络模型的结构示意图;
28.图12示出了本技术实施例所提供的中-英音素识别器的结构示意图;
29.图13示出了本技术实施例所提供的又一种语音生成模型的结构示意图;
30.图14示出了本技术实施例所提供的另一种初始神经网络模型的结构示意图;
31.图15示出了本技术实施例所提供的带有上下文保留的fft块的结构示意图;
32.图16示出了本技术实施例所提供的纯fft块的结构示意图;
33.图17示出了本技术实施例所提供的另一种语音生成模型的结构示意图;
34.图18示出了本技术实施例所提供的一种语音生成装置的结构示意图;
35.图19为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
36.下面详细描述本技术的实施例,下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,以帮助对由权利要求及其等同物限定的本技术的实施例的全面理解,其中包括各种特定细节以帮助理解,但这些示例及细节仅被视为是示例性的,而不能解释为对本技术的限制。因此,本领域的普通技术人员将认识到在不脱离本技术的范围和精神的情况下,可对所描述各实施例进行改变和修改。此外,为了清楚和简洁,在下文的描述中可能会省略一些对公知的功能和结构的描述。
37.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
38.为了更好的说明和理解本技术实施例所提供的方案,下面首先对与本技术实施例相关的技术进行说明。
39.语音合成指的是将输入的文字转化为语音信息,如图1所示,该图示出了现有技术中语音合成的基本框图,基于该图可知,输入的文本(如“你好”、“hello”等)经过多语言语音合成网络中的文本编码器、解码器,以及声码器后,具有图中所示的目标说话人音色(从说话人-1、说话人-2
……
等中选择的)的语音数据,如图中所示说出的“你好”“hello”等。
40.声音转换是指变换源说话人的语音信号,使得它听起来像目标说话人所说,并且
不改变说话内容。例如,源说话人是美国人且只会讲英语,目标说话人是中国人且只会说普通话,当美语说话人说一句英语输入声音转换系统中后,指定一个中文说话人,即可以合成用该中文说话人的音色朗读的之前美语说话人说的同一句英语。
41.跨语言是指目标说话人的语言和待合成的语言不同。例如,一个中英文的语音生成系统,使用一个中国人的音色,生成一段英文的语音,或者反过来,用英国人的音色讲中文。而对于中国人讲英文这种情况来说,由于目标说话人在训练集中从来没有讲过英语,即在训练过程中从来没有出现过该说话人和英语语音同时出现的情形,此时由于从来没有学习过,因此生成的语音一般会有目标说话人母语语言的口音,而非目标语言的标准口音,生成的语音就像中国人初学英语时讲的口音很重的英文。并且当不同语种训练数据不平衡时,这种情况将会更加明显,生成的语音音调会更像指定说话人母语的音调,而不像目标语种的音调。
42.低资源语言是指在多语言的训练数据中训练数据较少的语言,生成低资源语言的语音是指生成的目标语言为低资源的语音。例如,在一个中英文的语音生成系统,中文的训练数据非常少,那么只要生成的语言是中文,不论是中国人讲中文还是英国人讲中文,中文的发音都会不饱满,音调发生偏差。这是因为在现有方案中,用来控制生成语音音调的音调特征通常被放在系统非常靠前的位置输入,和音素特征拼在一起输入到文本编码器进行编码。由于文本编码器需要同时对音素特征和音调特征进行编码,音调信息在这个过程中很可能被弱化,若再将包含较少音调信息的文本编码送入解码器,合成语音的音调就不会非常明显,而对于低资源语言来说,因为训练数据的变少,此时音调的问题会将变得更加突出。
43.为了解决现有技术中所存在的上述技术问题中的至少一个,本技术实施例提供了一种语音生成方法、装置、电子设备及可读存储介质,基于该方法使得所生成的语音的音调更加标准,有效地提高了语音效果。
44.另外,本技术实施例所提供的该语音生成方法,可以用于任何电子设备中,如智能手机、平板电脑等产品中。当然,该方法可以还应用于服务器中(包括但不限于物理服务器、云服务器),服务器可以基于本技术实施例所提供的该方法将获取到的待处理信息转化为语音信息。
45.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体地实施例和附图对本技术的各可选的实施方式及本技术实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
46.图2示出了本技术实施例所提供的一种语音生成方法的流程示意图,由前文描述可知,该方法可以由任一电子设备执行,如可以是用户的终端设备(如用户的手机、平板电脑等),也可以是服务器。如图2中所示,该方法可以包括以下步骤:
47.步骤s110:获取待处理信息
48.在实际应用中,待处理信息指的是需要合成语音的信息,该待处理信息可以为文本(即待处理文本),也可以为语音信息(即待处理语音信息)。例如,假设需要将文本“你好”变为语音信息,此时文本“你好”即为待处理文本,或者将语音“你好”转换为语音“hello”,此时语音“hello”即为待处理语音信息,而待处理信息的语言本公开实施例不限定,如待处
理信息的语言可以为中文、英文或法文等。
49.步骤s120:对待处理信息进行编码,得到信息编码结果。
50.在实际应用中,在对待处理信息进行编码时,可以通过编码模块(如文本编码器)对待处理信息进行编码,以得到对应的信息编码结果。
51.步骤s130:基于信息编码结果,生成目标用户对应于目标语言的语音信息。
52.其中,目标用户指的是最终生成的语音信息具体采用哪一个用户的声音,目标语言指的是最终生成的语音信息具体采用哪一种语言。例如,假设需要将待处理信息生成为具备用户a音色、且为英语的语音信息,此时用户a即为目标用户,英语即为目标语言。其中,目标语言可以与待处理信息的语言相同,也可以不同,本技术实施例对此不限定。
53.具体的,可以获取目标用户对应的语音特征(即目标语音特征)以及目标语言对应的语言特征(即目标语言特征),然后基于得到的信息编码结果、目标语音特征以及目标语言特征,生成目标用户对应于目标语言的语音信息。
54.在实际应用中,可以预先学习每个用户对应的语音特征、以及每种语言对应的语言特征并存储,进而在需要确定某个用户的语音特征和某种语言的语言特征时,此时可以根据预先存储的信息直接获取即可。其中,每个用户对应的语音特征可以根据该用户对应的所有样本输出语音信息确定,例如,可以将该用户对应的所有样本输出语音信息的语音特征平均值作为该用户对应的语音特征。
55.在本技术实施例中,由于在生成语音信息时,是基于目标用户的语音特征、信息编码结果以及目标语言特征来生成的,即在生成语音信息时,考虑到了目标用户的声音特色以及目标语言的语言特征,此时可以保证生成的语音信息与目标用户在说目标语言时的音色更加贴合,提升了语音的效果。
56.本技术可选的实施例中,若待处理信息为待处理文本,该方法还可以包括:
57.获取待处理文本的音调特征;
58.基于信息编码结果,生成目标用户对应于目标语言的语音信息,包括:
59.基于音调特征和信息编码结果,生成目标用户对应于目标语言的语音信息。
60.在实际应用中,每一种语言均会存在对应的音调,不同的语言的音调特色一般都是不同的。例如,中文的音调和英文的音调是有明显差异的,中文的音调指的是汉语的声调,其可以包括“阴平”“阳平”“上声”“去声”四声、以及轻声和变调共六种,英文的音调则指的英语发声时的重读音和轻读音。
61.其中,现有技术中在用一个语种的说话人,去生成另一个语种的语音时,所得到的生成语音的音调会更像指定说话人(即目标用户)母语的音调,而不像目标语种的音调。例如让只有中文训练数据的中国说话人讲英语,那么生成的英语可能带有普通话口音,而不像英国本地人口音,反之亦然。
62.基于此,为了保证所生成的语音信息的音调更加准确,当待处理信息为待处理文本时,在获取到待处理文本后还可以获取待处理文本的音调特征,而获取待处理文本的音调特征的具体实现方式可以预先配置,本技术实施例对此不限定。如可以将待处理文本输入至预先训练好的韵律预测模块(该韵律预测模块用于获取文本中所包括的音调信息),以获取待处理文本所包括的音调信息,并预先学习各音调信息与音调特征之间的映射关系,相应的,在已知待处理文本所包括的音调信息后,即可以根据音调信息与音调特征之间的
映射关系,确定待处理文本所对应的音调特征。
63.可选的,在将待处理文本生成语音信息时,还可以基于获取到的目标语音特征、目标语言特征、信息编码结果和音调特征,生成待处理文本对应的语音信息。
64.其中,在本技术实施例中由于在生成待处理文本的语音信息时,是基于包含待处理文本的全部音调信息的音调特征与信息编码结果确定的,即在生成语音信息时考虑到了待处理文本所包括的音调特征,此时在合成语音信息时,可以更加直接、方便的指导编码器和声码器生成语音信息,提升了生成的语音信息的效果,使得生成的语音信息的音调更加符合实际的目标语言的音调特色。例如,在待处理文本为中文文本、目标语言为英文时,能够使得生成的语音信息与英文的音调更加贴合,更好的满足了实际应用需求。
65.在本技术可选的实施例中,对待处理信息进行编码,得到信息编码结果,包括:
66.获取待处理文本对应的音素特征;
67.对音素特征进行文本编码,得到文本编码结果。
68.其中,音素指的是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。例如,中文通常音素可以分为元音与辅音两大类,所有的双元音和鼻音元音分可以分为两个或三个单个元音,如汉字“啊”字的汉语音节为
ā
、且只包括一个单元音,此时汉字“啊”只有一个音素,
à
i包括一个双元音,则也只有一个音素,而d
ā
i包括一个鼻音元音和一个双元音,因此为两个音素。
69.在实际应用中,在对待处理文本进行编码时,可以获取待处理文本所包对应的音素特征,并对该音素特征进行文本编码,此时得到的信息编码结果可以称为文本编码结果;其中,该音素特征包含了待处理文本所包括的所有音素信息,而获取待处理文本所对应的音素特征的具体实现方式可以预先配置,本技术实施例不限定。例如,可以将待处理文本输入至预先训练好的文字转音素模块(其用于获取文本中所包括的音素信息),基于该文字转音素模块的输出结果得到的待处理文本所包括的音素信息,然后基于预先学习好的各音素信息与音素特征之间的映射关系,确定待处理文本对应的音调特征。
70.在本技术可选的实施例中,对音素特征进行文本编码,得到文本编码结果,包括:
71.获取待处理文本对应的音调特征;
72.对音调特征和音素特征进行文本编码,得到文本编码结果。
73.在实际应用中,在对待处理文本进行编码时可以存在多种编码方式,如可以基于待处理文本对应的音素特征进行文本编码,也可以基于待处理文本的音调特征和音素特征进行文本编码,而关于待处理文本对应的音调特征和音素特征的说明可以参见上述中的描述,在此就不再赘述。
74.在一示例中,假设待处理文本为中文“你好”,此时中文“你好”所包括的音素信息为“ni hao”5个音素,所包括音调信息为音素“ni”对应的“上声”和音素“hao”对应的“上声”;此时可以基于预先学习得到的各音素信息与音素特征得的映射关系,确定包含“ni hao”5个音素信息的音素特征,以及基于预先学习得到的各音调信息与音调特征得的映射关系,确定包含“ni”对应的“上声”和音素“hao”对应的“上声”的音调特征,然后可以对确定的音素特征和音调特征,得到中文“你好”对应的文本编码结果。
75.在本技术可选的实施例中,若待处理信息为待处理语音信息,对待处理信息进行编码,得到信息编码结果,包括:
76.获取待处理语音信息对应的音素后验概率;
77.对音素后验概率进行编码,得到信息编码结果。
78.在实际应用中,当待处理信息为待处理语音信息(即需要将某一语音信息生成目标用户对应于目标语言的语音信息)时,可以确定待处理语音信息对应的音素后验概率(ppg,phonetic posterior gram),然后对音素后验概率进行编码,得到信息编码结果。其中,ppg是一个帧级别的音素信息表示,每一帧语音都可以经过音素识别器映射为该帧语音在各个音素上的概率,此时该帧语音的ppg可以代表该帧语音的音素信息和音调信息。进而,当待处理信息为待处理语音信息时,相比于待处理信息为待处理文本,此时在对待处理信息进行编码时,可以将音素特征和音调特征替换为待处理语音信息对应的音素后验概率。
79.在本技术可选的实施例中,获取待处理语音信息对应的音素后验概率,包括:
80.获取待处理语音信息对应于每种候选语言的音素后验概率;
81.将对应于每种候选语言的音素后验概率进行拼接,得到待处理语音信息对应的音素后验概率。
82.其中,候选语言指的是生成的语音信息可以采用的语言。例如,用户可以选择将待处理信息转换为中文的语音信息或英文的语音信息,此时中文和英语即为候选语言。在实际应用中,在确定待处理语音信息对应的音素后验概率时,可以确定待处理语音信息对应于每种候选语言的音素后验概率,然后将待处理语音信息对应于每种候选语言的音素后验概率拼接后的音素后验概率,作为待处理语音信息对应的音素后验概率。
83.在实际应用中,对应于不同的候选语言的音素后验概率可以通过不同的音素识别器来获取。例如,对应于中文的音素后验概率可以通过预先训练好的普通话音素识别器来获取,对应于英文的音素后验概率可以通过预先训练好的英语音素识别器来获取。其中,当存在多种候选语言时,各种语言对应的音素识别器可以为各自独立的,也可以将各种语言对应的音素识别器整合至一个模型中。
84.在本技术可选的实施例中,该方法是通过语音生成模型实现的,其中,语音生成模型是通过下列方式得到的:
85.获取初始神经网络模型和训练数据,训练数据包括各训练样本对,训练样本对包括样本输入信息、该样本输入信息对应的样本输出语音信息和样本用户信息标签;
86.其中,初始神经网络模型包括初始语音生成模型和初始用户信息分类模块,初始语音生成模型包括初始编码模块和初始语音生成模块,初始用户信息分类模块与初始编码模块连接,初始编码模块用于对样本输入信息进行编码,得到样本信息编码结果,初始语音生成模块用于基于样本信息编码结果,得到预测语音信息,初始用户信息分类模块用于基于样本信息编码结果,得到预测用户信息;
87.基于训练数据对初始神经网络模型进行训练,直至初始神经网络对应的总损失函数收敛,得到训练后的初始神经网络模型,将训练后的初始语音生成模型作为语音生成模型;
88.其中,总损失函数包括第一损失函数和第二损失函数,第一损失函数的值表征了样本输入信息所对应的预测语音和样本输出语音信息之间的差异,第二失函数的值表征了样本文本所对应的预测用户信息和样本用户信息标签之间的差异。
89.在实际应用中,在将待处理信息生成目标用户对应于目标语言的语音信息时,可以基于预先训练好的语音生成模型来实现,该语音生成模型可以包括编码模块和语音生成模块。
90.具体的,可以将待处理信息输入至语音生成模型,该语音生成模型可以对待处理信息进行编码,得到信息编码结果,并将目标语音特征、目标语言特征以及信息编码结果(其中,当待处理信息为待处理文本时,还可以将目标语音特征、目标语言特征、音调特征以及信息编码结果)输入至语音生成模块,语音生成模块可以基于输入的数据,生成目标用户对应于目标语言的语音信息。
91.在实际应用中,上述中的语音生成模型可以通过下列方式训练得到,具体可以包括:
92.获取初始神经网络模型以及训练该初始神经网络模型的训练数据,其中,该初始神经网络模型可以包括初始语音生成模型和初始用户信息分类模块,初始语音生成模型中的初始编码模块与初始用户信息分类模块连接,初始编码模块中可以包括文本编码器;训练数据中可以包括各训练样本对,每一个训练样本对可以包括样本输入信息、该样本输入信息对应的样本输出语音信息和用于表征该样本输出语音信息为哪一个用户的语音的样本用户信息标签。
93.可以理解的是,当待处理信息为待处理文本时,训练样本对中的样本输入信息为样本输入文本;而当待处理信息为待处理语音信息时,训练样本对中的样本输入信息为样本输入语音信息,训练样本中的样本输入语音信息和样本输出语音信息为同一个语音信息。
94.进一步的,可以将训练数据中的样本输入信息输入至初始神经网络模型的初始语音生成模型,初始语音生成模型中的初始编码模块对该样本输入信息进行编码,得到样本信息编码结果,以及初始语音生成模型确定样本输入信息所对应的样本语言特征,并提取样本输出语音信息的样本语音特征;然后可以将样本信息编码结果、样本语言特征和样本语音特征输入至初始语音生成模块(其可以包括解码器),得到样本输入信息所对应的预测语音信息;同时,可以将样本信息编码结果输入至初始用户信息分类模块,得到该样本输入信息所对应的预测用户信息,然后可以基于样本输入信息所对应的预测语音信息和样本输出语音信息确定第一损失函数的值,基于预测用户信息和样本用户信息标签确定第二损失函数的值,然后基于第一损失函数的值和第二损失函数的值,确定初始神经网络模型所对应的总损失函数是否收敛,若总损失函数不收敛,则说明当前的初始神经网络模型不满足要求,此时可以调整初始神经网络模型的网络参数,并基于训练数据继续对调整后的初始神经网络模型进行训练,直至总损失函数收敛,得到训练后的初始神经网络模型,并将其所包括的训练后的初始语音生成模型作为语音生成模型。
95.在实际应用中,初始神经网络模型中还可以包括与初始语音生成模块连接的残差网络,该残差网络可以消除样本输出语音信息中的噪音,保证了训练数据中的样本输出语音信息为干净无噪声的语音信息。其中,该残差网络的输入为样本输出语音信息,输出为预测残差编码,该残差网络所输出的预测残差编码可以输入至初始语音生成模块,初始语音生成模块可以基于样本信息编码结果、样本语言特征、预测残差编码和样本语音特征,得到样本输入信息所对应的预测语音信息。
96.此时,初始神经网络模型对应的总损失函数(也称为目标函数)可以表述为结合证据下界(elbo,evidence lower bound)具有领域对抗训练目标的损失函数,而当样本输入信息为样本输入文本时,总损失函数具体可以表示为:
[0097][0098]
其中,表示总损失函数,表示用户信息分类损失函数(即第二损失函数),elbo(θ,φ
r
;speech,text)表示初始语音生成模块部分(即合成器,具体可以包括文本编码器和解码器)和残差网络部分的所有损失;θ表示初始语音生成模块的模型参数,φ
r
表示残差网络的模型参数,ψ
s
表示初始用户信息分类模块(即下文中的说话人对抗网络)中的模型参数,speech表示样本输出语音信息对应的特征向量,text表示样本输入文本对应的特征向量,λ
s
表示初始用户信息分类模块的权重,y
s
表示样本用户信息标签表征的用户信息所对应的特征向量。
[0099]
其中,elbo(θ,φ
r
;speech,text)具体可以表示为:
[0100][0101]
其中,表示存在残差网络时,所有训练数据对应的第一损失函数的值的期望,logp(speech|z
r
,text)表示初始语音生成模块输出的预测语音信息与样本输出语音信息之间的损失(即第一损失函数),表示标准高斯分布概率,表示残差网络输出的预测残差编码结果的分布概率和标准高斯分布概率之间的kl距离(kullback-leibler divergence,kl散度,信息熵的别称),λ
kl
表示d
kl
的权重,speech表示样本输出语音信息对应的特征向量,text表示样本输入文本对应的特征向量,z
r
表示预测残差编码结果。
[0102]
需要说明的是,若样本输入信息为样本输入文本,则在训练初始神经网络时,样本信息编码结果可以是对样本输入文本对应的样本音调特征和样本音素特征进行文本编码后得到的,也可以是仅对样本输入文本对应的样本音素特征进行文本编码后得到的;若样本信息编码结果是对样本音素特征进行文本编码后得到的,此时初始语音生成模块的输入可以是样本输入文本的样本音调特征、样本信息编码结果、样本语言特征和样本语音特征,这样即使初始文本编码器进行文本编码时对音调特征产生了弱化作用,此时输入的音调特征也可以直接、方便的指导初始语音模型合成语音信息,避免了生成的语音信息的音调偏差。
[0103]
在本技术可选的实施例中,初始神经网络模型还包括与初始编码模块连接的音调分类器,对于训练样本对,训练数据还包括样本输入信息对应的样本音调特征;
[0104]
音调分类器用于基于样本信息编码结果,得到预测音调特征;
[0105]
总损失函数还包括第三损失函数,第三损失函数的值表征了预测音调特征和样本音调特征之间的差异。
[0106]
在实际应用中,初始神经网络模型还包括与初始编码模块连接的音调分类器,其用于对样本输入信息所对应的音调特征进行分类,此时在得到样本输入信息所对应的样本信息编码结果后,还可以将该样本信息编码输入至该音调分类器,生成预测音调特征,然后基于预测音调特征和样本音调特征确定第三损失函数的值,并根据第三损失函数的值、第
一损失函数的值和第二损失函数的值,共同确定初始神经网络模型所对应的总损失函数是否收敛。
[0107]
其中,在基于第三损失函数的值、第一损失函数的值和第二损失函数的值,共同确定初始神经网络所对应的总损失函数时,可以将各损失函数的值相加求和得到总损失函数、也可以根据各损失函数的重要程度,采用进行加权求和的方式确定总损失函数等,本技术实施例对此不限定。
[0108]
可选的,当样本输入信息为样本输入文本时,此时初始神经网络所对应的总损失函数可以具体如下所示:
[0109][0110]
其中,表示总损失函数,表示第三损失函数(即下文中的音调分类损失函数),λ
t
表示第三损失函数的权重,ψ
t
表示音调分类器的模型参数,y
t
表示样本音调特征,为前文中的目标损失函数(其包括了第一损失函数、第二分类损失函数和残差网络对应的损失函数),θ表示初始语音生成模块的模型参数,φ
r
表示残差网络的模型参数,speech表示样本输出语音信息对应的特征向量,text表示样本输入文本对应的特征向量,y
s
表示样本用户信息标签表征的用户信息所对应的特征向量,而关于的具体确定方式可以参见前文描述,在此就不再赘述。
[0111]
在本技术可选的实施例中,若样本输入信息为样本输入语音信息,初始神经网络模型还包括与初始编码模块连接的初始音素识别器,初始音素识别器用于确定样本输入语音信息对应的音素后验概率;
[0112]
初始编码模块在对样本输入信息进行编码,得到样本信息编码结果时,具体用于:
[0113]
对样本输入语音信息对应的音素后验概率进行编码,得到样本信息编码结果。
[0114]
在本技术可选的实施例中,若样本输入信息为样本输入文本,初始编码模块在对样本输入信息进行编码,得到样本信息编码结果时,具体用于:
[0115]
对样本输入文本进行编码,得到样本文本编码结果。
[0116]
在实际应用中,当样本输入信息为样本输入语音信息时,此时初始神经网络模型还包括用于确定样本输入语音信息对应的音素后验概率的初始音素识别器,该初始音素识别器与初始编码模块连接。也就是说,在样本输入语音信息输入至初始神经网络模型后,其所包括的初始音素识别器可以确定样本输入语音信息对应的音素后验概率,然后将得到的音素后验概率输入至初始编码模块,初始编码模块可以对输入的音素后验概率进行编码,得到样本信息编码结果。
[0117]
相应的,当样本输入信息为样本输入文本时,则在样本输入文本输入至初始神经网络模型后,可以确定样本输入文本的音调特征和音素特征,然后初始编码模块可以对输入的音调特征和音素特征(或仅根据音素特征)进行编码,得到样本信息编码结果(即样本文本编码结果)。
[0118]
在本技术可选的实施例中,若样本输入信息为样本输入语音信息,样本输入信息
对应的样本音调特征是通过下列方式确定的:
[0119]
获取样本输入语音信息中各帧语音的音素对应于每个音素的概率;
[0120]
根据每帧语音的音素对应于每个音素的概率,确定每帧语音的目标音素;
[0121]
将每帧语音的目标音素对应的音调特征,作为样本输入语音信息对应的样本音调特征。
[0122]
在实际应用中,当样本输入信息为不同的信息时,其所对应的样本音调特征的确定方式也是不同的。如当样本输入信息为样本输入文本时,此时可以直接基于预设的音调信息和音调特征的映射关系,确定样本输入文本所包括的音调信息所对应的音调特征作为样本音调特征;而当样本输入信息为样本输入语音信息时,样本输入语音信息包括各帧语音,此时可以获取样本输入语音信息中各帧语音的音素对应于每个音素的概率(即ppg),然后根据每帧语音的音素对应于每个音素的概率,确定每帧语音的目标音素,并将样本输入语音信息中每帧语音的目标音素对应的音调特征,作为该样本输入语音信息对应的样本音调特征。
[0123]
其中,确定每帧语音的目标音素的实现方式可以预先配置,本技术实施例不限定。例如,可以将某帧语音中对应于各音素的概率中最大概率的音素作为该帧语音的目标音素。
[0124]
在一示例中,假设样本输入语音信息包括2帧语音,该样本输入语音信所对应的语言所包括的音素为a、b、c和d,此时可以确定第1帧语音中的音素对应于音素为a、b、c和d的概率分别为0.3、0.2、0.4和0.1,第2帧语音中的音素对应于音素为a、b、c和d的概率分别为0.6、0.2、0.1和0.1,此时第1帧语音对应于音素c的概率对大、第2帧语音对应于音素a的概率对大,则第1帧语音中的目标音素即为音素c,第2帧语音中的目标音素即为音素a;进一步的,可以确定音素c对应的音调“阴平”所对应的音调特征,以及确定音素a对应的音调“阴平”所对应的音调特征,然后将确定的音调特征作为该样本输入语音信息对应的样本音调特征。其中,确定各音调所对应的音调特征可以基于预设的音调和音调特征之间的映射关系确定。
[0125]
在本技术可选的实施例中,获取训练数据,包括:
[0126]
获取初始训练数据,初始训练数据包括各初始样本对,初始样本对包括初始样本输入信息和该初始样本输入信息对应的初始样本输出语音信息,以及该初始样本输入信息对应的用户信息标签;
[0127]
对至少一个初始样本输出语音信息进行语音调节处理,得到处理后的初始样本输出语音信息,并获取处理后的初始样本输出语音信息对应的用户信息标签;
[0128]
将初始训练数据、处理后的初始样本输出语音信息和处理后的初始样本输出语音信息对应的用户信息标签,作为训练数据;
[0129]
其中,语音调节处理包括音速调节处理、音调调节处理和加噪处理中的至少一项。
[0130]
具体的,初始训练数据可以包括各初始样本对,每个初始样本对可以包括初始样本输入信息(可以为初始样本输入文本或初始样本输入语音信息)和该初始样本输入信息对应的初始样本输出语音信息,以及用于表征始样本语音输出信息具体为哪一用户的语音的用户信息标签。
[0131]
在实际应用中,若某一种语言的训练数据较少,此时最终得到的语音合成网络由
于训练数据较少、训练不充分,可能导致最终生成的语音的效果不理想,基于此,本技术实施在获取到初始训练数据后,对于初始样本对中所包括的初始样本输出语音信息可以进行语音调节处理,得到处理后的初始样本输出语音信息,然后将初始训练数据、处理后的初始样本输出语音信息以及处理后的初始样本输出语音信息对应的用户信息标签,共同作为训练数据。
[0132]
在本技术可选的实施例中,将初始训练数据、处理后的初始样本输出语音信息和处理后的初始样本输出语音信息对应的用户信息标签,作为训练数据,可以包括:
[0133]
基于初始训练数据、以及处理后的训练样本对,得到训练数据,并将初始训练数据和生成的各处理后的训练样本对作为训练数据;
[0134]
其中,若初始样本输入信息为样本输入文本,每个处理后的训练样本对包括原初始样本输入文本、对应的一个处理后的初始样本输出语音信息和该处理后的初始样本输出语音信息对应的用户信息标签;若初始样本输入信息为样本输入语音信息,每个处理后的训练样本对包括一个处理后的初始样本输出语音信息和该处理后的初始样本输出语音信息对应的用户信息标签。
[0135]
在实际应用中,在获取到初始训练数据后,对于初始样本对中所包括的初始样本输出语音信息可以进行语音调节处理,得到处理后的初始样本输出语音信息,然后基于处理后的初始样本输出语音信息组成新的训练样本对(即处理后的训练样本对),并将新的训练样本对和原初始训练数据共同作为训练数据。此时,训练数据相比于原来的初始训练数据,还增加了各处理后的训练样本,训练数据的数量明显增加,可以达到扩充训练数据的目的。
[0136]
其中,当初始样本输入信息为样本输入文本时,每个处理后的训练样本对可以包括样本输入文本、其对应的一个处理后的初始样本输出语音信息和该处理后的初始样本输出语音信息对应的用户信息标签;而当初始样本输入信息为样本输入语音信息时,此时初始样本对中的样本输入语音信息和样本出输出语音信息为同一语音信息,相应的,当在对初始样本输出语音信息进行语音调节处理时,即是对初始样本出入语音信息进行语音调节处理,而每个处理后的训练样本对则包括对应的一个处理后的初始样本输出语音信息和该处理后的初始样本输出语音信息对应的用户信息标签。
[0137]
其中,音速调节处理指的是按照一定的比例调节语速,音调调节处理指的是按照一定的比例调节语音中的基本频率,而加噪处理指的是在语音中添加噪声。
[0138]
在实际应用中,语音调节处理具体包括哪几种处理方式、以及每种处理方式的实现方式可以预先配置,本技术实施例不限定。例如,对于音速调节处理和音调调节处理可以通过sox工具来实现,此时sox的speed(速度)参数取不同的取值时,将得到不同的语音信息,如对应于一个初始样本语音信息,在将speed(速度)参数分别取0.8,0.9,1.1,1.2(即以原始速度的80%,90%,110%,120%)时,将可以得到4种不同语速的语音;而对初始样本输出语音信息进行加噪处理时,可以按信噪比为设定分贝对初始样本语音信息添加车载噪声。
[0139]
其中,当语音调节处理包括两种以上语音调节处理方式时,可以对初始样本输出语音信息分别进行不同的语音调节处理,也可以基于某一种语音调节处理后得到的处理结果上再执行其它方式的语音调节处理,本技术示例对此不限定。例如,假设语音调节处理音
速调节和加噪处理时,此时可以对初始样本输出语音信息分别进行音速调节和加噪处理,分别得到音速调节后的初始样本输出语音信息和加噪处理后的初始样本输出语音信息,也可以对该初始样本输出语音信息先进行音速调节,得到音速调节后的初始样本输出语音信息,然后对音速调节后的初始样本输出语音信息进行加噪处理,得到加噪处理后的初始样本输出语音信息。
[0140]
在本技术可选的实施例中,各初始样本输出语音信息中包括对应于至少两种不同语言的、且训练数据量不同的初始样本输出语音信息,其中,训练数据量包括用户数据量和/或语音数据量;
[0141]
对至少一个初始样本输出语音信息进行语音调节处理,包括:
[0142]
对训练数据量较少的语言对应的初始样本输出语音信息进行语音调节处理。
[0143]
在实际应用中,各初始样本输出语音信息中可以包括对应于至少两种不同语言的初始样本输出语音信息,进而可以保证基于初始样本输出语音信息训练的得到的语音合成网络可以合成不同语言的语音信息。其中,初始样本输出语音信息中每种与语言对应的训练数据量是不同的。而训练数据量可以包括用户数据量和/或语音数据量,用户数据量指的是每种语言所对应的用户的数量,语音数据量指的是每种语言所对应的语音总时长或语音条数。例如,属于中文的初始样本输出语音信息分别对应于5个用户,且属于中文的初始样本输出语音信息的总时长为10个小时,此时对应于中文语言的用户数据量为5,语音数据量为10小时。
[0144]
进一步的,对于训练数据量较少的语言,可以对该语言对应的初始样本输出语音信息进行语音调节处理,以增加该语言对应的训练数据,使得训练数据量较少的语言的相关网络可以得到更加充分的训练,从而缓解因训练数据过少造成对应于该语言的发音错误,导致语音合成效果不理想。
[0145]
在本技术可选的实施例中,若语音调节处理包括音速调节处理和/或音调调节处理,处理后的初始样本输出语音信息对应的用户信息标签与对应的初始样本输出语音信息对应的用户信息标签不相同;
[0146]
若语音调节处理只包括加噪处理,处理后的初始样本输出语音信息对应的用户信息标签与对应的初始样本输出语音信息对应的用户信息标签相同。
[0147]
在实际应用中,为了表征处理后的初始样本输出语音信息具体属于哪一用户的语音,处理后的初始样本语音信息也会存在对应的用户信息标签。其中,若处理后的初始样本输出语音信息是基于音速调节处理和/或音调调节处理后得到的,由于语音在经过音速调节处理和/或音调调节处理后,会与初始样本输出语音信息存在较大的差异,此时处理后的初始样本输出语音信息所对应的用户将不同于初始样本输出语音信息所对应的用户,该处理后的初始样本输出语音信息的用户信息标签自然也将不同于初始样本输出语音信息的用户信息标签,此时处理后的初始样本输出语音信息所对应的用户将作为一个新的用户,并添加一个新的用户信息标签。
[0148]
例如,假设一初始样本输出语音信息为用户a的语音,该初始样本输出语音信息的用户信息标签为a,进一步的,当对该初始样本输出语音信息进行音速调节处理和/或音调调节处理后,可以得到处理后的初始样本输出语音信息,此时该处理后的初始样本输出语音信息所对应的用户为新的用户b,该处理后的初始样本输出语音信息的用户信息标签为
b。
[0149]
相应的,若处理后的初始样本输出语音信息只是基于加噪处理后得到的,其与初始样本输出语音信息将不会存在较大的差异,此时处理后的初始样本输出语音信息所对应的用户与初始样本输出语音信息所对应的用户为同一用户,即该处理后的初始样本输出语音信息的用户信息标签也与初始样本输出语音信息的用户信息标签相同。例如,假设一初始样本输出语音信息为用户a的语音,该初始样本输出语音信息的用户信息标签为a,如果仅对该初始样本输出语音信息进行加噪处理,此时所得到的处理后的初始样本输出语音信息所对应的用户为仍为用户a,该处理后的初始样本输出语音信息的用户信息标签也仍为a。
[0150]
可选的,为了更好地体现理解上述中对初始样本输出语音信息进行语音调节处理的实现方式,以及所产生的技术效果,现结合一具体示例进行说明。在本示例中,假设初始训练数据包括中英文两种语言的初始样本对,其中,中文语言所对应的初始样本输出语音信息只包含一个说话人(即用户数量为1),对应的语音数据量为15分钟或更少;英文所对应的初始样本输出语音信息包含6个说话人(即用户数量为6),对应的语音数据量超过10个小时,并且每种语言的用户都只会说该语种的语言,语音调节处理包括音速调节处理和加噪声处理。由于中文语言所对应的训练数据量较少,此时可以将sox工具的speed参数分别取0.8,0.9,1.1,1.2,并对中文语言所对应的各初始样本输出语音信息进行调速处理,得到各新的初始样本输出语音信息,此时中文语言所对应的初始样本输出语音信息的数据数量将会扩大4倍。然后,可以将中文语言所对应的原初始样本输出语音信息、以及调速处理后得到的新的初始样本输出语音信息进行加噪处理,得到和加噪处理前相同数量的初始样本输出语音信息,此时中文语言所对应的初始样本输出语音信息的数据量变为原来数据量10倍,并且由于初始样本输出语音信息在经过音速调节处理后,初始样本输出语音信息的基频发生了较大变化,此时基于每个speed参数调节后所得到的初始样本输出语音信息将对应于新的用户,进而中文语言所对应的初始样本输出语音信息的用户数量也由最初的1人变为5人。
[0151]
由此可见,在本示例中,中文语言所对应的训练数据量相比于原来的训练数据量得到大量的扩充,在基于扩充后的训练数据对初始神经网络模型进行训练后,此时对应于中文语言的相关网络可以得到更加充分的训练,从而可以缓解因训练数据过少而造成的发音错误问题。
[0152]
另外,为了更好地理解本技术实施例中所提供的语音生成方法,以及语音生成模型的训练过程,下面将通过不同的实施例以不同的应用场景为例对本技术所提供的方法进行详细说明。
[0153]
实施例一:
[0154]
下面结合将输入的文本生成不同候选语言(如中文或英文)的语音信息的应用场景进行详细说明。其中,在该场景下,待处理信息为待处理文本,训练数据中的样本输入信息为样本输入文本,而对应的语音生成模型可以通过对不同网络结构的神经网络模型进行训练后得到,而当网络结构不同时,对初始神经网络模型的训练方式也存在部分差异,下面通过不同的示例(示例1和示例2)分别对不同网络结构的初始神经网络模型,以及训练方式进行详细描述。
[0155]
示例1:
[0156]
如图3所示,初始神经网络模型可以包括初始语音生成模型、初始用户信息分类模块、残差网络和音调分类器。其中,初始语音生成模型中包括初始编码模块(图3中未示出)和初始语音生成模块(图3中未示出),编码模块包括依次连接的音素音调信息获取模块、音素音调特征获取模块和文本编码器,初始语音生成模块包括依次连接的解码器和声码器;残差网络包括依次连接的语音特征提取模块和残差编码器(具体可以为变分自编码器的残差编码器),残差编码器与初始语音生成模块中的解码器相连,文本编码器分别与初始用户信息分类模块、解码器和音调分类器相连。
[0157]
下面结合图4,对图3中所示的初始神经网络模型进行训练的过程进行详细描述。在本示例中,初始用户信息分类模块可以为由梯度反转层和用户信息分类器(图4中为说话人分类器)组成的对抗网络(即图4中为说话人对抗网络),其中,梯度反转层可以将传到本层的误差乘以一个负数,使得梯度反转层前后的网络的训练目标相反,以实现对抗的效果;残差编码器为变分自编码器,而经过残差网络所包括的语音特征提取模块(图4中未示出)提取得到的语音特征可以为梅尔谱(mel spectrogram,语音特征的一种表现形式);音调分类器(图4中的音调分类网络)可以由依次级联的一个或多个全连接层(图4中未示出)和softmax(激励函数)层(图4中未示出)组成,以实现对输入的文本编码结合进行音调特征分类。
[0158]
相应的,在基于训练数据对初始神经网络模型进行训练时,可以通过音素音调信息获取模块(图4中未示出)获取样本输入文本(图4为文本)所包括的音调信息和音素信息(即图4中的带调音素序列),然后基于音素音调特征获取模块(图4中未示出)获取包含音调信息的音调特征(即图4中的音调嵌入)以及包含音素信息的音素特征(即图4中的音素嵌入)并输入至文本编码器,得到样本信息编码结果(即图4中的文本编码),并将样本信息编码结果分别输入至音调分类器和说话人对抗网络,得到预测音调特征和预测用户信息;与此同时,残差网络中可以提取样本输出语音信息的梅尔谱(即样本语音特征)并输入至残差编码器,得到预测残差编码(即图4中的残差编码);进一步的,可以对残差编码、样本输入文本对应的语言特征(即图4中的语种嵌入)、样本输出语音信息对应的语音特征(即图4中的说话人嵌入)和文本编码进行拼接后输入至解码器,得到预测梅尔谱(即图4中的梅尔谱),然后声码器基于得到的梅尔谱生成预测语音信息(即图4中的语音)并输出。
[0159]
其中,每个样本输入文本对应的语言特征(即图4中的语种嵌入)和各样本输出语音信息对应的语音特征(即图4中的说话人嵌入),可以预先确定并配置在初始神经网络模型中,进而在训练时直接获取即可;当然,也可以在初始神经网络模型中配置用于确定样本输入文本的语言特征和样本输出语音信息对应的语音特征的模块,并在训练中实时确定,本技术实施例不限定。其中,样本输出语音信息对应的语音特征(即说话人嵌入)可以使用提前训练好的x-vector(x向量,语音特征的一种表现形式)提取器提取样本输出语音的x-vector(如64维的x向量)作为说话人嵌入。
[0160]
进一步的,可以基于样本输入文本对应的样本音调特征与预测音调特征得到音调分类损失函数(即前文中的第三损失函数)的值;基于预测用户信息与样本输入文本对应的用户信息标签,得到用户信息分类损失函数(即前文中的第二损失函数)的值、以及基于上述得到的残差编码与样本输出语音信息对应的样本残差编码,确定变分自编码器的kl距
离,基于样本输出语音信息与预测语音信息确定语音损失函数(即前文中的第一损失函数)的值;然后将语音损失函数的值、用户信息分类损失函数的值、音调分类损失函数的值和变分自编码器的kl距离的之和作为初始神经网络模型的总损失函数,若该总损失函数不收敛,则继续对该初始神经网络模型进行上述训练,直至总损失函数收敛,得到训练后的初始神经网络模型,此时训练后的初始神经网络模型中所包括的语音生成模型即可作为本技术实施例中的语音生成模型。其中,在确定语音损失函数的值时,可以确定预测梅尔谱与基于样本输出语音信息提取得到的梅尔谱之间的均方差,并将其作为语音损失函数的值,音调分类损失函数和用户信息分类损失函数可以为交叉熵损失函数。
[0161]
可选的,在实际应用中,当需要将待处理文本生成目标用户对应于目标语言(如为英语)的语音信息时,可以将待处理文本(图5为文本)输入如图5所示的语音生成模型,语音生成模型可以获取待处理文本的音调信息和音素信息(即图5的带调音素序列),然后获取包含音调信息的音调特征(即图5中的音调嵌入)以及包含音素信息的音素特征(即图5中的音素嵌入)并输入至文本编码器,得到信息编码结果(即图5中的文本编码),并将获取到的对应于英语的语言特征(即图5中的语种嵌入)、目标用户的语音特征(即图5中的说话人嵌入)和文本编码拼接后送入至解码器得到梅尔谱(即图5中的梅尔谱),再经过声码器得到目标用户对应于英语的语音信息(即图5中的语音)。
[0162]
其中,每个用户对应的语音特征和每种语言对应的语言特征可以预先配置在语音生成模型中,而每个用户对应的语音特征是在训练时对应于该用户的所有样本输出语音信息的语音特征平均值(如可以为所有样本输出语音信息的x-vector平均值);并且为了减少样本输出语音信息的噪音,提高模型输出的稳定性,进一步提高语音合成的效果,还可以将全零向量的残差编码作为先验均值与语种嵌入、说话人嵌入和文本编码一起拼送入至解码器得到梅尔谱。
[0163]
如图6所示,在本示例中,在文本编码器基于音素特征(图6中为音素嵌入)和音调特征(图6中为音调嵌入)得到样本信息编码结果(图6中的文本编码)后,由于可以将得到的文本编码作为输入送入至音调分类器进行音调分类,得到预测音调特征,并将预测音调特征和实际音调特征之间的损失加入总损失函数,此时可以迫使文本编码器可以学到更多的音调信息,得到带有更强音调信息的信息编码结果,进而在将文本编码传入解码器后,使得解码器基于文本编码、说话人嵌入和语种嵌入所生成的语音(图6中以梅尔谱为例)的音调更加明显。
[0164]
示例2:
[0165]
如图7所示,初始神经网络模型可以包括初始语音生成模型、初始用户信息分类模块和残差网络。其中,初始语音生成模型中包括初始编码模块(图7中未示出)和初始语音生成模块(图7中未示出),初始编码模块包括依次连接的音素音调信息获取模块、音素音调特征获取模块与文本编码器;初始语音生成模块包括依次连接的解码器和声码器;残差网络包括依次连接的语音特征提取模块和残差编码器(具体可以为变分自编码器的残差编码器),残差编码器与初始语音生成模块中的解码器相连,文本编码器与初始用户信息分类模块和解码器相连。
[0166]
下面结合图8,对图8中所示的初始神经网络模型进行训练的过程进行详细描述。在本示例中,初始用户信息分类模块可以为由梯度反转层和用户信息分类器(图8中为说话
人分类器)组成的对抗网络(图8中为说话人对抗网络),其中,关于梯度反转层的说明参照示例1中的描述,在此就不再赘述;残差编码器可以为变分自编码器,而经过残差网络所包括的语音特征提取模块提取得到的语音特征可以为梅尔谱。
[0167]
相应的,在基于训练数据对初始神经网络模型进行训练时,可以通过音素音调信息获取模块(图8中未示出)获取样本输入文本(图8为文本)所包括的音调信息和音素信息(即图8中的带调音素序列),然后基于音素音调特征获取模块(图8中未示出)获取包含音调信息的音调特征(即图8中的音调嵌入)以及包含音素信息的音素特征(即图8中的音素嵌入),并仅将音素特征输入至文本编码器,得到样本信息编码结果(即图8中的文本编码),将样本信息编码结果分别输入说话人对抗网络,得到预测用户信息;残差网络中可以提取样本输出语音信息的梅尔谱(即样本语音特征)并输入至残差编码器,得到预测残差编码(即图8中的残差编码);进一步的,可以将预测残差编码、样本输入文本对应的语言特征(即图8中的语种嵌入)、样本输出语音信息对应的语音特征(即图8中的说话人嵌入)、音调特征(即图8中的音调嵌入)和文本编码进行拼接并输入至解码器,得到预测梅尔谱(即图8中的梅尔谱),然后声码器基于得到的梅尔谱生成预测语音信息(即图8中的语音)并输出。其中,关于样本输入文本对应的语言特征(即语种嵌入)和样本输出语音信息对应的语音特征(即说话人嵌入)的说明与上述中示例1中的描述相同,在此就不再赘述。
[0168]
进一步的,可以基于预测用户信息与样本输入文本对应的用户信息标签,得到用户信息分类损失函数(即前文中的第二损失函数)的值、以及基于上述得到的预测残差编码与样本输入文本对应的样本残差编码,确定变分自编码器的kl距离,基于样本语音信息与预测语音信息确定语音损失函数(即前文中的第一损失函数)的值;然后将语音损失函数的值、用户信息分类损失函数的值和变分自编码器的kl距离的之和作为初始神经网络模型的总损失函数,若该总损失函数不收敛,则继续对该初始神经网络模型进行上述训练,直至总损失函数收敛,得到训练后的初始神经网络模型,此时训练后的初始神经网络模型中所包括的语音生成模型即可作为本技术实施例中用于生成信息的语音生成模型。其中,在确定语音损失函数的值时,可以确定预测梅尔谱与基于样本输出语音信息提取得到的梅尔谱之间的均方差,并将其作为语音损失函数的值,用户信息分类损失函数可以为交叉熵损失函数。
[0169]
可选的,在实际应用中,当需要将待处理文本生成目标用户对应于目标语言(如为英语)的语音信息时,可以将待处理文本(图9为文本)输入如图9所示是语音生成模型,获取待处理文本的音调信息和音素信息(即图9的带调音素序列),然后获取包含音调信息的音调特征(即图9中的音调嵌入)以及包含音素信息的音素特征(即图9中的音素嵌入),并将音素嵌入输入至文本编码器,得到信息编码结果(即图9中的文本编码),然后将对应于英语的语言特征(即图9中的语种嵌入)、目标用户的语音特征(即图9中的说话人嵌入)、文本编码和音调嵌入进行拼接后送入至解码器得到梅尔谱,再经过声码器得到目标用户对应于英语的语音信息。其中,关于每个用户对应的语音特征和每种语言对应的语言特征的说明可以参见上述示例1中的描述,在此就不再赘述。同理,并且为了减少样本输出语音信息的噪音,进一步提高语音合成的效果,也可以将全零向量的残差编码作为先验均值与语种嵌入、说话人嵌入和文本编码一起拼接后送入至解码器得到梅尔谱。
[0170]
如图10所示,在本示例中音调特征(图10中为音调嵌入)不是直接送入文本编码
器,而是与基于音素特征得到的信息编码结果(图10中为文本编码)、目标用户对应的语音特征(图10中为说话人嵌入)和目标语言的语言特征(图10中为语种嵌入)拼接后一起输入解码器,此时可以更直接的控制生成语音(图10中以梅尔谱为例)的音调,进而可以避免了文本编码器对音调产生的影响,提升生成语音的语音效果。
[0171]
实施例二:
[0172]
下面结合将输入的语音信息生成不同候选语言(如中文或英文)的语音信息的应用场景进行详细说明,其对应的语音生成模型可以通过对神经网络模型进行训练后得到。在该场景下,待处理信息为待处理语音信息,训练数据中的样本输入信息为样本输入语音信息,训练样本对中的样本输入语音信息和样本输出语音信息为同一语音信息。
[0173]
如图11所示,初始神经网络模型可以包括初始语音生成模型(图11中未示出)、初始用户信息分类模块(图11中的说话人对抗网络)、残差网络和音调分类器。其中,初始语音生成模型中包括初始编码模块(图11中未示出)和初始语音生成模块(图11中未示出),初始编码模块包括依次连接的初始音素识别器(图11中以中-英音素识别器为例)和文本编码器,初始语音生成模块包括依次连接的解码器和声码器(图11中未示出);残差网络包括依次连接的语音特征提取模块(图11中未示出)和残差编码器(具体可以为变分自编码器的残差编码器),残差编码器与初始语音生成模块中的解码器相连,文本编码器分别与初始用户信息分类模块、解码器和音调分类器相连。
[0174]
下面对图11中所示的初始神经网络模型进行训练的过程进行详细描述。在本示例中,初始用户信息分类模块可以为由梯度反转层和用户信息分类器(图11中为说话人分类器)组成的对抗网络(即图11中为说话人对抗网络),其中,梯度反转层的所起到的作用与实施例一中的梯度反转层的所起到的作用相同,关于此部分的描述可参见实施例一中描述,在此就不再赘述。而经过残差网络所包括的语音特征提取模块(图11中未示出)提取得到的语音特征可以为梅尔谱;音调分类器的结构、以及所起到的作用与实施例一中的音调分类器相同,关于此部分的描述可参见实施例一中描述,在此就不再赘述。
[0175]
相应的,在基于训练数据对初始神经网络模型进行训练时,可以通过中-英音素识别器获取样本输入语音信息(图11为语音)所包括的音素后验概率(即图11中的中-英ppg)并输入至文本编码器,得到样本信息编码结果(即图11中的文本编码),并将文本编码分别输入至音调分类器和说话人对抗网络,得到预测音调特征(图11中的音调标签)和预测用户信息(图11中的说话人标签);与此同时,残差网络中可以提取样本输出语音信息(图11为语音)的梅尔谱并输入至残差编码器,得到预测残差编码(即图11的残差编码);进一步的,可以对残差编码、样本输入语音信息对应的语言特征(即图11中的语种嵌入)、样本输出语音信息对应的语音特征(即图11中的说话人嵌入)和文本编码进行拼接后输入至解码器(图11中的“拼接”),得到预测梅尔谱(即图11中的梅尔谱),然后声码器基于得到的梅尔谱生成预测语音信息并输出(即图11中未示出)。
[0176]
其中,每个样本输入语音信息对应的语言特征(即图11中的语种嵌入)和各样本输出语音信息对应的语音特征(即图11中的说话人嵌入),可以预先确定并配置在初始神经网络模型中,进而在训练时直接获取即可;当然,也可以在初始神经网络模型中配置用于确定语言特征和语音特征的模块,并在训练中实时确定,本技术实施例不限定。其中,样本输出语音信息对应的语音特征(即说话人嵌入)可以使用提前训练好的x-vector(x向量,语音特
征的一种表现形式)提取器提取样本输出语音的x-vector(如64维的x向量)作为说话人嵌入。
[0177]
进一步的,可以基于样本输入语音信息对应的样本音调特征与预测音调特征得到音调分类损失函数(即前文中的第三损失函数)的值;基于预测用户信息与样本输入语音信息对应的用户信息标签,得到用户信息分类损失函数(即前文中的第二损失函数)的值、以及基于上述得到的预测残差编码与样本残差编码,确定变分自编码器的kl距离,基于样本输出语音信息与预测语音信息确定语音损失函数(即前文中的第一损失函数)的值;然后将语音损失函数的值、用户信息分类损失函数的值、音调分类损失函数的值和变分自编码器的kl距离的之和作为初始神经网络模型的总损失函数,若该总损失函数不收敛,则继续对该初始神经网络模型进行上述训练,直至总损失函数收敛,得到训练后的初始神经网络模型,此时训练后的初始神经网络模型中所包括的语音生成模型即可作为本技术实施例中的语音生成模型。其中,在确定语音损失函数的值时,可以确定预测梅尔谱与基于样本输出语音信息提取得到的梅尔谱之间的均方差,并将其作为语音损失函数的值,音调分类损失函数和用户信息分类损失函数可以为交叉熵损失函数。
[0178]
其中,上述中的中-英音素识别器的具体结构可以如图12所示,由于本示例中涉及到中英两种候选语言,此时中-英音素识别器内可以包括对应于英文的英语音素识别器和对应于中文的普通话音素识别器。其中,该英语音素识别器和普通话音素识别器为预先分别基于大量的英语和普通话的语音信息进行训练后得到的。相应的,当将样本输入语音信息(图12中为语音)输入至该中-英音素识别器后,可以将样本输入语音信息分别送入英语音素识别器和普通话音素识别器,分别得到该样本输入语音信息对应于英语的音素后验概率(图12中为英语ppg)和对应于中文的音素后验概率(图12中为普通话ppg),然后将对应于英语的音素后验概率和对应于中文的音素后验概率拼接在一起(图12中的“拼接”),即可得到该样本输入语音信息对应的音素后验概率(即图12中的中-英ppg),并将样本输入语音信息对应的音素后验概率输入至文本编码器中执行后续流程。
[0179]
可选的,在实际应用中,当需要将待处理语音信息生成目标用户对应于目标语言(如为英语)的语音信息时,可以将待处理语音信息(图13为语音)输入如图13所示的语音生成模型,语音生成模型中的中-英音素识别器可以获取待处理语音信息音素后验概率(图13为中-英ppg)并输入至文本编码器,得到信息编码结果(即图13中的文本编码),并将获取到的对应于英语的语言特征(即图13中的语种嵌入)、目标用户的语音特征(即图13中的说话人嵌入)和文本编码拼接后送入至解码器得到梅尔谱,再经过声码器得到目标用户对应于英语的语音信息(即图13中未示出)。
[0180]
其中,每个用户对应的语音特征和每种语言对应的语言特征可以预先配置在语音生成模型中,而每个用户对应的语音特征是在训练时对应于该用户的所有样本输出语音信息的语音特征平均值(如可以为所有样本输出语音信息的x-vector平均值);并且为了减少样本输出语音信息的噪音,进一步提高语音合成的效果,还可以将全零向量的残差编码作为先验均值与语种嵌入、说话人嵌入和文本编码一起拼送入至解码器得到梅尔谱。
[0181]
实施例三:
[0182]
在实际应用中,当待处理信息为待处理语音信息时,语音生成模型除了可以使用带有注意力机制的循环神经网络rnn(recurrent neural network)(即上述中的解码器)进
行解码之外,也可以使用基于fft(feed-forward transformer)块的解码器进行解码,此时初始神经网络模型具体如图14所示。基于图14可知,该初始神经网络模型相比于图12所示的初始神经网络模型除了将图12中的解码器换为重复n次(通常n取6)的带有上下文保留的fft块(图14中为fft块带上下文保留)、以及添加了一个线性层之外,其余全部相同。因此,关于该初始神经网络模型中除带有上下文保留的fft块和线性层之外的结构的具体说明可以参见上述中关于图12部分的说明,在此就不再赘述。
[0183]
如图15所示,上述中带有上下文保留的fft块(即图15中的fft块和带上下文保留)通常可以包括一个纯fft块和一个用于基于输入信息得到预测语音特征(即图15中的梅尔谱)的线性层,以形成上下文保留机制。而需要说明的是,在实际训练过程中,在基于所包括的纯fft块得到输出信息后,需要将该输出信息分别输入至用于形成上下层保留机制的线性层、以及与带有上下文保留的fft块连接的线性层(即图14中与fft块带上下文保留连接的线性层)。
[0184]
在本示例,由于用于解码的fft块带有上下文保留机制,进而能够解码得到更好的预测梅尔谱。在实际应用中,每个纯fft块通常可以包含一个多头自注意力层、一个卷积层(图中以一维卷积层为例)和两个残差连接和归一化层(即图15和图16中的add&norm),并且其中一个残差连接和归一化层分别与多头自注意力层和卷积层连接,另一个残差连接和归一化层则分别与卷积层和线性层(该线性层包括用于形成上下层保留机制的线性层和与带有上下文保留的fft块连接的线性层(即图14中与fft块带上下文保留连接的线性层))连接,具体如图16所示。
[0185]
相应的,在基于训练数据对初始神经网络模型进行训练时,可以通过中-英音素识别器获取样本输入语音信息(图14为语音)所包括的音素后验概率(即图14中的中-英ppg)并输入至文本编码器,得到样本信息编码结果(即图14中的文本编码),并将文本编码分别输入至音调分类器和说话人对抗网络,得到预测音调特征(图14为音调标签)和预测用户信息(图14为说话人标签);与此同时,残差网络中可以提取样本输出语音信息(图14为语音)的梅尔谱并输入至残差编码器,得到预测残差编码(即图14的残差编码);进一步的,可以对残差编码、样本输入语音信息对应的语言特征(即图14中的语种嵌入)、样本输出语音信息对应的语音特征(即图14中的说话人嵌入)和文本编码进行拼接(即图14中的“拼接”)后输入至重复n次的带有上下文保留的fft块(图14中为fft块带上下文保留)和线性层,得到预测梅尔谱(即图14中的梅尔谱),然后声码器基于得到的梅尔谱生成预测语音信息并输出(即图14中未示出)。
[0186]
其中,关于每个样本输入语音信息对应的语言特征(即图14中的语种嵌入)和各样本输出语音信息对应的语音特征(即图14中的说话人嵌入)的确定方式、以及样本输出语音信息对应的语音特征的表现形式可以参见实施例二中的有关描述,在此就不再赘述;而中-英音素识别器的具体结构与图12所示的具体结构相同,关于中-英音素识别器的具体结构可以参见实施例二中的有关描述,在此就不再赘述。
[0187]
进一步的,可以基于样本输入语音信息对应的样本音调特征与预测音调特征得到音调分类损失函数(即前文中的第三损失函数)的值;基于预测用户信息与样本输入语音信息对应的用户信息标签,得到用户信息分类损失函数(即前文中的第二损失函数)的值、以及基于上述得到的残差编码与样本残差编码,确定变分自编码器的kl距离,基于样本输出
语音信息与预测语音信息确定语音损失函数(即前文中的第一损失函数)的值;然后将语音损失函数的值、用户信息分类损失函数的值、音调分类损失函数的值和变分自编码器的kl距离的之和作为初始神经网络模型的总损失函数,若该总损失函数不收敛,则继续对该初始神经网络模型进行上述训练,直至总损失函数收敛,得到训练后的初始神经网络模型,此时训练后的初始神经网络模型中所包括的语音生成模型即可作为本技术实施例中的语音生成模型,具体如图17所示。需要说明的是,此时得到的语音生成模型中用于解码的解码器为重复n次的纯fft块,并非重复n次的带有上下保留的fft块。
[0188]
可以理解的是,在本示例中,由于是通过重复n次的带有上下文保留的fft块进行解码,而每个带有上下文保留的fft块中所包括的线性层可以输出一个预测语音特征,因此,为了保证训练效果更加准确,在确定神经网络模型的总损失函数时,还可以基于预设的权重确定带有上下文保留的fft块中的线性层所输出的每个预测语音特征与样本输出语音信息所对应的样本语音特征之间的损失,然后与语音损失函数、用户信息分类损失函数、音调分类损失函数和变分自编码器的kl距离之和共同确定总损失函数。
[0189]
其中,在确定语音损失函数的值时,可以确定预测梅尔谱与样本输出语音信息提取得到的梅尔谱之间的均方差,并将其作为语音损失函数的值,音调分类损失函数和用户信息分类损失函数可以为交叉熵损失函数。
[0190]
可选的,在实际应用中,当需要将待处理语音信息合成目标用户对应于目标语言(如为英语)的语音信息时,可以将待处理语音信息(图17为语音)输入如图17所示的语音生成模型,语音生成模型中的中-英音素识别器可以获取待处理语音信息(图17中的语音)的音素后验概率(图17为中-英ppg)并输入至文本编码器,得到信息编码结果(即图17中的文本编码),并将获取到的对应于英语的语言特征(即图17中的语种嵌入)、目标用户的语音特征(即图17中的说话人嵌入)和文本编码拼接后送入至重复n次的纯fft块得到梅尔谱,再经过声码器得到目标用户对应于英语的语音信息(即图17中未示出)。
[0191]
其中,每个用户对应的语音特征和每种语言对应的语言特征可以预先配置在语音生成模型中,而每个用户对应的语音特征是在训练时对应于该用户的所有样本输出语音信息的语音特征平均值(如可以为所有样本输出语音信息的x-vector平均值);并且为了减少样本输出语音信息的噪音,进一步提高语音合成的效果,也可以将全零向量的残差编码作为先验均值与语种嵌入、说话人嵌入和文本编码一起拼接后送入至重复n次的纯fft块得到梅尔谱。
[0192]
基于与本技术实施例所提供的方法相同的原理,本技术实施例还提供了一种语音合成装置,如图18中所示,该语音生成装置100可以包括信息获取模块101、信息编码模块102和语音生成模块103,其中:
[0193]
信息获取模块101,用于获取待处理信息;
[0194]
信息编码模块102,用于对待处理文本进行编码,得到信息编码结果;
[0195]
语音生成模块103,用于基于信息编码结果,生成目标用户对应于目标语言的语音信息。
[0196]
可选的,若待处理信息为待处理文本,语音生成模块在基于信息编码结果,生成目标用户对应于目标语言的语音信息时,具体用于:
[0197]
获取待处理文本的音调特征;
[0198]
基于音调特征和信息编码结果,生成目标用户对应于目标语言的语音信息。
[0199]
可选的,若待处理信息为待处理文本,信息编码模块在对待处理信息进行编码,得到信息编码结果时,具体用于:
[0200]
获取待处理文本的音调特征;
[0201]
对音素特征进行文本编码,得到文本编码结果。
[0202]
可选的,信息编码模块在对音素特征进行文本编码,得到文本编码结果时,具体用于:
[0203]
获取待处理文本对应的音调特征;
[0204]
对音调特征和音素特征进行文本编码,得到文本编码结果。
[0205]
可选的,若待处理信息为待处理语音信息,信息编码模块在对待处理信息进行编码,得到信息编码结果时,具体用于:
[0206]
获取待处理语音信息对应的音素后验概率;
[0207]
对音素后验概率进行编码,得到信息编码结果。
[0208]
可选的,信息编码模块在获取待处理语音信息对应的音素后验概率时,具体用于:
[0209]
获取待处理语音信息对应于每种候选语言的音素后验概率;
[0210]
将对应于每种候选语言的音素后验概率进行拼接,得到待处理语音信息对应的音素后验概率。
[0211]
可选的,该装置是通过语音生成模型实现的,该语音生成模型是由训练模块通过以下方式训练得到的:
[0212]
获取初始神经网络模型和训练数据,训练数据包括各训练样本对,训练样本对包括样本输入信息、该样本输入信息对应的样本输出语音信息和样本用户信息标签;
[0213]
其中,初始神经网络模型包括初始语音生成模型和初始用户信息分类模块,初始语音生成模型包括初始编码模块和初始语音生成模块,初始用户信息分类模块与初始编码模块连接,初始编码模块用于对输入信息进行编码,得到样本信息编码结果,初始语音生成模块用于基于样本信息编码结果,得到预测语音信息,初始用户信息分类模块用于基于样本信息编码结果,得到预测用户信息;
[0214]
基于训练数据对初始神经网络模型进行训练,直至初始神经网络对应的总损失函数收敛,得到训练后的初始神经网络模型,将训练后的初始语音生成模型作为语音生成模型;
[0215]
其中,总损失函数包括第一损失函数和第二损失函数,第一损失函数的值表征了输入信息所对应的预测语音信息和样本输出语音信息之间的差异,第二失函数的值表征了样本输入信息所对应的预测用户信息和样本用户信息标签之间的差异。
[0216]
可选的,初始神经网络模型还包括与初始编码模块连接的音调分类器,对于训练样本对,训练样本对还包括样本输入信息对应的样本音调特征;
[0217]
音调分类器用于基于样本信息编码结果,得到预测音调特征;
[0218]
总损失函数还包括第三损失函数,第三损失函数的值表征了预测音调特征和样本音调特征之间的差异。
[0219]
可选的,若样本输入信息为样本输入语音信息,初始神经网络模型还包括与初始编码模块连接的初始音素识别器,初始音素识别器用于确定样本输入语音信息对应的音素
后验概率;
[0220]
初始编码模块在对样本输入信息进行编码,得到样本信息编码结果时,具体用于:
[0221]
对样本输入语音信息对应的音素后验概率进行编码,得到样本信息编码结果。
[0222]
可选的,训练模块在获取训练数据时,具体用于:
[0223]
获取初始训练数据,初始训练数据包括各初始样本对,初始样本对包括初始样本输入信息和该初始样本输入信息对应的初始样本输出语音信息,以及该初始样本输入信息对应的用户信息标签;
[0224]
对至少一个初始样本输出语音信息进行语音调节处理,得到处理后的初始样本输出语音信息,并获取处理后的初始样本输出语音信息对应的用户信息标签;
[0225]
将初始训练数据、处理后的初始样本输出语音信息和处理后的初始样本输出语音信息对应的用户信息标签,作为训练数据;
[0226]
其中,语音调节处理包括音速调节处理、音调调节处理和加噪处理中的至少一项。
[0227]
可选的,各初始样本输出语音信息中包括对应于至少两种不同语言的、且训练数据量不同的初始样本输出语音信息,其中,训练数据量包括用户数据量和/或语音数据量;
[0228]
训练模块在对至少一个初始样本输出语音信息进行语音调节处理时,具体用于:
[0229]
对训练数据量较少的语言对应的初始样本输出语音信息进行语音调节处理。
[0230]
可选的,若语音调节处理包括音速调节处理和/或音调调节处理,处理后的初始样本输出语音信息对应的用户信息标签与对应的初始样本输出语音信息对应的用户信息标签不相同;
[0231]
若语音调节处理只包括加噪处理,处理后的初始样本输出语音信息对应的用户信息标签与对应的初始样本输出语音信息对应的用户信息标签相同。
[0232]
基于与本技术实施例所提供的方法及装置相同的原理,本技术实施例还提供了一种电子设备,该电子设备包括存储器和处理器,其中,存储器中存储有计算机程序,处理器用于在运行该计算机程序时,能够执行本技术任一可选实施例中所示的方法。
[0233]
根据本技术实施例,在电子设备执行的语音生成方法中,一种用于识别用户语音并解释用户意图的语音生成方法可以经由语音采集设备(例如,麦克风)接收作为模拟信号的语音信号,并使用自动语音识别(asr)模型将语音部分转换成计算机可读文本。用户的话语意图可以通过使用自然语言理解(nlu)模型解释转换后的文本来获得。asr模型或nlu模型可以是人工智能模型。人工智能模型可以由在为人工智能模型处理指定的硬件结构中设计的人工智能专用处理器来处理。人工智能模型可以通过训练获得。这里,“通过训练获得”意味着通过训练算法用多条训练数据训练基本人工智能模型来获得被配置成执行期望特征(或目的)的预定义操作规则或人工智能模型。人工智能模型可以包括多个神经网络层。多个神经网络层中的每一层包括多个权重值,并且通过在前一层的计算结果与多个权重值之间的计算来执行神经网络计算。
[0234]
语言理解是一种用于识别和应用/处理人类语言/文本的技术,包括例如自然语言处理、机器翻译、对话系统、问答或语音识别/合成。
[0235]
本技术实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序在被处理器运行时,能够执行本技术任一可选实施例中所示的方法。
[0236]
作为一个示例,图19中示出了本技术实施例所适用的一种电子设备的结构示意
图,如图19所示,图19所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
[0237]
处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(fieldprogrammable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0238]
总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图19中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0239]
存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc readonly memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0240]
存储器4003用于存储执行本技术方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
[0241]
本技术实施例中所提供的装置,可以通过ai(artificial intelligence,人工智能)模型来实现多个模块中的至少一个模块。可以通过非易失性存储器、易失性存储器和处理器来执行与ai相关联的功能。
[0242]
该处理器可以包括一个或多个处理器。此时,该一个或多个处理器可以是通用处理器,例如中央处理单元(cpu)、应用处理器(ap)等、或者是纯图形处理单元,例如,图形处理单元(gpu)、视觉处理单元(vpu)、和/或ai专用处理器,例如神经处理单元(npu)。
[0243]
该一个或多个处理器根据存储在非易失性存储器和易失性存储器中的预定义的操作规则或人工智能(ai)模型来控制对输入数据的处理。通过训练或学习来提供预定义的操作规则或人工智能模型。
[0244]
这里,通过学习来提供指的是通过将学习算法应用于多个学习数据来得到预定义的操作规则或具有期望特性的ai模型。该学习可以在其中执行根据实施例的ai的装置本身中执行,和/或可以通过单独的服务器/系统来实现。
[0245]
该ai模型可以包含多个神经网络层。每一层具有多个权重值,一个层的计算是通过前一层的计算结果和当前层的多个权重来执行的。神经网络的示例包括但不限于卷积神经网络(cnn)、深度神经网络(dnn)、循环神经网络(rnn)、受限玻尔兹曼机(rbm)、深度信念网络(dbn)、双向循环深度神经网络(brdnn)、生成对抗网络(gan)、以及深度q网络。
[0246]
学习算法是一种使用多个学习数据训练预定目标装置(例如,机器人)以使得、允许或控制目标装置进行确定或预测的方法。该学习算法的示例包括但不限于监督学习、无监督学习、半监督学习、或强化学习。
[0247]
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0248]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。