关于nlp:通用模型全新框架WavLM语音预训练模型全解

8次阅读

共计 5455 个字符,预计需要花费 14 分钟才能阅读完成。

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

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

近两年来,预训练模型在自然语言解决和计算机视觉畛域引起了学术界和工业界的宽泛关注。利用大规模无监督数据进行训练的预训练模型有着十分好的泛化性,只需在小规模标注数据上进行微调,就能够在相应工作上有所提高。尽管之前预训练模型在语音解决畛域曾经获得了一些停顿,但其只在语音辨认工作上进行了验证。

为此,微软亚洲研究院与微软 Azure 语音组的研究员们提出了 通用语音预训练模型 WavLM。通过 Denoising Masked Speech Modeling 框架,研究员们将 WavLM 适配到了 17 个工作上,并且都获得了十分好的成果,这使得 语音预训练模型的有效性从语音辨认工作延长到了非内容辨认的语音工作。基于在 94,000 小时无监督的英文数据上进行训练,WavLM 还在多个语音相干的数据集上都获得了 SOTA 的问题。目前,该模型曾经开源,并集成到了 Hugging Face 的 Transformer 框架中不便使用者调用。

  • 论文链接:
    https://arxiv.org/pdf/2110.13…
  • 开源链接:
    https://aka.ms/wavlm
  • Hugging Face 集成链接:
    https://huggingface.co/micros…

从自监督预训练方法看语音工作

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

在过来的几年中,深度神经网络模型尽管在语音的多种工作上都获得了突破性停顿,但却仍旧受制于模型训练时所需的大量标注数据。自监督预训练方法的呈现在肯定水平上缓解了这一问题。该办法先应用大规模无监督数据进行预训练,随后将训练好的模型在小规模标注数据上进行微调。已有钻研表明,应用自监督预训练能够晋升多种语音工作的性能。

依据预训练指标的不同,自监督预训练方法可分为 生成式和判别式 。生成式包含通过间断或离散的隐变量还原原始的语音特色,比方自编码器能够预测将来时刻或被掩码遮蔽的语音特色。而判别式则通过比照学习或者预测离散化索引(id)的形式对模型进行预训练,例如 wav2vec2.0 和 HuBERT。将 wav2vec2.0 和 HuBERT 两种办法在 6 万小时的数据上进行预训练后,能够发现其在语音辨认数据集 Librispeech 上获得了 SOTA 的性能。这两种办法均应用了声波作为模型输出,并通过 CNN 模块进行降采样,降采样后的特色被随机遮蔽(mask)并输出进 Transformer 编码器。wav2vec2 应用了比照学习进行模型训练,通过引入一个向量量化器(vector quantizer) 对未遮蔽的 CNN 输入进行离散化,并在被遮蔽地位的 Transformer 的输入示意上计算 InfoNCE 损失,其中正样本来自该地位离散化后的向量,负样本来自于该语音序列中其余地位的离散化向量。而 HuBERT 则借鉴了 BERT 当中的 mask language model 的损失函数,并应用 Transformer 预测被遮蔽地位的离散 id 来训练模型。HuBERT 应用了迭代的形式生成训练指标,即每一帧的离散 id。微软亚洲研究院的研究员们首先对语音的 MFCC 特色进行了 k-means 聚类来生成学习第一代 HuBERT 模型的离散 id,随后对已训练好的上一代模型的输入示意进行聚类并生成新的 id 来进行下一轮次的学习。

即使 wav2vec2.0 和 HuBERT 获得了十分好的停顿,但它们的性能只在语音辨认工作上进行了验证,并且只可能解决繁多谈话人的工作,而在谈话人拆散等多谈话人的工作上体现欠佳。此外,因为这两个模型应用了有声电子书 LibriLight 数据集作为预训练集,所以使得模型在域外上游工作上的体现并不现实。

全新的 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 项语音工作测评)

Speech processing Universal PERformance Benchmark(SUPERB)是由台湾大学、麻省理工大学,卡耐基梅隆大学和 Meta 公司联结提出的评测数据集,其中蕴含了 13 项语音了解工作,用于评测预训练模型的性能好坏。13 项工作包含了:Speaker Identification(谈话人辨认)、Automatic Speaker Verification(谈话人验证)、Speaker Diarization(谈话人日志)、Phoneme Recognition(音素辨认)、Automatic Speech Recognition(语音辨认)、Keyword Spotting(关键词检测)、Query by Example Spoken Term Detection(QbE)、Intent Classification(用意分类)、Slot Filling(对话了解槽填充)、Emotion Recognition(情绪辨认)、Speech Separation(语音拆散)、Speech Enhancement(语音加强)和 Speech Translation(语音翻译)。

在微调模型的过程中,不容许更新预训练模型的参数,以此来掂量预训练模型是否能够在预训练中学习到对应信息。测评结果显示,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…


图 3:Demo 截图

谈话人日志(Speaker Diarization)

谈话人日志(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 时候,都超过了基线的性能。

语音辨认(Speech Recognition)

语音辨认(Speech Recognition)工作的指标是将一段语音转化为文字。在该工作中,研究员们应用了 Librispeech 数据集来验证 WavLM 的预训练成果,该数据集共蕴含 960 小时的有声电子书录音。研究员们思考了四个大小不同的有监督子集进行微调:train-1h, train-10h, train-clean-100h 和全副 960h Librispeech,并在规范测试集 test-clean 和 test-other 上进行比拟。下表展现了在 1h、10h 和 100h 上的后果,能够看到在没有语言模型的状况下,WavLM 显著超过了 wav2vec2.0 的后果。在加上不同语言模型联结解码的状况下,WavLM 的后果与 wav2vec2.0 和 HuBERT 的后果相当,甚至更好。


表 4:WavLM 在语音辨认工作 Librispeech 数据集 1h、10h 和 100h 上的后果

下表展现了在整个 960h Librispeech 数据集上进行微调的后果。结果显示,WavLM 超过了所有有监督训练模型,并且获得了和 wav2vec2.0 与 HuBERT 相当的后果。该试验结果表明,尽管 WavLM 在预训练时引入了带有人工噪声和多谈话人的输出,晋升了其在多谈话人工作上的性能,但并没有侵害该模型在单谈话人语音辨认工作上的性能,反而在多个微调子集场景下超过基线,展现了 WavLM 预训练的有效性。


表 5:WavLM 在语音辨认工作 Librispeech 数据集 960h 上的后果

将来,微软亚洲研究院的研究员们会持续摸索如何训练更大规模的模型以达到更好的性能,并探索模型的压缩办法,使得模型能够在低资源设施上疾速推断。此外,研究员们还会就如何将大规模无监督语音数据和文本数据进行联结训练等问题进行更多的探讨和钻研。


欢送关注微软中国 MSDN 订阅号,获取更多最新公布!

正文完
 0