赞
踩
基于 wav2vec预训练的样例关键词识别(2021)
样例关键词识别是将语音关键词片段与语音流中的片段匹配的任务。
在低资源或零资源的情况下,样例关键词识别通常采用基于动态时间规正的方法。近年来,神经网络声学词嵌入已成为一种常用的样例关键词识别方法,但神经网络的方法受限于标注数据数量。
使用 wav2vec预训练可以减少神经网络对数据量的依赖,提升系统的性能。
使用 wav2vec模型提取的预训练特征直接替换梅尔频率倒谱系数特征后,在SwitchBoard语料库中提取的数据集上使(双向长短时记忆网络的神经网络声学词嵌入系统的)平均准确率提高了11.1%,等精度召回值提高了10.0%。
将 wav2vec特征与梅尔频率倒谱系数特征相融合以提取嵌入向量的方法进一步提高了系统的性能,与仅使用 wav2vec的方法相比,融合方法的平均准确率提高了5.3%,等精度召回值提高了2.5%。
基于样例的(Query-by-Example,QbE)关键词识别是一项在目标语音数据库中搜索与请求的查询语音序列相似的子序列的任务。
与常见的关键词系统使用文本来搜索不同, QbE直接使用语音片段进行查询,这使它无需构建完整的语音识别系统即可进行与语言无关的关键词搜索。
无论语言和具体的语义信息如何,此任务都只通过语音数据的相似度进行搜索,因此它可以在资源较少的情况下很好地执行查询,而不必担心语音资源不足的问题。
QbE系统的搜索过程主要包括以下两个步骤:首先,将待查询语音和目标语音库转换为相同的表示形式。然后,使用这些表示形式来计算与查询相同的关键字作为子序列出现在目标语音库中某处的可能性。
常用的表示形式主要有3种: 频谱特征[1-3]、语音后验概率[4-6]和瓶颈特征[7-10]。
序列相似度比较方法:在特征提取之后,动态时间规正 (DynamicTime Warping,DTW)是QbE系统中常用的序列相似度比较方法。 但是,近年来,神经网络声学词嵌入(NeuralAcoustic Word Embeddings,NAWEs)已逐渐成为一种流行的 QbE方法。
NAWEs方法不使用复杂的相似度比较算法,而是将方法的复杂性转移到计算固定长度嵌入向量的步骤中。 已有多项研究将使用三元组损失(tripletloss)的孪生网络[2,16-19]用作嵌入函数。该方法通过带有弱标签(指示关键词之间是否相同)的成对关键词数据训练神经网络。
通过训练,使得在嵌入向量表示的情况下,相同关键词的嵌入向量的距离近,不同关键词的向量距离远。因此,只需设定距离阈值即可判定二词是否相同,相似度比较过程简单快速。
如图1所示,神经网络声学词嵌入样例关键词系统通过神经网络将所有可变长度语音序列嵌入到固定长度向量中。
图1 神经网络声学词嵌入样例关键词系统
在许多应用场景中,足够的带标签数据和准确的词典通常代价高昂或难以获得,使得有效的语音识别系统和关键词 系统难以构建。
QbE关键词识别不需要构建语音识别系统, 并且在缺少资源的情况下表现出色。
与QbE任务一样,训练 wav2vec[20]模型的数据成本也很少,只需要大量没有标注的语音数据即可。wav2vec特征非常适用于改善QbE系统的性能。
wav2vec是一种预训练的模型,通过无监督训练,该模型可使网络将原始语音样本映射到更能代表数据特征的特征空 间。
使用计算出的特征向量来替代 MFCC等传统特征,可以改善后续的任务,比如语音识别或者QbE。
wav2vec模型包含两个卷积神经网络,一个将原始输入音频信号映射到隐藏空间的编码器网络,另一个结合了编码网络的多个时间步输出的上下文网络。编码器网络为每个时间步i生成一个表示zi, 而上下文网络将多个编码器时间步长输出组合为每个时间步 i的一个新的表示ci。通过最小化如下对比损失来训练模型:
其中,k=1,...,K 为预测的步长,
hk (ci )=Wkci+bk是每个时间步计算的ci仿射变换,
zi+k是时间步i后第k 步计算的真实结果。
训练时,损失函数的优化旨在增加ci能够通过这个仿射变换正确预测zi+k的概率。σ ( x )= 1 / ( 1+exp (-x ) )是sigmoid函数,σ ( zTi+k hk ( ci ) ) 是ci通过仿射变换计算后与真实样本zi+k相同的概率。
z~ 是在 wav2vec模型训练期间从每个语音中自动采样的干扰因素,并且符合p n=1 / T 的平均分布,其中T是序列长度。
在计算预测错误的期望值E[logσ(-z~Thk (ci))]时,通过在同一条语音中选择10个干扰项来近似期望值。
λ是一个负的常数。
最后,通过优化每个步长的损失函数之和来训练 wav2vec模型。在训练之后,由上下文网络产生的表示ci 可以用来替代传统的声学特征,并且表现出比常见的滤波器组特征(如 MFCC)更好的性能。
本文使用 wav2vec预训练特征来改进使用三元组损失的BLSTM网络作为嵌入函数的NAWEs的QbE关键词系统。作为一种无监督的预训练系统,wav2vec特征可以在语音资源量较小时优化目标任务。本文通过实验选择了与 MFCC 基线相同且性价比更高的3层网络来进行 wav2vec实验。在这种情况下,AP 相比 MFCC 基线增加了11.1%,BEP 提升了10.0%。
本文还融合了wav2vec特征和MFCC特征。实验发现, 与只使用单个特征输入的方法相比,错误的融合方法将导致 网络性能下降。使用全连接层将MFCC特征映射到与wav2vec特征相同的512维后融合性能更佳。将 wav2vec特征和512维的 MFCC特征拼接并输入到第一层中的系统,与仅使用 wav2vec特征并输入第一层的系统相比,AP 提高了1.4%。实验中得出的最佳融合系统是将 wav2vec与使用全连接层映射到512维的 MFCC 拼接后同时输入第一层和第二层。最佳融合系统的AP比仅使用 wav2vec特征的系统提高了5.3%,比MFCC基线系统提高了17.0%,而 BEP 则分别提升了2.5%和13.2%。
通过实验得出了最佳的网络层数、神经元随机失活概率和特征融合方式,降低了基于神经网络的样例关键词系统对数据量的依赖。
在 QbE任务中,多语言或单语言瓶颈特征[9]是一种常用的预训练方法,这种方法通过构建一个简单的声学模型,并将其中某个中间层的输出作为特征相使用。这种方法的一个明显缺点是,QbE作为一种低资源任务通常不适合建立声学模型。由于标注的质量低和对齐的不正确,可能会在提取瓶颈特征的过程中引入一些错误。
wav2vec[20]是无监督的预训练方法,可用于改善语音任务。wav2vec预训练可以使用无标注的语音数据执行,与样 例关键词识别场景匹配。即使在相同的数据量下,wav2vec预训练也可以减少训练时间并提高性能。wav2vec已在语音识别系统中显示了出色的性能[21-22]。
本文用来训练嵌入网络的数据截取自 SwitchBoard电话会话英语语料库。将 Kaldi在每帧中提取的标准的39维 MFCC+Δ+Δ特征用于基线系统和融合系统。训练集包含1959个词的语音片段,而开发集和测试集分别包含14997个和11951个词,测试集、训练集和开发集与文献中的相同。
本文的基线系统结构[2]是一个3层的 BLSTM 网络,每层中都有0.3的概率神经元随机失活。
评价指标:余弦距离小于阈值则判定为相同词,否则 判定为不同词。遍历所有可能阈值并画出精度召回曲线,精度召回曲线下方的面积即为平均准确率(AveragePresion, AP)。AP越大,代表系统在所有阈值下的性能越好。精度召回曲线上精度与召回率之差的绝对值最小的点为等精度召回点(Break-evenPoint,BEP),本文取该点上精度和召回率中较小的一个作为 BEP的值。BEP越大,代表系统在精度和召回率均衡时的性能越好。
考虑到与3层 BLSTM 相比,4层 BLSTM 不但难以训练,并且在增加训练时间的同时性能并未得到明显改善,因此我们选择了性能和培训时间相对平衡的3层 BLSTM,用于后续测试。
表1 不同层数下使用 wav2vec的 BLSTM 系统的性能比较
2、嵌入网络输入的特征融合:将 wav2vec和 MFCC 特征直接拼接作为嵌入网络的输入
表2 在第一层输入进行特征融合的性能
3、在不同层进行输入的特征融合:
图2 多层特征融合结构
表3 第一层输入 MFCC,第二、三层输入 wav2vec的性能
表4 第一层输入 wav2vec,第二层中输入 MFCC或 wav2vec的性能
表5 第一层输入融合特征,在第二层输入不同特征的性能
表6 本文最佳方法与基准方法的性能和耗时的比较
图3 孤立词识别任务上两个系统的AP 随迭代次数的变化
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。