一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向声学编码的逐步压缩方法与流程

2022-02-22 07:18:46 来源:中国专利 TAG:
一种面向声学编码的逐步压缩方法与流程

本发明涉及一种声学模型编码方法,具体为面向声学编码的逐步压缩方法。

背景技术

语音是人类日常生活中最常用的交流与沟通媒介,在当今智能社会,基于语音的多种智能技术在人们的日常生活中发挥着越来越重要的角色,如语音识别、语音翻译、语音理解等。然而,对于声学模型来说,输入通常为基于帧的特征序列。音频本质上是经过若干信号处理之后的波形(Waveform)。具体来说,声音是一种空气的震动,因此可以被转换为模拟信号。模拟信号是一段连续的信号,经过采样变为离散的数字信号。采样是每隔固定的时间记录一下声音的振幅,采样率表示每秒的采样点数,单位是赫兹(Hz)。采样率越高,采样的结果与原始的语音越相像。也就是说,音频的表示实际上是一个非常长的采样点序列,这导致了直接使用现有的深度学习技术处理音频序列较为困难。并且,原始的音频信号中可能包含着较多的噪声、环境声或冗余信息,也会对模型产生干扰。因此,一般会对音频序列进行处理来提取声学特征,具体为将长序列的采样点序列转换为短序列的特征向量序列,再用于下游系统。声学特征提取的第一步是预处理,流程主要是对音频进行预加重、分帧和加窗。其中,分帧操作基于短时平稳假设,即根据生物学特征,语音信号是一个缓慢变化的过程,10ms-30ms的信号片段是相对平稳的。基于这个假设,一般将每25ms作为一帧来提取特征。同时,为了保证不同帧之间的信号平滑性,使每两个相邻帧之间存在一定的重合部分,一般每隔10ms取一帧。经过预处理操作,可以得到音频对应的帧序列,之后通过不同的操作来提取不同类型的声学特征,比较常用的为滤波器组和Mel频率倒谱系数。提取后的声学特征长度远大于文本的长度,通常为对应文本长度的20-30倍左右。长序列会导致模型需要更多的显存及计算时间,显著增加计算资源的需求,此外,长序列的输入会导致模型在注意力机制模块很难有效关注到相关的位置,从而增加建模的复杂度。针对这个问题,目前常用的一种解决方式是堆叠两个间隔为2的卷积层来压缩输入序列的维度,从而将序列长度压缩为之前的四分之一。然而,这种做法仍然存在着两个问题,一是压缩后的序列长度仍然远长于语音对应的文本长度,二是在输入层进行两次连续的序列压缩会导致输入序列的信息丢失。

针对这个问题,研究人员尝试在编码过程中的不同层使用卷积模块进行序列压缩,这种做法相对来说可以更大比例的将输入序列进行压缩,并且降低信息丢失,但是这种解决方式并不灵活。也有一些研究人员使用全部的输入序列进行编码,但是通过特殊的注意力模块来降低注意力模块所消耗的计算资源。这种做法虽然可以保留完整的输入序列,但是模型的其他模块仍然需要消耗巨大的计算资源,且会增加模型的建模复杂度。还有一种做法是通过预训练的语音识别编码器提取语音的特征,然后使用一个特征选择模型从编码后的特征中提取有用的特征,从而有效地缩减输入序列的长度,但是这种做法的流程过于繁琐。

针对声学编码中存在的问题以及前人工作解决方法的不足,思考是否存在一种更有效的编码方法,既能够降低编码所用的计算资源,又可以降低编码过程中的信息丢失。



技术实现要素:

针对现有技术中声学编码占用计算资源过多及存在的信息丢失问题,本发明要解决的技术问题是提供一种面向声学编码的逐步压缩方法,通过在编码过程中逐步减小序列的长度,降低模型对计算资源的消耗;并通过一个表示融合模块来减小压缩导致的信息丢失,显著提高声学模型编码的效率。

为解决上述技术问题,本发明采用的技术方案是:

本发明提供一种面向声学编码的逐步压缩方法,包括以下步骤:

1)针对声学任务,利用信号处理方法从原始音频文件中提取到基于帧的音频特征序列;

2)随机初始化声学模型的参数,使用声学模型对音频特征序列进行编码,编码过程中逐步压缩序列长度;

3)对编码过程中的音频特征进行融合;

4)将融合后的表示传递给语音识别模块或语音翻译模块,完成整个建模过程。

在步骤2)中,随机初始化声学模型的参数,使用声学模型对音频特征序列进行编码,编码过程中逐步压缩序列长度,具体为:

201)将音频特征序列输入到声学模型中,通过一个间隔为2,核大小为5的卷积层对其进行序列长度压缩,使序列长度变为之前的一半;

202)通过层正则化方法来标准化压缩后的表示,然后向压缩后的序列加入位置编码,再通过多个编码层进行编码;

203)重复上述两个步骤多次,将序列长度不断进行压缩,在每个阶段中可以选择不同层数的编码层;编码器底部阶段的序列长度大于L,则选择两个编码层进行编码,降低计算代价;中间阶段的序列长度相对适中,采用六个编码层来编码;在顶部阶段通过两个编码层编码,进一步压缩序列特征,得到一个长度为1/8、1/16或1/32L的编码器表示;

204)通过控制卷积层的间隔控制压缩比例;在倾向于更快计算速度的情况下,进行更多的压缩从而得到更短的序列长度;在倾向于更好模型性能的情况下,更小的压缩比例用于保留更多原始信息,从而进行更充分的编码,得到性能更好的声学模型。

在步骤3)中,对编码过程中的特征进行融合,具体为:

301)将编码过程分为多个阶段,使得每个阶段的特征序列长度均不同;

302)通过一个特征融合模块对不同阶段编码后的特征进行融合,将所有特征通过卷积层压缩到和最终序列相同的长度,然后乘以对应的权重,得到最终的编码表示;

303)不同阶段的权重初始化时为相同的值,通过在训练过程中不断优化,顶部阶段的特征获得50%以上的权重,而底层仍然保留8%~12%的权重。

在步骤4)中,将融合后的表示传递给语音识别模块或语音翻译模块,完成整个建模过程,具体为:

将上述声学模型作为语音识别模型的编码器,将特征融合后的表示传递给一个解码器,得到一个语音识别系统。

在步骤4)中,对于语音翻译模块,完成整个建模过程,具体为:

将声学模型得到的表示传递给文本编码器,然后再通过一个解码器,得到一个语音翻译系统。

本发明具有以下有益效果及优点:

1.本发明提出一种面向声学编码的逐步压缩方法,在编码过程中逐渐压缩特征序列的长度,降低了模型对计算资源的需求;同时,该方法避免了在压缩过程中导致的信息丢失问题,从而可以实现更加有效的编码;

2.本发明应用于多种声学任务中,不仅可以加快模型的计算速度,且有效地提高了模型性能。

附图说明

图1为本发明中逐步压缩方法图示;

图2为本发明中压缩模块图示。

具体实施方式

下面结合说明书附图对本发明作进一步阐述。

本发明提供一种面向声学编码的逐步压缩方法,从逐步压缩方法对声学编码过程进行优化。本方法在编码过程中逐渐压缩特征序列的长度,降低了模型对计算资源的需求;同时,该方法避免了在压缩过程中导致的信息丢失问题,从而可以实现更加高效的编码。

如图1所示,本发明包括以下步骤:

1)针对声学任务,利用信号处理方法从原始音频文件中提取到基于帧的音频特征序列;

2)随机初始化声学模型的参数,使用声学模型对音频特征序列进行编码,编码过程中逐步压缩序列长度;

3)对编码过程中的音频特征进行融合;

4)将融合后的表示传递给语音识别模块或语音翻译模块,完成整个建模过程。

步骤1)中,针对声学任务,利用信号处理方法从原始音频文件中提取基于帧的音频特征序列。针对原始音频,通过如预加重、分帧、加窗等操作,得到基于帧的序列,然后通过傅立叶变换等操作,得到MFCC特征或FBank特征,通常为80维,存储在本地硬盘中。

步骤2中),随机初始化声学模型的参数,使用声学模型对音频特征序列进行编码,编码过程中逐步压缩序列长度,包括:

201)将音频特征序列输入到声学模型中,通过一个间隔为2的卷积层对其进行序列长度压缩,使序列长度变为之前的一半,如图2所示。这里的卷积层的卷积核大小设置为5,类似于分帧操作时的设置,帧长与帧移的比例为5:2。通过这种方式,在压缩过程中考虑到周围的信息,尽量避免信息丢失。

202)对压缩后的表示使用层正则化,然后加上位置表示。在Transformer模型中,由于注意力模块是对位置不敏感的,因此在标准的模型结构中,会在输入层加入位置编码。但是在序列压缩过程中,序列的长度发生改变,会导致位置信息丢失,因此在每个压缩模块之后都加上一个位置编码来强化位置信息。在这之后,就可以通过多个编码层进行编码。编码层的设置具有通用性,比如可以选用目前流行的Transformer和Conformer,或者多种不同的注意力模块,均可以完美适配本方法;

203)重复上述两个步骤多次,将序列长度不断进行压缩,在每个阶段中可以选择不同层数的编码层;编码器底部阶段的序列长度大于L,则选择两个编码层进行编码,降低计算代价;中间阶段的序列长度相对适中,采用六个编码层来编码;在顶部阶段通过两个编码层编码,进一步压缩序列特征,得到一个长度为1/8、1/16或1/32L的编码器表示

204)通过控制卷积层的间隔控制压缩比例;在倾向于更快计算速度的情况下,进行更多的压缩从而得到更短的序列长度;在倾向于更好模型性能的情况下,更小的压缩比例用于保留更多原始信息,从而进行更充分的编码,得到性能更好的声学模型。因此,本方法可以在速度和性能之间进行很好的权衡。

步骤3)中,对编码过程中的特征进行融合,包括:

301)将编码过程分为多个阶段,使得每个阶段的特征序列长度均不同;

302)由于在编码过程中序列不断压缩,会导致部分信息丢失,通过一个特征融合模块对不同阶段编码后的特征进行融合,将所有特征通过卷积层压缩到和最终序列相同的长度,然后乘以对应的权重,得到最终的编码表示;

303)不同阶段的权重初始化时为相同的值,通过在训练过程中不断优化,顶部阶段的特征会获得50%以上的权重,而底层仍然保留8%~12%的权重。

步骤4)中,将融合后的表示传递给语音识别模块或语音翻译模块,完成整个建模过程。

本方法对不同的声学任务均具有通用性。

在语音识别和语音翻译任务上验证本专利提出的方法。语音识别和语音翻译目前均有比较成熟通用的框架结构,在输入层通过两个卷积层进行下采样,压缩输入序列的长度,然后通过多个编码层进行编码,然后通过解码器生成语音对应的标注或翻译。本方法可以直接应用于这两种任务中。在语音识别常用的基准数据集LibriSpeech数据集上,基于Transformer模型架构,在12层隐藏层维度256和512的情况下,本方法可以实现平均0.5的错误率提升及50%的解码加速,相比标准方法有了明显的提升。随着压缩比例的下降,模型的训练难度减小,性能提升更加明显。而在MuST-C语音翻译数据集上,本方法可以得到0.5的BLEU值提升,并且极大地加快了模型的收敛速度,并取得了当前最好的性能。此外,在基于编码能力更强的深层Transformer及Conformer的架构下,本方法可以取得更大的提升。深层Transformer可以在每个阶段均分配足够的层进行充分的编码,而Conformer由于增加了额外的卷积模块,可以更好的捕获局部依赖,从而使相邻位置的表示更加相似,从而降低下采样的难度。本发明方法可以将音频序列长度压缩到原来的10%,可以缩小其与文本序列之间的差异,从而缓解不匹配问题带来的负面影响。

此外,经过分析实验发现,在模型的中间层设置更多的编码层数可以获得更好的性能,但相比设置更多的顶部层数,该方法计算速度略有下降。因为中间层的编码序列相对略长,需要更多的显存和计算资源,但同时信息保留更加完整,编码后的表示会更加充分。因此,针对不同的使用需求,可以设置不同的层数,从而得到不同的性能与计算速度,证明了本方法的灵活性。

总的来说,本专利提出的方法具有很好的适配性,对于不同的声学任务均有很好的表现,并且可以灵活控制压缩比例,从而很好的权衡计算效率和模型性能。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献