論文地址:深度噪聲抑制模型的效能優化
引用格式:Chee J, Braun S, Gopal V, et al. Performance optimizations on deep noise suppression models[J]. arXiv preprint arXiv:2110.04378, 2021.
摘要
我們研究了量級結構剪枝以加快深度噪聲抑制(DNS)模型的推理時間。儘管深度學習方法在提高音訊質量方面取得了顯著的成功,但它們增加的複雜性阻礙了它們在實時應用中的部署。我們在基線上實現了7.25倍的推理加速,同時平滑了模型的效能退化。消融研究表明,我們提出的網路再引數化(即每層尺寸)是加速的主要驅動因素,而量級結構剪枝與直接訓練較小尺寸的模型相比具有相當大的作用。我們報告推理速度,因為引數減少並不需要加速,並且我們使用精確的非侵入性客觀語音質量度量來度量模型質量。
關鍵詞:語音增強,降噪,實時,推理加速,結構化剪枝
1 引言
在壓縮深度學習方法方面已經做了很多工作,以便它們能夠在許多音訊增強應用的實時和硬體約束下有效地執行[1,2,3,4]。這種興趣源於這樣一個事實,即深度學習方法雖然通常提供卓越的音訊增強,但與經典訊號處理方法[1]相比,其計算複雜度更高。在實時應用程式中,計算複雜度成為主要約束。每個裝置的可用記憶體不同,但每次計算的可用時間不變。因此,我們在推理速度方面測量和展示我們的壓縮結果。計算記憶體或引數減少不是一個精確的代理-參見5.3節。
我們研究了結構化剪枝和微調的應用,以加速我們的基線CRUSE模型[1]。結構化剪枝的目的是尋找一個能很好地逼近原始網路的稠密子網路。這種型別的模型壓縮立即轉換為推理加速和降低儲存成本,因為我們執行的是密集和更小的矩陣乘法。此外,我們為CRUSE體系結構類提出了一種新的可伸縮的每層引數配置,以指定經過修剪的網路大小。
1.1 貢獻
使用 CRUSE [1] 架構,我們展示了比基線模型最高 7.25 倍的加速,模型質量平穩下降。 消融研究表明,所提出的網路引數配置實際上是成功的可擴充套件性的原因。 我們的結構化剪枝方法並不比直接訓練給定大小的模型更好。 結構化修剪的價值在於架構搜尋:發現哪些網路引數化可以以最小的模型退化降低模型複雜性。
2 相關工作
Tan 和 Wang [3, 4] 使用稀疏正則化、迭代修剪和基於聚類的量化來壓縮 DNN 語音增強模型。 然而,他們使用 STOI 和 PESQ [5] 來評估壓縮後的質量,這已被證明與主觀質量的相關性較低 [6, 7](這個,STOI相關度較低,但是PESQ相關度還是可以的,並且幾乎所有的語音增強論文都在使用PESQ,作者這裡直接否定我很反對)。 此外,沒有給出執行時基準來顯示實際改進,使用的噪聲抑制模型相對簡單且不是最先進的(這樣貶低別人的論文,也不會凸出你的論文有多優秀,不都是CNN和LSTM等一些神經元的組合嗎?再說你的模型也沒有跟人家的模型進行效能對比呀),訓練和測試集也很簡單。 因此,從這項研究中還不清楚,在一個更具挑戰性的測試集(如[7])上,什麼樣的優化在一個一流的噪聲抑制器上工作得很好。
Kim等人的[2]結合使用非結構化剪枝、量化和知識蒸餾來壓縮關鍵詞抽取模型。作者通過邊緣計算來推動他們的工作,但沒有提供任何複雜的測量來表明實際的改進。此外,沒有對任何其他壓縮方法進行比較。
2.1 深度噪聲抑制
Braun等人[1]開發了用於實時深度噪聲抑制的CRUSE類模型。它基於U-Net體系結構[8],另一種DNS實時模型。與早期主要基於遞迴神經網路的網路架構不同,CRUSE屬於卷積遞迴網路[8,12,13,14],後者的模型已達到效能飽和[9,10,11]。這些模型提高了效能,儘管計算成本限制了它們在消費裝置上的實時部署。我們研究了CRUSE模型的兩個版本,一個更復雜的模型稱為CRUSE32,另一個不那麼複雜的模型稱為CRUSE16。
2.2 模型壓縮
剪枝的目的是去除部分神經網路,同時保持其準確性。它既可以刪除稀疏矩陣(非結構化)[15]中的單個引數,也可以刪除諸如通道或神經元(結構化)[16]等引數組。神經網路的剪枝策略有很多,但在ImageNet[17]上,簡單的幅度剪枝已被證明比更復雜的方法更好。模型壓縮的其他方法包括量化、矩陣分解和知識蒸餾[18]。Frankle和Carbin[15]提出了彩票假設(Lottery Ticket Hypothesis):密集隨機初始化的神經網路包含稀疏的子網路(中獎彩票),這些子網路可以在相當epoch的內訓練到與原始網路相當的準確性。Liu等人[16]的工作將重點放在結構化修剪上,並給出了一個不同的資訊:微調修剪後的模型與直接以該大小訓練模型相當,甚至更差。
3 實驗方法
我們採用了兩種簡單但重要的實驗方法,可以更準確地評估現實場景中的效能。首先,我們在 ONNX 推理引擎 [19] 中提供執行時間結果。由於對背景噪聲抑制有嚴格的實時性要求,因此推理時間至關重要。減少的引數計數不一定會使推理時間更快。例如,我們在ONNX執行時測試了稀疏剪枝模型(見5.3節),沒有發現有意義的加速。測試結果在Intel Core i7-10610U CPU上進行。其次,使用INTERSPEECH 2021和ICASSP 2021 DNS挑戰測試集[7,20]評估模型質量。我們使用一種新的非侵入性客觀語音質量度量方法DNSMOS P.835[21](沒有開源,只有微軟公司和參加DNS挑戰賽的人能用),採用ITU-T P.835[22]標準,該標準為語音(SIG)、背景(BAK)和總體(OVLR)質量提供單獨的評分。DNSMOS P.835的語音皮爾遜相關係數為0.94,背景為0.98,總體與主觀質量相比為0.98,這為快速修剪提供了足夠的準確性。
4 通過修剪架構搜尋進行效能優化
我們的目標是提高CRUSE體系結構類的推理時間,同時保持最小的模型退化。我們研究的CRUSE體系結構由4對卷積編碼器和反摺積解碼器層組成,中央有一個並行的GRU層。該架構的完整細節可以在Braun等人的[1]中找到。因為DNS模型是在實時環境中操作的,所以我們將重點放在減少推理時間上。我們首先剖析CRUSE的推理時間,結果如表1所示。GRU操作主導了計算,所以我們將專注於壓縮它們。
表1:分析CRUSE32以識別推理加速的主要目標
結構化剪枝需要調整每一層引數的數量。我們的DNS模型可以由一個長度為4的向量$[c_1, c_2, c_3, c_4]$來引數化。由於編碼器-解碼器層對之間的跳過連線,CRUSE對於GRU中心層是對稱的。例如,$c_1$指定了第一卷積層的輸出通道和第二卷積層的輸入通道。$c_4$為最後一層卷積層的輸出通道和GRU層的隱藏狀態。表2指定了基準CRUSE32網路引數化,以及我們考慮的8個配置。
表2:CRUSE架構的結構化剪枝配置。模型記憶體是ONNX格式的。基準包括95%的置信區間。CRUSE{32,16}是Braun等人[1]的基線模型
我們開發了一個啟發式的框架來調整CRUSE架構的大小。首先,通過剪枝配置引數降低GRU層的尺寸。這相當於修改網路引數化中的$c_4$。例如,對於P.625配置,修剪引數是0.625。因此,我們改變$c_4 \leftarrow (1 - 0.625)*256 = 96$。注意,我們還必須改變最後一個卷積層的輸出通道。然後,我們加強所謂的“網路單調性”,$c_1 \leq c_2\leq c_3 \leq c_4$。這種單調性條件在神經網路結構設計中很常見,在神經網路中,通道數量通過網路增加[23,24]。回想一下,c3 = 128,因此$c_3 >c_4$。然後我們設定$c_3 \leftarrow c_4$來滿足這個條件。我們提出的配置方案可以應用於其他U-Net[8]風格的體系結構,因為它只需要一個對稱的編碼器-解碼器結構。
我們採用結構化幅度修剪來構建一個密集的子網路,其大小由我們的網路引數化指定。 考慮一個通用張量$W\in R^{d_1*...*d_p}$要構造一個降維$\hat{d}_i<d_i$的子張量$\hat{W}\in R^{d_1*...*d_{i-1}*\hat{d}_i*d_{i+1}*...*d_p}$,請選擇維數$i$中的一組座標,滿足:
$$\widehat{\mathcal{J}}=\underset{\left.\mathcal{J} \subseteq\left\{1, \ldots, d_{i}\right\}\right|^{\left|d_{i}\right|}}{\operatorname{argmax}} \sum_{j \in \mathcal{J}}\left\|W_{i}^{j}\right\|$$
其中,$W_i^j$表示維度$i$在座標$j$處索引的張量W。我們採用這種通用的結構化幅度裁剪方法來減少卷積層/反摺積的輸入或輸出通道數,以及GRU層的輸入維數和隱藏維數。我們修剪了我們的基線 CRUSE32 模型。 微調對於在修剪後恢復模型精度至關重要。 我們使用與訓練基線 CRUSE32 模型相同的優化超引數。
5 結果
圖1繪製了通過結構化幅度剪枝對錶 2 中指定的配置實現的加速,對比得到的訊號、背景和整體 DNSMOS P.835。 重要的是,結構化修剪在複雜性和模型質量之間實現了平滑的權衡。 這種權衡是相當平坦的。 我們可以降低複雜性而不會導致模型退化。 例如,與基線 CRUSE32 模型相比,記憶體減少 3.64 倍,推理速度提高 2.46 倍,只會導致整體 DNSMOS P.835 下降 0.01。 P.125 配置實現了比基線 CRUSE32 更高的 DNSMOS P.835,因為我們正在基線模型之上進行額外的再訓練。 在極端情況下,7.25 倍的推理加速會導致 0.2 的整體 DNSMOS P.835 退化。 總的來說,我們已經證明 CRUSE 類模型在以前認為站不住腳的複雜程度下是可行的。
圖1:通過結構化剪枝加速CRUSE類模型。DNSMOS P.835報告了2021年DNS挑戰測試集[7,20]。具有$R^2$值的二次多項式趨勢線
5.1 燒蝕研究
我們在壓縮 CRUSE 類模型時引入了兩個新變數:網路重新引數化和結構化幅度修剪方法本身。 CRUSE16 模型遵循之前的網路引數化 [1],但引數數量是 CRUSE32 的一半。 在表 2 中,我們看到 CRUSE16 在記憶體和基準速度方面位於 P.500 和 P.5625 修剪配置之間。 然而,圖 1 顯示 CRUSE16 的訊號較差,整體 DNSMOS P.835,BAK相同。 保持複雜性不變,我們在表 2 中的新網路引數化實現了卓越的音訊質量。
表 3 顯示了在給定配置中直接訓練模型的結果,使用與修剪模型相同的訓練 epoch 總數。 結果實際上無法區分,這表明結構化幅度修剪沒有提供任何附加值。 結構化修剪的微調過程的額外調整並沒有改善結果,見表 4。
表3:修剪與直接訓練一個配置
表 4:調整 LR 以進行結構化修剪微調。 (*)是選擇的超引數,用於微調,直接訓練,是原始的CRUSE32訓練引數
表5:DNSMOS P.835基線CRUSE32, CRUSE16模型
5.2 微調的價值
表6中報告了DNSMOS P.835經過結構化幅度修剪後,再經過微調後的結果。我們看到,微調是恢復模型質量的關鍵。MOS分數增加了大約1分,差距很大。表7報告了經過非結構化(稀疏)剪枝和微調後的DNSMOS P.835。值得注意的是,我們發現非結構化剪枝並沒有降低模型的質量。注意,Frac GRU 0.25非結構化設定不會修改任何卷積層,也不等同於P.250配置。隨後,微調恢復的機會就少了。
表 6:微調前後結構修剪後的 CRUSE32 模型的 DNSMOS P.835
表 7:微調前後非結構化(稀疏)剪枝 CRUSE32 模型的 DNSMOS P.835
5.3 稀疏性並不意味著推理加速
儘管表7中的結果很有希望,但通過稀疏性減少引數計數並不容易轉化為推理加速。表8給出了CRUSE32中GRU層稀疏幅度修剪的基準結果。GRU權重的一部分被設為零。時間不能用它們的置信區間來區分。這意味著ONNX執行時不提供從稀疏線性代數操作加速。為了從稀疏性實現加速,需要專門的稀疏推理支援。Neural Magic推理引擎[25]就是這樣一個選擇,但是在我們的實驗中,我們發現對RNN層的支援仍處於開發階段。
表 8:在 CRUSE32 中對 GRU 層進行非結構化(稀疏)幅度修剪的基準結果
6 結論
與基線 CRUSE32 模型相比,我們實現了高達 7.25 倍的推理加速。 我們的實驗表明,所提出的網路引數化(每層的大小)是我們加速結果的主要驅動因素,而不是結構化的幅度修剪。 這些結論支援Liu等人[16],因為結構化修剪的價值在於進行架構搜尋。此外,我們選擇的方法是測量推理速度,而不是使用引數計數作為代理,這揭示了從稀疏剪枝方法中實現實際收益的困難。我們提出的網路引數化只需要一個對稱的編碼器-解碼器結構,因此可以應用於其他 U-Net 風格的架構。
7 參考
[1] Sebastian Braun, Hannes Gamper, Chandan K.A. Reddy, and Ivan Tashev, Towards efficient models for real-time deep noise suppression, in ICASSP. IEEE, 2021.
[2] Jangho Kim, Simyung Chang, and Nojun Kwak, Pqk: Model compression via pruning, quantization, and knowledge distillation, INTERSPEECH, 2021.
[3] Ke Tan and DeLiang Wang, Compressing deep neural networks for efficient speech enhancement, in ICASSP. IEEE, 2021, pp. 8358 8362.
[4] Ke Tan and DeLiang Wang, Towards model compression for deep learning based speech enhancement, IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 29, pp. 1785 1794, 2021.
[5] ITU-T recommendation P.862: Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs, Feb 2001.
[6] Ross Cutler, Ando Saabas, Tanel Parnamaa, Markus Loide, Sten Sootla, Marju Purin, Hannes Gamper, Sebastian Braun, Karsten Sorensen, Robert Aichner, et al., INTERSPEECH 2021 acoustic echo cancellation challenge, in INTERSPEECH, 2021.
[7] Chandan KA Reddy, Harishchandra Dubey, Kazuhito Koishida, Arun Nair, Vishak Gopal, Ross Cutler, Sebastian Braun, Hannes Gamper, Robert Aichner, and Sriram Srinivasan, INTERSPEECH 2021 deep noise suppression challenge, in INTERSPEECH, 2021.
[8] D.Wang and K Tan, A convolutional recurrent neural network for real-time speech enhancement, in INTERSPEECH, 2018.
[9] F.Weninger, H. Erdogan, S.Watanabe, E. Vincent, J. Le Roux, J. R. Hershey, and B. Schuller, Speech enhancement with lstm recurrent neural networks and its applications to noise-robust asr, in Proc. Latent Variable Analysis and Signal Separation, 2015.
[10] D. S. Williamson and D. Wang, Time-frequency masking in the complex domain for speech dereverberation and denoising, in IEEE/ACM Trans. Audio, Speech, Lang. Process, 2017.
[11] R. Xia, S. Braun, C. Reddy, H. Dubey, R. Cutler, and I. Tashev, Weighted speech distortion losses for neural-network-based real-time speech enhancement, in ICASSP, 2020.
[12] M. Strake, B. Defraene, K. Fluyt, W. Tirry, and T. Fingschedit, Separate noise suppression and speech restoration: Lstmbased speech enhancement in two stages, in WASPAA, 2019.
[13] G. Wichern and A. Lukin, Low-latency approximation of bidirectional recurrent networks for speech denoising, in WASPAA, 2017.
[14] S Wisdom, J. R. Hershey, R. Wilsom, J. Thorpe, M. Chinen, B. Patton, and R. A. Saurous, Differentiable consistency constraints for improved deep speech enhancement, in ICASSP, 2019.
[15] Jonathan Frankle and Michael Carbin, The lottery ticket hypothesis: Finding sparse, trainable neural networks, International Conference on Learning Representations, 2019.
[16] Zhuang Liu, Mingjie Sun, Tinghui Zhou, Gao Huang, and Trevor Darrell, Rethinking the value of network pruning, International Conference on Learning Representations, 2019.
[17] Trevor Gale, Erich Elsen, and Sara Hooker, The state of sparsity in deep neural networks, arXiv preprint arXiv:1902.09574, 2019.
[18] Rahul Mishra, Prabhat Hari Gupta, and Tanima Dutta, A survey on deep neural network compression: challenges, overview, and solutions, arXiv preprint arXiv:2010.03954, 2021.
[19] ONNX Runtime developers, Onnx runtime, https://www. onnxruntime. ai, 2021.
[20] Chandan KA Reddy, Harishchandra Dubey, Vishak Gopal, Ross Cutler, Sebastian Braun, Hannes Gamper, Robert Aichner, and Sriram Srinivasan, ICASSP 2021 deep noise suppression challenge, ICASSP, 2021.
[21] Chandan Reddy, Vishak Gopal, and Ross Cutler, DNSMOS P.835: A non-intrusive perceptual objective speech quality metric to evaluate noise suppressors, arXiv preprint arXiv:2101.11665, 2021.
[22] Babak Naderi and Ross Cutler, Subjective evaluation of noise suppression algorithms in crowdsourcing, in INTERSPEECH, 2021.
[23] Karen Simonyan and Andrew Zisserman, Very deep convolutional networks for large-scale image recognition, in International Conference on Learning Representations, 2015.
[24] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun, Deep residual learning for image recognition, in CVPR, 2016.
[25] Mark Kurtz, Justin Kopinsky, Rati Gelashvili, Alexander Matveev, John Carr, Michael Goin, William Leiserson, Sage Moore, Bill Nell, Nir Shavit, and Dan Alistarh, Inducing and exploiting activation sparsity for fast inference on deep neural networks, in ICML, Hal Daum e III and Aarti Singh, Eds. , Virtual, 13 18 Jul 2020, vol. 119 of Proceedings of Machine Learning Research, pp. 5533 5543, PMLR.