技术简介:
本专利针对传统语音识别模型精度不足的问题,提出融合卷积层与对抗网络的训练方法。通过卷积层提取声学特征概率矩阵,再利用生成器与判别器的对抗学习机制,优化模型参数,显著提升语音识别准确率。该方法在金融等领域具有重要应用价值。
关键词:对抗网络,语音识别模型
1.本公开涉及人工智能领域,尤其涉及一种语音识别模型训练、语音识别方法及相关设备。
背景技术:2.随着人工智能技术的快速发展,语音识别成为人机交互必不可少的一部分。当前,银行系统中使用的语音识别方案主要是利用hmm模型(hidden markov model,隐含马尔柯夫模型)等传统方法。
3.然而,hmm模型在识别过程中依赖于cnn(convolutional neural network,卷积神经网络)模型,然而cnn模型在训练中在准确率为95%时就会收敛,无法进一步的向下展开,导致hmm模型无法精准进行语音识别。
4.因此,如何高语音识别的准确率,成为本领域技术人员急需解决的技术问题。
技术实现要素:5.鉴于上述问题,本公开提供一种克服上述问题或者至少部分地解决上述问题的一种语音识别模型训练、语音识别方法及相关设备,技术方案如下:
6.一种语音识别模型训练方法,所述语音识别模型包括卷积层和对抗网络层,所述方法包括:
7.获得语音训练数据和与所述语音训练数据对应的文本训练数据;
8.将所述语音训练数据输入至所述卷积层中,获得所述卷积层输出的与所述语音训练数据对应的声学特征概率矩阵;
9.将所述声学特征概率矩阵和所述文本训练数据输入至所述对抗网络层进行对抗学习训练,获得训练好所述对抗网络层的所述语音识别模型,所述语音识别模型的输入为语音数据,所述语音识别模型的输出为文本数据。
10.可选的,所述对抗网络层包括生成器和判别器,所述将所述声学特征概率矩阵和所述文本训练数据输入至所述对抗网络层进行对抗学习训练,获得训练好所述对抗网络层的所述语音识别模型,包括:
11.训练所述生成器:获得所述生成器对所述声学特征概率矩阵生成的文本样本数据,利用所述文本样本数据和所述文本训练数据对所述生成器的生成参数进行梯度上升更新,在更新后的所述生成参数下,循环训练预设次数后,训练1次所述判别器;
12.训练所述判别器:利用所述生成器生成的所述文本样本数据对所述判别器的判别参数进行梯度下降更新,利用更新后的所述判别参数对所述生成器的所述生成参数进行优化;
13.在所述生成器和所述判别器交替训练预设轮数后,获得获得训练好所述对抗网络层的所述语音识别模型。
14.一种语音识别方法,包括:
15.获得待识别的语音数据;
16.将所述语音数据输入至所述语音识别模型中,获得所述语音识别模型输出的与所述语音数据对应的文本数据。
17.一种语音识别模型训练装置,所述语音识别模型包括卷积层和对抗网络层,所述装置包括:第一获得单元、第二获得单元和第三获得单元,
18.所述第一获得单元,用于获得语音训练数据和与所述语音训练数据对应的文本训练数据;
19.所述第二获得单元,用于将所述语音训练数据输入至所述卷积层中,获得所述卷积层输出的与所述语音训练数据对应的声学特征概率矩阵;
20.所述第三获得单元,用于将所述声学特征概率矩阵和所述文本训练数据输入至所述对抗网络层进行对抗学习训练,获得训练好所述对抗网络层的所述语音识别模型,所述语音识别模型的输入为语音数据,所述语音识别模型的输出为文本数据。
21.可选的,所述第三获得单元,具体用于训练所述生成器:获得所述生成器对所述声学特征概率矩阵生成的文本样本数据,利用所述文本样本数据和所述文本训练数据对所述生成器的生成参数进行梯度上升更新,在更新后的所述生成参数下,循环训练预设次数后,训练1次所述判别器;训练所述判别器:利用所述生成器生成的所述文本样本数据对所述判别器的判别参数进行梯度下降更新,利用更新后的所述判别参数对所述生成器的所述生成参数进行优化;在所述生成器和所述判别器交替训练预设轮数后,获得获得训练好所述对抗网络层的所述语音识别模型。
22.一种语音识别装置,包括:第四获得单元和第五获得单元,
23.所述第四获得单元,用于获得待识别的语音数据;
24.所述第五获得单元,用于将所述语音数据输入至所述语音识别模型中,获得所述语音识别模型输出的与所述语音数据对应的文本数据。
25.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现上述中任一项所述的语音识别模型训练方法。
26.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现所述的语音识别方法。
27.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的语音识别模型训练方法。
28.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行所述的语音识别方法。
29.借由上述技术方案,本公开提供的一种语音识别模型训练、语音识别方法及相关设备,可应用与人工智能或金融技术领域,该语音识别模型包括卷积层和对抗网络层,可以获得语音训练数据和与语音训练数据对应的文本训练数据;将语音训练数据输入至卷积层中,获得卷积层输出的与语音训练数据对应的声学特征概率矩阵;将声学特征概率矩阵和文本训练数据输入至对抗网络层进行对抗学习训练,获得训练好对抗网络层的语音识别模型,语音识别模型的输入为语音数据,语音识别模型的输出为文本数据。获得待识别的语音
数据;将语音数据输入至语音识别模型中,获得语音识别模型输出的与语音数据对应的文本数据。本公开通过卷积特征结合对抗识别,可以提升语音识别模型的语音识别精度。
30.上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
31.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
32.图1示出了本公开实施例提供的语音识别模型训练方法的一种实施方式的流程示意图;
33.图2示出了本公开实施例提供的语音识别模型训练方法的另一种实施方式的流程示意图;
34.图3示出了本公开实施例提供的语音识别方法的一种实施方式的流程示意图;
35.图4示出了本公开实施例提供的语音识别模型训练装置的一种结构示意图;
36.图5示出了本公开实施例提供的语音识别装置的一种结构示意图。
具体实施方式
37.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
38.如图1所示,本公开实施例提供的语音识别模型训练方法的一种实施方式的流程示意图,该语音识别模型包括卷积层和对抗网络层,该语音识别模型训练方法可以包括:
39.s100、获得语音训练数据和与语音训练数据对应的文本训练数据。
40.其中,文本训练数据可以是文本矩阵。本公开实施例可以利用预先训练好的词向量生成模型,对语音训练数据对应的文本中的每个词语生成相应的词向量,并将各词向量进行拼接,得到文本矩阵,即文本训练数据。
41.本公开实施例在对词向量生成模型的训练过程中,可以直接随机初始化embeddings层,然后基于语料通过词向量生成模型网络来对embeddings层进行更新和学习,也可以可以利用外部语料来预训练(pre-train)词向量,然后输入到embedding层,用预训练的词向量矩阵初始化embeddings层。即设置weights=[embedding_matrix]。
[0042]
本公开实施例对于静态词向量(static),可以使用预训练的词向量,在开放领域数据上进行无监督的学习,获得词汇的具体词向量表示方式,拿来直接作为词向量生成模型的输入。
[0043]
本公开实施例对于非静态词向量(non-static),可以在训练过程中对embeddings层进行更新和微调(fine tune),设置trainable=true进行加速收敛。结合预训练的词向量和动态调整,即拿word2vec训练好的词向量初始化,训练过程中再对词向量进行微调。
[0044]
本公开实施例可以借鉴图像中的rgb三通道的思想,使用多通道(multiple channel)方法,用static与non-static两种词向量初始化方式来搭建两个通道。
[0045]
本公开实施例在指定词向量的维度embedding_size后,对不同单词的向量作随机初始化,后续有监督学习过程中,通过bp的方向更新输入层的各个词汇对应的词向量。
[0046]
s200、将语音训练数据输入至卷积层中,获得卷积层输出的与语音训练数据对应的声学特征概率矩阵。
[0047]
其中,卷积层使用不同的卷积核,卷积核的宽度和词向量的长度一致,每个卷积核获得一列特征概率矩阵(feature map)。
[0048]
cnn模型最大的问题主要是max-pooling丢失了结构信息,因此很难去发现文本中的转折关系等复杂模式,cnn只能知道哪些关键词是否在文本中出现了,以及相似度强度分布,而不可能知道哪些关键词出现了几次以及出现这些关键词出现顺序。
[0049]
针对这个问题,本公开实施例需要不再使用传统cnn中丢失信息过多的max-pooling和softmax的调整传递方式,而在cnn模型卷积后的1*n矩阵中采用对抗网络层直接查看内容,即通过对抗网络层对卷积层输出的一个1
×
n的矩阵,识别出矩阵中的各数据对应的文字数据是合理的。
[0050]
s300、将声学特征概率矩阵和文本训练数据输入至对抗网络层进行对抗学习训练,获得训练好对抗网络层的语音识别模型,语音识别模型的输入为语音数据,语音识别模型的输出为文本数据。
[0051]
可选的,对抗网络层包括生成器和判别器。
[0052]
g(z;θg)代表生成器(一个多层感知器),其中z是输入的随机噪声,θg是多层感知器的权重,这个生成器的多层感知器可以看做一个可导的函数,θg是系数,z是输入,输出就是伪造好的样本。可导也就意味着可以通过反向传播算法(backpropagation)来迭代优化生成器的系数θg,使得它能伪造出更逼真的样本。
[0053]
d(x;θd)代表判别器(另一个多层感知器),x是输入的样本,输出是真样本的概率。我们希望,当x是假样本的时候,输出概率接近于0,是真样本的时候,输出概率接近1。
[0054]
本公开实施例在对抗网络层训练的过程中,对于生成器,要使得d(g(z))尽可能的大,即伪造的样本像真的,即最小化log(1-d(g(z)))。对于判别器,就是对于输入的真实样本,使得判别概率尽可能大,对于假样本,概率尽可能小,即判别能力强。
[0055]
本公开实施例在对抗网络层训练的过程中的主要优化过程表示为:
[0056][0057]
可选的,基于图1所示方法,如图2所示,本公开实施例提供的语音识别模型训练方法的一种实施方式的流程示意图,步骤s300可以包括:
[0058]
s310、训练生成器:获得生成器对声学特征概率矩阵生成的文本样本数据,利用文本样本数据和文本训练数据对生成器的生成参数进行梯度上升更新,在更新后的生成参数下,循环训练预设次数后,训练1次判别器。
[0059]
s320、训练判别器:利用生成器生成的文本样本数据对判别器的判别参数进行梯度下降更新,利用更新后的判别参数对生成器的生成参数进行优化。
[0060]
s330、在生成器和判别器交替训练预设轮数后,获得获得训练好对抗网络层的语
音识别模型。
[0061]
本公开实施例对于生成器和判别器的训练过程包括:训练k次生成器,再训练1次判别器,交替进行,其中,k为超参数。
[0062]
在k=1的情况下,本公开实施例将噪声z(产生的样本pz)和真实的样本p
x
输入至判别器进行训练,按照公式:
[0063][0064]
计算并更新判别器的参数,即进行梯度上升,使得logd(x(i))尽可能大,使d(g(z(i)))尽可能小,最终使得判别器对于真实样本的预测概率变大,对假样本的概率变小。
[0065]
将噪声z输入至生成器进行训练,按照公式:
[0066][0067]
计算更新生成器的参数,即进行梯度下降,使得d(g(z(i)))变大,最终使得生成器生成样本的能力更强,更接近真样本。
[0068]
以上两个过程交替进行,获得全局最优解,概率pg=p
data
=0.5,即假样本和真样本完全一致。
[0069]
本公开实施例在卷积层输出多个1
×
n的矩阵然后,通过大量1
×
n的矩阵之间的关系,来判断哪个元素是识别出来的字符,将该字符再输出,成为最终识别出的文字,逐个识别,最终完成在银行系统的语音识别功能,由于精度更好,更符合银行安全与稳定的要求。本公开实施例将传统cnn上的max-pooling和softmax更改为对抗识别,可以提供识别精确度,减少出错率。
[0070]
本公开提供的一种语音识别模型训练方法,可应用与人工智能或金融技术领域,该语音识别模型包括卷积层和对抗网络层,可以获得语音训练数据和与语音训练数据对应的文本训练数据;将语音训练数据输入至卷积层中,获得卷积层输出的与语音训练数据对应的声学特征概率矩阵;将声学特征概率矩阵和文本训练数据输入至对抗网络层进行对抗学习训练,获得训练好对抗网络层的语音识别模型,语音识别模型的输入为语音数据,语音识别模型的输出为文本数据。本公开通过卷积特征结合对抗识别,提升语音识别模型的语音识别精度。
[0071]
如图3所示,本公开实施例提供的语音识别方法的一种实施方式的流程示意图,该语音识别方法可以包括:
[0072]
a100、获得待识别的语音数据。
[0073]
a200、将语音数据输入至语音识别模型中,获得语音识别模型输出的与语音数据对应的文本数据。
[0074]
本公开提供的一种语音识别方法,可应用与人工智能或金融技术领域,获得待识别的语音数据;将语音数据输入至语音识别模型中,获得语音识别模型输出的与语音数据对应的文本数据。本公开通过卷积特征结合对抗识别,提升语音识别模型的语音识别精度。
[0075]
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
[0076]
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0077]
与上述语音识别模型训练方法的实施例相对应,本公开实施例还提供一种语音识别模型训练装置,其结构如图4所示,语音识别模型包括卷积层和对抗网络层,该语音识别模型训练装置可以包括:第一获得单元10、第二获得单元11和第三获得单元12。
[0078]
第一获得单元10,用于获得语音训练数据和与语音训练数据对应的文本训练数据。
[0079]
第二获得单元11,用于将语音训练数据输入至卷积层中,获得卷积层输出的与语音训练数据对应的声学特征概率矩阵。
[0080]
第三获得单元12,用于将声学特征概率矩阵和文本训练数据输入至对抗网络层进行对抗学习训练,获得训练好对抗网络层的语音识别模型,语音识别模型的输入为语音数据,语音识别模型的输出为文本数据。
[0081]
可选的,第三获得单元12,具体用于训练生成器:获得生成器对声学特征概率矩阵生成的文本样本数据,利用文本样本数据和文本训练数据对生成器的生成参数进行梯度上升更新,在更新后的生成参数下,循环训练预设次数后,训练1次判别器;训练判别器:利用生成器生成的文本样本数据对判别器的判别参数进行梯度下降更新,利用更新后的判别参数对生成器的生成参数进行优化;在生成器和判别器交替训练预设轮数后,获得获得训练好对抗网络层的语音识别模型。
[0082]
本公开提供的一种语音识别模型训练装置,可应用与人工智能或金融技术领域,该语音识别模型包括卷积层和对抗网络层,可以获得语音训练数据和与语音训练数据对应的文本训练数据;将语音训练数据输入至卷积层中,获得卷积层输出的与语音训练数据对应的声学特征概率矩阵;将声学特征概率矩阵和文本训练数据输入至对抗网络层进行对抗学习训练,获得训练好对抗网络层的语音识别模型,语音识别模型的输入为语音数据,语音识别模型的输出为文本数据。本公开通过卷积特征结合对抗识别,可以提升语音识别模型的语音识别精度。
[0083]
与上述语音识别方法的实施例相对应,本公开实施例还提供一种语音识别装置,其结构如图5所示,包括:第四获得单元20和第五获得单元21。
[0084]
第四获得单元20,用于获得待识别的语音数据。
[0085]
第五获得单元21,用于将语音数据输入至语音识别模型中,获得语音识别模型输出的与语音数据对应的文本数据。
[0086]
本公开提供的一种语音识别装置,可应用与人工智能或金融技术领域,获得待识别的语音数据;将语音数据输入至语音识别模型中,获得语音识别模型输出的与语音数据对应的文本数据。本公开通过卷积特征结合对抗识别,可以提升语音识别模型的语音识别精度。
[0087]
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0088]
所述语音识别模型训练装置包括处理器和存储器,上述第一获得单元10、第二获得单元11和第三获得单元12等均作为程序单元存储在存储器中,由处理器执行存储在存储
器中的上述程序单元来实现相应的功能。其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过卷积特征结合对抗识别,提升语音识别模型的语音识别精度。
[0089]
所述语音识别装置包括处理器和存储器,上述第四获得单元20和第五获得单元21等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。其中,处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来通过卷积特征结合对抗识别,提升语音识别模型的语音识别精度。
[0090]
本公开实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述语音识别模型训练方法。
[0091]
本公开实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述语音识别方法。
[0092]
本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述语音识别模型训练方法。
[0093]
本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述语音识别方法。
[0094]
本公开实施例提供了一种电子设备,电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的语音识别模型训练方法。
[0095]
本公开实施例提供了一种电子设备,电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的语音识别方法。
[0096]
本文中的电子设备可以是服务器、pc、pad、手机等。
[0097]
本公开还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有语音识别模型训练方法步骤的程序。
[0098]
本公开还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有语音识别方法步骤的程序。
[0099]
需要说明的是,本公开提供的一种语音识别模型训练、语音识别方法及相关设备可用于人工智能领域或金融领域。上述仅为示例,并不对本公开提供的一种语音识别模型训练、语音识别方法及相关设备的应用领域进行限定。
[0100]
本公开是参照根据本公开实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0101]
在一个典型的配置中,电子设备包括一个或多个处理器(cpu)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
[0102]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/
或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0103]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0104]
在本公开的描述中,需要理解的是,如若涉及术语“上”、“下”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的位置或元件必须具有特定方位、以特定的方位构成和操作,因此不能理解为本公开的限制。
[0105]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0106]
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0107]
以上仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。