入門語音分離,從雞尾酒問題開始!
? ?AI作者:田 旭??
? AI編輯:田 旭??
? ? ? ??
谷歌這篇文章《Looking to Listen at the Cocktail Party: A Speaker-Independent Audio-Visual Model for Speech Separation》,宣稱“攻克”了雞尾酒會(huì)問題。從提供的視頻演示來看,可以通過滑動(dòng)控制只聽某一個(gè)人說話,非常神奇。


這篇文章本身大概講了這么一個(gè)事:
提出一個(gè)視覺-聽覺聯(lián)合模型,通過視覺信息來檢測(cè)環(huán)境中誰在說什么并且分離出來;模型包含兩個(gè)網(wǎng)絡(luò)來分別分析視頻和音頻,通過融合層合并特征,最后使用傳統(tǒng)的時(shí)頻掩膜(Time-frequency masking)來分離語音部分;
訓(xùn)練過程中,搜集大量(90000)高質(zhì)量、單說話人且頭部位置比較正的視頻,選取其中說話聲音干凈的部分,通過融合不同的視頻或者給視頻加噪聲來創(chuàng)建訓(xùn)練集。


由于本人水平有限,如有分析不對(duì)的地方,歡迎指正和交流。
01
雞尾酒會(huì)問題

“語音分離”(Speech Separation)來自于“雞尾酒會(huì)問題”,采集的音頻信號(hào)中除了主說話人之外,還有其他人說話聲的干擾和噪音干擾。語音分離的目標(biāo)就是從這些干擾中分離出主說話人的語音。
根據(jù)干擾的不同,語音分離任務(wù)可以分為三類:
當(dāng)干擾為噪聲信號(hào)時(shí),可以稱為“語音增強(qiáng)”(Speech Enhancement)
當(dāng)干擾為其他說話人時(shí),可以稱為“多說話人分離”(Speaker Separation)
當(dāng)干擾為目標(biāo)說話人自己聲音的反射波時(shí),可以稱為“解混響”(De-reverberation)
由于麥克風(fēng)采集到的聲音中可能包括噪聲、其他人說話的聲音、混響等干擾,不做語音分離、直接進(jìn)行識(shí)別的話,會(huì)影響到識(shí)別的準(zhǔn)確率。因此在語音識(shí)別的前端加上語音分離技術(shù),把目標(biāo)說話人的聲音和其它干擾分開就可以提高語音識(shí)別系統(tǒng)的魯棒性,這從而也成為現(xiàn)代語音識(shí)別系統(tǒng)中不可或缺的一環(huán)。
基于深度學(xué)習(xí)的語音分離,主要是用基于深度學(xué)習(xí)的方法,從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)語音、說話人和噪音的特征,從而實(shí)現(xiàn)語音分離的目標(biāo)。
02
傳統(tǒng)方法
獨(dú)立分量分析(Independent Component Analysis,ICA)是將信號(hào)之間的獨(dú)立性作為分離變量判據(jù)的方法。由Comon于1994年首次提出。Comon指出ICA方法可以通過某個(gè)對(duì)比函數(shù)(Contrast Function)的目標(biāo)函數(shù)達(dá)到極大值來消除觀察信號(hào)中的高階統(tǒng)計(jì)關(guān)聯(lián),實(shí)現(xiàn)盲源分離。盲源分離被描述成在不知道傳輸通道特性的情況下,從傳感器或傳感器陣列中分離或估計(jì)原始源波形的問題。然而,對(duì)于某些模型,不能保證估計(jì)或提取的信號(hào)與源信號(hào)具有完全相同的波形,因此有時(shí)要求放寬到提取的波形是源信號(hào)的失真或?yàn)V波版本。









03
深度學(xué)習(xí)方法





下面介紹幾種流行的深度學(xué)習(xí)語音分離方法。



和
,由于輸出排列不確定,我們無法確定網(wǎng)絡(luò)的哪一個(gè)輸出與
對(duì)應(yīng),哪一個(gè)與
對(duì)應(yīng)。假設(shè)網(wǎng)絡(luò)對(duì)兩個(gè)說話人的估計(jì)是
說話人無關(guān)語音分離需要解決的問題就是
與
,
,之間如何匹配的問題。PIT網(wǎng)絡(luò)中對(duì)說話人語音的估計(jì)可以使用特征映射的方法,也可以使用時(shí)頻掩蔽的方法。此時(shí)對(duì)說話人的預(yù)測(cè)可能由下式得到:
表示元素相乘。對(duì)于
與
,
,網(wǎng)絡(luò)預(yù)測(cè)與真實(shí)目標(biāo)之間可能共有兩種組合方式,可以每種組合方式計(jì)算對(duì)應(yīng)的預(yù)測(cè)誤差,選擇誤差小的那種輸出排列,利用這種排列再對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。



04
總結(jié)
參考資料:
李宏毅深度學(xué)習(xí)(2020)課程http://speech.ee.ntu.edu.tw/~tlkagk/courses_DLHLP20.html
https://www.zhihu.com/question/274090770
李宏毅深度學(xué)習(xí)(2020)學(xué)習(xí)筆記 https://zhuanlan.zhihu.com/p/137771442
?
END
機(jī)器學(xué)習(xí)算法工程師
? ??? ? ? ? ? ? ? ? ? ? ? ??????????????????一個(gè)用心的公眾號(hào)

