博客專欄

EEPW首頁 > 博客 > 通用模型、全新框架,WavLM語音預(yù)訓(xùn)練模型全解

通用模型、全新框架,WavLM語音預(yù)訓(xùn)練模型全解

發(fā)布人:MSRAsia 時間:2022-01-13 來源:工程師 發(fā)布文章

編者按:深度神經(jīng)網(wǎng)絡(luò)模型近年來雖然在各項語音任務(wù)上都有所進展,但卻仍依賴于大量的標(biāo)注數(shù)據(jù)。而自監(jiān)督訓(xùn)練方法的出現(xiàn)和發(fā)展則在一定意義上緩解了該問題。近日,微軟亞洲研究院與微軟 Azure 語音組的研究員們在判別式自監(jiān)督預(yù)訓(xùn)練方法的基礎(chǔ)上,沿用研究院自然語言計算組在自然語言預(yù)訓(xùn)練的 Transformer 模型架構(gòu),提出了全新的 Denoising Masked Speech Modeling 框架。通過94,000小時的英語語音進行預(yù)訓(xùn)練,通用語音預(yù)訓(xùn)練模型 WavLM 在 SUPERB 所有13項語音任務(wù)測評中超過先前所有模型,排名第一,并在其它4個不同的語音經(jīng)典測評數(shù)據(jù)集上都取得了很好效果。

近兩年來,預(yù)訓(xùn)練模型在自然語言處理和計算機視覺領(lǐng)域引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。利用大規(guī)模無監(jiān)督數(shù)據(jù)進行訓(xùn)練的預(yù)訓(xùn)練模型有著非常好的泛化性,只需在小規(guī)模標(biāo)注數(shù)據(jù)上進行微調(diào),就可以在相應(yīng)任務(wù)上有所提高。雖然之前預(yù)訓(xùn)練模型在語音處理領(lǐng)域已經(jīng)取得了一些進展,但其只在語音識別任務(wù)上進行了驗證。

為此,微軟亞洲研究院與微軟 Azure 語音組的研究員們提出了通用語音預(yù)訓(xùn)練模型 WavLM。通過 Denoising Masked Speech Modeling 框架,研究員們將 WavLM 適配到了17個任務(wù)上,并且都取得了非常好的效果,這使得語音預(yù)訓(xùn)練模型的有效性從語音識別任務(wù)延伸到了非內(nèi)容識別的語音任務(wù)?;谠?4,000小時無監(jiān)督的英文數(shù)據(jù)上進行訓(xùn)練,WavLM 還在多個語音相關(guān)的數(shù)據(jù)集上都取得了 SOTA 的成績。目前,該模型已經(jīng)開源,并集成到了 Hugging Face 的 Transformer 框架中方便使用者調(diào)用。

論文鏈接:

https://arxiv.org/pdf/2110.13900.pdf

開源鏈接:

https://aka.ms/wavlm

Hugging Face集成鏈接:

https://huggingface.co/microsoft/wavlm-large


從自監(jiān)督預(yù)訓(xùn)練方法看語音任務(wù)

生成式&判別式自監(jiān)督預(yù)訓(xùn)練方法

在過去的幾年中,深度神經(jīng)網(wǎng)絡(luò)模型雖然在語音的多種任務(wù)上都取得了突破性進展,但卻依舊受制于模型訓(xùn)練時所需的大量標(biāo)注數(shù)據(jù)。自監(jiān)督預(yù)訓(xùn)練方法的出現(xiàn)在一定程度上緩解了這一問題。該方法先使用大規(guī)模無監(jiān)督數(shù)據(jù)進行預(yù)訓(xùn)練,隨后將訓(xùn)練好的模型在小規(guī)模標(biāo)注數(shù)據(jù)上進行微調(diào)。已有研究表明,使用自監(jiān)督預(yù)訓(xùn)練可以提升多種語音任務(wù)的性能。

根據(jù)預(yù)訓(xùn)練目標(biāo)的不同,自監(jiān)督預(yù)訓(xùn)練方法可分為生成式和判別式。生成式包括通過連續(xù)或離散的隱變量還原原始的語音特征,比如自編碼器可以預(yù)測未來時刻或被掩碼遮蓋的語音特征。而判別式則通過對比學(xué)習(xí)或者預(yù)測離散化索引(id)的方式對模型進行預(yù)訓(xùn)練,例如 wav2vec2.0 和 HuBERT。將 wav2vec2.0 和 HuBERT 兩種方法在6萬小時的數(shù)據(jù)上進行預(yù)訓(xùn)練后,可以發(fā)現(xiàn)其在語音識別數(shù)據(jù)集 Librispeech 上取得了 SOTA 的性能。這兩種方法均使用了聲波作為模型輸入,并通過 CNN 模塊進行降采樣,降采樣后的特征被隨機遮蓋(mask)并輸入進 Transformer 編碼器。wav2vec2 使用了對比學(xué)習(xí)進行模型訓(xùn)練,通過引入一個向量量化器(vector quantizer)對未遮蓋的 CNN 輸出進行離散化,并在被遮蓋位置的 Transformer 的輸出表示上計算 InfoNCE 損失,其中正樣本來自該位置離散化后的向量,負樣本來自于該語音序列中其他位置的離散化向量。而 HuBERT 則借鑒了 BERT 當(dāng)中的 mask language model 的損失函數(shù),并使用 Transformer 預(yù)測被遮蓋位置的離散 id 來訓(xùn)練模型。HuBERT 使用了迭代的方式生成訓(xùn)練目標(biāo),即每一幀的離散 id。微軟亞洲研究院的研究員們首先對語音的 MFCC 特征進行了 k-means 聚類來生成學(xué)習(xí)第一代 HuBERT 模型的離散 id,隨后對已訓(xùn)練好的上一代模型的輸出表示進行聚類并生成新的id來進行下一輪次的學(xué)習(xí)。

即便 wav2vec2.0 和 HuBERT 取得了非常好的進展,但它們的性能只在語音識別任務(wù)上進行了驗證,并且只能夠處理單一說話人的任務(wù),而在說話人分離等多說話人的任務(wù)上表現(xiàn)欠佳。此外,由于這兩個模型使用了有聲電子書 LibriLight 數(shù)據(jù)集作為預(yù)訓(xùn)練集,所以使得模型在域外下游任務(wù)上的表現(xiàn)并不理想。

全新的 Denoising Masked Speech Modeling 框架

沿用微軟亞洲研究院自然語言計算組在自然語言預(yù)訓(xùn)練的 Transformer 模型架構(gòu),研究院的研究員們提出了Denoising Masked Speech Modeling 的預(yù)訓(xùn)練方案。如下圖所示,WavLM 模型包含了一個卷積編碼器(CNN Encoder)和一個 Transformer 編碼器。其中,卷積編碼器共有7層,每層包含一個時域卷積層、一個層規(guī)范化層和一個 GELU 激活函數(shù)層。在 Transformer 編碼器中,研究員們使用了門控相對位置編碼(gated relative position bias),從而將相對位置引入到了注意力網(wǎng)絡(luò)的計算中,以便更好地對局部信息進行建模。在訓(xùn)練中,WavLM 會隨機地對輸入 wav 進行變換,例如:將兩個 wav 進行混合,或者加入背景噪音。之后,再隨機遮蓋約50%的音頻信號,并在輸出端預(yù)測被遮蓋位置所對應(yīng)的標(biāo)簽。WavLM 沿用了 HuBERT 所提出的思想,通過 Kmeans 方法將連續(xù)信號轉(zhuǎn)換成離散標(biāo)簽,并將離散標(biāo)簽當(dāng)作目標(biāo)進行建模。形式化來講,給定輸入語音 X ,首先抽取其標(biāo)簽 Y,之后對 X 進行加噪和掩碼,生成 X ? ,而 Transformer 模型需要通過輸入 X ?  來預(yù)測被掩碼位置的標(biāo)簽 Y。

1.png

圖1:WavLM 模型網(wǎng)絡(luò)結(jié)構(gòu)

大規(guī)模訓(xùn)練數(shù)據(jù)

WavLM 使用了94,000小時英語語音進行了預(yù)訓(xùn)練,這是目前開源英文模型使用的最大規(guī)模訓(xùn)練數(shù)據(jù)。來自于不同領(lǐng)域的大規(guī)模無監(jiān)督語音數(shù)據(jù)有助于 WavLM 提高模型的魯棒性。以往的研究大多只使用 LibriSpeech 或 LibriLight 數(shù)據(jù)集進行預(yù)訓(xùn)練,由于輸入數(shù)據(jù)都是從有聲讀物中提取的,所以限制了預(yù)訓(xùn)練模型的泛化能力。而且電子書中的語音環(huán)境與真實場景中的有所不同,真實場景往往伴隨著更多的噪音。

因此,研究員們使用了額外兩個數(shù)據(jù)集擴展訓(xùn)練數(shù)據(jù):

(1) 10,000小時的 GigaSpeech 數(shù)據(jù),收集自電子書、播客和 YouTube,其內(nèi)容涵蓋藝術(shù)、科學(xué)、體育等多種主題。

(2) VoxPopuli 數(shù)據(jù)。這是一個大規(guī)模的多語言未標(biāo)記音頻數(shù)據(jù)集,由23種語言,超過40萬小時的音頻組成,收集自2009-2020年歐洲議會(EP)錄音。研究員們只使用了 VoxPopuli 中24,000小時的英語數(shù)據(jù)進行預(yù)訓(xùn)練。

再加上 LibriLight 的電子書數(shù)據(jù),研究員們總共收集了94,000小時的數(shù)據(jù)(包括 LibriLight、VoxPopuli 和 GigaSpeech)。微軟亞洲研究院的研究員們相信,豐富的數(shù)據(jù)集可以提高模型的魯棒性,因為其包含不同的音頻背景、更多的揚聲器和不同的內(nèi)容。研究員們將數(shù)據(jù)集稱為 Mix 94k hr 以簡化描述。


任務(wù)測評與實驗結(jié)果

SUPERB(13項語音任務(wù)測評)

Speech processing Universal PERformance Benchmark (SUPERB)是由臺灣大學(xué)、麻省理工大學(xué),卡耐基梅隆大學(xué)和 Meta 公司聯(lián)合提出的評測數(shù)據(jù)集,其中包含了13項語音理解任務(wù),用于評測預(yù)訓(xùn)練模型的性能好壞。13項任務(wù)包括了:Speaker Identification(說話人識別)、Automatic Speaker Verification(說話人驗證)、Speaker Diarization(說話人日志)、Phoneme Recognition(音素識別)、Automatic Speech Recognition(語音識別)、Keyword Spotting(關(guān)鍵詞檢測)、Query by Example Spoken Term Detection(QbE)、Intent Classification(意圖分類)、Slot Filling(對話理解槽填充)、Emotion Recognition(情緒識別)、Speech Separation(語音分離)、Speech Enhancement(語音增強)和 Speech Translation(語音翻譯)。

在微調(diào)模型的過程中,不允許更新預(yù)訓(xùn)練模型的參數(shù),以此來衡量預(yù)訓(xùn)練模型是否可以在預(yù)訓(xùn)練中學(xué)習(xí)到對應(yīng)信息。測評結(jié)果顯示,WavLM 超越了之前的預(yù)訓(xùn)練模型,并且用更少參數(shù)的 base 模型超越了之前最好的 HuBERT large 模型。

2.png2.png

圖2:WavLM 在 SUPERB Leaderboard 上的表現(xiàn)

說話人驗證(Speaker Verification)

Speaker Verification 任務(wù)主要是驗證兩段聲音是否為同一人所說,在語音領(lǐng)域有著重要的應(yīng)用。研究員們使用 VoxCeleb 2 作為訓(xùn)練集,并在 VoxCeleb 1 上進行測試,測試集分為三個 :Vox1-O、Vox1-E 和 Vox1-H。在該任務(wù)中,研究員們選用了經(jīng)典的 ECAPA-TDNN 作為下游模型,證明了預(yù)訓(xùn)練模型可以極大程度地降低說話人驗證任務(wù)的錯誤率。

3.png

表1:WavLM 在說話人驗證任務(wù) Vox1-O, Vox1-E 和 Vox1-H 上的表現(xiàn)

可以看到,在使用預(yù)訓(xùn)練模型之后,ECAPA-TDNN 模型的等錯誤率(Equal Error Rate)相對下降了超過50%,極大提升了模型的準(zhǔn)確率;并且,在這個任務(wù)中 WavLM 依舊比 HuBERT 模型有著更好的效果。

由于在 Speaker Verification 任務(wù)上極好的表現(xiàn),Hugging Face 使用 WavLM 作為種子進行 finetuning,制作了一個在線 Demo,檢測兩段語音是否來自同一說話人。

Demo 鏈接:

https://huggingface.co/spaces/microsoft/wavlm-speaker-verification

4.png

圖3:Demo 截圖

說話人日志(Speaker Diarization)

說話人日志(Speaker Diarization)任務(wù)也被稱為聲紋分割聚類、說話人分割聚類,解決的主要問題是“什么時候,誰在說什么話”。即給定一個包含多人交替說話的語音,該任務(wù)需要判斷每個時間點分別是誰在說話。比如,對于一段客戶與客服的通話記錄,該任務(wù)需要知道哪些時間段的聲音是客戶說的,哪些時間段的聲音是客服說的。

5.png

表2:WavLM 在說話人日志任務(wù) CALLHOME 數(shù)據(jù)集上的性能

研究員們使用 CALLHOME 數(shù)據(jù)集對模型進行了測評,并選取了 EEND-vector clustering 作為 Diarization 的整體 pipeline,其分為說話人向量抽取以及聚類模塊。從實驗結(jié)果可以看出,WavLM 模型可以極大地降低說話人日志的錯誤率(Diarization error rate)。

語音分離(Speech Separation)

語音分離(Speech Separation)任務(wù)的目標(biāo)是將一段含有多人的語音進行分離,保證輸出每一個源只包含一段來自一個人的語音。研究員們利用 LibriCSS 數(shù)據(jù)集對語音分離任務(wù)進行了評測,該數(shù)據(jù)集會使用 ASR 模型測試語音分離模型分離出音頻的詞錯率(WER)。研究員們選取了 Conformer 模型當(dāng)作 Downstream 模型,實驗結(jié)果如下圖所示:

6.png

表3:WavLM 在語音分離任務(wù) LibriCSS 數(shù)據(jù)集上的性能

可以看到,WavLM 可以極大地提高分離模型輸出的音頻質(zhì)量,在40% overlap 以及0 overlap 時候,都超過了基線的性能。

語音識別(Speech Recognition)

語音識別 (Speech Recognition)任務(wù)的目標(biāo)是將一段語音轉(zhuǎn)化為文字。在該任務(wù)中,研究員們使用了 Librispeech 數(shù)據(jù)集來驗證 WavLM 的預(yù)訓(xùn)練效果,該數(shù)據(jù)集共包含960小時的有聲電子書錄音。研究員們考慮了四個大小不同的有監(jiān)督子集進行微調(diào):train-1h, train-10h, train-clean-100h 和全部960h Librispeech,并在標(biāo)準(zhǔn)測試集 test-clean 和 test-other 上進行比較。下表展示了在1h、10h和100h上的結(jié)果,可以看到在沒有語言模型的情況下,WavLM 明顯超越了 wav2vec2.0 的結(jié)果。在加上不同語言模型聯(lián)合解碼的情況下,WavLM 的結(jié)果與 wav2vec2.0 和 HuBERT 的結(jié)果相當(dāng),甚至更好。

7.png

表4:WavLM 在語音識別任務(wù) Librispeech 數(shù)據(jù)集1h、10h和100h上的結(jié)果

下表展示了在整個960h Librispeech 數(shù)據(jù)集上進行微調(diào)的結(jié)果。結(jié)果顯示,WavLM 超過了所有有監(jiān)督訓(xùn)練模型,并且取得了和 wav2vec2.0 與 HuBERT 相當(dāng)?shù)慕Y(jié)果。該實驗結(jié)果表明,雖然 WavLM 在預(yù)訓(xùn)練時引入了帶有人工噪聲和多說話人的輸入,提升了其在多說話人任務(wù)上的性能,但并沒有損害該模型在單說話人語音識別任務(wù)上的性能,反而在多個微調(diào)子集場景下超過基線,展示了 WavLM 預(yù)訓(xùn)練的有效性。

8.png

表5:WavLM 在語音識別任務(wù) Librispeech 數(shù)據(jù)集960h上的結(jié)果

未來,微軟亞洲研究院的研究員們會繼續(xù)探索如何訓(xùn)練更大規(guī)模的模型以達到更好的性能,并探究模型的壓縮方法,使得模型可以在低資源設(shè)備上快速推斷。此外,研究員們還會就如何將大規(guī)模無監(jiān)督語音數(shù)據(jù)和文本數(shù)據(jù)進行聯(lián)合訓(xùn)練等問題進行更多的探討和研究。

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉