本發明涉及語音降噪技術領域,特別涉及一種基于數據增強的降噪模型壓縮方法及裝置。
背景技術:
語音降噪是將混合語音中的噪聲和人聲分離出來,在盡可能完整保留人聲部分的同時盡可能多的去除噪聲部分。這可以有效提高語音通信或語音交互的質量,使人或機器在嘈雜的環境下也能聽到清晰、干凈的語音。傳統的降噪方法在非平穩噪聲環境下很難取得很好的效果,尤其對于瞬態的噪聲更是無能為力,當前基于深度學習技術的降噪方法可以有效的去除快變的噪聲,取得更好的語音降噪效果。而目前主流的基于深度學習技術的降噪方法表現良好,但模型參數量比較大,且會有冗余,對計算資源的消耗比較嚴重。在移動設備上運行時,對功耗的要求就比較苛刻,所以在保證降噪性能幾乎不變的前提下,模型壓縮變的尤為重要。
技術實現要素:
本發明提供一種模型的參數量少且降噪性能不變的基于數據增強的降噪模型壓縮方法。
本發明提供一種基于數據增強的降噪模型壓縮方法,該方法具體包括步驟s1-s6:
步驟s1:獲取預設的初始teacher模型;
步驟s2:獲取帶噪的訓練語音,以及獲取所述帶噪的訓練語音對應的純凈語音;
步驟s3:基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為最終teacher模型;
步驟s4:獲取預設的初始student模型;
步驟s5:獲取實際采集的帶噪實際語音;
步驟s6:基于所述帶噪的訓練語音、最終teacher模型和所述實際采集的帶噪實際語音對所述初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
優選的,所述基于數據增強的降噪模型壓縮方法還包括:
步驟s7:獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試;當測試不通過時重復執行步驟s1至s6。
優選的,所述步驟s3:基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為最終teacher模型;具體包括:
步驟s301:提取所述帶噪的訓練語音中的特征值作為第一特征值;
步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值;
步驟s303:將所述第一特征值輸入初始teacher模型中獲得第一時頻掩蔽值;計算出所述第一時頻掩蔽值和所述實際時頻掩蔽值之間的第一均方誤差;
步驟s304:將所述第一特征值、所述第一時頻掩蔽值和所述實際時頻掩蔽值作為訓練數據,所述第一均方誤差作為損失函數,對所述初始teacher模型進行訓練;
步驟s305:待所述初始teacher模型訓練收斂后作為最終teacher模型。
優選的,步驟s6:基于所述帶噪的訓練語音、最終teacher模型和所述帶噪實際語音對所述student模型進行訓練,待所述student模型訓練收斂后作為最終student模型,具體包括:
步驟s601:將所述第一特征值輸入所述最終teacher模型中,預測出第二時頻掩蔽值;
步驟s602:提取所述實際采集的帶噪實際語音的特征值作為第二特征值;
步驟s603:將所述第二特征值輸入所述最終teacher模型中,預測出第三時頻掩蔽值;
步驟s604:將所述第一特征值輸入所述初始teacher模型中,預測出第四時頻掩蔽值;計算所述第四時頻掩蔽值與所述第二時頻掩蔽值之間的第二均方誤差;
步驟s605:將所述第二特征值輸入所述初始student模型中,預測出第五時頻掩蔽值;計算出所述第五時頻掩蔽值和所述第三時頻掩蔽值之間的第三均方誤差;
步驟s606:將所述第一特征值和第二時頻掩蔽值、所述第二特征值和第三時頻掩蔽值作為訓練數據,將所述第二均方誤差和所述第三均方誤差作為損失函數,對初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
優選的,為了在壓縮模型的同時,還能保證在實際場景運用中降噪性能不變,優選的技術方案是,所述步驟s7:獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試,當測試不通過時重復執行步驟s1至s6;具體包括:
步驟s701:提取所述帶噪測試語音的特征值為第三特征值;
步驟s702:將所述第三特征值輸入所述最終student模型,預測出第六時頻掩蔽值;
步驟s703:獲取所述帶噪測試語音的頻譜,并將所述頻譜與所述第六時頻掩蔽值相乘后經過逆傅里葉變換即可得到增強后的第一增強語音;
步驟s704:計算所述第一增強語音與預設的第二增強語音之間的相似度,作為測試結果輸出;
步驟s705:當所述測試結果小于預設值時,重復執行步驟s1至s6。
本實施例中,將帶噪測試語音進行特征提取,并將其輸入值保存好的小模型中,得到預測的時頻掩蔽值,并將預測的時頻掩蔽值與帶噪測試語音的頻譜相乘后進行逆傅里葉變換得到增強后的語音,從而保證模型壓縮后在實際場景中降噪性能的不變。
優選的,為了能夠利用帶噪實際語音和其對應的純凈語音的基礎上計算出實際的視頻掩蔽值,優選的技術方案是,所述步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值,具體包括:
獲取所述純凈語音的頻譜,基于所述純凈語音的頻譜計算出第一能量序列;所述第一能量序列包括所述純凈語音的頻譜各個采樣點的能量值;
獲取所述帶噪的訓練語音的頻譜,基于所述帶噪的訓練語音的頻譜計算出第二能量序列;所述第二能量序列包括所述帶噪的訓練語音的頻譜各個采樣點的能量值;
根據所述第二能量序列與所述第一能量序列確定出所述實際時頻掩蔽值。
優選的,為了實現壓縮后的模型的降噪性能測試,優選的技術方案是,所述步驟s703:計算所述語音與預設增強結果之間的相似度,作為測試結果輸出,具體包括:
獲取所述第一增強語音的頻譜,基于所述第一增強語音的頻譜計算出第三能量序列;所述第三能量序列包括所述第一增強語音的頻譜各個采樣點的能量值;
獲取所述第二增強語音的頻譜,基于所述第二增強語音的頻譜計算出第四能量序列;所述第四能量序列包括所述第二增強語音的頻譜各個采樣點的能量值;
計算第三能量序列與所述第四能量序列中各個能量值之間的差值是否在預設閾值內,計算在所述預設閾值內的采樣點的占比;將所述占比作為所述第一增強語音與預設的第二增強語音之間的相似度。
本發明還提供一種基于數據增強的降噪模型壓縮裝置包括:
初始teacher模型獲取模塊,用于獲取預設的初始teacher模型;
第一語音獲取模塊,用于獲取帶噪的訓練語音,以及獲取所述帶噪的訓練語音對應的純凈語音;
teacher模型訓練模塊,用于基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為最終teacher模型;
初始studen模型獲取模塊,用于獲取預設的初始student模型;
第二語音獲取模塊,用于獲取實際采集的帶噪實際語音;
最終student模型獲取模塊,用于基于所述帶噪的訓練語音、最終teacher模型和所述實際采集的帶噪實際語音對所述初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
優選的,基于數據增強的降噪模型壓縮裝置還包括:
測試模塊,用于獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試;當測試不通過時重新獲取所述初始teacher模型并訓練獲得所述最終teacher模型,重新獲取初始student模型并訓練獲得所述最終student模型。
優選的,所述teacher模型訓練模塊執行包括如下操作:
提取所述帶噪的訓練語音中的特征值作為第一特征值;
基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值;
將所述第一特征值輸入初始teacher模型中獲得第一時頻掩蔽值;計算出所述第一時頻掩蔽值和所述實際時頻掩蔽值之間的第一均方誤差;
將所述第一特征值、所述第一時頻掩蔽值和所述實際時頻掩蔽值作為訓練數據,所述第一均方誤差作為損失函數,對所述初始teacher模型進行訓練;
待所述初始teacher模型訓練收斂后作為最終teacher模型。
優選的,所述最終student模型獲取模塊執行包括如下操作:
步驟s601:將所述第一特征值輸入所述最終teacher模型中,預測出第二時頻掩蔽值;
步驟s602:提取所述實際采集的帶噪實際語音的特征值作為第二特征值;
步驟s603:將所述第二特征值輸入所述最終teacher模型中,預測出第三時頻掩蔽值;
步驟s604:將所述第一特征值輸入所述初始teacher模型中,預測出第四時頻掩蔽值;計算所述第四時頻掩蔽值與所述第二時頻掩蔽值之間的第二均方誤差;
步驟s605:將所述第二特征值輸入所述初始student模型中,預測出第五時頻掩蔽值;計算出所述第五時頻掩蔽值和所述第三時頻掩蔽值之間的第三均方誤差;
步驟s606:將所述第一特征值和第二時頻掩蔽值、所述第二特征值和第三時頻掩蔽值作為訓練數據,將所述第二均方誤差和所述第三均方誤差作為損失函數,對初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
優選的,測試模塊執行包括如下操作:
步驟s701:提取所述帶噪測試語音的特征值為第三特征值;
步驟s702:將所述第三特征值輸入所述最終student模型,預測出第六時頻掩蔽值;
步驟s703:獲取所述帶噪測試語音的頻譜,并將所述頻譜與所述第六時頻掩蔽值相乘后經過逆傅里葉變換即可得到增強后的第一增強語音;
步驟s704:計算所述第一增強語音與預設的第二增強語音之間的相似度,作為測試結果輸出;
步驟s705:當所述測試結果小于預設值時,重新獲取所述初始teacher模型并訓練獲得所述最終teacher模型,重新獲取所述初始student模型并訓練獲得所述最終student模型。
優選的,所述teacher模型訓練模塊執行所述步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值,具體包括:
獲取所述純凈語音的頻譜,基于所述純凈語音的頻譜計算出第一能量序列;所述第一能量序列包括所述純凈語音的頻譜各個采樣點的能量值;
獲取所述帶噪的訓練語音的頻譜,基于所述帶噪的訓練語音的頻譜計算出第二能量序列;所述第二能量序列包括所述帶噪的訓練語音的頻譜各個采樣點的能量值;
根據所述第二能量序列與所述第一能量序列確定出所述實際時頻掩蔽值。
優選的,所述測試模塊執行所述步驟s703:計算所述語音與預設增強結果之間的相似度,作為測試結果輸出,具體包括:
獲取所述第一增強語音的頻譜,基于所述第一增強語音的頻譜計算出第三能量序列;所述第三能量序列包括所述第一增強語音的頻譜各個采樣點的能量值;
獲取所述第二增強語音的頻譜,基于所述第二增強語音的頻譜計算出第四能量序列;所述第四能量序列包括所述第二增強語音的頻譜各個采樣點的能量值;
計算第三能量序列與所述第四能量序列中各個能量值之間的差值是否在預設閾值內,計算在所述預設閾值內的采樣點的占比;將所述占比作為所述第一增強語音與預設的第二增強語音之間的相似度。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
圖1為本發明實施例中一種基于數據增強的降噪模型壓縮方法的示意圖。
具體實施方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。
本發明實施例提供一種基于數據增強的降噪模型壓縮方法,如圖1所示,該方法流程如下,具體包括步驟s1-s6:
步驟s1:獲取預設的初始teacher模型;
步驟s2:獲取帶噪的訓練語音,以及獲取所述帶噪的訓練語音對應的純凈語音;
步驟s3:基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為最終teacher模型;
步驟s4:獲取預設的初始student模型;
步驟s5:獲取實際采集的帶噪實際語音;
步驟s6:基于所述帶噪的訓練語音、最終teacher模型和所述實際采集的帶噪實際語音對所述初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
本實施例,著重于一種基于數據增強的降噪模型壓縮方法,獲取預設的初始teacher模型【手動配置參數的大的降噪模型】,首先壓縮前需要保證teacher模型的降噪性能,采用訓練數據(即:帶噪的訓練語音)和對應于訓練數據的純凈語音(沒有噪聲的語音)輸入到語音降噪模型中進行訓練,待語音降噪模型收斂后得到最終teacher模型,獲取預設的初始student模型【手動配置參數的小的降噪模型】,student模型的參數量相對較少;因為實際應用場景中,不管是初始teacher模型還是最終teacher模型模型其參數較多,模型較大,應用不方便;通常采用student模型,減少模型的參數量,從而更易于應用;使裝載壓縮后的模型的終端的配置可以降低,進而減少終端的成本。最后基于帶噪的訓練語音、最終teacher模型和所述實際采集的帶噪實際語音對所述初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型,采用最終teacher模型的預測值對student模型的訓練進行指導,在最終teacher模型訓練集的基礎上增加了原本無標簽的實際數據(通過最終teacher模型得到預測值),從而使得最終student模型在實際應用場景中的效果更好。同時經最終teacher模型的預測空間映射到最終student模型上,讓訓練任務更簡單,更容易收斂。
在一個實施例中,為了對最終student模型進行測試,優選的技術方案是,所述基于數據增強的降噪模型壓縮方法還包括:
步驟s7:獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試;當測試不通過時重復執行步驟s1至s6。
采用帶噪測試語音對最終student模型進行測試,當測試不通過時,重復步驟s1至步驟s6,直至測試通過。通過測試保證壓縮后的模型的降噪性能。
在一個實施例中,為了能夠保證壓縮前的模型的降噪性能,優選的技術方案是,所述步驟s3:基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為最終teacher模型;具體包括:
步驟s301:提取所述帶噪的訓練語音中的特征值作為第一特征值;
步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值;
步驟s303:將所述第一特征值輸入初始teacher模型中獲得第一時頻掩蔽值;計算出所述第一時頻掩蔽值和所述實際時頻掩蔽值之間的第一均方誤差;
步驟s304:將所述第一特征值、所述第一時頻掩蔽值和所述實際時頻掩蔽值作為訓練數據,所述第一均方誤差作為損失函數,對所述初始teacher模型進行訓練;
步驟s305:待所述初始teacher模型訓練收斂后作為最終teacher模型。
本申請的前置條件是在大量模擬數據基礎上得到了初始teacher模型。首先壓縮前要保證初始teacher模型的降噪性能,需要對初始teacher模型進行訓練;采用帶噪的訓練語音和對應的純凈語音對初始teacher模型進行訓練。
其中,第一特征值以及下面的第二特征值和第三特征值的提取公式如下:
feature=log(|stft(f)|);
公式中,feature表示特征值,stft表示短時傅里葉變換,||為語音信號的幅度;f表示語音信號的頻譜。
其中,實際時頻掩蔽值的計算公式如下:
mask_r=|clean|/|mix|;
公式中,mask_r表示實際時頻掩蔽值;|clean|表示純凈語音的幅度譜;|mix|表示帶噪的訓練語音的幅度譜。
在一個實施例中,為了保證壓縮后的模型的降噪性能,優選的技術方案是,步驟s6:基于所述帶噪的訓練語音、最終teacher模型和所述帶噪實際語音對所述student模型進行訓練,待所述student模型訓練收斂后作為最終student模型,具體包括:
步驟s601:將所述第一特征值輸入所述最終teacher模型中,預測出第二時頻掩蔽值;
步驟s602:提取所述實際采集的帶噪實際語音的特征值作為第二特征值;
步驟s603:將所述第二特征值輸入所述最終teacher模型中,預測出第三時頻掩蔽值;
步驟s604:將所述第一特征值輸入所述初始teacher模型中,預測出第四時頻掩蔽值;計算所述第四時頻掩蔽值與所述第二時頻掩蔽值之間的第二均方誤差;
步驟s605:將所述第二特征值輸入所述初始student模型中,預測出第五時頻掩蔽值;計算出所述第五時頻掩蔽值和所述第三時頻掩蔽值之間的第三均方誤差;
步驟s606:將所述第一特征值和第二時頻掩蔽值、所述第二特征值和第三時頻掩蔽值作為訓練數據,將所述第二均方誤差和所述第三均方誤差作為損失函數,對初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
本實施例中,通過最終teacher模型對壓縮后的初始student模型進行指導訓練,保證student模型具有teacher模型的降噪性能的同時,降低參數量,使其應用范圍更廣。
在一個實施例中,為了對壓縮后的模型進行測試,優選的技術方案是,所述步驟s7:獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試,;當測試不通過時重復執行步驟s1至s6,具體包括:
步驟s701:提取所述帶噪測試語音的特征值為第三特征值;
步驟s702:將所述第三特征值輸入所述最終student模型,預測出第六時頻掩蔽值;
步驟s703:獲取所述帶噪測試語音的頻譜,并將所述頻譜與所述第六時頻掩蔽值相乘后經過逆傅里葉變換即可得到增強后的第一增強語音;
步驟s704:計算所述第一增強語音與預設的第二增強語音之間的相似度,作為測試結果輸出;
步驟s705:當所述測試結果小于預設值時,重復執行步驟s1至s6。
本實施例中,應用帶噪測試語音對最終student模型進行測試,當測試不通過時,重復步驟s1至步驟s6,直至測試通過。通過測試保證壓縮后的模型的降噪性能。
在一個實施例中,為了能夠利用帶噪實際語音和其對應的純凈語音的基礎上計算出實際的視頻掩蔽值,優選的技術方案是,所述步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值,具體包括:
獲取所述純凈語音的頻譜,基于所述純凈語音的頻譜計算出第一能量序列;所述第一能量序列包括所述純凈語音的頻譜各個采樣點的能量值;
獲取所述帶噪的訓練語音的頻譜,基于所述帶噪的訓練語音的頻譜計算出第二能量序列;所述第二能量序列包括所述帶噪的訓練語音的頻譜各個采樣點的能量值;
根據所述第二能量序列與所述第一能量序列確定出所述實際時頻掩蔽值。
在一個實施例中,為了能夠在壓縮模型后,保證其模型的降噪性能,優選的技術方案是,獲取所述第一增強語音的頻譜,基于所述第一增強語音的頻譜計算出第三能量序列;所述第三能量序列包括所述第一增強語音的頻譜各個采樣點的能量值;
獲取所述第二增強語音的頻譜,基于所述第二增強語音的頻譜計算出第四能量序列;所述第四能量序列包括所述第二增強語音的頻譜各個采樣點的能量值;
計算第三能量序列與所述第四能量序列中各個能量值之間的差值是否在預設閾值內,計算在所述預設閾值內的采樣點的占比;將所述占比作為所述第一增強語音與預設的第二增強語音之間的相似度。
本發明還提供一種基于數據增強的降噪模型壓縮裝置包括:
初始teacher模型獲取模塊,用于獲取基于大量模擬數據訓練出來的初始teacher模型;
第一語音獲取模塊,用于獲取帶噪的訓練語音,以及獲取所述帶噪的訓練語音對應的純凈語音;
teacher模型訓練模塊,用于基于所述帶噪的訓練語音和所述純凈語音,對所述初始teacher模型進行訓練,待所述初始teacher模型訓練收斂后作為teacher模型;
初始studen模型獲取模塊,用于獲取預設的初始student模型;
第二語音獲取模塊,還用于獲取實際采集的帶噪實際語音;
最終student模型獲取模塊,用于基于所述帶噪的訓練語音、純凈語音、teacher模型和所述實際采集的帶噪實際語音對所述student模型進行訓練,待所述student模型訓練收斂后作為最終student模型。
本實施例,著重于一種基于數據增強的降噪模型壓縮方法,第一步通過初始teacher模型獲取模塊獲取初始teacher模型(手動配置參數的大的降噪模型),首先壓縮前需要保證teacher模型的降噪性能,通過teacher模型訓練模塊采用訓練數據(即:帶噪的訓練語音)和對應于訓練數據的純凈語音(沒有噪聲的語音)輸入到語音降噪模型中進行訓練,待語音降噪模型收斂后得到最終teacher模型。其次,通過初始studen模型獲取模塊獲取預設的初始student模型(手動配置參數的小的降噪模型),student模型的參數量相對較少;因為實際應用場景中,不管是初始teacher模型還是最終teacher模型模型其參數較多,模型較大,應用不方便;通常采用student模型,減少模型的參數量,從而更易于應用;使裝載壓縮后的模型的終端的配置可以降低,進而減少終端的成本。最后通過最終student模型獲取模塊基于帶噪的訓練語音、最終teacher模型和所述實際采集的帶噪實際語音對所述初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型,采用最終teacher模型的預測值對student模型的訓練進行指導,在最終teacher模型訓練集的基礎上增加了原本無標簽的實際數據(通過最終teacher模型得到預測值),從而使得最終student模型在實際應用場景中的效果更好。同時經最終teacher模型的預測空間映射到最終student模型上,讓訓練任務更簡單,更容易收斂。
在一個實施例中,為了對最終student模型進行測試,基于數據增強的降噪模型壓縮裝置還包括:
測試模塊,用于獲取帶噪測試語音,基于所述帶噪測試語音對所述最終student模型進行測試;當測試不通過時重新生成所述最終student模型。
采用帶噪測試語音對最終student模型進行測試,當測試不通過時重新獲取所述初始teacher模型并訓練獲得所述最終teacher模型,重新獲取所述初始student模型并訓練獲得所述最終student模型,直至測試通過。通過測試保證壓縮后的模型的降噪性能。
在一個實施例中,為了能夠保證壓縮前的模型的降噪性能,所述teacher模型訓練模塊執行包括如下操作:
提取所述帶噪的訓練語音中的特征值作為第一特征值;
基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值;
將所述第一特征值輸入初始teacher模型中獲得第一時頻掩蔽值;計算出所述第一時頻掩蔽值和所述實際時頻掩蔽值之間的第一均方誤差;
將所述第一特征值、所述第一時頻掩蔽值和所述實際時頻掩蔽值作為訓練數據,所述第一均方誤差作為損失函數,對所述初始teacher模型進行訓練;
待所述初始teacher模型訓練收斂后作為最終teacher模型。
本申請的前置條件是在大量模擬數據基礎上得到了初始teacher模型。首先壓縮前要保證初始teacher模型的降噪性能,需要對初始teacher模型進行訓練;采用帶噪的訓練語音和對應的純凈語音對初始teacher模型進行訓練。
在一個實施例中,為了保證壓縮后的模型的降噪性能,所述最終student模型獲取模塊執行包括如下操作:
步驟s601:將所述第一特征值輸入所述最終teacher模型中,預測出第二時頻掩蔽值;
步驟s602:提取所述實際采集的帶噪實際語音的特征值作為第二特征值;
步驟s603:將所述第二特征值輸入所述最終teacher模型中,預測出第三時頻掩蔽值;
步驟s604:將所述第一特征值輸入所述初始teacher模型中,預測出第四時頻掩蔽值;計算所述第四時頻掩蔽值與所述第二時頻掩蔽值之間的第二均方誤差;
步驟s605:將所述第二特征值輸入所述初始student模型中,預測出第五時頻掩蔽值;計算出所述第五時頻掩蔽值和所述第三時頻掩蔽值之間的第三均方誤差;
步驟s606:將所述第一特征值和第二時頻掩蔽值、所述第二特征值和第三時頻掩蔽值作為訓練數據,將所述第二均方誤差和所述第三均方誤差作為損失函數,對初始student模型進行訓練,待所述初始student模型訓練收斂后作為最終student模型。
本實施例中,通過最終teacher模型對壓縮后的初始student模型進行指導訓練,保證student模型具有teacher模型的降噪性能的同時,降低參數量,使其應用范圍更廣。
在一個實施例中,為了對壓縮后的模型進行測試,測試模塊執行包括如下操作:
步驟s701:提取所述帶噪測試語音的特征值為第三特征值;
步驟s702:將所述第三特征值輸入所述最終student模型,預測出第六時頻掩蔽值;
步驟s703:獲取所述帶噪測試語音的頻譜,并將所述頻譜與所述第六時頻掩蔽值相乘后經過逆傅里葉變換即可得到增強后的第一增強語音;
步驟s704:計算所述第一增強語音與預設的第二增強語音之間的相似度,作為測試結果輸出;
步驟s705:當所述測試結果小于預設值時,重新獲取所述初始teacher模型并訓練獲得所述最終teacher模型,重新獲取所述初始student模型并訓練獲得所述最終student模型。
本實施例中,應用帶噪測試語音對最終student模型進行測試,當測試不通過時,重新生成最終student模型,直至測試通過。通過測試保證壓縮后的模型的降噪性能。
在一個實施例中,所述teacher模型訓練模塊執行所述步驟s302:基于所述純凈語音和所述帶噪的訓練語音計算出實際時頻掩蔽值,具體包括:
獲取所述純凈語音的頻譜,基于所述純凈語音的頻譜計算出第一能量序列;所述第一能量序列包括所述純凈語音的頻譜各個采樣點的能量值;
獲取所述帶噪的訓練語音的頻譜,基于所述帶噪的訓練語音的頻譜計算出第二能量序列;所述第二能量序列包括所述帶噪的訓練語音的頻譜各個采樣點的能量值;
根據所述第二能量序列與所述第一能量序列確定出所述實際時頻掩蔽值。
在一個實施例中,所述測試模塊執行所述步驟s603:計算所述語音與預設增強結果之間的相似度,作為測試結果輸出,具體包括:
獲取所述第一增強語音的頻譜,基于所述第一增強語音的頻譜計算出第三能量序列;所述第三能量序列包括所述第一增強語音的頻譜各個采樣點的能量值;
獲取所述第二增強語音的頻譜,基于所述第二增強語音的頻譜計算出第四能量序列;所述第四能量序列包括所述第二增強語音的頻譜各個采樣點的能量值;
計算第三能量序列與所述第四能量序列中各個能量值之間的差值是否在預設閾值內,計算在所述預設閾值內的采樣點的占比;將所述占比作為所述第一增強語音與預設的第二增強語音之間的相似度。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。