微软中国MSDN 点击上方 蓝字 关注我们

(转载自微软研究院AI头条)

编者按:深度神经网络模型近年来虽然在各项语音任务上都有所进展,但却仍依赖于大量的标注数据。而自监督训练方法的出现和发展则在一定意义上缓解了该问题。近日,微软亚洲研究院与微软 Azure 语音组的研究员们在判别式自监督预训练方法的基础上,沿用研究院自然语言计算组在自然语言预训练的 Transformer 模型架构,提出了全新的 Denoising Masked Speech Modeling 框架。通过94,000小时的英语语音进行预训练,通用语音预训练模型 WavLM 在 SUPERB 所有13项语音任务测评中超过先前所有模型,排名第一,并在其它4个不同的语音经典测评数据集上都取得了很好效果。

  • 论文链接: https://arxiv.org/pdf/2110.13900.pdf
  • 开源链接: https://aka.ms/wavlm
  • Hugging Face集成链接: https://huggingface.co/microsoft/wavlm-large
  • 从自监督预训练方法看语音任务

    生成式&判别式自监督预训练方法

    在过去的几年中,深度神经网络模型虽然在语音的多种任务上都取得了突破性进展,但却依旧受制于模型训练时所需的大量标注数据。自监督预训练方法的出现在一定程度上缓解了这一问题。该方法先使用大规模无监督数据进行预训练,随后将训练好的模型在小规模标注数据上进行微调。已有研究表明,使用自监督预训练可以提升多种语音任务的性能。

    全新的 Denoising Masked Speech Modeling 框架

    沿用微软亚洲研究院自然语言计算组在自然语言预训练的 Transformer 模型架构,研究院的研究员们提出了 Denoising Masked Speech Modeling 的预训练方案 。如下图所示,WavLM 模型包含了一个卷积编码器(CNN Encoder)和一个 Transformer 编码器。其中,卷积编码器共有7层,每层包含一个时域卷积层、一个层规范化层和一个 GELU 激活函数层。在 Transformer 编码器中,研究员们使用了门控相对位置编码(gated relative position bias),从而将相对位置引入到了注意力网络的计算中,以便更好地对局部信息进行建模。在训练中,WavLM 会随机地对输入 wav 进行变换,例如:将两个 wav 进行混合,或者加入背景噪音。之后,再随机遮盖约50%的音频信号,并在输出端预测被遮盖位置所对应的标签。WavLM 沿用了 HuBERT 所提出的思想,通过 Kmeans 方法将连续信号转换成离散标签,并将离散标签当作目标进行建模。形式化来讲,给定输入语音 X ,首先抽取其标签 Y,之后对 X 进行加噪和掩码,生成 X ̂ ,而 Transformer 模型需要通过输入 X ̂ 来预测被掩码位置的标签 Y。

    图1:WavLM 模型网络结构

    大规模训练数据

    WavLM 使用了94,000小时英语语音进行了预训练,这是 目前开源英文模型使用的最大规模训练数据。 来自于不同领域的大规模无监督语音数据有助于 WavLM 提高模型的鲁棒性。以往的研究大多只使用 LibriSpeech 或 LibriLight 数据集进行预训练,由于输入数据都是从有声读物中提取的,所以限制了预训练模型的泛化能力。而且电子书中的语音环境与真实场景中的有所不同,真实场景往往伴随着更多的噪音。

    因此,研究员们使用了额外两个数据集扩展训练数据:

    (1) 10,000小时的 GigaSpeech 数据,收集自电子书、播客和 YouTube,其内容涵盖艺术、科学、体育等多种主题。

    (2) VoxPopuli 数据。这是一个大规模的多语言未标记音频数据集,由23种语言,超过40万小时的音频组成,收集自2009-2020年欧洲议会(EP)录音。研究员们只使用了 VoxPopuli 中24,000小时的英语数据进行预训练。

    再加上 LibriLight 的电子书数据,研究员们总共收集了94,000小时的数据(包括 LibriLight、VoxPopuli 和 GigaSpeech)。微软亚洲研究院的研究员们相信,丰富的数据集可以提高模型的鲁棒性,因为其包含不同的音频背景、更多的扬声器和不同的内容。研究员们将数据集称为 Mix 94k hr 以简化描述。

    任务测评与实验结果

    SUPERB(13项语音任务测评)

    在微调模型的过程中,不允许更新预训练模型的参数,以此来衡量预训练模型是否可以在预训练中学习到对应信息。测评结果显示,WavLM 超越了之前的预训练模型,并且用更少参数的 base 模型超越了之前最好的 HuBERT large 模型。

    图2:WavLM 在 SUPERB Leaderboard 上的表現

    说话人验证(Speaker Verification)

    Speaker Verification 任务主要是验证两段声音是否为同一人所说,在语音领域有着重要的应用。研究员们使用 VoxCeleb 2 作为训练集,并在 VoxCeleb 1 上进行测试,测试集分为三个 :Vox1-O、Vox1-E 和 Vox1-H。在该任务中,研究员们选用了经典的 ECAPA-TDNN 作为下游模型,证明了预训练模型可以极大程度地降低说话人验证任务的错误率。

    表1:WavLM 在说话人验证任务 Vox1-O, Vox1-E 和 Vox1-H 上的表现

    可以看到,在使用预训练模型之后,ECAPA-TDNN 模型的等错误率(Equal Error Rate)相对下降了超过50%,极大提升了模型的准确率;并且,在这个任务中 WavLM 依旧比 HuBERT 模型有着更好的效果。

    由于在 Speaker Verification 任务上极好的表现,Hugging Face 使用 WavLM 作为种子进行 finetuning,制作了一个在线 Demo,检测两段语音是否来自同一说话人。

  • Demo 链接: https://huggingface.co/spaces/microsoft/wavlm-speaker-verification
  • 图3:Demo 截图

    说话人日志(Speaker Diarization)

    表2:WavLM 在说话人日志任务 CALLHOME 数据集上的性能

    研究员们使用 CALLHOME 数据集对模型进行了测评,并选取了 EEND-vector clustering 作为 Diarization 的整体 pipeline,其分为说话人向量抽取以及聚类模块。从实验结果可以看出,WavLM 模型可以极大地降低说话人日志的错误率(Diarization error rate)。

    语音分离(Speech Separation)

    语音分离(Speech Separation)任务的目标是将一段含有多人的语音进行分离,保证输出每一个源只包含一段来自一个人的语音。研究员们利用 LibriCSS 数据集对语音分离任务进行了评测,该数据集会使用 ASR 模型测试语音分离模型分离出音频的词错率(WER)。研究员们选取了 Conformer 模型当作 Downstream 模型,实验结果如下图所示:

    表3:WavLM 在语音分离任务 LibriCSS 数据集上的性能

    可以看到,WavLM 可以极大地提高分离模型输出的音频质量,在40% overlap 以及0 overlap 时候,都超过了基线的性能。

    未来,微软亚洲研究院的研究员们会继续探索如何训练更大规模的模型以达到更好的性能,并探究模型的压缩方法,使得模型可以在低资源设备上快速推断。此外,研究员们还会就如何将大规模无监督语音数据和文本数据进行联合训练等问题进行更多的探讨和研究。 返回搜狐,查看更多

    责任编辑:

    声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。