我們提出了一種算法,在存在非靜態和動態噪聲的情況下,從單個麥克風對揚聲器進行去噪。我們的方法受到最近神經網絡成功的啟發,這些模型將揚聲器與其他揚聲器和歌手以及樂器伴奏分開。與現有技術不同,我們利用源對比估計產生的嵌入空間,這是一種源自自然語言處理中的負採樣技術的技術,同時獲得連續推理掩模。我們直接嵌入空間通過聯合優化對揚聲器和噪聲的區分建模他們的特徵。
這個空間可以推廣,因為它不是揚聲器或噪聲特定的,並且即使模型沒有在訓練集中看到說話者也能夠對語音進行去噪。參數採用雙重目標進行訓練:一個促進選擇性帶通濾波器,消除超過信號功率的時頻位置的噪聲,另一個按比例分割信號和噪聲之間的時頻內容。我們比較了現有的算法以及傳統的稀疏非負矩陣分解解決方案。由此產生的算法通過提供更直觀和易於優化的方法避免了嚴重的計算負擔,同時實現了競爭準確性。
1.簡介
一個多世紀以來,信號去噪一直是多媒體中的一個問題,其應用範圍包括聲學語音處理、圖像處理、地震數據分析和其他模態。對於每種應用的方法已經發展了幾十年,包括傳統的統計信號處理,如Wiener和卡爾曼濾波,小波理論以及矩陣分解的特定實例。 雖然對於局部和廣義靜止信號都有效,即使歷史悠久,但由於其算法容量,這些努力在更動態和更野性的噪聲集中取得了較少的成功。
動態噪聲代表了許多真實的語音場景, 具有令人印象深刻的結果的解決方案專注於硬體:陣列處理[1]採用SONAR,RADAR和合成孔徑傳感的形式。 這些方法通過使用多個傳感器的輸入處理感興趣的源來解決該問題。 不幸的是,許多記錄的當代媒體經常使用更有限的硬體,如智慧型手機,同樣的方法也不能輕易擴展到單聲道情況[2],它記錄來自單個麥克風的音頻。
在先前針對單聲道問題的方法中,明確地對信號和噪聲屬性做出假設,或者規範已經實現了對環境和記錄設備的一些控制。 由於具有諸如手機和筆記本電腦之類的記錄功能的廉價可攜式設備的激增,在嘈雜或混響室中的單軌語音記錄的更一般情況已經變得越來越普遍。在這種情況下,不能保證關於環境的性質或麥克風的位置的語音或噪聲歸屬的保證。
在過去十年中,機器學習方法已開始在這種情況下取得成功。尤其是,已經證明將熟悉的矩陣分解技術[3]適用於處理音頻信號的時頻表示是有用的。然而,這些方法難以達到性能[4],在許多情況下,需要額外的複雜性來準確地模擬源特徵。
可以通過包含關於其特徵的先驗知識來建模更複雜的源。 如果使用的模型具有高容量,則可以根據經驗從大量訓練數據中獲得。 近年來,神經網絡和深度學習方法在其他音頻處理應用中取得了巨大成功,包括一般語音去噪問題[5]。在這些方法中,尤其是遞歸神經網絡在聲學時間序列建模方面表現出最大的希望[6,7],特別是當應用於時間相關的光譜特徵時。
神經網絡方法的一個具有挑戰性的方面是開發成本函數。特別是對於語音信號,由於與語音相關的時間尺度包含許多樣本,因此成本函數的計算複雜度很重要。另外,如果目標是分離源(例如揚聲器和噪聲源),由於排序是任意的,因此成本函數必須對恢復的源的不同排列不變。所提出的方法使用有效的置換不變採樣技術自動化揚聲器的特徵化和噪聲的表徵。
基於我們之前的源對比估算工作[8],我們擴展了直接優化向量空間的方法,該向量空間將特定的源特徵隔離到一般的語音去噪問題。此外,我們通過在[7]中提出的成本函數中加入掩模推理項來進一步改進我們的模型。 我們的模型能夠從語音中去除各種各樣的噪聲類型,並且計算效率很高。
2.相關工作
長期以來,人們在語音處理方面做了大量的工作。在這裡,我們描述了一些代表去噪問題的各種解決方案的方法,雖然許多其他的(例如[9])存在並且為了簡潔而被省略。我們從信號處理理論的方法開始,其中大量方法使用某種類型的矩陣分解[10,11]。特別是,稀疏非負矩陣分解(SNMF)在[4,12,3]中顯示出有效提取非平穩噪聲源。SNMF根據訓練數據構建一組頻譜基函數,並將這些函數與一組學習權重線性組合,以重建所需信號的頻譜特徵。稀疏度通常由對包含乘法超參數μ的學習權重的「1範數約束」強制執行。如第5節所示,諸如此類的線性方法缺乏與更現代技術競爭的算法能力。
2.1、卷積去噪自動編碼器
自動編碼器已被用於成功消除噪聲並將單個源與音頻信號隔離[13]。在較高的層次上,自動編碼器學會對輸入(編碼)進行特徵化,然後將它們重建為輸出(解碼)。這種方法非常適合去噪,因為模型被迫通過丟棄有關噪聲的信息來構建輸入的壓縮表示。
密切相關的是卷積自動編碼器,通常用於去噪圖像[14,15]。這些模型在解碼期間在編碼和解卷積層期間使用卷積層。應用於通過頻譜圖(使用STFT)表示的音頻信號的卷積去噪自動編碼器(DAE)的操作類似,儘管這些方法中的許多方法都存在將信號概括為不可見的問題。 此外,卷積自動編碼器是一種仍然依賴於其成本函數的架構構造,這是一種挑戰,它定義了它們在去噪的情況下的表現,其中常見的「2 - 範數」可能沒有足夠的描述性
2.2、基於神經網絡的源嵌入
最近在單聲道音頻源分離和去噪方面的成功已經學習了嵌入向量[6,16,17,7]。學習嵌入向量的主要優點是它們繞過了所謂的置換問題,其中必須對學習算法的輸出進行置換以解釋目標源的無序性[18]。另外,使用適當的聚類技術,要分離和去噪的源的數量可以是任意的(儘管這取決於如何執行推斷)。
我們在以下部分中提出的嵌入模型最類似於[7]中發現的深度聚類[6]和掩模推理(DC + MI),但成本函數大大降低.DC + MI網絡在給定光譜幅度的情況下學習嵌入。 混合音頻採樣使用一系列四個雙向LSTM(BLSTM)。除了聚類那些嵌入以創建二進位掩碼,如[6]中所示,學習的非線性變換用於將嵌入直接轉換為比率掩模。這具有限制執行二元掩模固有的一些偽像的優點。然而,這需要將源數量固定為兩個。仍然可以在嵌入上對任意數量的源進行聚類,但是只能從這些聚類構建二進位掩碼。
3.方法
本文中使用的方法結合了第2節中引用文獻的掩模推理能力以及從單聲道音頻信號的語音中去除動態,非平穩噪聲源的部分的靈活性。
3.1、數據集
我們的任務是使用單聲道音頻信號將語音與動態噪聲和語音的混合隔離。所有去噪算法都是在LibriSpeech [19]和UrbanSound8K [20]數據集的混合上進行訓練和評估的。LibriSpeech提供高質量的錄音,包括男性和女性演講者的孤立英語演講,UrbanSound8K提供10種非固定噪音課程的錄音。以各種SNR比率添加來自每個數據集的兩個兩秒剪輯以創建噪聲語音數據。對於除SNMF算法之外的所有訓練階段,SNR比在-5和5dB之間連續變化,其中語音和噪聲分別饋入。沒有使用脈衝響應卷積,以便僅關注去除非靜止噪聲源。我們的技術應用於混響環境中的語音留待將來工作。
對於每種算法的訓練,驗證和插入測試,我們使用來自LibriSpeech數據集的train-clean-100音頻讀數集,它提供大約100個小時的演講,在女性和男性演講者之間均勻分配。對於不合適的測試,我們使用LibriSpeech的dev-clean設置。雖然UrbanSound8K的所有噪聲類型都用於訓練,但每種噪聲類型的噪聲文件都保留用於訓練,驗證和測試。
3.2、 模型
我們的單聲道信號去噪模型假設,附加噪聲與語音信號線性混合,可以分成單獨的源組件。在這種情況下,源是揚聲器或特定類型的噪聲。對於揚聲器噪聲混合中的給定源i,我們的模型掩蓋了幅度響應。該掩碼從短時傅立葉變換(STFT),X(t,f)中的時頻區域中過濾出不屬於給定源的信息,同時傳遞那些時間頻率區間。通常情況下,第i個源的預測掩模(Y_(t,f))^i實現為比率或在我們的情況下是二進位掩碼。我們讓
,其中M <= C,C是我們訓練集中的源總數,M是要混合的數量。
要設置我們的掩模,如果我的來源是最響亮的時間頻率bin(t,f),則是
,否則是
.
與我們之前的工作[8]類似,並受到自然語言處理工作[21]的啟發,我們使用揚聲器嵌入,通過使用兩個向量空間進行優化:輸入和輸出空間。第一個向量空間是隱式定義源的輸入嵌入,並且它與特定的任何源都沒有關聯。 我們還有一個輸出嵌入,明確地訓練到已知來源的語料庫。 推理僅使用輸入向量空間通過聚類推廣到任何可能的源我們的神經網絡輸出。 在我們的表示法中,給定樣本的輸入和輸出向量空間被實現為具有嵌入空間E的張量,分別標記為V_i(t,f)和Vo。 張量的列具有E維(隱藏單位)並表示與給定源相關聯的向量。
為了訓練和生成嵌入,
我們使用遞歸神經網絡回歸到V_i。 為了與[6]和[7]進行比較,我們總共使用了四個BLSTM層,並且我們有一個密集層,它在最終BLSTM產生的輸出2D矢量上進行卷積。 最後一層源嵌入也通過[7]中的非線性變換饋送,以產生比率掩模。
給定時間頻率倉和樣本b的SCE損失[8]表示為
. 然後,
這裡,S_b是為輸入混合b採樣的源集合,s是來自子集的單個源。 總損失是
,在所有時間頻率箱和批次中所有B輸入的平均值。
直觀地,時間(t,f)處的神經網絡的輸出是
,並且輸出矢量
是頻率f處的源s的嵌入。
假設對於樣本b,源1在時間頻率bin(t,f)處比源2更響亮。那麼我們理想地喜歡由我們的神經網絡vi產生的嵌入和源1的矢量之間的相關性高。也就是說,我們希望
。同時,vi和源2的矢量之間的相關性應該是低的,因為如果它們足夠不同,這兩個矢量應該是反相關的。也就是說,我們想
從數學角度講,我們將我們的嵌入方向拉向源向量
並將其從非源向量
推開。屬於適當的相關/反相關的來源由標籤Y確定,在前一種情況下為+1,在後一種情況下為1。重要的是要注意,我們可以通過僅優化Sb中的那些源來節省計算和精度,在我們的情況下,S_b將具有兩個元素(一個揚聲器和一個噪聲源)。
另外,在推理期間,我們不使用輸出向量空間Vo。 雖然計算進一步減少,但目的是允許設置不合理的源集。事實上,即使我們可以用較少的來源訓練混合物,我們可以在有任意數量的來源的情況下進行推理。我們的算法(表示為SCE + MI)在Tensorflow,v1.4 [22]中實現,其架構由四個BLSTM層r1,r2,r3,r4組成,每個層為500個單元。接下來是完全連接的層d1,其將第四BLSTM層的輸出映射到輸入向量空間。 BLSTM層使用tanh非線性,完全連接的層是線性的。對於一批輸入X,四個BLSTM層的輸出
。 雖然神經網絡的最終(嵌入)層在技術上是完全連接的線性層,它被實現為r4輸出張量的1D卷積,濾波器為
。然後可以對卷積的輸出進行整形,以給出輸入向量空間
。向量空間輸出通過嵌入維度實際上是1D卷積,其中softmax產生最終比率掩模輸出。此實現允許模型針對任意輸入T運行,這在推理時非常有用。
為了有效評估方程的成本函數。 在批次中,僅在每批中表示的源的源向量被組裝成張量
。Vo中M個揚聲器的順序必須與Y中使用的順序相匹配,但其他方面是武斷的。 為了有效地計算公式中的點積Vi·Vo 在Eq .1廣播,我們適當擴大尺寸。
這給出了點積運算的輸出作為張量
,它與標號Y兼容,因此它們可以在元素上相乘,得到方程式中的sigmoid的自變量。成本函數的剩餘部分很容易評估。
在訓練期間,我們的批量大小為B = 256。 輸入張量的尺寸為
,標籤張量為
其中T = 78是每個樣品的總時間步長,F = 257是使用的頻率倉數。
4.實驗
在所有實驗中,信號被重新採樣並縮放到10kHz,零均值和單位標準差,從中短時間傅立葉變換(STFT)譜圖用Hanning窗口,長度為512和256。我們使用音頻大約兩秒的剪輯,當與之結合時
STFT操作,產生尺寸為25778的輸入特徵(按時間幀的頻率)。複雜階段t,f是單獨保存用於分離後處理。分離來自每個揚聲器的信號和噪聲的頻譜圖(S(n)T,F對於n 2 {1,2,...,C})計算用於訓練和評估目的,而總譜圖由計算元素和
表示揚聲器和噪音ID為n,m。然後通過X_(t,f)光譜圖的大小通過平方根非線性和百分比歸一化。這個類似於[23]中建議的程序;但是我們獲得了使用平方根而不是對數來獲得更好的結果非線性。來源標籤
,f被分配給每個T-F bin給最大幅度的信號賦值為1那個時間和頻率,值為1到所有其他來源。
4.1、算法比較
我們將三種方法與提議的工作進行比較:a線性矩陣分解方法(SNMF),一種去噪自動編碼器(DAE),以及混合深度聚類/掩碼推理架構(DC + MI)。 SNMF從[4]中採用,其中發現了最優的超參數設置並進行了訓練10000個兩秒鐘的噪音和揚聲器音頻剪輯。為了幫助訓練SNMF我們刪除了每個譜圖的部分在每個時間幀的對數最大幅度閾值上。這個在修剪時發現閾值可以隔離口頭語周圍的空音頻。
我們的比較卷積DAE基於[24]和由15個卷積層組成,然後是15個去卷積層。每層包含128個帶有relu激活的5x5過濾器和恆定的輸入大小。使用跳過連接在每隔一對匹配的卷積和反卷積之間層。該模型使用RMSprop進行訓練Nesterov勢頭和學習率為5e-5。
DC + MI網絡是[7]中的體系結構的實現。 我們使用相同的最佳超參數集,除了我們的掩模推理頭的損失函數使用真實的頻譜成分而不是代理。
通過改善源 - 失真比(SDR)來量化每個算法的性能的比較。 針對輸入SNR範圍[5,5] dB和每種噪聲類型,對每種算法的改善SDR度量的評估程度進行評估。
4.2、 重建
在我們的模型的推理時間和DC + MI的深度聚類頭部,
如前一小節所述,對由未知的源混合物組成的信號進行預處理,給出單個源信號St,f的複數T-F估計。生成輸入特徵並通過模型饋送以獲得矢量Vi。然後對矢量執行K均值聚類,以便生成標記預測
,其中每個T-F元素與聚類標記相關聯。這裡,如果關聯矢量Vt,f屬於第k個簇,則元素
,並且
。雖然K-means聚類用於DC和SCE,以便更直接地比較這兩個目標, 球形K-means對於SCE來說更自然。然後,通過聚類獲得的標籤可以用作掩模,以從每個K簇中重建源
。推斷源的TF表示被計算為輸入譜圖的元素乘法與推斷的標籤。
然後將源頻譜圖
(使用逆STFT)轉換為源波形,完成推理過程。
SCE + MI和DC + MI的掩模推斷頭的輸出和SNMF的輸出是比率掩模,當與原始頻譜圖成元件相乘時,產生相應的揚聲器和噪聲源。這些比率屏蔽技術有可能產生比二進位屏蔽更高質量的音頻,因為T-F箱可以在源之間共享(實際情況就是如此)。
我們的貢獻,複製研究[7,4],評估代碼是開源的,可以在 http://github.com/lab41/magnolia 上找到。
5.結果
我們在一組保持混合物上的實驗結果總結在圖1和2中。SCE + MI的掩模推理頭的性能是與DC + MI相當(輸入信噪比為[-5,-4] dB時為+ 13 dB),而SCE(+11.5 dB)的聚類性能略好於SCE + MI和DC +的聚類 MI算法。因此,當要分離的源的數量是任意的時,SCE可能是更理想的。對於更具統計意義的靜態噪聲源和具有較低SNR的輸入,SDR的改善最大。這可以通過以下事實來解釋:在更高的輸入SNR下,信號已經非常突出,因此改善的空間較小。基於深度學習的方法的性能在輸入SNR之間相對一致,而SNMF看到更顯著的差異。
(a)性能與噪聲源。 DC + MI(C)代表使用嵌入進行聚類來重建二進位掩碼。 DC + MI(MI)代表使用掩模推斷源分離。 同樣地SCE + MI(C)和(MI)。
(b)性能與輸入信噪比(SNR)。 輸入SNR的值表示在所示值附近的SNR範圍±0.5dB。(即3.5dB表示[3,4] dB範圍內的SNR)
6. 結論
我們展示了帶掩模推理的SCE為動態噪聲源去噪提供了改進的重建性能。掩模推斷表現良好(平均而言,SDR為+12 dB),無論其耦合的聚類損失如何。 SCE表現出最佳的聚類性能(平均而言,SDR為+11 dB)。這表明在存在任意數量的源的情況下進行去噪,SCE可以提供更好的準確性。