0
| 本文作者: 付靜 | 2020-08-17 10:48 | 專題:CCF-GAIR 2020 全球人工智能與機器人峰會 |
2020 年 8 月 7 日-9 日,2020 全球人工智能和機器人峰會(CCF-GAIR 2020)于深圳舉行。
CCF-GAIR 2020 峰會是由中國計算機學會(CCF)主辦,雷鋒網、香港中文大學(深圳)聯合承辦,鵬城實驗室、深圳市人工智能與機器人研究院協辦的全球盛會。大會主題從 2016 年的學產結合,2017 年的產業落地,2018 年的垂直細分,2019 年的人工智能 40 周年,秉承打造國內人工智能和機器人領域規模最大、規格最高、跨界最廣的學術、工業和投資領域盛會。
8 月 8 日上午,在前沿語音技術專場中,滴滴 AI Labs 高級專家研究員、語音研究實驗室負責人宋輝博士帶來了題為《基于深度學習的語音分離技術進展》的主題演講。

宋輝博士在演講中介紹了語音分離的發展現狀,深入闡述了基于深度學習的單通道語音分離技術的發展脈絡,各種技術方案的優缺點與適用場景,以及未來面臨的挑戰。
首先,宋輝博士展示了當下比較流行的單通道語音分離技術在兩個不同的公開數據集上的表現。
宋輝博士介紹,在 WSJ0-2mix 數據集上,近兩年單通道語音分離技術在 SI-SDRi 指標上有比較大的進步。而對于更復雜但更貼近真實環境的噪聲場景,目前的學術研究還不是特別完備,與安靜環境相比在 SI-SDRi 指標上會有幾個 dB 的落差。同時,表現比較好的單通道方法在含噪數據集上還沒有通過完備的測試和評估。
當前單通道語音分離的主流框架是“Encoder—Separator—Decoder”框架(如下圖所示),其中:
Encoder 用于將一維混合語音變換到另一個二維空間中;
Separator 用于在二維空間中學習相對于每個說話人的 Mask,并與混合語音進行元素級別相乘,得到每一路分離后的變換域信號;
Decoder 可將每一路信號反變換回到時域。

同時,就分離方法而言,宋輝博士詳細介紹到了目前的兩種主流方法——基于頻域(Frequency-domain)和時域(Time-domain)的語音分離方法。
一方面,頻域方法的優點在于可以與傳統的信號處理方法(如頻域波束形成)更好的相融,可以得到更加稀疏和結構化的聲學特征表征。同時缺點也比較明顯,如精準的相位重建比較困難、需要較長的窗長滿足頻率分辨率的要求而導致的長時延等。
就頻域語音分離和目標說話人抽取任務而言,宋輝博士主要介紹了幾種比較有代表性的技術方法,包括 u-PIT、Deep CASA、Voice filter 和 SBF-MTSAL-Concat。
另一方面,基于時域的語音分離近兩年來受到了更多關注。時域方法能夠把混合語音變換到一個實數域潛空間中,用一種 data-driven 的形式學習其特征表示,例如,可以采用 1-D CNN 或更深的 Encoder 完成這種變換。
據介紹,時域方法不需要處理相位重建問題,可做到采樣點級別的時延,因而非常適用于對實時性要求高的場景。在此基礎上,宋輝博士接著介紹了 Conv-TasNet、DPRNN-TasNet、SpEx、SpEx+等幾種有代表性的時域語音分離和說話人抽取技術。
隨后,宋輝博士還介紹了單通道語音分離技術的幾個熱點研究方向,包括:
Separator 的改進;
Encoder/Decoder 的改進和優化;
訓練機制的改進;
如何有效利用 speaker embedding 信息完成高質量的說話人抽取任務等。
值得一提的是,宋輝博士向大家展示了一段音頻 demo,結合滴滴目前的業務場景,展現了噪聲環境下目標說話人聲音抽取的具體操作細節和結果。
演講最后,宋輝博士進行了總結和展望。他表示,目前在學術界和工業界中,基于時域的分離方式更受大家歡迎。
在對未來的展望上,宋輝博士表示:
希望不斷提升神經網絡的泛化能力,使得各種分離網絡在真實的環境中可以取得滿意的結果;希望未來可以挖掘出更多語音分離的場景和應用。
以下為宋輝博士的全部演講內容,雷鋒網作了不改變原意的整理及編輯:
大家好,我是來自滴滴 AI Labs 的宋輝,我今天的報告內容是基于深度學習的單通道語音分離技術。所謂語音分離,就是在一個有多個說話人同時說話的場景里,把不同說話人的聲音分離出來。
今天的報告主要從三個方面展開:一是語音分離技術的現狀和基本的技術框架;二是報告的重點,即單通道語音分離技術;三是結論以及對未來的展望。
第一部分,單通道語音分離技術的現狀和基本框架。

這張圖匯總了目前主流的語音分離技術在兩個不同的數據集上的性能,一個是 WSJ0-2mix 純凈數據集,只有兩個說話人同時說話,沒有噪聲和混響。WHAM 是與之相對應的含噪數據集。可以看到,對于純凈數據集,近兩年單通道分離技術在 SI-SDRi 指標上有明顯的進步,圖中已 PSM 方法為界,PSM 之前的方法都是基于頻域的語音分離技術,而 PSM 之后的絕大多數(除了 Deep CASA)都是基于時域的語音分離方法。
噪聲場景相對更貼近于真實的環境。目前,對于噪聲場景下的分離技術性能的研究還不是特別完備,我們看到有一些在安靜環境下表現比較好的方法,在噪聲環境下性能下降比較明顯,大多存在幾個 dB 的落差。同時,與純凈數據集相比,噪聲集合下各種方法的性能統計也不是很完備。
通常來講,單通道語音分離可以用“Encoder-Separator-Decoder”框架來描述。其中, Encoder 可以理解為將觀測信號變換到另外的一個二維空間中,比如離散傅里葉變換將時域信號變換到頻域,1-D CNN 將時域信號變換到一個二維潛空間中;Separator 在變換域當中進行語音的分離,學習出針對不同聲源的 mask,與混合信號做一個元素級別相乘,由此實現變換域中的語音分離操作;Decoder 就是把分離后的信號反變換到一維時域信號。這套框架既可適用于頻域的分離方法,也可用于時域的分離方法。
大部分 Encoder 都是通過線性變換完成的,通過一組濾波器將時域混合語音變換到另外的一個二維空間當中。濾波器組的設計是值得研究的。最簡單的方法是用固定的濾波器,比如短時傅里葉變換。此外,人們更愿意用 data-driven 的方式學習濾波器組的系數,比如常用 1-D CNN。所以,單通道的語音分離,便可以依據此劃分為頻域和時域兩類方法。
第一類是基于頻域的語音分離方法。這種方法的優點是可以與傳統的信號處理方法更好的相融。頻域法中的 encoder 多數情況下由傅里葉變換實現。在多通道場景下,可以與后端的頻域波束形成更好的配合。第二個優點就是 Separator 中 Mask 的可解釋性比較強,即通過網絡學出來的特征更加稀疏和結構化。
這種方法的缺點也比較明顯。第一,傅里葉變換本身是一種通用的變換,也是信號處理當中的經典變換,但它并不一定適用于分離任務。第二個比較明顯的問題是相位重建比較困難。Separator 中學習 Mask 通常利用的是幅度譜,而在語音重構的時候會利用混合語音的相位,所以會有語音失真的產生。第三,因為要做傅里葉變換需要有足夠的采樣點保證頻率分辨率,所以延時比較長,對于對時延要求比較高的場景,頻域分離法會有限制。
第二類方法是時域分離法。它的第一個優點是用一種 data-driven 的形式完成 Encoder 變換,比較常用的是 1-D CNN 或是更深的 Encoder 來完成這種變換。另外,時域方法不需要處理相位重建。第三,它的延時比較短,比如 Conv-TasNet 可以做到兩毫秒的延時,DPRNN-TasNet 可以做到采樣點級別的延時。
時域方法的缺點是 Mask 可解釋性比較差,我們并不知道信號會變換到什么樣的域當中,也不知道在這個域當中 Mask 到底有什么物理含義。此外,時域法和傳統的頻域信號處理方法相結合也稍顯復雜。
需要提到的是,語音分離是將所有說話人的聲音全部分離出來。有的時候,我們只想得到我們感興趣的說話人的聲音,而不需要分離出每一個說話人,這就是目標說話人抽取。它可以解決盲源分離中的兩大痛點,即輸出維度問題和置換問題。此外,由于只需要抽取出一路信號,因此不需要在分離出的多路信號中進行選擇,從而節省運算量。它的附加條件是需要一個參考,既然要抽取特定的說話人,那么必須要事先知道關于這個說話人的信息,也就是 speaker-embedding,將這些信息作為參考輸入給抽取網絡。在一些實際場景中,獲取參考并不困難。
第二部分,介紹單通道語音分離和說話人抽取的主流技術路線。
早期的語音分離多采用基于頻域的方法,比如 u-PIT,這是一種比較流行的訓練方法,很多時域的分離網絡依然沿用了這種訓練思路。
Deep CASA 是頻域方法當中性能比較突出的一種方法。它是基于 CASA 框架。CASA 的基本框架分為兩部分:第一步是基于幀級別的分離;第二步則是對上一步的結果聚合得到輸出。Deep CASA 顧名思義是將上述兩步用更深的網絡來實現,這是近兩年在頻域算法中表現比較突出的方法。
再來看目標說話人抽取技術。比較有代表性的是谷歌提出的 Voice filter,它利用目標說話人的聲紋信息,將 d-vector 作為參考輸入到抽取網絡中,抽取網絡可以只抽取出與該聲紋信息相匹配的信號。
另一種更為常用的抽取方式是引入一個聲紋輔助網絡,通過聯合學習的方式得到高質量的 speaker-embedding,幫助抽取網絡完成目標說話人聲音的提取。

基于時域的語音分離技術,比較有代表性的包括 Conv-TasNet 和 DPRNN-TasNet。對于時域目標說話人抽取任務來講,SpEx 和 SpEx+目前的表現比較好,它們的基本框架也是借助于輔助網絡提取聲紋信息,SpEx 和 SpEx+ 的不同點在于,后者的 speech encoder 和 speaker decoder 是權值共享的。此外,多尺度輸入對于抽取性能提升也是有幫助的。

目前大家對于單通道語音分離技術的關注點主要集中在以下四個方面。
首先是 Separator。早期的頻域方法中,人們更愿意用雙向 RNN 做分離器,在時域方法中大家開始用 TCN,到現在 DPRNN 用的更多一些,它的模型相對比較小,分離效果也比較好。還有一種方式是直接用 UNet 或是 WaveNet 實現從波形到波形的端到端分離,這種方法多用于音樂分離任務。
其次是 Encoder/Decoder。前面講過,Encoder 可以是由一組固定濾波器實現,比如傅里葉變換,也可以通過一種完全學習出來的 1-D CNN 網絡實現,其實還有一種選擇,即參數化的濾波器組。也就是說,并不需要學習濾波器的每個系數,而是學習其中的關鍵參數,由這些關鍵參數可以算出濾波器組的結構。還有一種思路是將 Encoder/Decoder 變得更深,以及采用多尺度輸入的方式。實驗表明,多尺度輸入可以帶來平均 0.3dB 的 SI-SDR 的提升。

第三是訓練機制。在訓練機制上的發揮空間也比較大。比如兩步訓練法(two-step training),由于 1-D CNN 作為 Encoder/Decoder 的風險是信號不一定能夠精確重構,也就是說可能無法像傅里葉正反變換那樣完美復現原始信號,所以兩步法就是在第一步先只訓練 Encoder/Decoder,希望它們引入的誤差盡可能小;在第二步當中訓練中間的分離網絡,需要注意的是,訓練分離網絡的損失函數也是定義在潛空間中的。
還有一個比較有用的方法是 Dynamic mixing,它是一種數據增廣的方式,在訓練的時候人為追加一些不同的混合比例的混合語音來擴充訓練數據,這種方式非常簡單,卻非常有效。
另一種擴充訓練數據的方式是半監督訓練,它利用大量的無標注數據,通過一個 Teacher 網絡先把它們分解成兩路信號的混合,然后通過 Student 網絡將其分離出來,它的學習目標是使得 Teacher 網絡和 Student 網絡盡可能相似。
還有一種 Conditional chain model,這種方法并不是把每個人的聲音同時分離出來,而是一個接一個分離。這樣,在分離后面的說話人聲音的時候,就可以利用前面的輸出作為條件,再配合一定的截止條件,一定程度上可以緩解分離網絡對說話人個數的限制。此外,我們最近也在嘗試利用對抗學習的方法,直接將生成對抗網絡的訓練機制引入到分離網絡當中,也取得了不錯的效果。
最后,如何更好的利用聲紋輔助信息完成高質量的說話人抽取任務也很關鍵。說話人抽取效果好壞的關鍵點在于 speaker embedding 的質量能給予分離網絡多大的輔助。至于 speaker embedding 如何獲得,既可以像 Voice filter 一樣用固定的聲紋 embedding 作為 reference,比如 x-vector、d-vector 等等,也可以通過輔助網絡與分離網絡聯合訓練的方式獲得可學習的聲紋 embedding,后者相對用的更多一些。

滴滴在這方面也在嘗試通過引入 Iterative refined adaptation(IRA)機制來提煉高質量的 speaker embedding。它本質上是一種 adaptation 方法,受人類聽覺感知過程的啟發,在分離之初,我們可能并不知道確切的聲紋信息,但隨著分離過程的進行,我們對于目標說話人越來越熟悉,獲得了更多的目標說話人的聲紋信息,這些信息可以反過來指導分離網絡更好的抽取出與之相匹配的聲音。實驗表明,對于相同的分離網絡,引入 IRA 機制能夠帶來分離性能的一致提升,而且能夠比較有效的減少含噪場景下的性能損失。

第三部分是一些結論和對未來的展望。
第一,目前在學術界和工業界,基于時域的分離方式更受大家歡迎。第二,如何提升模型的泛化能力是一個比較關鍵的問題,我們更希望一個分離網絡或抽取網絡在通用場景下可以取得滿意的結果,而不是過擬合于某些特定的場景。第三,未來希望可以盡可能的挖掘出更多語音分離的場景和應用。最后,是前端語音分離和后端 ASR 系統的聯合訓練,這也是目前的一個研究熱點。
以上是我報告的全部內容,謝謝大家。
雷鋒網雷鋒網雷鋒網
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。