本发明属于电子信号处理技术领域,具体涉及一种端到端语音转写模型的训练方法、系统、装置。
背景技术:
语音识别作为人机交互的入口,是人工智能领域中一个重要的研究方向。传统的语音识别方法一般使用基于高斯混合模型-隐马尔科夫模型的混合模型(gmm-hmm),整个系统存在很多部件,分别训练,性能难以满足需求。随着深度学习技术的在语音识别中的深入应用,端到端语音识别取得令人瞩目的成绩。尤其是最近提出的基于循环神经网络的端到端语音转写模型(rnntransducermodel),不仅极大的简化了语音识别系统的步骤,提高了识别精度,而且能够进行流式的解码以应用于在线语音识别任务。但是端到端语音转写模型存在着训练困难,不能很好的学习到语音文本的对齐信息等问题。因此,本发明提出了一种端到端语音转写模型的训练方法。
技术实现要素:
为了解决现有技术中的上述问题,即为了解决端到端语音转写模型无法很好的学习语音数据的对齐信息,导致语音识别精度低的问题,本发明第一方面,提出了一种端到端语音转写模型的训练方法,该方法包括:
步骤s100,获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
步骤s200,通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
步骤s300,基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
步骤s400,基于所述对齐标注和所述概率分布,获取对齐损失值;
步骤s500,对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
步骤s600,循环执行步骤s300-s500,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
在一些优选的实施方式中,所述端到端语音转写模型基于长短时记忆网络构建,其包括声学编码器、语言预测网络、联合网络;所述声学编码器其结构为4层双向长短时记忆网络;所述语言预测网络其结构为两层单向长短时记忆网络;所述联合网络其结构为前馈神经网络。
在一些优选的实施方式中,步骤s100中“提取所述语音训练数据的特征”,其方法为:所述特征为梅尔频率倒谱系数或梅尔滤波器组系数。
在一些优选的实施方式中,步骤s200中“对所述语音特征序列中各帧语音特征进行拼接处理”,其方法为:获取所述语音特征序列中的第t帧语音特征的前三帧语音特征和后一帧语音特征,与其进行拼接;若第t-3帧语音特征、第t-2帧语音特征、第t-1帧语音特征、第t+1帧语音特征中任一帧语音特征不存在,则将其对应的位置填充为0。
在一些优选的实施方式中,步骤s200和步骤s300之间还包括降采样处理步骤:
对所述对齐标注和拼接处理后的语音特征序列中的语音特征进行降采样处理;降采样处理后的每帧语音特征和对齐标注长度相等。
在一些优选的实施方式中,所述负对数损失值,其计算方法为:
l1=-lnp(y|x)
其中,l1为负对数损失值,y为文本标注训练数据,x为语音特征,p()表示概率分布。
在一些优选的实施方式中,所述对齐损失值,其计算方法为:
其中,l2为对齐损失值,t是语音特征的帧数,u是文本标注训练数据的长度,所述文本标注数据中每个字定义为标记,k是预设词表中词的个数,t是表示当前解码位于的帧数,u是端到端语音转写模型正在解码第u个语言标记,k是预测结果在预设词表中的位置,
本发明的第二方面,提出了一种端到端语音转写模型的训练系统,该系统包括提取语音特征模块、对齐拼接模块、监督训练模块、计算对齐损失模块、更新模型参数模块、循环模块;
所述提取语音特征模块,配置为获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
所述对齐拼接模块,配置为通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
所述监督训练模块,配置为基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
所述计算对齐损失模块,配置为基于所述对齐标注和所述概率分布,获取对齐损失值;
所述更新模型参数模块,配置为对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
所述循环模块,配置为循环执行监督训练模块-更新模型参数模块,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序应用由处理器加载并执行以实现上述的端到端语音转写模型的训练方法。
本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;所述程序适用于由处理器加载并执行以实现上述的端到端语音转写模型的训练方法。
本发明的有益效果:
本发明能够准确的学习语音数据的对齐信息,提高语音识别的精度。在本发明中通过gmm-hmm对语音数据进行强制对齐获得特征与状态的对齐关系,并通过语音特征的拼接弥补时序信息利用不充分的缺陷。在训练过程中,加入了对齐损失函数,对端到端语音转写模型进行正则化,使得端到端语音转写模型能够准确的学习语音文本的对齐信息,加速了模型收敛,提高了模型的性能表现。
附图说明
通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
图1是本发明一种实施例的端到端语音转写模型的训练方法的流程示意图;
图2是本发明一种实施例的端到端语音转写模型的训练系统的框架示意图;
图3是本发明一种实施例的端到端语音转写模型的结构示例图;
图4是本发明一种实施例的端到端语音转写模型的训练方法中对齐损失计算的示例图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明的端到端语音转写模型的训练方法,如图1所示,包括以下步骤:
步骤s100,获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
步骤s200,通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
步骤s300,基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
步骤s400,基于所述对齐标注和所述概率分布,获取对齐损失值;
步骤s500,对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
步骤s600,循环执行步骤s300-s500,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
为了更清晰地对本发明端到端语音转写模型的训练方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
步骤s100,获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列。
语音识别的目标是将连续语音信号转化为文字序列。在识别过程中,通过对时域下的波形信号加窗分帧后进行离散傅里叶变换,提取特定频率分量的系数组成特征向量,最后通过拼接每帧的特征向量得到语音特征序列。
在本实施例中,先获取端到端语音转写模型的训练数据,包括语音训练数据和对应的文本标注训练数据,提取所述语音训练数据的特征。语音特征为梅尔频率倒谱系数(mfcc)或梅尔滤波器组系数(fbank)。
步骤s200,通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理。
语音识别系统一般包括声学模型、语音模型、语言模型。声学模型主要由gmm和hmm组成。其中,gmm被用于hmm状态建模,hmm被用于对音素建模,每个hmm内部通常有自左向右3或5个连续状态,状态之间有一定的概率转移。因为音素的发音模式和长度不仅因人而异,对同一个说话人也会受到上下文、情绪、环境等因素的影响,因此基于hmm的声学模型有如下的基本假设:状态的转移概率只由上一个状态决定,模型的输出只受当前状态的影响,从而实现语音特征与音素的对齐。
在本实施例中,利用gmm-hmm模型对语音特征序列进行强制对齐,得到帧级别的对齐标注,并对对齐标注进行降采样处理。同时对每帧语音特征进行拼接操作,左边拼三帧,右边拼一帧,共五帧。若当前帧语音特征为第一帧、第二帧、第三帧,即左边三帧不够的情况下,缺少的一帧填充为0。若当前帧语音特征为最后一帧,即缺少右边的一帧特征,则将右边缺少的一帧也填充为0。然后对拼接后的特征降采样到30ms的帧率,并确保降采样后的特征和降采样后的对齐标注具有相同的长度(对齐标注是一个序列,语音特征也是一个序列,对齐序列中有n个标记,语音序列中有n个语音帧,这就是长度相等,也可以称为“一一对应”,所述n表示个数,其中标记为文本标注数据中的字)。
步骤s300,基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值。
在本实施例中,端到端语音转写模型基于长短时记忆网络构建,包括声学编码器、语音预测网络、联合网络。声学编码器相当于语音模型,语言预测网络相当于语言模型。其中,声学编码器包含4层双向长短时记忆网络(lstm),每个方向包含320个隐藏节点;语言预测网络包含两层单向长短时记忆网络,每层512个节点;联合网络为前馈神经网络,其输入是两层线性连接,输入层包含832个节点,经过一个非线性激活函数后映射到词表大小的输出节点。
如图3所示,基于拼接后的语音特征序列和文本标注训练数据对端到端语音转写模型进行训练。其中拼接后的语音特征序列用于训练声学编码器,文本标注训练数据用于训练语言预测网络。在训练过程时,首先将语音特征序列(或音频特征)输入声学编码器获取得到声学编码状态序列,然后将文本标注输入到语言预测网络得到语言编码状态序列,接着将上述声学编码状态序列和语言编码状态序列输入到联合网络,获得联合状态,并计算得到输出概率分布。根据输出概率分布计算损失函数。在该系统中,损失函数包括两部分,分别是语音转写模型损失函数和对齐损失函数。接着根据损失计算梯度,反向传播梯度,更新模型,不断重复这一过程,直到模型收敛。
其中,端到端语音转写模型的损失函数为负对数损失函数,其计算如公式(1)所示:
l1=-lnp(y|x)(1)
其中,l1为负对数损失值,y表示文本标注训练数据,x表示语音特征。
负对数损失函数的计算使用前后向算法进行。前后向算法使用的是动态规划的思想,高效的实现了所有可行路径的求和问题。
步骤s400,基于所述对齐标注和所述概率分布,获取对齐损失值。
如图4所示,横轴表示时间轴,用t表示,纵轴表示文本轴,用u表示,示例中的横轴信息c、a、t表示对齐信息,纵轴标记c、a、t、φ表示文本标注信息,也可以称之为标注文本信息,图中的每个圆圈都表示一个由联合网络预测得到的概率分布,箭头表示路径的转移,向右的箭头表示预测得到一个空标记,向上的箭头表示预测得到一个非空标记。任意一条从左下角起始到右上角结束的路径都是模型的一条可能的路径,计算语音转写模型损失就是利用前后向算法对所有的可能路径求概率和。我们用灰色来标记文本标注信息和对齐信息相等的点,在计算对齐损失的时候,我们只计算灰色位置,而忽略其他位置。
其中,对齐损失的计算如公式(2)所示:
其中,l2为对齐损失值,t是语音特征的帧数,u是文本标注训练数据的长度,所述文本标注数据中每个字定义为标记,k是预设词表中词的个数,t是表示当前解码位于的帧数,u是端到端语音转写模型正在解码第u个语言标记,k是预测结果在预设词表中的位置,
步骤s500,对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数。
在本实施例中,对所述对齐损失函数得到的值和所述负对数损失函数得到的值进行加权平均,得到联合损失函数的值,其计算如公式(3)所示:
ljoint=l1+αl2(3)
其中,ljoint为联合损失值,α表示权重系数。
得到联合损失值ljoint并计算梯度,反向传播更新端到端语音转写模型的参数。
步骤s600,循环执行步骤s300-s500,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
在本实施例中,不断对端到端语音转写模型进行训练,加速模型的收敛。
本发明第二实施例的一种端到端语音转写模型的训练系统,如图2所示,包括:提取语音特征模块100、对齐拼接模块200、监督训练模块300、计算对齐损失模块400、更新模型参数模块500、循环模块600;
所述提取语音特征模块100,配置为获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
所述对齐拼接模块200,配置为通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
所述监督训练模块300,配置为基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
所述计算对齐损失模块400,配置为基于所述对齐标注和所述概率分布,获取对齐损失值;
所述更新模型参数模块500,配置为对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
所述循环模块600,配置为循环执行监督训练模块300-更新模型参数模块500,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的端到端语音转写模型的训练系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适用于由处理器加载并实现上述的端到端语音转写模型的训练方法。
本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的端到端语音转写模型的训练方法。
所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
技术特征:
1.一种端到端语音转写模型的训练方法,其特征在于,该方法包括以下步骤:
步骤s100,获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
步骤s200,通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
步骤s300,基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
步骤s400,基于所述对齐标注和所述概率分布,获取对齐损失值;
步骤s500,对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
步骤s600,循环执行步骤s300-s500,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
2.根据权利要求1所述的端到端语音转写模型的训练方法,其特征在于,所述端到端语音转写模型基于长短时记忆网络构建,其包括声学编码器、语言预测网络、联合网络;所述声学编码器其结构为4层双向长短时记忆网络;所述语言预测网络其结构为两层单向长短时记忆网络;所述联合网络其结构为前馈神经网络。
3.根据权利要求1所述的端到端语音转写模型的训练方法,其特征在于,步骤s100中“提取所述语音训练数据的特征”,其方法为:所述特征为梅尔频率倒谱系数或梅尔滤波器组系数。
4.根据权利要求1所述的端到端语音转写模型的训练方法,其特征在于,步骤s200中“对所述语音特征序列中各帧语音特征进行拼接处理”,其方法为:获取所述语音特征序列中的第t帧语音特征的前三帧语音特征和后一帧语音特征,与其进行拼接;若第t-3帧语音特征、第t-2帧语音特征、第t-1帧语音特征、第t+1帧语音特征中任一帧语音特征不存在,则将其对应的位置填充为0。
5.根据权利要求1-4任一项所述的端到端语音转写模型的训练方法,其特征在于,步骤s200和步骤s300之间还包括降采样处理步骤:
对所述对齐标注和拼接处理后的语音特征序列中的语音特征进行降采样处理;降采样处理后的每帧语音特征和对齐标注长度相等。
6.根据权利要求1所述的端到端语音转写模型的训练方法,其特征在于,所述负对数损失值,其计算方法为:
l1=-lnp(y|x)
其中,l1为负对数损失值,y为文本标注训练数据,x为语音特征,p()表示概率分布。
7.根据权利要求1所述的端到端语音转写模型的训练方法,其特征在于,所述对齐损失值,其计算方法为:
其中,l2为对齐损失值,t是语音特征的帧数,u是文本标注训练数据的长度,所述文本标注数据中每个字定义为标记,k是预设词表中词的个数,t是表示当前解码位于的帧数,u是端到端语音转写模型正在解码第u个语言标记,k是预测结果在预设词表中的位置,
8.一种端到端语音转写模型的训练系统,其特征在于,该系统包括提取语音特征模块、对齐拼接模块、监督训练模块、计算对齐损失模块、更新模型参数模块、循环模块;
所述提取语音特征模块,配置为获取语音训练数据和对应的文本标注训练数据,并提取所述语音训练数据的特征,得到语音特征序列;
所述对齐拼接模块,配置为通过gmm-hmm模型对所述语音特征序列进行强制对齐,得到帧级别的对齐标注,并对所述语音特征序列中各帧语音特征进行拼接处理;
所述监督训练模块,配置为基于拼接处理后的语音特征序列和所述文本标注训练数据,通过端到端语音转写模型获取预设词表中每个词的概率分布;并根据所述概率分布通过前向-后向算法得到负对数损失值;
所述计算对齐损失模块,配置为基于所述对齐标注和所述概率分布,获取对齐损失值;
所述更新模型参数模块,配置为对所述对齐损失值和所述负对数损失值进行加权平均,得到联合损失值,并根据所述联合损失值通过后向传播算法更新所述端到端语音转写模型的参数;
所述循环模块,配置为循环执行监督训练模块-更新模型参数模块,直至达到预设的训练结束条件,得到训练好的端到端语音转写模型。
9.一种存储装置,其中存储有多条程序,其特征在于,所述程序应用由处理器加载并执行以实现权利要求1-7任一项所述的端到端语音转写模型的训练方法。
10.一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;其特征在于,所述程序适用于由处理器加载并执行以实现权利要求1-7任一项所述的端到端语音转写模型的训练方法。
技术总结
本发明属于电子信号处理技术领域,具体涉及一种端到端语音转写模型的训练方法、系统、装置,旨在解决端到端语音转写模型无法很好的学习语音数据的对齐信息的问题。本系统方法包括提取语音训练数据的特征,得到语音特征序列;通过GMM‑HMM模型对语音特征序列进行强制对齐,得到对齐标注,并对各帧语音特征进行拼接;基于拼接后的语音特征序列和文本标注训练数据,对端到端语音转写模型进行训练,得到预设词表中每个词的概率分布及负对数损失值;获取对齐损失值;将对齐损失值和负对数损失值进行加权平均,得到联合损失值,并通过后向传播算法更新模型的参数;迭代训练模型。本发明能够准确的学习语音数据的对齐信息。
技术研发人员:陶建华;田正坤;易江燕
受保护的技术使用者:中国科学院自动化研究所
技术研发日:.10.10
技术公布日:.01.14