通用模型、全新框架,WavLM語音預訓練模型全解

微軟技術棧發表於2021-12-27

(轉載自微軟研究院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 框架中方便使用者呼叫。

從自監督預訓練方法看語音任務

生成式&判別式自監督預訓練方法

在過去的幾年中,深度神經網路模型雖然在語音的多種任務上都取得了突破性進展,但卻依舊受制於模型訓練時所需的大量標註資料。自監督預訓練方法的出現在一定程度上緩解了這一問題。該方法先使用大規模無監督資料進行預訓練,隨後將訓練好的模型在小規模標註資料上進行微調。已有研究表明,使用自監督預訓練可以提升多種語音任務的效能。

根據預訓練目標的不同,自監督預訓練方法可分為生成式和判別式。生成式包括通過連續或離散的隱變數還原原始的語音特徵,比如自編碼器可以預測未來時刻或被掩碼遮蓋的語音特徵。而判別式則通過對比學習或者預測離散化索引(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。

a00fff7bfcf58be15cd130def801b726.png
圖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 模型。

70b821c4789aaa0e9537db780f30c3be.png
圖2:WavLM 在 SUPERB Leaderboard 上的表現

說話人驗證(Speaker Verification)

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

7fe1c0dc35c82e753c1495c2c3078585.png
表1:WavLM 在說話人驗證任務 Vox1-O, Vox1-E 和 Vox1-H 上的表現

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

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

1cec78e5ca70c8dbfc1c6cb402351373.png
圖3:Demo 截圖

說話人日誌(Speaker Diarization)

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

42c1690a60f8b22bdaf5254029ed8437.png
表2:WavLM 在說話人日誌任務 CALLHOME 資料集上的效能

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

語音分離(Speech Separation)

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

4ba92cb6ae17a34608acf31cf37b2409.png

表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 的結果相當,甚至更好。

451fa26c0dcf55dbf62229a44ca76195.png
表4:WavLM 在語音識別任務 Librispeech 資料集1h、10h和100h上的結果

下表展示了在整個960h Librispeech 資料集上進行微調的結果。結果顯示,WavLM 超過了所有有監督訓練模型,並且取得了和 wav2vec2.0 與 HuBERT 相當的結果。該實驗結果表明,雖然 WavLM 在預訓練時引入了帶有人工噪聲和多說話人的輸入,提升了其在多說話人任務上的效能,但並沒有損害該模型在單說話人語音識別任務上的效能,反而在多個微調子集場景下超過基線,展示了 WavLM 預訓練的有效性。

37845faaae6432c365a764655445b75e.png
表5:WavLM 在語音識別任務 Librispeech 資料集960h上的結果

未來,微軟亞洲研究院的研究員們會繼續探索如何訓練更大規模的模型以達到更好的效能,並探究模型的壓縮方法,使得模型可以在低資源裝置上快速推斷。此外,研究員們還會就如何將大規模無監督語音資料和文字資料進行聯合訓練等問題進行更多的探討和研究。


歡迎關注微軟中國MSDN訂閱號,獲取更多最新發布!
image.png

相關文章