論文翻譯:2021_Towards model compression for deep learning based speech enhancement

凌逆戰發表於2022-04-08

論文地址:面向基於深度學習的語音增強模型壓縮

論文程式碼:沒開源,鼓勵大家去向作者要呀,作者是中國人,在語音增強領域 深耕多年

引用格式:Tan K, Wang D L. Towards model compression for deep learning based speech enhancement[J]. IEEE/ACM transactions on audio, speech, and language processing, 2021, 29: 1785-1794.

摘要

  在過去的十年裡,深度神經網路(DNNs)的使用極大地提高了語音增強的效能。然而,要實現較強的增強效能通常需要較大的DNN,而DNN既消耗記憶體又消耗計算量,這使得這種語音增強系統很難部署在硬體資源有限的裝置或延遲要求嚴格的應用程式上。在本研究中,我們提出了兩個壓縮方法來減小基於DNN的語音增強模型的size,其中包含了三種不同的技術:稀疏正則化、迭代剪枝和基於聚類的量化。我們系統地研究了這些技術,並評估了建議的壓縮方法。實驗結果表明,我們的方法在不顯著犧牲增強效能的前提下,大大減小了四個不同模型的尺寸。此外,我們發現所提出的方法對說話人分離有很好的效果,進一步證明了該方法對語音分離模型壓縮的有效性。

關鍵字:模型壓縮,稀疏正則化,剪枝,量化,語音增強

1  引言

  語音增強的目的是將目標語音從背景噪聲中分離出來。受計算聽覺場景分析中時頻(T-F)掩蔽概念的啟發,語音增強被表述為有監督學習[45],[46]。在過去的十年裡,許多資料驅動的演算法已經被開發出來解決這個問題,其中訊號中的鑑別模式是從訓練資料中學習的。深度學習的迅速發展極大地促進了有監督語音增強。自從深度學習成為研究界語音增強的主要方法以來,人們對在現實世界的應用和產品(如耳機)中部署基於DNN的增強系統越來越感興趣。然而,由於DNN[1]、[5]具有可識別的過引數化特性,要獲得滿意的增強效能,需要較大的DNN,這既需要計算量,又需要佔用記憶體。這類DNN很難部署在對延遲敏感的應用程式或資源有限的裝置上。因此,如何在語音增強中減少記憶體和計算量成為一個日益重要的問題。

  深度學習社群開發了各種模型壓縮技術,大致可以分為以下幾類[4]。

  • 網路剪枝:旨在減少了可訓練引數的數量。它根據一定的準則[34]來選擇和刪除最不重要的權值集。兩項開創性工作是最優腦損傷[23]和最優腦外科醫生[12],它們利用損失函式的hessian矩陣來確定每個權重的重要性(即權重顯著性)。剔除顯著性最小的權重,對剩餘權重進行微調,以恢復丟失的精度。
  • 張量分解:它通過基於權重張量的低秩將一個大的權重張量分解為多個較小的張量來減少冗餘。
  • 知識蒸餾:將知識從一個預先訓練好的大模型轉移到一個相對較小的模型,稱為知識蒸餾[15]。大DNN產生的軟目標用於指導小DNN的訓練。該方法在影像分類[36]和語音識別[2],[27]等分類任務中被證明是有效的。
  • 輕量化模型設計:通過設計引數更高效的網路結構[16],[17],[52]來降低DNN的推理成本。
  • 網路量化:它減少權值、啟用或兩者的位寬。一種簡單的方法是用全精度訓練DNN,然後直接量化學習到的權值,結果表明,對於相對較小的DNN[18],[22],這將顯著降低精度。為了彌補準確性的損失,在[18]中開發了量化感知訓練,在訓練過程中引入了模擬量化效應。對訓練好的權值[3],[10],[11],[19]進行聚類,實現權值量化。

  在過去的幾年裡,越來越多的研究致力於提高DNN用於語音增強的推理效率。在[25]中,開發了整數加法器DNN,使用整數加法器實現浮點乘法。評估結果表明,整數加法器DNN與具有相同結構的全精度DNN的語音質量相當,但在計算和記憶體方面更高效。Ye等人[50]迭代地修剪DNN用於語音增強,其中權值的重要性是通過簡單地將權值的絕對值與預定義閾值進行比較來確定的。實驗結果表明,他們的修剪方法可以將前饋DNN壓縮約2倍,且不會降低主觀可理解性的增強效能。在[49]中,Wu等人使用修剪和量化技術壓縮全卷積神經網路(FCN),用於時域語音增強。他們的結果表明,這些技術可以顯著減小FCN的大小而不降低效能。最近,Fedorov等人的[6]進行了剪枝和整數量化來壓縮遞迴神經網路(RNN)以增強語音,這可以將RNN的大小降低到37%,同時尺度不變訊雜比(SI-SNR)降低了0.2 dB。

  儘管DNN壓縮技術在影像處理等其他領域得到了廣泛的發展和研究,但這些技術大多隻在分類任務上進行了評估。由於基於DNN的語音增強通常被視為迴歸任務,對於語音增強,特定的壓縮技術是否有效以及如何結合不同的技術來實現高壓縮率仍不清楚。此外,由於語音增強模型的多樣性和快速發展,需要一個通用的壓縮管道(pipelines)。考慮到這些因素,我們最近開發了兩個用於基於DNN的語音增強的初步模型壓縮管道[41]。壓縮管道包括稀疏正則化、迭代剪枝和基於聚類的量化。稀疏正則化通過DNN訓練增加了權值張量的稀疏性,從而在不顯著犧牲增強效能的情況下獲得更高的剪枝率。我們交替迭代地訓練和修剪DNN,然後對剩餘的權值進行基於k-means聚類的量化。我們基於單張量靈敏度分析進行剪枝和量化,當權值分佈在張量之間變化很大時,這將有利於剪枝率和位寬(bitwidths)的選擇。在[41]的基礎上,本研究進一步考察了每種技術及其組合對不同型別語音增強模型的影響,並進一步研究了說話人分離模型的壓縮管道。具體來說,我們評估了不同設計的語音增強模型的壓縮管道,包括DNN型別、訓練目標和處理域。評估結果表明,所提出的方法大大減小了所有這些模型的尺寸,而沒有顯著的效能下降。此外,我們發現我們的方法在兩種具有代表性的說話者獨立的說話者分離模型上都有很好的效果。

  本文的其餘部分組織如下。在第二節中,我們將詳細描述我們建議的方法。在第三節中,我們提供了實驗設定。第四節給出了實驗結果並進行了分析。第五節總結了本文的內容。

2  演算法描述

A  基於DNN的語音增強

  在本研究中,我們專注於DNN壓縮用於單耳語音增強,儘管我們的方法有望應用於多通道語音增強的DNN。給定一個單通道混合通道$y$,單耳語音增強的目標是估計目標語音$s$。混合通道可以被建模為:

$$公式1:y=s+v$$

式中$v$為背景噪聲。因此基於DNN的增強可以表述為:

$$公式2:z=F_1(y)$$

$$公式3:\hat{x}=H(z;\Theta )$$

$$公式4:\hat{s}=F_2(\hat{x},y)$$

式中,$F_1$和$F_2$表示變換,$H$表示DNN表示的非線性對映函式。對於T-F域增強,$F_1$和$F_2$可以分別進行短時傅立葉變換和波形合成。對於時域增強,$F_1$和$F_2$可以分別進行分割和疊加。符號$\Theta$表示DNN中所有可訓練引數的集合,表示估計的語音訊號。符號$z$和$\hat{x}$分別表示DNN的輸入和輸出。訓練引數$\Theta$使損失函式$L(x,\hat{x})=L(x,H(F_1(y);\Theta))$,其中$x$為訓練目標。

B  迭代非結構化和結構化剪枝

  一個典型的網路剪枝過程包括三個階段:

  1. 訓練一個獲得滿意效能的大DNN,
  2. 按照一定的準則去除被訓練DNN中的一組特定的權值,
  3. 對修剪後的DNN進行微調。

  我們可以將去除的權值視為零,因此剪枝可以得到稀疏的權值張量。張量稀疏的粒度影響硬體體系結構的效率。細粒度稀疏性是一種稀疏性模式,其中每個權重設定為0[23]。這種稀疏模式通常是不規則的,這使得很難應用硬體加速[30]。這個問題可以通過施加粗粒度的稀疏性來緩解,這種稀疏性的模式更加規則。我們研究了非結構化和結構化的剪枝。其中,非結構化剪枝是將每個單獨的權重單獨去除,而結構化剪枝是權重的分組,如圖1所示。例如,可以刪除權重矩陣的整個列或行。

圖1所示。非結構化和結構化修剪的說明,白色表示修剪後的權重,藍色表示剩餘的權重

  為了進行結構化剪枝,我們將剪枝粒度定義如下:對於卷積/反摺積層,我們將每個核作為一個權重組進行修剪。其中,對於二維卷積/反摺積層,每個權值組為一個矩陣,對於一維卷積/反摺積層,每個權值組為一個向量對於迴圈層和全連通層,每個權值張量都是一個矩陣,其中的每一列都作為權值組進行剪枝。例如,LSTM (long short-term memory)層有8個權重矩陣,其中4個是輸入層,其餘的是最後一個時間步的隱藏狀態,對應4個門(input, forget, cell, output)。在LSTM的實現中,四個門的每一組權重矩陣通常是串聯起來的,相當於兩個更大的矩陣。我們將這些矩陣的每一列作為權重組進行剪枝。這種剪枝粒度將導致較高的壓縮比,併產生比細粒度稀疏[30]更硬體友好的粗粒度稀疏。請注意,我們沒有刪除偏置項,因為偏置項的數量相對於權重的數量來說很小。

  網路剪枝的關鍵問題是確定剪枝準則,確定要刪除的權值集合。為了進行非結構化剪枝我們將特定的權值集合$U$的顯著性定義為刪除它們所引起的誤差的增加。具體來說,權重顯著性是使用驗證集$V$來測量的:

$$公式5:\mathcal{I}_{\mathcal{U}}=\mathcal{L}(\mathcal{V}, \Theta \mid w=0, \forall w \in \mathcal{U})-\mathcal{L}(\mathcal{V}, \Theta)$$

  與[6],[49],[50]不同的是,我們按照演算法1對所有權值張量進行了逐張量剪枝靈敏度分析,以確定其剪枝率。然後,根據張量剪枝率進行非結構化剪枝。然後對修剪後的DNN進行微調以恢復增強效能。我們通過短時客觀可解性(STOI)[39]和語音質量感知評價(PESQ)[35]兩個度量來評估 經過微調的DNN在驗證集上的效能。這種修剪和微調操作是迭代交替執行的。我們重複這個過程,直到經過修剪的權值的數量在一次迭代中變得微不足道,或者在驗證集中觀察到STOI或PESQ的顯著下降。注意,修剪和微調都是在整個網路上執行的。

  對於結構化修剪,權值組顯著性測量為:

$$公式6:\mathcal{I}_{\mathcal{U}}=\mathcal{L}(\mathcal{V}, \Theta \mid \mathbf{g}=0, \forall \mathrm{g} \in \mathcal{U})-\mathcal{L}(\mathcal{V}, \Theta)$$

其中$U$表示權重組的集合。同樣,我們在演算法2之後進行敏感性分析。然後對多個迭代執行結構化剪枝和微調。請注意,每次修剪迭代後,引數集$\Theta $的大小都會減小。

  我們的方法在兩個方面是有益的。首先,現有的一些修剪方法(如[50])使用一個共同的閾值來區分整個DNN的所有層中不重要的權重。這可以極大地限制對冗餘的層進行修剪,或者過度修剪冗餘的層,特別是在各層的重要性顯著不同的情況下。我們的敏感性分析可以緩解這樣的問題。其次,我們迭代地進行剪枝和微調,並在每次迭代的語音增強度量(STOI和PESQ)上評估得到的模型。這可以大大降低過度剪枝的風險和相應的不可恢復的效能退化,即使權值的重要性與其大小[31]沒有很強的相關性。

  在非結構化和結構化剪枝之間的選擇取決於底層裝置是否可以訪問硬體加速。具體來說,當無法加速時,使用非結構化剪枝會更好,因為在增強效能沒有顯著下降的約束下,它通常允許比結構化剪枝更高的壓縮率。對於帶有加速器的裝置,結構剪枝是更好的選擇。

C  稀疏正則化

  為了在不降低效能的情況下提高剪枝率,我們提出在訓練和微調過程中使用稀疏正則化。施加權重級稀疏性的一種主要方法是$l_1$正則化,它懲罰訓練過程中權重絕對值的總和。具體來說,$l_1$正則化鼓勵不太重要的權值變為零,從而減少了效能的下降。因此,在我們的修剪準則下,可以得到更高的修剪率。$l_1$正則化器可以寫成:

$$公式7:\mathcal{R}_{\ell_{1}}=\frac{\lambda_{1}}{n(\mathcal{W})} \sum_{w \in \mathcal{W}}|w|$$

其中$W$為所有非零權值的集合,$\lambda_1$為預定義的權值因子。函式$n(·)$計算集合的基數。因此,新的損失函式為$L_{l_1}=L+R_{l_1}$。

  Group-level 稀疏性可以由 group lasso 懲罰引起[7]:

$$公式8:\mathcal{R}_{\ell_{2,1}}=\frac{\lambda_{2}}{n(\mathcal{G})} \sum_{\mathbf{g} \in \mathcal{G}} \sqrt{p_{\mathbf{g}}}\|\mathbf{g}\|_{2}$$

式中,$\mathcal{G}$為所有權重組的集合,$||·||_2$為$l_2$範數。符號$p_g$表示每個權重群$g$中的權重個數,$\lambda_2$為權重因子。在這種懲罰下,一組中的所有權重同時被鼓勵為零或不為零。

  一個擴充套件版本:稀疏組lasso (sparse group lasso,SGL),它通過加入$l_1$正則化[37],[38]進一步增強了非稀疏組的稀疏性:

$$公式9:\begin{aligned}
\mathcal{R}_{\mathrm{SGL}} &=\mathcal{R}_{\ell_{1}}+\mathcal{R}_{\ell_{2,1}} \\
&=\frac{\lambda_{1}}{n(\mathcal{W})} \sum_{w \in \mathcal{W}}|w|+\frac{\lambda_{2}}{n(\mathcal{G})} \sum_{\mathbf{g} \in \mathcal{G}} \sqrt{p_{\mathbf{g}}}\|\mathbf{g}\|_{2}
\end{aligned}$$

對應的損失函式為$L_{SGL}=L+R_{SGL}$。根據不同的剪枝粒度,非結構化剪枝採用L1,結構化剪枝採用$L_{SGL}$

D  基於聚類的量化

  為了進一步壓縮經過修剪的DNN,我們提出使用基於聚類的量化[10],[11]。具體來說,將每個張量的權值劃分為K個簇$S_1$、$S_2$、…, $S_K$通過k-means聚類:

$$公式10:\underset{S_{1}, S_{2}, \ldots, S_{K}}{\arg \min } \sum_{k=1}^{K} \sum_{w \in S_{k}}\left|w-\mu_{k}\right|^{2}$$

在[11]之後,在進行k-means聚類之前,我們先用均勻間隔在$[w_{min}, w_{max}]$區間內的$K$值初始化聚類中心,其中$w_{min}$和$w_{max}$分別代表權重張量的最小值和最大值。一旦聚類演算法收斂,我們將屬於同一聚類的所有權值重置為相應質心的值。因此,原始的權值由這些星團中心近似表示。這種權重共享機制大大減少了需要儲存的有效權重值的數量。每個權重可以表示為一個聚類指數。請注意,只有非零權值才受聚類和權值共享的約束。

圖2:基於聚類的量化說明

  我們建立了一個程式碼本來儲存每個權值張量的群集重心值,其中每個非零權值被繫結到相應的群集索引上。在推理過程中,將在碼本中查詢每個權重的值。圖2說明了基於聚類的量化。具體來說,我們將每個權值量化為$log_2K$ bit。換句話說,它需要$log_2K$ bits來儲存相應的叢集索引。假設最初的權值是32位浮點數,為了儲存程式碼本需要額外的32K bits。因此,量化的壓縮率計算為:

$$公式11:r=\frac{32 N}{N \log _{2} K+32 K}$$

其中N表示張量中非零權值的個數。

  量化技術中一個常見的問題是如何保持DNN的效能。對於基於聚類的量化,選擇一個合適的K值是實現這一目標的關鍵。鑑於權值張量之間非零權值的數量可能會有很大的差異,我們建議在演算法3之後對量化進行逐張量靈敏度分析。其思想是逐步增加每個權值張量的聚類數量,並度量相應的驗證損失增加。靈敏度分析的結果用於量化每個權值張量中的權值。與[11]中對所有權值張量使用相同數量的簇不同,我們的方法允許使用不同的位元數量化每個張量,這可能導致更高的壓縮率。

  因此,結合稀疏正則化、迭代剪枝和基於聚類的量化,我們可以得到兩個壓縮管道,如圖3所示。在圖3(a)所示的壓縮管道中,我們應用$l_1$正則化和非結構化剪枝。在另一個管道(見圖3(b))中,我們應用了群稀疏正則化(見式(9))和結構化剪

枝。

圖3:壓縮管道的圖示

3  實驗步驟

A  資料處理

  在實驗中,我們使用WSJ0資料集[8]作為訓練集進行評價,該訓練集包含101個說話人的12 776個話語。這些講者被分為三組,分別為89人、6人和6人進行培訓、驗證和測試。更具體地說,驗證和測試的說話者群體包括3名男性和3名女性。我們使用來自聲音效果庫1的10000個噪音進行訓練,使用來自NOISEX-92資料集[43]的工廠噪音進行驗證。為了建立測試集,我們使用兩個高度非平穩噪聲,即babble (BAB)和自助餐廳(CAF),從一個Auditec CD。

  我們的訓練集包括32萬種混合物,總持續時間約為600小時。為了建立一個訓練混合物,我們將一個隨機取樣的訓練聲音與從10000個訓練噪聲中隨機提取的片段混合起來。訊雜比(SNR)在-5和0 dB之間隨機取樣。按照相同的步驟,我們建立一個由846種混合物組成的驗證集。一個包含846個混合混合的測試集被建立為兩個噪音和三個訊雜比,即-5,0和5 dB。

  在這項研究中,所有的訊號都是在16khz取樣。每個噪聲混合被一個因子縮放,使混合波形的均方根為1。我們使用相同的因子來縮放相應的目標語音波形。利用20毫秒的漢明視窗產生一組時間幀,相鄰幀之間有50%的重疊。我們對每一幀應用320點(16 kHz 20 ms)離散傅立葉變換,產生161維單邊光譜。

B  語音增強模型

   為了系統地研究所提出的模型壓縮管道,我們使用以下四個模型進行單耳語音增強,它們有不同的設計,包括DNN型別、訓練目標和處理域。

1)前饋DNN:第一個模型是前饋ddn (FDNN),它有三個隱藏層,每層2048個單元。我們使用理想的比例掩模[48]作為訓練目標:

$$公式12:\operatorname{IRM}(m, f)=\sqrt{\frac{|S(m, f)|^{2}}{|S(m, f)|^{2}+|N(m, f)|^{2}}}$$

其中,$|S(m, f)|^2$和$|N(m, f)|^2$分別表示時間幀$m$和頻率bin $f$時T-F單元內的語音能量和噪聲能量。頻譜(magnitude)用作FDNN輸入。

2) Lstm:第二種是遞迴Lstm模型,在幅度域進行光譜對映。它有4個LSTM隱藏層,每層1024個單元,輸出層為全連線層,後接整流線性啟用函式[9]。

3)Temporal Convolutional Neural Network:第三個模型是在最近的研究[32]中開發的時域卷積神經網路(TCNN)。tcnnis是一種全卷積神經網路,它可以在時域直接從有噪聲的語音對映到乾淨的語音。

4)Gated Convolutional Recurrent Network:第四個是新開發的門控摺積迴圈網路(GCRN)[40]。GCRN有一個編碼器-解碼器架構,它包含了卷積層和迴圈層。訓練該演算法進行復雜的頻譜對映,從噪聲語音的真實譜圖和虛譜圖中估計出純淨語音的真實譜圖和虛譜圖。

  對於TCNN和GCRN,我們在[32]和[40]中使用相同的網路超引數。請注意,這四個DNN都是因果關係。根據壓縮DNN的需要,我們選擇因果DNN以避免不可接受的延遲。

C  訓練細節和敏感性分析配置

  我們使用AMSGrad優化器[33]在4秒的片段上訓練模型,小批量尺寸為16。學習速率初始化為0.001,每兩個時代衰減98%。目標函式為均方誤差,即T-F單位(對於FDNN、LSTM和GCRN)或時間樣本(對於TCNN)的平均值。我們使用驗證集來選擇不同時期的最佳模型,並對剪枝和量化進行靈敏度分析。

  對於非結構化剪枝,FDNN、LSTM、TCNN和GCRN的λ1的初始值(見式(7))經驗設定為0.1、10、0.02和1。對於結構修剪,採用相同的λ1初始值,FDNN、LSTM、TCNN和GCRN的$\lambda_2$初始值(見式(9))分別設為0.0005、0.005、0.02和0.05。在這些值下,$R_{l_1}$和$R_{l_{2,1}}$的數量級幾乎相同,且比l小一個數量級。$\lambda_1$和$\lambda_2$在每次修剪迭代時均衰減10%。敏感性分析(見演算法1、2和3)的耐受值($\alpha_1$、$\alpha_2$)經驗設定為FDNN、LSTM、TCNN和GCRN的分別為(0.003、0.0005)、(0.03、0.01)、(0.0002、0.00 005)和(0.02、0.005)。

4  實驗結果及分析

A  壓縮管道的評估

  未壓縮模型與壓縮模型的綜合比較如表1所示。下標U為未壓縮模型,C1和C2為我們提出的壓縮管道壓縮模型,分別如圖3(a)和3(b)所示。STOI和PESQ分數代表每個測試條件下測試示例的平均值。我們觀察到,在STOI和PESQ方面,建議的壓縮管道對所有四種模型的效能都有輕微或沒有影響。以LSTM模型為例。兩個管道將LSTM模型尺寸從115.27 MB壓縮到2.49 MB和9.97 MB,壓縮率分別為46x和12x。注意,對於這三個訊雜比,$LSTM_{C_1}$和$LSTM_{C_2}$都產生與$LSTM_U$相似的STOI和PESQ。

表1:比較未壓縮和壓縮模型

  在城市公園(NPARK)、地鐵站(PSTATION)、會議室(OMEETING)和城市廣場(SPSQUARE)四個不同的環境中記錄了這四種噪音。表2中的STOI和PESQ分數代表了四種噪聲的平均值。我們可以看到,我們的方法導致輕微或沒有退化的模型效能在這些噪聲。

表2:在四種附加噪聲下,由未壓縮和壓縮模型產生的平均stoi和pesq結果

  此外,從表I可以看出,對於FDNN、LSTM和GCRN, $C_1$比$C_2$具有更高的壓縮率。這可能是因為非結構化剪枝比結構化剪枝使用更小的剪枝粒度,這允許更少的規則稀疏模式和更高的權值張量稀疏。因此,非結構化剪枝比結構化剪枝約束更少,通常導致更高的剪枝率。對於TCNN來說,這兩條管道的壓縮率相似。一種解釋是,對於全卷積神經網路,結構化剪枝可以實現與非結構化剪枝相似的壓縮比,與[30]一致。

   表3給出了未壓縮和壓縮模型處理4秒噪聲混合時的乘法累加(MAC)操作的數量。我們可以觀察到,我們的方法顯著地減少了所有四個模型的MAC操作的數量,表明計算複雜度也降低了提出的壓縮管道。

表3:未壓縮和壓縮模型處理4秒噪聲混合物的MAC運算元。“Percent”表示MAC操作原始次數的百分比

B  稀疏正則化和迭代剪枝的效果

  我們現在研究稀疏正則化和迭代剪枝的效果。圖4給出了有無l1正則化(見式(7))時,用於非結構化剪枝的原始可訓練引數數量的百分比。如圖4所示,通過迭代剪枝對模型進行增量壓縮。例如,在不進行稀疏正則化的情況下,經過一次修剪迭代後,TCNN原始可訓練引數數量的百分比降至55%,經過5次修剪迭代後降至30%。

圖4所示。在不同的剪枝迭代中,原始可訓練引數數目的百分比。

(a).不帶;(b).帶稀疏正則化。注意,執行的是非結構化剪枝。

  此外,可以觀察到,稀疏正則化的使用導致所有四個模型的壓縮率更高。 例如,通過對 GCRN 進行 5 次迭代,通過應用 l1 正則化,可以將壓縮率從 2.9× 提高到 5.1×。 -5 dB SNR 的相應 STOI 和 PESQ 結果如圖 5 所示,這表明我們提出的剪枝方法不會顯著降低增強效能。 為了進一步研究稀疏正則化對剪枝的影響,我們在圖 6 中顯示了 FDNN 中不同層的剪枝率在一次剪枝迭代後。我們可以看到稀疏正則化增加了所有 FDNN 層的剪枝率。 結構化修剪的這些誘導增加明顯大於非結構化修剪,這進一步證明了組稀疏正則化對結構化修剪的有效性。

圖5所示。在不同的剪枝迭代下- 5db訊雜比的STOI和PESQ評分。(a)和(c)。沒有,和(b)和(d)。與稀疏正則化。注意,執行的是非結構化剪枝

 圖6所示。一次剪枝迭代後FDNN中不同層的剪枝率。非結構化剪枝採用$l_1$正則化,結構化剪枝採用群稀疏正則化

  我們還訓練了四個相對較小的DNNs,即FDNNS、LSTMS、TCNNS和GCRNS。它們都具有與第三- b節中描述的FDNN、LSTM、TCNN和GCRN相同的結構,只是減少了層寬或網路深度。其中,FDNNS和LSTMS各隱層單元數分別重置為200個和320個。對於TCNNS,每個殘塊的中間層輸出通道數從512減少到256,擴張塊數從3減少到2。對於GCRNS,編碼器中的第四和第五門控塊的輸出通道數分別重置為64和128。每個解碼器中的第一門控塊中的輸出通道數從128減少到64。我們對FDNNS、LSTMS、TCNN和GCRNS分別進行了5次、5次、3次和5次的剪枝,使其與原始FDNN、LSTM、TCNN和GCRN的模型大小相當。我們將這些剪枝模型分別表示為FDNNP、LSTMP、TCNNP和GCRNP。表4比較了這些模型產生的STOI和PESQ結果。我們發現FDNNP、LSTMP、TCNNP和GCRNP產生的STOI和PESQ顯著高於FDNNS、LSTMS、TCNNS和GCRNS。這說明訓練和修剪一個大的冗餘DNN比直接訓練一個較小的DNN的優勢,與[13],[24],[28],[51]一致。

表4  比較修剪模型和比較大小的未修剪模型

  現在,我們將我們提出的基於單張量敏感性分析的剪枝方法,與一種使用共同閾值來確定DNN中所有權重張量的權值進行剪枝的方法進行比較。這樣的策略被採用在許多現有的方法(如[50])。具體來說,我們比較了由兩個不同修剪後的gcrn產生的STOI和PESQ分數。其中一個基於演算法1(記為GCRNP1)的結果進行非結構剪枝。另一個(標記為GCRNP2)通過刪除絕對值小於閾值的權值來進行修剪,這對所有權值張量都是一樣的。這個閾值是經過仔細選擇的,以便GCRNP2具有與GCRNP1完全相同的壓縮率。這兩個gcrn只在一次迭代中進行修剪,然後進行微調。我們使用不同的公差α1值(0.02,0.04,0.08,0.16和0.32)來得到不同的壓縮率。STOI和PESQ結果如圖7所示,它們表明我們提出的方法產生了更高的STOI和PESQ。這證明了逐張量靈敏度分析比使用公共剪枝閾值的替代方法的優勢。

圖7  本文提出的剪枝方法與一種對所有權值張量使用公共剪枝閾值的方法的比較

C  基於聚類的量化效應

  為了研究基於聚類的量化效果,我們將原始未壓縮模型的權值直接量化(不進行剪枝),即四個量化模型,即FDNNQ、LSTMQ、TCNNQ和GCRNQ。未壓縮模型和量化模型的對比如表5所示。可以看出,我們提出的量化方法在不降低增強效能的前提下,大幅減小了模型的尺寸。例如,在三種訊雜比下,LSTMU和LSTMQ產生的STOI和PESQ得分的差異分別小於0.2%和0.01。通過基於聚類的量化,將LSTM模型從115.27 MB壓縮到21.42 MB,壓縮率為5。

表5:未壓縮和量化模型的比較

D  語音分離評估

  本節評估提議的壓縮管道在多說話者揚聲器分離。具體來說,我們選擇Tas- Net[29]和一個基於話語級置換不變訓練(uPIT)[21]的LSTM模型作為說話者獨立分離的代表方法來應用我們的壓縮。我們對TasNet和uPIT-LSTM分別使用與[29]和[21]中相同的因果網路配置。模型在廣泛使用的WSJ0-2mix資料集[8]、[14]上進行評估,該資料集在訓練集、驗證集和測試集中分別包含20000個、5000個和3000個混合集。取樣頻率設定為8khz,如[21]和[29]。在[26]之後,我們使用擴充套件短時間客觀可解度(ESTOI)[20]、PESQ、SI-SNR[29]和訊號失真比(SDR)[44]來測量揚聲器分離效能。其他配置與第三- c節相同。

  根據四個指標,說話人分離的結果見表六。我們可以看到,我們提出的方法在保持分離效能的同時顯著壓縮了兩個模型。例如,管道C1將LSTM模型從250.46 MB壓縮到2.50 MB,而不減少四個效能指標中的任何一個。這進一步證明了我們的方法對語音分離模型的有效性。此外,對於uPIT-LSTM, C1管道比C2管道的壓縮率更高,而對於全卷積神經網路TasNet,這兩個管道的壓縮率相當。這與我們對壓縮語音增強模型的發現是一致的(見IV-A節)。

5  結論

  在本研究中,我們提出了兩個新的管道壓縮DNN語音增強。提出的管道包括三種不同的技術:稀疏正則化、迭代剪枝和基於聚類的量化。我們在不同型別的語音增強模型上系統地研究了這些技術。我們的實驗結果表明,所提出的管道大大減小了四個不同的DNN用於語音增強的尺寸,而沒有顯著的效能退化。此外,對於全卷積神經網路,結構化剪枝可以獲得與非結構化剪枝相似的壓縮率,而對於其他型別的DNN,非結構化剪枝可以獲得更高的壓縮率。我們還發現,訓練和修剪一個過度引數化的DNN比直接訓練一個小的DNN(與修剪後的DNN大小相當)能獲得更好的增強結果。此外,我們的方法在兩個有代表性的說話人分離模型上執行良好,進一步表明我們的管道對語音分離模型的壓縮能力。

感謝

作者要感謝Ashutosh Pandey提供了他對TCNN的實施。

參考文獻

[1] L. J. Ba and R. Caruana, Do deep nets really need to be deep? , in Proc. 27th Int. Conf. Neural Inf. Process. Syst. , vol. 2, 2014, pp. 2654 2662,.

[2] Y. Chebotar and A. Waters, Distilling knowledge from ensembles of neural networks for speech recognition, in Proc. Annu. Conf. Int.Speech Commun. Assoc. (INTERSPEECH), 2016, pp. 3439 3443.

[3] Y. Chen, T. Guan, and C.Wang, Approximate nearest neighbor search by residual vector quantization, Sensors, vol. 10, no. 12, pp. 11259 11273, 2010.

[4] L. Deng, G. Li, S. Han, L. Shi, and Y. Xie, Model compression and hardware acceleration for neural networks: A comprehensive survey, Proc. IEEE IRE, vol. 108, no. 4, pp. 485 532, Apr. 2020.

[5] E.Denton,W. Zaremba, J. Bruna,Y. LeCun, andR. Fergus, Exploiting linear structure within convolutional networks for efficient evaluation, Proc. 27th Int.Conf. Neural Inf. Process. Syst. , vol. 1, 2014, pp. 1269 1277,.

[6] I. Fedorov et al., TinyLSTMs: Efficient neural speech enhancement for hearing aids, in INTERSPEECH, 2020, pp. 4054 4058.

[7] J. Friedman, T. Hastie, and R. Tibshirani, A. note on the group lasso and a sparse group lasso, 2010, arXiv:1001.0736.

[8] J. Garofolo, D. Graff, D. Paul, and D. Pallett, CSR-I (WSJ0) Complete LDC93S6A, Web Download. Philadelphia: Linguistic Data Consortium, vol. 83, 1993.

[9] X. Glorot, A. Bordes, and Y. Bengio, Deep sparse rectifier neural networks, in Proc. 14th Int. Conf. Artif. Intell.Statist.. JMLR Workshop, 2011, pp. 315 323. 

[10] Y. Gong, L. Liu, M. Yang, and L. Bourdev, Compressing deep convolutional networks using vector quantization, 2014, arXiv:1412.6115.

[11] S. Han, H. Mao, and W. J. Dally, Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding, in Proc. Int. Conf. Learn. Representations, 2015.

[12] B. Hassibi andD.G. Stork, Second order derivatives for network pruning: Optimal brain surgeon, in Proc. Adv. Neural Inf. Process. Syst., 1993, pp. 164 171.

[13] Y. He, X. Zhang, and J. Sun, Channel pruning for accelerating very deep neural networks, in Proc. IEEE Int. Conf. Comput. Vis., 2017, pp. 1389 1397.

[14] J. R. Hershey, Z. Chen, J. Le Roux, and S. Watanabe, Deep clustering: Discriminative embeddings for segmentation and separation, in Proc. IEEE Int. Conf. Acoust., Speech Signal Process., 2016, pp. 31 35.

[15] G. Hinton, O. Vinyals, and J. Dean, Distilling the knowledge in a neural network, in Proc. Int. Conf. Neural Inf. Process. Syst. Deep Learn. Representation Learn. Workshop, 2015.

[16] A. G. Howard et al., MobileNets: Efficient convolutional neural networks for mobile vision applications. 2017, arXiv:1704.04861.

[17] F. N. Iandola, S. Han, M. W. Moskewicz, K. Ashraf, W. J. Dally, and K. Keutzer, SqueezeNet: Alexnet-level accuracy with 50x fewer parameters and <5 MB model size . 2016, arXiv:1602.07360.

[18] B. Jacob et al., Quantization and training of neural networks for efficient integer-arithmetic-only inference, in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2018, pp. 2704 2713.

[19] H. Jegou, M. Douze, and C. Schmid, Product quantization for nearest neighbor search, IEEE Trans. Pattern Anal. Mach. Intell., vol. 33, no. 1, pp. 117 128, Jan. 2010.

[20] J. Jensen and C. H. Taal, An algorithm for predicting the intelligibility of speech masked by modulated noise maskers, IEEE/ACM Trans. Audio, Speech, Lang. Process., vol. 24, no. 11, pp. 2009 2022, Nov. 2016.

[21] M.Kolbæk,D.Yu, Z.-H. Tan, and J. Jensen, Multitalker speech separation with utterance-level permutation invariant training of deep recurrent neural networks, IEEE/ACM Trans. Audio, Speech, Lang. Process., vol. 25, no. 10, pp. 1901 1913, Oct. 2017.

[22] R. Krishnamoorthi, Quantizing deep convolutional networks for efficient inference: A whitepaper, 2018, arXiv:1806.08342.

[23] Y. LeCun, J. S. Denker, and S. A. Solla, Optimal brain damage, in Proc. Adv. Neural Inf. Process. Syst., 1990, pp. 598 605.

[24] J. Lin, Y. Rao, J. Lu, and J. Zhou, Runtime neural pruning, in Proc. 31st Int. Conf. Neural Inf. Process. Syst., 2017, pp. 2178 2188.

[25] Y.-C. Lin, Y.-T. Hsu, S.-W. Fu, Y. Tsao, and T.-W. Kuo, IA-NET: Acceleration and compression of speech enhancement using integer-adder deep neural network, in INTERSPEECH, 2019, pp. 1801 1805.

[26] Y. Liu and D. L. Wang, Divide and conquer: A deep CASA approach to talker-independent monaural speaker separation, IEEE/ACM Trans. Audio, Speech, Lang. Process., vol. 27, no. 12, pp. 2092 2102, Dec. 2019.

[27] L. Lu,M. Guo, and S. Renals, Knowledge distillation for small-footprint highway networks, in Proc. IEEE Int. Conf. Acoust., Speech Signal Process., 2017, pp. 4820 4824.

[28] J.-H. Luo, J. Wu, and W. Lin, ThiNet: A filter level pruning method for deep neural network compression, in Proc. IEEE Int. Conf. Comput. Vis., 2017, pp. 5058 5066.

[29] Y. Luo and N. Mesgarani, Conv-TasNet: Surpassing ideal time-frequency magnitude masking for speech separation, IEEE/ACM Trans Audio, Speech, Lang. Process., vol. 27, no. 8, pp. 1256 1266, Aug. 2019.

[30] H. Mao et al., Exploring the granularity of sparsity in convolutional neural networks, in Proc. IEEE Conf.Comput. Vis. Pattern Recognit.Workshops, 2017, pp. 13 20.

[31] P. Molchanov, A. Mallya, S. Tyree, I. Frosio, and J. Kautz, Importance estimation for neural network pruning, in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2019, pp. 11264 11272.

[32] A. Pandey and D. L. Wang, TCNN: Temporal convolutional neural network for real-time speech enhancement in the time domain, in Proc. IEEE Int. Conf. Acoust., Speech Signal Process., 2019, pp. 6875 6879.

[33] S. J. Reddi, S. Kale, and S. Kumar, On the convergence of adam and beyond, in Proc. Int. Conf. Learn. Representations, 2018.

[34] R. Reed, Pruning algorithms-a survey, IEEE Trans. Neural Netw. , vol. 4, no. 5, pp. 740 747, Sep. 1993.

[35] A. W. Rix, J. G. Beerends, M. P. Hollier, and A. P. Hekstra, Perceptual evaluation of speech quality (PESQ)-A new method for speech quality assessment of telephone networks and codecs, in Proc. IEEE Int. Conf. Acoust. , Speech, Signal Process. (Cat. No 01CH37221), vol. 2, 2001, pp. 749 752.

[36] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, and Y. Bengio, FitNets: Hints for thin deep nets, in Int. Conf. Learn. Representations, 2015.

[37] S. Scardapane, D. Comminiello, A. Hussain, and A. Uncini, Group sparse regularization for deep neural networks, Neurocomputing, vol. 241, pp. 81 89, 2017.

[38] N. Simon, J. Friedman, T. Hastie, and R. Tibshirani, A. sparse-group lasso, J. Comput. Graphical Statist. , vol. 22, no. 2, pp. 231 245, 2013.

[39] C. H. Taal, R. C. Hendriks, R. Heusdens, and J. Jensen, An algorithm for intelligibility prediction of time-frequency weighted noisy speech, IEEE Trans. Audio, Speech, Lang. Process. , vol. 19, no. 7, pp. 2125 2136, Sep. 2011.

[40] K. Tan and D. L. Wang, Learning complex spectral mapping with gated convolutional recurrent networks for monaural speech enhancement, IEEE/ACM Trans. Audio, Speech, Lang. Process. , vol. 28, pp. 380 390, 2020.

[41] K. Tan and D. L. Wang, Compressing deep neural networks for efficient speech enhancement, in Proc. IEEE Int. Conf. Acoust. , Speech Signal Process. 2021, pp. 8358 8362.

[42] J. Thiemann, N. Ito, and E. Vincent, The diverse environments multichannel acoustic noise database: A database of multichannel environmental noise recordings, J. Acoust. Soc. Amer. , vol. 133, no. 5, pp. 3591 3591, 2013.

[43] A. Varga and H. J. Steeneken, Assessment for automatic speech recognition: II. NOISEX-92: A database and an experiment to study the effect of additive noise on speech recognition systems, Speech Commun. , vol. 12, no. 3, pp. 247 251, 1993.

[44] E. Vincent, R. Gribonval, and C. Févotte, Performance measurement in blind audio source separation, IEEE Trans. Audio, Speech, Lang. Process. , vol. 14, no. 4, pp. 1462 1469, Jul. 2006.

[45] D. L. Wang, On ideal binary mask as the computational goal of auditory scene analysis, in P. Divenyi, ed., Speech Separation by Humans Machines. Springer, 2005, pp. 181 197.

[46] D. L. Wang and G. J. Brown, editors. Computational Auditory Scene Analysis: Principles, Algorithms, and Applications. Hoboken, NJ, USA, Wiley, 2006.

[47] D. L. Wang and J. Chen, Supervised speech separation based on deep learning: An overview, IEEE/ACMTrans. Audio, Speech, Lang. Process. , vol. 26, no. 10, pp. 1702 1726, Oct. 2018.

[48] Y. Wang, A. Narayanan, and D. L. Wang, On training targets for supervised speech separation, IEEE/ACM Trans. Audio, Speech, Lang. Process. , vol. 22, no. 12, pp. 1849 1858, Dec. 2014.

[49] J.-Y. Wu, C. Yu, S.-W. Fu, C.-T. Liu, S.-Y. Chien, and Y. Tsao, Increasing compactness of deep learning based speech enhancement models with parameter pruning and quantization techniques, IEEE Signal Process. Lett. , vol. 26, no. 12, pp. 1887 1891, Dec. 2019.

[50] F. Ye, Y. Tsao, and F. Chen, Subjective feedback-based neural network pruning for speech enhancement, in Proc. IEEE Asia-Pacific Signal Inf. Process. Assoc. Annu. Summit Conf., 2019, pp. 673 677.

[51] R. Yu et al., NISP: Pruning networks using neuron importance score propagation, in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. , 2018, pp. 9194 9203.

[52] X. Zhang, X. Zhou, M. Lin, and J. Sun, ShuffleNet: An extremely efficient convolutional neural network for mobile devices, in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. , 2018, pp. 6848 6856. 

 

相關文章