一种语音数据增强方法与流程

文档序号:16888306发布日期:2019-02-15 22:50阅读:1636来源:国知局
一种语音数据增强方法与流程

本发明涉及机器学习技术领域,具体涉及在机器学习处理时的一种语音数据增强技术领域。



背景技术:

在如今机器学习任务中一个较大难点就是面对小数据集时候模型难以训练。而由于一些非自然场景的特殊性所致(业务场景具有较强时效性、类别标注逻辑困难、数据标签设置存在很大的主观性因素),对于数据的收集和标记亦是一项十分困难的工作。从图像与文本分析这类较为常见的深度学习任务来看,其数据收集虽然从互联网上下载、处理和标签数百万张图片和文档相对来有一定的可行性。但是对于语音类的数据来说,不仅在收集并配之以预处理这个环节上便展现出了一定的困难,而且对于一段随机采集到的语音来说,为其标注也存在着耗费资源又容易产生标记错误的弊端。如今解决深度学习数据匮乏的方法主要是使用数据增强策略对可用数据集进行增强,从而在原数据集的基础上获得更多异构数据,这样不仅给予了模型充分的数据训练,同时通过数据带来的异构性,使模型在学习过程中获得泛化能力的加强。

数据增强技术对于扩展深度学习的深度以及学习的泛化性有很强的补充与加强作用。但是对于语音情感挖掘的相关工作来说,现今存在的、可用于训练的数据集都存在较大的数据集缺失问题,并且其收集方式过于理想、叙述人叙述方式也过于单一。因此提出语音类的数据增强策略对现有的数据集进行增强是十分具有其工作价值。关于语音数据增强技术一直以来相关研究较少,相关工作主要集中在语音识别、语音分析等问题上,典型的方案主要包括:

1、基于真实物理噪音的语音数据增强方案。

最常用的语音数据增强方法大多来自于语音识别相关的任务场景。在这类场景中往往需要考虑场景噪音、语音模糊等物理声学的影响,因此最早的语音增强策略主要是通过在自然语音中附带人为噪音再重录从而获得新的语音数据,并借此来训练模型。该方法在具体的实践中虽然实现了数据的二次产生,但是转录语音过程十分繁琐,并且对于转录带来的噪音的不可控,很多时候数据产生出现了严重的失真。

2、基于自编码器噪音附带的语音数据增强模型

相较于上面的方法,在声学场景中应用自编机的思路对转录带来的弊端进行了很好的改进,该方法主要的思路是通过对语音数据的频谱图作为输入训练一个自编码机,然后再进行自编码机编码解码,并在这之中附带额外噪音数据样本进行协同,最终将训练好的自编码机用于原始数据中,从而输出新的数据方案。该方法在语音识别业务场景下取得了较好的效果,但是针对诸如语音情感分离、语音回话人识别等问题来说,加入具体的噪音反而会对情感以及会话人身份辨识的分类表示产生一定的弱化,并且噪音的选择通常来自于真实的物理噪音编码,而收集真实物理噪音所需要耗费的成本往往已经等同于录制新的情感语音数据。



技术实现要素:

本发明的发明目的在于:针对上述存在的问题,提供一种针对语音范畴机器学习模型使用的数据增强方法,所述方法能在保证机器学习模型对语音的语谱图进行训练、分析时,可以利用原始训练数据对数据进行合成,从而可以在原有训练数据的基础上扩充数据的数量和数据的形式,通过这种方式既增加数据量从而使得机器学习模型能够得到充分训练,又能使得应用者可以尝试使用更为复杂的机器学习模型来拟合语音相关问题,不受数据数量和模型参数量之间制约与限制。

本发明的语音数据增强方法的构思主要在于:

(1)由于语音任务的特殊性,要寻找到一个完整描述语音自身的方法是极为困难的,因此不能单纯的通过对语音数据进行倒放或者抽帧等手段来进行数据增强,故背景技术中使用的大多基于结构直接转换,或者直接进行数据混淆或者重构策略便因此失去了效果。因此对于语音数据来说,在新数据的构造上应该考虑基于数据生成的形式而非调整原数据构造方式来进行数据增强策略。

(2)考虑一般语音数据集通常由叙述人进行录制,叙述人在建立一个语音数据库时,叙述人针对语料进行叙述时,其情感表述存在一定的偏差性,即录制过程中叙述人不能完全消除自己的主观情绪来产生语料对应的情绪。这也因此有较大的可能使得当前使用的语音数据库在情感的分布估计上来看是有偏的估计。为此,对于语音的数据增强策略可以考虑适当以某种噪音形式来进行混淆生成。

为解决上述技术问题,本发明所采取的技术方案是:一种通过多个自动编码器的无监督模型来对语音数据集进行生产与集成的办法,即本发明的一种语音数据增强方法首先将所述的语音数据集中所有的数据复制为多个副本,并对这些副本全部以语谱图的形式存储,所述的语音语谱图与需要使用来进行模型拟合的语音语谱图为同一形式的语谱图,所述的自动编码器其中间隐藏层结构可以自行拟定,但是需要保证其训练方式符合经典自动编码器训练方式,针对所述的每一份数据集语谱图副本,使用所述的对应数量自动编码器分别对其进行数据拟合,当所述自动编码器对其拟合完成后,再利用一份的语谱图副本对应的输入到所有自动编码器中,并对每一份输出结果的语谱图做平均融合,融合后的语谱图便为增强后的语音数据的语谱图。具体步骤如下:

步骤1:输入待用以训练的语音数据集x{x1,x2…xm},其中xi表示一段语言信号,i=1,2…,m;

将语音数据集x转换成语谱图的形式;再就地拷贝出n(预设值)个副本x1,x2,…,xn并存储;

步骤2:初始化n个结构任意的自动编码器ae1,ae2,..,aen,所述n个自动编码器均基于神经网络构建,用于对输入数据进行数据转换,即自动编码器的输出的表征形式与输入的相同,只是取值不同;

将n个语谱图的副本分配给n个自动编码器进行并行深度学习训练,得到训练好的n个自动编码器;

其中,n个自动编码器的网络权值初始化方式为:基于用户设置的随机种子seed,以一个正态分布数值生成器q(seed,1)对所述网络权值进行初始化,其中seed∈(0,1);

步骤3:再将n个副本x1,x2,…,xn分配给n个训练好的自动编码器,每个副本输入到一个训练好的自动编码器中;或者将其中一个副本同时输入到n个训练好的自动编码器中;

每个自动编码器均输出总计得到n组矩阵输出;

步骤4:对获得的n组矩阵输出进行累加并取平均,得到增强后的语音数据的语谱图,结合语音数据集x的语谱图得到扩充至一倍后的语音语谱图数据集并输出。

本发明主要运用多个自动编码器和以及结果融合的方法对语音的语谱图数据进行数据增强。其中使用多个不同结构的自动编码器的原因在于,利用不同结构的自动编码器其内在结构的多样性,通过使用原始语音数据的语谱图对其进行训练,通过这种方法获得的多个自动编码器能针对语音语谱图结构上不同的特性进行捕捉。最后当多个自动编码器训练完成后,利用原始语音数据的语谱图逐一输入到不同的自动编码器中,并逐一提取通过自动编码器后得到的新语谱图,此时的语音语谱图可以发现在结构上存在着一定的差异性,但是相对其原始的输入也同时保持主要结构脉络。最后通过合并融合所有自动编码器其语谱图输出,最终得到的语谱图数据便为增强后的语谱图数据。

综上所述,由于采用了上述技术方案,本发明的有益效果是:通过本发明生成的增强数据与原始数据之间,在保留了的语谱图的主要脉络的基础上,实现了一定的结构多样性。即所生成的增强数据的语谱图与输入前数据在主体结构上保持了一定一致性,但是在一些结构特征上却有着较为不一致的表达,因此通过本发明获得的新语谱图数据便可以加入原语谱图数据集中,从而扩充原始待训练的语音数据集。

附图说明

图1是本发明所述方法整体流程图;、

图2是本发明的自编码器的几种标准结构示意图,其中2-a为全连接编码结构,2-b为是基于卷积层编码结构,2-c为基于分窗循环层编码结构;

图3是本发明的自编码器输出的语谱图示意图,其中图3-a为一段语音的语谱图结构表示,3-b是全连接编码结构下的一个自编码器下输出语谱图一个输出展示;图3-c是基于卷积层编码结构下的一个自编码器下输出语谱图一个输出展示;图3-d是基于基于分窗循环层编码结构下的一个自编码器下输出语谱图一个输出展示;

图4是对图3-b、3-c和3-d所示的3个语谱图进行融合和产生的增强语谱图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。

在如今的机器学习任务中,基于语音作为建模对象的问题较为普遍,其中应用较为广泛有如语音识别、语音情感分析、叙述人识别等相关领域,这些领域中通常都依托于以语音的计算机可建模结构作为输入(较为常见的为语音的语谱图),通过训练机器学习模型,最后实现语音的输入和任务的对应输出。常见的应用如搜索、智能手机和上网浏览中。因此与语音相关的机器学习任务中,训练学习模型往往是最为重要的一步,这也因此决定机器学习模型的性能往往与训练所采用语音数据集的数量、质量有着较强的关系。

为此,本发明提出了一种针对语音范畴的机器学习任务的数据增强方法,该方法主要适用于以期使用语音的语谱图作为训练、输入的机器学习任务。在针对语音数据获取、标注等相对较为困难的局限上,所述方法主要采用:使用原始数据来训练多个结构相异的自动编码器,再使用训练好的自动编码器来接收训练数据的输入,即利用这些不同结构下的自动编码器对原始数据的编码表达,从而实现以待增强的语音数据语谱图进行输入后获得多组结构差异化的输出语谱图结构,最后对输出的多组训练数据进行取平均融合,从而使得训练数据在原基础上实现加倍扩增。参见图1,具体实现步骤如下:

步骤s1:首先明确待用于当前语音任务的机器学习模型的输入是否基于语音的语谱图,或者模型待输入的特征可否由语谱图进行直接转换。因此该步需要确定输入的语音数据是否完整,并且具有能使用快速傅里叶变换等方法处理的特性。在本步骤中,本发明使用的输入环境为使用人持有的、待进行增强的语音数据集。

步骤s2:考虑到本发明会涉及到大规模的矩阵运算,以及中间数据的大量产生。因此在步骤s2中,使用人需要预估当前的磁盘空间大小,特别是在步骤s2以后,该数据调度方法使用的模型主要以多个神经网络结构组成的自动编码器为主,因此后续训练自动编码器的过程一般耗时将会较久。为此本发明在当前步骤s2的具体实施方式主要以检查、评测当前采用的计算机或者服务器,至少能存储超过一份的数据集。从而能将训练过程并行化。因此在经过步骤s1的数据集输入准备完成后,在本步骤中则需要马上确定当前的计算机或者服务器的容量可以支持生成多少语音数据集的语谱图副本,数据集的副本个数关系到后续任务中是否可以并行执行的自编码器模型个数,即并行训练的任务的个数。

步骤s3:经过上述步骤s1的语音数据输入准备,以及步骤s2的机器配置确认。本发明步骤s3中,对待用以训练的语音数据集x{x1,x2…xm},就地拷贝出n+1个副本x1,x2,…,xn,…,xn+1;其中n份用于训练自编码器,一份用作测试数据,本具体实施方式中,设置n的取值为6;

针对当前准备的n份语音数据集副本作为输入,随后对该n份语音数据做出并行的以语谱图的结果形式进行转换。最终输出结果为n分语音数据的n份语谱图表示。

在本步骤中,在针对语音进行语谱图的处理转换上,经验规定任一给定频率成分在对应时刻的强弱表示上,使用该成分对应的像素点的灰度或色调的深浅来表示。相对应的,基于语谱图来进行语音分析的过程又称为语谱分析。使用语谱图来进行语音分析主要是看中了在语谱图中所蕴含的丰富信息量,因为语谱图同时综合了语音的频率特点、时域波形特点,并且在图形的帧递进顺序上还显式的包含了语音频谱随时间的变化情况,因此一般针对语音范畴的机器学习任务中,对语音的主要处理基础特征通常选用语谱图。本发明中主要数据增强对象也为语谱图。

提取语谱图基于的前置条件是:假设在一段时间内(如10~30ms,即所谓一帧内)频谱是不变的。在该前置条件下,语谱图的具体提取步骤如下所示:

(1)对于待提取的一段语音信号x(t),首先对其进行分帧处理,使其转换为x(m,n)的表征形式,其中,n为帧长,m为帧标识符;

(2)对于上述经处理获得的每一帧,分别针对每帧进行fft(fastfouriertransformation,快速傅里叶变换)处理,即:其中n表示帧数,e表示自然底数,i表示虚数单位,xn表示每一帧的语音信号。此时便可获得变换值x(m,n),这时根据变换值x(m,n)绘制周期图y(m,n),并取10×log10y(m,n)来将m根据时间变换到对应的时间刻度m上,同时n也根据相关频率变化成对应的频率刻度n,最后形成语谱图。

步骤s4:在本步骤中,输入单位主要是通过上述的语音信号转换后的语谱图,根据当前计算机或者服务器的空间复制总共获得n份数据集(语谱图形式)副本。根据副本个数,初始化总n个自动编码器模型,并且尽可能保证n个自动编码器的编码端结构存在一定的差异性,例如采用不同层数、每层不同结点数、rnn与cnn交替变换等结构差异性来设定。

本具体实施方式中,设置以使用随机正态初始化的方式来对各个模型的权值w进行初始化,具体来说,本步骤中需要方法使用人(用户)输入一个随机种子seed∈(0,1),并根据该值以一个正态分布数值生成器n(seed,1)对模型的权值w进行初始化。并且设置如图2-a,2-b,2-c的结构来保证各个自动编码器的输入端与输出端的一致,从而规约输入任务以及输出形式,本步骤中考虑到任务的复杂度以及训练的简易型,规定各个自编码器的网络结构采用的隐藏层的网络结点数均为32,总计两层(隐藏层和输出层)的自编码器结构,其中隐藏层的结构可以是全连接层、卷积层和分窗循环层等网络结构。

步骤s5:针对n份数据集副本对应的n个自动编码器,考虑到计算时间和资源关系,在该步骤中主要采用并行的方式进行训练,并且设置早停止(earlystop)对迭代时间进行优化,本发明中训练自动编码器的算法依然采用反向传播算法进行训练,具体为:

设输入的语谱图矩阵为target,一次训练过程中某个自动编码器的输出为output,则可设置误差函数为:

(1)自动编码器隐藏层net至输出层netoutput的任一权值wi更新为:

(2)自动编码器任意第k层隐藏层netk至第j层隐藏层netj的权值更新为:

其中,hidden表示隐藏层,activation为选用的激活函数。

(3)最终自动编码器的权值更新按下述公式更新:

wij=wij-δwij

其中,μ为预设的学习率,δwij表示层间权值更新量,wij表示层间权值,xij表示层间输入量,其中i,j表示不同的网络层。

步骤s6:经过步骤s5对自动编码器训练过后,本步骤中的输入主要以先前的语谱图数据作为该步骤输入,以步骤s5中训练好的自动编码器作为输入的主要输入端,并将步骤s5中n组自动编码器针对同一语谱图的输出结果送入对应的文件中进行保留,再对其语谱图矩阵进行平均融合,其具体过程如下:

假设当前总共训练了三组自动编码器,原始语音语谱图数据中的一个语谱图矩阵为该语谱图数据通过三组训练好的、不同的自编码器(图2-a、2-b和2-c所示)生成的语谱图矩阵为则本发明中强化的一条数据为

为了验证本发明的增强性能,基于图2-a、2-b和2-c所示的三路自编码器,分别将图3-a所示的一段语音的语谱图作为三路自编码器的输入,三路输出结果如图3-b、3-c和3-d所示,最后再对三路输出进行融合处理,得到图4所示的增强语谱图。从图3-a和图4以看出,本发明方法提出的数据增强方法,生成的增强数据与原始数据之间,在保留了的语谱图的主要脉络的基础上,实现了一定的结构多样性,证明增强效果比较突出。

本发明基于原始语音数据的语谱图训练多个自动编码器,并伴随结果融合的策略来对语音语谱图数据进行增强。本发明通过使用自动编码器作为发明的主要基础工具,并要求在方法上需满足:训练多个且结构相异的自动编码器作为主要方法立足点;另外考虑到基于数据融合的方法够有效地降低经过自动编码器后输出数据的特征上方差,因此对于多组通过了自动编码器后的多组语谱图数据采用融合的方式来对结果进行合并。从而健壮增强后的语谱图数据。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1