論文地址:在長短時記憶中學習內在的稀疏結構
論文程式碼:https://github.com/wenwei202/iss-rnns
引用格式:Wen W, He Y, Rajbhandari S, et al. Learning intrinsic sparse structures within long short-term memory[C]. nternational Conference on Learning Representations, 2018.
摘要
模型壓縮對於遞迴神經網路(RNN)在資源有限的使用者裝置和需要快速響應大規模服務請求的商業客戶中的廣泛採用具有重要意義。這項工作旨在通過減少LSTM單元中基本結構的大小來學習結構稀疏的長期短期記憶(LSTM),這些基本結構包括輸入更新(input updataes)、門(gates)、隱藏狀態(hidden states)、單元狀態(cell states)和輸出(outputs)。單獨減小基本結構的尺寸可能會導致它們之間的尺寸不一致,從而最終得到無效的LSTM單元。為了克服這一問題,我們提出了LSTM中的內部稀疏結構(Intrinsic Sparse structure, ISS)。移除ISS的一個元件將同時將所有基本結構的尺寸減少1,從而始終保持尺寸的一致性。通過學習LSTM單元內的ISS,獲得的LSTM保持規則,同時具有更小的基本結構。基於分組Lasso正則化,我們的方法在不損失Penn TreeBank資料集語言建模的情況下,獲得了10.59倍的加速比。通過一個僅有2.69M權值的緊湊模型,成功地對Penn TreeBank資料集的機器問答進行了評估。我們的方法被成功地擴充套件到非LSTM RNN,如迴圈高速網(Recurrent Highway Networks,RHNs)。我們的原始碼是可用的。
1 引言
模型壓縮(Jaderberg et al. (2014), Han et al. (2015a), Wen et al. (2017), Louizos et al.(2017))是一類減小深度神經網路(DNN)規模以加速推理的方法。結構學習(Zoph & Le (2017), Philipp & Carbonell (2017), Cortes et al. (2017))成為DNN結構探索的一個活躍的研究領域,有可能用機器自動化取代人工進行設計空間探索。在這兩種技術的交叉中,一個重要的領域是學習DNN中的緊湊結構,以使用最小的記憶體和執行時間進行高效的推理計算,而不損失準確性。在過去的幾年裡,卷積神經網路(CNN)的緊湊結構學習已經得到了廣泛的探索。Han等人(2015b)提出了稀疏CNN的連線剪枝。剪枝方法在粗粒度水平上也能成功工作,如CNN中的剪枝濾波器(Li et al.(2017))和減少神經元數量(Alvarez & Salzmann (2016)). Wen et al. (2016)提出了一個學習DNN中通用緊湊結構(神經元、濾波器、濾波器形狀、通道甚至層)的一般框架。
學習迴圈神經網路的緊湊結構更具挑戰性。由於迴圈單元在序列中的所有時間步驟中共享,壓縮LSTM cell將影響所有時間步。Narang等人最近的一項工作(2017)提出了一種剪枝方法,可以刪除RNNs中多達90%的連線。連線剪枝方法稀疏了迴圈單元的權值,但不能顯式改變基本結構,如輸入更新數、門、隱藏狀態、單元狀態和輸出。此外,得到的稀疏矩陣具有非零權的不規則/非結構化模式,這不利於現代硬體系統的高效計算(Lebedev & Lempitsky(2016))。之前關於gpu中稀疏矩陣乘法的研究(Wen et al.(2016))表明,speedup2要麼是適得其反,要麼是可以忽略的。更具體地說,AlexNet權矩陣的稀疏性3為67.6%、92.4%、97.2%、96.6%和94.3%,加速率分別為0.25x、0.52x、1.38x、1.04x和1.36x。這個問題也存在於cpu中。圖1顯示了稀疏性下的非結構化模式限制了加速。只有當稀疏度超過80%時,我們才開始觀察速度的增加,即使稀疏度為95%,遠低於理論的20,加速速度也在3 - 4左右。在這項工作中,我們專注於學習結構稀疏的LSTM以提高計算效率。更具體地說,我們的目標是在學習過程中同時減少基本結構的數量,使得到的LSTM保持原始原理圖的密集連線,但這些基本結構的尺寸更小;這種緊湊的模型具有結構稀疏性,去掉了權重矩陣中的列和行,其計算效率如圖1所示。此外,深度學習框架中的現成庫可以直接用於部署簡化的LSTM。細節應該解釋清楚。
圖1:使用非結構化和結構化稀疏性的矩陣乘法加速。速度是在英特爾至強CPU E5-2673 v3@2.40 GHz的英特爾MKL實施中測量的。W·X的廣義矩陣-矩陣乘法(GEMM)是用CBLAS-SMEM實現的。選擇矩陣大小以反映LSTM中常用的GEM。例如,(A)表示隱藏大小為1500、輸入大小為1500、批大小為10的GEMM in LSTM。為了通過稀疏來加速GEMM,W被稀疏。在非結構化稀疏方法中,W被隨機稀疏並編碼為用於稀疏計算的壓縮稀疏行格式(使用MKL scsrmm);在結構化稀疏方法中,W中的2k列和4k行被刪除以匹配相同的稀疏度(即刪除引數的百分比),從而在較小的規模下更快地進行GEMM。
迴圈單位是一個至關重要的挑戰:由於基本結構相互交織,獨立去除這些結構會導致它們的尺寸不匹配,進而導致無效的迴圈cell。這個問題在CNN中並不存在,在CNN中,神經元(或過濾器)可以被獨立地移除,而不會破壞最終網路結構的可用性。我們的關鍵貢獻之一是識別RNNs中的結構,這些結構應該被視為一個組,以最有效地探索基本結構的稀疏性。更具體地說,我們提出了內部稀疏結構(ISS)作為群體來實現這個目標。通過去除與ISS一個部件相關的重量,(基本結構)的尺寸/尺寸同時減少了一個。
我們在Penn Treebank資料集(Marcus et al.(1993))和SQuAD資料集(Rajpurkar et al.(2016))的語言建模中使用LSTM和RHNs來評估我們的方法。我們的方法既適用於微調,也適用於從零開始的訓練。在一個包含兩個隱藏大小為1500(即ISS的1500個分量)的堆疊LSTM層的RNN中(Zaremba等人(2014)),我們的方法發現,第一個LSTM和第二個LSTM的373和315的大小足以應對同樣的困惑。推理速度達到10.59。結果是用相同的epoch數從頭訓練得到的。直接訓練大小為373和315的LSTM不能達到同樣的困惑,這證明了學習ISS對於模型壓縮的優勢。在更緊湊和最先進的模型RHN模型(Zilly等人(2017))和BiDAF模型(Seo等人(2017))中也獲得了令人鼓舞的結果。
2 相關工作
DNN壓縮的主要方法是降低DNN內部結構的複雜性,這些研究可以分為三類:一、去除原始DNN中的冗餘結構,二、逼近DNN的原始功能(Denil等人)。(2013),Jaderberg等人。(2014),Hintonet等人。(2015),Lu等人。(2016),Prabhavalkar等人。(2016),Molchanov等人。(2017)),三、設計具有固有緊湊結構的DNN(Szegedy等人)。(2015),他等人。(2016),Wu等人。(2017),Bradbury等人。(2016))。我們的方法屬於第一類。
前饋神經網路(FNNS)中消除冗餘結構的研究已經得到了廣泛的研究,其中最典型的是CNN。基於L1正則化(Liu et al.(2015),Park等人。(2017))或連線修剪(Han et al. (2015b), Guo et al.(2016)),連線/引數的數量可能會大幅減少。基於群組Lasso的方法被證明在減少CNN中的粗粒度結構(例如,神經元、過濾器、通道、過濾器形狀,甚至層)方面是有效的(wenet al.(2016),Alvarez&Salzmann(2016),Lebedev&Lempitsky(2016),Yoon&Hwang(2017))。(2016)將ResNet中的層數從32層減少到18層,而CIFAR-10資料集的精度沒有任何損失。Narang等人最近的一項工作。(2017)改進了RNN的連線修剪技術。它壓縮了Deep Speech 2的大小(Amodei等人(2016))從268MB增加到32MB左右。然而,就我們所知,在RNN中減少細粒連線外,還很少進行減少粗粒結構的工作。為了填補這一空白,我們的工作目標是開發一種方法,可以學習減少LSTM單元中的基本結構數量。在學習了這些結構後,最終的LSTM仍然是常規LSTM,具有相同的連通性,但尺寸有所減小。
另一個相關的研究方向是FNN或CNN的結構學習。Zoph&Le(2017)使用強化學習來搜尋良好的神經結構。Philipp&Carbonell(2017)通過使用組Lasso正則化來動態地新增和消除FNN中的神經元。Cortes等人。(2017)在現有網路中逐步加入子網路,增量減少目標函式。所有這些工作都集中在尋找FNN或CNN中的最優結構以提高分類精度。相反,這項工作的目的是學習LSTM中用於模型壓縮的緊湊結構。
3 學習內部稀疏結構
3.1 內部稀疏結構
LSTMs內的計算為(Hochreiter &Schmidhuber (1997))
$$公式1:\begin{aligned}
&\mathbf{i}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x i}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h i}+\mathbf{b}_{i}\right) \\
&\mathbf{f}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x f}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h f}+\mathbf{b}_{f}\right) \\
&\mathbf{o}_{t}=\sigma\left(\mathbf{x}_{t} \cdot \mathbf{W}_{x o}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h o}+\mathbf{b}_{o}\right) \\
&\mathbf{u}_{t}=\tanh \left(\mathbf{x}_{t} \cdot \mathbf{W}_{x u}+\mathbf{h}_{t-1} \cdot \mathbf{W}_{h u}+\mathbf{b}_{u}\right) \\
&\mathbf{c}_{t}=\mathbf{f}_{t} \odot \mathbf{c}_{t-1}+\mathbf{i}_{t} \odot \mathbf{u}_{t} \\
&\mathbf{h}_{t}=\mathbf{o}_{t} \odot \tanh \left(\mathbf{c}_{t}\right)
\end{aligned}$$
其中$\odot $是元素乘法,$\sigma (·)$是Sigmoid函式,$tanh(·)$是雙曲正切函式。向量是行向量。WS是權重矩陣,其將(隱藏狀態$h_{t-1}$和輸入$x_t$)的級聯轉換為輸入更新$u_t$和門($i_t$、$f_t$和$o_t$)。圖2是Olah(2015)佈局中的LSTM示意圖。文中用矩形塊說明了Ws的變換和相應的非線性函式。我們的目標是在LSTM中減小這種複雜結構的大小,同時保持原始原理圖。由於元素運算子(“⊕”和“⊗”)的作用,圖2中沿藍色波段的所有向量必須具有相同的維度。我們將這種約束稱為“維度一致性”。遵守維度一致性所需的向量包括輸入更新、所有門、隱藏狀態、單元狀態和輸出。請注意,隱藏狀態通常是連線到分類器層或堆疊的LSTM層的輸出。如圖2所示。向量(沿藍帶)相互交織,因此從一個或幾個向量中獨立移除單個分量可能會導致違反維度一致性。為了克服這一點,我們提出了LSTM中的內部稀疏結構(ISS),如圖2中的藍帶所示。ISS的一個元件突出顯示為白色條帶。通過減小ISS的大小(即藍帶的寬度),我們能夠同時降低基本結構的尺寸。
圖2:LSTM單元中的內部稀疏結構(ISS)
為了學習稀疏ISS,我們轉向權重稀疏。公式1中共有八個權重矩陣。(1).我們以圖3的形式將它們組織為TensorFlow中的基本LSTM單元。我們可以通過將圖3中白色行和白色列中的所有相關權重歸零來刪除ISS的一個元件。為什麼?假設$h$的第$k$個隱藏狀態是可移除的,則下面四個權重矩陣中的第k行可以全為零(如圖3中左側白色水平線所示),因為這些權重位於接收第k個無用隱藏狀態的連線上。同樣,在下一層中接收到第k個隱藏態的所有連線都可以被移除,如右邊的白色水平晶體所示。請注意,下一層可以是輸出層、LSTM層、完全連線層或它們的組合。ISS覆蓋兩層或更多層,沒有明確的解釋,我們指的是第一層LSTM,即ISS的所有權。當第k個隱藏狀態變得無用時,產生該隱藏狀態的第$k$個輸出門和第$k$個單元狀態是可移除的。由於第k個輸出門是由$W_{xo}$和$W_{ho}$中的第$k$個列生成的,因此可以將這些權重置零(如圖3中的第四條垂直白線所示)。回顧圖2中的計算流程,我們可以得出類似的結論:忘記門、輸入門和輸入更新,分別由圖3中的第一、第二和第三條垂直線所示。為方便起見,我們將白色行和列中的權重稱為“ISS weight組”。雖然我們建議在LSTM中使用ISS,但ISS的變體用於普通RNN,GRU(GRU)(Cho等人)。(2014))和迴圈Highway網(RHN)(Zilly等人(2017))也可以基於同樣的理念實現
圖3:在權重矩陣中應用固有稀疏結構
即使對於中等規模的LSTM,一個ISS權重組中的權重也可能非常大,為了保持初始識別效能而同時宰殺如此多的權重似乎是非常激進的。然而,擬議的ISS本質上存在於LSTM中,甚至可以通過使用L1範數正則化獨立地稀疏每個權重來揭示。實驗結果包含在附錄A中,揭示了稀疏ISS本質上存在於LSM中,學習過程可以很容易地收斂到去掉ISS比例較高的狀態。在3.2節中,我們提出了一種學習方法,顯式地去除了比隱含的L1-範數正則化更多的ISS。
3.2 學習方法
假設$w_k^{(n)}$是第$n$個LSTM層($1≤n≤N$和$1≤k≤K^{(n)}$)中ISS的第$k$個分量中的所有權重的向量,其中$N$是LSTM層的數目,$K^{(n)}$是第$n$個LSTM層的ISS分量的數目(即,隱藏大小)。優化目標是在不損失精度的情況下儘可能多地刪除“ISS權重組”$w_k^{(n)}$。在CNN中已經成功地研究了去除權重組(如過濾器、通道和層)的方法,如第2節中總結的。然而,這些方法在RNN中的執行情況尚不清楚。在這裡,我們將基於GroupLasso(袁&Lin(2006))的方法擴充套件到用於ISS稀疏學習的RNN。更具體地說,在極小化函式中加入了組Lasso正則化,以鼓勵ISS的稀疏性。在形式上,ISS的正則化是
$$公式2:R(\mathbf{w})=\sum_{n=1}^{N} \sum_{k=1}^{K^{(n)}}\left\|\mathbf{w}_{k}^{(n)}\right\|_{2}$$
其中$w$是所有權重的向量,並且$||·||_2$是$L2$範數(即歐幾里德長度)。在隨機梯度下降(SGD)訓練中,更新每個ISS重量組的步驟為:
$$公式3:\mathbf{w}_{k}^{(n)} \leftarrow \mathbf{w}_{k}^{(n)}-\eta \cdot\left(\frac{\partial E(\mathbf{w})}{\partial \mathbf{w}_{k}^{(n)}}+\lambda \cdot \frac{\mathbf{w}_{k}^{(n)}}{\left\|\mathbf{w}_{k}^{(n)}\right\|_{2}}\right)$$
其中$E(w)$為資料丟失率,$\eta$為學習率,$\lambda>0$為權衡識別精度和稀疏性的組Lasso正則化係數。正則化梯度,即公式中的最後一項。(3),是單位向量。它不斷地將每個$w_k^{(n)}$的歐幾里德長度壓縮為零,使得ISS分量的很大一部分在學習後可以強制為全零。為了避免在計算正則化梯度時被零除,我們可以在$||·||_2$中新增一個微小的數字$\epsilon $,即,
$$公式4:\left\|\mathbf{w}_{k}^{(n)}\right\|_{2} \triangleq \sqrt{\epsilon+\sum_{j}\left(w_{k j}^{(n)}\right)^{2}}$$
其中$w_{kj}^{(n)}$是$w_K^{(n)}$的第$j$個元素。我們設定$\epsilon =1.0e−8$。這種學習方法可以有效地將許多基團擠在零點附近,但由於總是存在波動的權重更新,很難將它們精確地穩定為零點。幸運的是,波動在一個以零為中心的小球內。為了在訓練過程中穩定稀疏性,我們將絕對值小於預定義閾值$\tau $的權值置零。閾值處理按小批量進行。
4 實驗
我們的實驗使用已公佈的模型作為基線。應用領域包括Penn TreeBank的語言建模和Team資料集的機器問答。為了得到更全面的評價,我們對LSTM模型中的ISS進行了稀疏,其中arge hidden size 1500個,small hidden size 100個。我們還將ISS方法擴充套件到最先進的迴圈公路網路(RHN)(Zilly等人, 2017))減少每層單位數。我們將閾值$\tau $最大話來充分利用這一優勢。對於特定的應用程式,我們通過交叉驗證預先設定$\tau $。選擇對Dense模型(基線)進行稀疏而不降低其效能的最大$\tau $。$\tau $的驗證只需執行一次,無需培訓。對於Penn TreeBank中的堆疊LSTM,$\tau $為1.0e−4,對於RHN和BiDAF模型,其為4.0e−4。我們使用了(Rasley等人,2017)的HyperDrive探索$\lambda $的超引數。更多細節可以在我們的原始碼中找到。
為了測量推理速度,實驗在雙路Intel Xeon CPU E5-2673 v3@2.40 GHz處理器上執行,總共有24個核心(每個插槽12個)和128 GB記憶體。英特爾MKL庫2017更新2用於矩陣乘法運算。利用OpenMP執行時實現了並行性。我們使用英特爾C++編譯器17.0生成在Windows Server 2016上執行的可執行檔案。每個實驗執行1000次,平均執行時間以找出執行延遲。
4.1 語言建模
4.1.1 堆疊LSTM
我們選擇了一個具有兩個堆疊LSTM層的RNN作為語言建模的基線(Zaremba等人(2014))。兩個LSTM單元中隱藏大小都為1500(即ISS的1500個元件)。輸出層的詞彙量為10000個單詞。輸入層的詞嵌入維數為1500。由於從矩陣中選擇向量的計算效率很高,因此沒有對詞嵌入層進行稀疏化。學習ISS稀疏性採用與基線相同的訓練方案,但由於group Lasso正則化也可以避免過擬合,dropout keep ratio比基線的0.35大,為0.6。所有模型都從頭開始訓練 55 個 epoch。結果如表1所示。注意,在不採用組Lasso正則化的情況下,使用dropout keep ratio為0.6進行訓練時,基線過擬合和最低驗證複雜度為97.73。複雜性和稀缺性的權衡由$\lambda $控制。在第二行,與基線相比,我們的方法可以將第一LSTM單元的ISS數量從1500減少到373,第二LSTM單元的ISS數量減少到315。模型尺寸從66.0 M減少到21.8M,加速速度達到10.59x。實際加速比(10.59x)甚至超過了表1所示的理論乘加減少(7.48x)-這來自於計算效率的提高。當應用結構化稀疏性時,底層權重變得更小,以便以良好的區域性性適合L3快取,從而改善了FLOPS(每秒浮點運算)。與通過連線修剪生成的非結構稀疏RNN相比,這是我們方法的一個關鍵優勢(Narang等人。(2017)),連線修剪存在記憶體訪問模式不規範和理論加速比較低的問題。最後,當學習一個緊湊的結構時,我們的方法可以作為結構正則化來避免過擬合。如表1中第三行所示,更小(25.2M)和更快(7.10x)的模型可以實現更低的複雜度。其學習的權重矩陣如圖4所示,其中在第一LSTM和第二LSTM中分別去除了1119和965個ISS分量(白色條形)。
圖4:通過組Lasso正則化學習的Intrinsic Sparse Structures(放大以獲得更好的檢視)原始的權重矩陣被繪製出來,藍點是非零權重,白點代表零。為了更好地顯示,原始矩陣被均勻地下采樣10 *10
降低模型複雜性的一種直接方法是直接設計一個隱藏尺寸較小的RNN,並從頭開始訓練。與直接設計方法相比,我們的ISS方法可以自動學習LSTM中的最優結構。更重要的是,與直接設計方法相比,ISS方法學習的緊湊模型的複雜度更低。為了評估它,我們直接設計具有與表1中第二個RNN完全相同的結構的ARNN,並從頭開始訓練它,而不是從更大的RNN學習ISS。結果列於表1的最後一行。我們調整了丟棄保持比,以獲得直接設計的RNN的最大困惑。最終的測試複雜度為85.66,比我們的ISS方法高7.01。
表1:在堆疊 LSTM 中從頭開始學習 ISS 稀疏性
4.1.2 延伸到經常性的高速公路網路
迴圈公路網(RHN)(Zilly等人(2017))是一類最先進的遞迴模型,它使“一步到一步的過渡深度大於一”。在RHN中,我們將每層單元的數量定義為RHN寬度。具體來說,我們選擇了Zilly等人的表1中的“變分RHN+WT”模型。(2017)為基準線。該方法有深度10個,寬度830個,共23.5M個引數,可以在不降低困惑的情況下,將RHN的寬度從830減小到517。
按照識別“ISS權重組”以減小LSTM基本結構尺寸的相同思想,我們可以識別RHN中的組以減小RHN的寬度。簡而言之,一組包括H非線性變換、T門和C門以及嵌入層和輸出層的權重矩陣中的對應列/行。團體規模為46520人。這些組由我們原始碼4中的JSON檔案指示。通過在RHN中學習ISS,我們可以同時降低單詞嵌入的維度和每層單元的數量。
表2總結了結果。除了在ISS學習中使用較小的輟學率外,所有實驗都是用基線中相同的超引數從頭開始訓練的。更大的λ,更小的RHN寬度,但更高的困惑。更重要的是,在不損失複雜性的情況下,我們的方法可以從RHN寬度為830的初始模型學習到RHN寬度為517的較小模型。這將模型尺寸減少到11.1M,減少了52.8%。此外,ISS學習可以找到寬度為726的較小的RHN模型,同時改善了表2中第二個條目所示的最新困惑。
4.2 機器閱讀理解
我們通過最先進的資料集(班組)和模型(BiDAF)來評估ISS方法。小隊(Ra-jpukar等人)(2016))是最近釋出的閱讀理解資料集,從500多篇維基百科文章的100,000多個問答對中眾包而來。ExactMatch(EM)和F1得分是這項任務的兩個主要指標。得分越高,模型越好。我們採用了BiDAF(Seo等人(2017)評估ISS方法在LSTM小型單位中的工作情況。BiDAF是一個緊湊型機器問答模型,總權重為2.69m。在所有LSTM單元中,國際空間站的大小隻有100。BiDAF的實施由其作者提供。
BiDAF 具有字元、單詞和上下文嵌入層,用於從輸入句子中提取表示,接下來是雙向注意層、建模層和最終輸出層。LSTM 單元用於上下文嵌入層、建模層和輸出層。 所有 LSTM 都是雙向的(Schuster & Paliwal (1997))。 在雙向 LSTM 中,有一個前向加一個後向 LSTM 分支。 這兩個分支共享輸入,它們的輸出連線到下一個堆疊層。 我們發現很難在上下文嵌入層中刪除 ISS 元件,因為表示相對密集,因為它接近輸入,並且原始隱藏大小 (100) 相對較小。 在我們的實驗中,我們在上下文嵌入層中排除了 LSTM,並稀疏化了所有其他 LSTM 層。 這些 LSTM 層是 BiDAF 的計算瓶頸。
我們分析了在CPU上的計算時間,發現LSTM層(不包括上下文嵌入層)佔用了總推理時間的76.47%。我們將稀疏三個雙向LSTM層,其中兩個屬於建模層,一個屬於輸出層。(2017年)。為簡單起見,我們將建模層中第一個雙向LSTM的前向(向後)路徑標記為ModFwd1(ModBwd1)。SIM--通常,modFwd2和modBwd2用於第二個雙向LSTM。輸出層中的前向(後向)LSTMPath標記為OutFwd和OutBwd。
如3.1節所討論的,多個並行層可以從相同的LSTM層接收隱藏狀態,並且所有連線(權重)接收屬於相同ISS的那些隱藏狀態。例如,modFwd2和modBwd2都接收到modFwd1的隱藏狀態作為輸入,因此第k個“ISS權重組”包括在modFwd2和modBwd2兩者中的第k行權重,加上在modFwd1內的第k個ISS分量中的權重。為簡單起見,我們使用“ISS of modFwd1”來指代整個權重組。附錄B的表5中包括了六個ISS的結構。我們通過微調基線和從頭開始訓練來了解BiDAF中的ISS稀疏性。除了採用較高的輟學保持率外,所有訓練方案都保持與基線相同。經過訓練,我們將絕對值小於0.02的權重置零。這不會影響Emand F1的分數,但會增加稀疏性。
表3顯示了EM、F1、剩餘ISS元件的數量、模型大小和推斷速度。第一行是基線BiDAF。其他行通過使用ISS正則化微調基線來獲得。在第二行,通過學習ISS,在EM和F1損失較小的情況下,我們可以減少除modFwd1之外的所有LSTM的ISS。例如,國際空間站近一半的部件是在OutBwd中拆除的。通過增加群體套索正則化(λ)的強度,我們可以通過丟失一些EM/F1分數來增加ISS稀疏性。權衡如表3所示。在2.63 F1失分的情況下,OutFwd和OutBwd的大小可以分別從原來的100減少到15和12。最後,我們發現很難在不損失EM/F1分數的情況下減少國際空間站的規模。這意味著BiDAF是足夠緊湊的,其規模適合於計算和精度。然而,我們的方法仍然可以在可接受的效能損失下顯著壓縮該緊湊模型。
表 3:BiDAF 中剩餘的 ISS 元件通過微調
最後,我們沒有微調基線,而是使用ISS學習從頭開始訓練BiDAF。結果彙總在表4中。當從頭開始訓練時,我們的方法也很好地工作。總體而言,從頭開始的訓練比微調更好地平衡了所有層的稀疏性,這導致了更好的模型大小壓縮和推理時間加速。“ISS權重組”的向量長度直方圖如附錄C所示。
表 4:BiDAF 中剩餘的 ISS 元件通過從頭開始訓練
5 結論
我們提出了LSTM中的本徵稀疏結構(ISS)及其學習方法,以同時減少複雜LSTM結構中輸入更新、門、隱藏狀態、單元狀態和輸出的大小。通過學習ISS,可以得到一個結構稀疏的LSTM,它本質上是一個降低了隱維的規則LSTM。因此,不需要特定的軟體或硬體定製來獲得儲存節省和計算加速。雖然ISS是與LSTM一起提出的,但它可以很容易地擴充套件到普通RNN、門控經常性單位(GRU)(Choet al.(2014))和經常性公路網(RHN)(Zilly等人)。(2017))。
致謝
感謝微軟的研究人員和工程師對這項工作提供了寶貴的反饋,並感謝魏鶴、張飛、劉毅、雅各布·德夫林和陳洲。還要感謝JeffRasley(布朗大學微軟研究院實習生)幫助我使用超光碟機(Rasleyer al.(2017))進行超引數探測。這項工作得到了美國國家科學基金會CCF-1744082、NSF CCF-1725456和能源部SC0017030的部分支援。本材料中表達的任何觀點、發現、結論或建議均為作者的觀點,不一定反映NSF、美國能源部或其承包商的觀點。
參考文獻
Jose M Alvarez and Mathieu Salzmann. Learning the number of neurons in deep networks. In Advances in Neural Information Processing Systems, 2016.
Dario Amodei, Sundaram Ananthanarayanan, Rishita Anubhai, Jingliang Bai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, Qiang Cheng, Guoliang Chen, et al. Deep speech 2: Endto- end speech recognition in english and mandarin. In International Conference on Machine Learning, pp. 173 182, 2016.
James Bradbury, Stephen Merity, Caiming Xiong, and Richard Socher. Quasi-recurrent neural networks. arXiv:1611.01576, 2016.
Kyunghyun Cho, Bart Van Merri enboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv:1406.1078, 2014.
Corinna Cortes, Xavi Gonzalvo, Vitaly Kuznetsov, Mehryar Mohri, and Scott Yang. Adanet: Adaptive structural learning of artificial neural networks. In Proceedings of the 34th International Conference on Machine Learning, pp. 874 883, 2017.
Misha Denil, Babak Shakibi, Laurent Dinh, Nando de Freitas, et al. Predicting parameters in deep learning. In Advances in Neural Information Processing Systems, 2013.
Yiwen Guo, Anbang Yao, and Yurong Chen. Dynamic network surgery for efficient dnns. In Advances In Neural Information Processing Systems, 2016.
Song Han, Huizi Mao, andWilliam J Dally. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv:1510.00149, 2015a.
Song Han, Jeff Pool, John Tran, and William Dally. Learning both weights and connections for efficient neural network. In Advances in Neural Information Processing Systems, 2015b.
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770 778, 2016.
Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015.
Sepp Hochreiter and J urgen Schmidhuber. Long short-term memory. Neural computation, 9(8): 1735 1780, 1997.
Max Jaderberg, Andrea Vedaldi, and Andrew Zisserman. Speeding up convolutional neural networks with low rank expansions. arXiv:1405.3866, 2014.
Vadim Lebedev and Victor Lempitsky. Fast convnets using group-wise brain damage. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2554 2564, 2016.
Hao Li, Asim Kadav, Igor Durdanovic, Hanan Samet, and Hans Peter Graf. Pruning filters for efficient convnets. In International Conference on Learning Representations (ICLR), 2017.
Baoyuan Liu, MinWang, Hassan Foroosh, Marshall Tappen, and Marianna Pensky. Sparse convolutional neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 806 814, 2015.
Christos Louizos, Karen Ullrich, and Max Welling. Bayesian compression for deep learning. arXiv:1705.08665, 2017.
Zhiyun Lu, Vikas Sindhwani, and Tara N Sainath. Learning compact recurrent neural networks. In Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on, pp. 5960 5964. IEEE, 2016.
Mitchell P Marcus, Mary Ann Marcinkiewicz, and Beatrice Santorini. Building a large annotated corpus of english: The penn treebank. Computational linguistics, 19(2):313 330, 1993.
Pavlo Molchanov, Stephen Tyree, Tero Karras, Timo Aila, and Jan Kautz. Pruning convolutional neural networks for resource efficient inference. In International Conference on Learning Representations (ICLR), 2017.
Sharan Narang, Gregory Diamos, Shubho Sengupta, and Erich Elsen. Exploring sparsity in recurrent neural networks. arXiv:1704.05119, 2017.
Christopher Olah. Understanding lstm networks. GITHUB blog, posted on August, 27:2015, 2015.
Jongsoo Park, Sheng Li, Wei Wen, Ping Tak Peter Tang, Hai Li, Yiran Chen, and Pradeep Dubey. Faster cnns with direct sparse convolutions and guided pruning. In International Conference on Learning Representations (ICLR), 2017.
George Philipp and Jaime G Carbonell. Nonparametric neural networks. In International Conference on Learning Representations (ICLR), 2017.
Rohit Prabhavalkar, Ouais Alsharif, Antoine Bruguier, and Lan McGraw. On the compression of recurrent neural networks with an application to lvcsr acoustic modeling for embedded speech recognition. In Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on, pp. 5970 5974. IEEE, 2016.
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. Squad: 100,000+ questions for machine comprehension of text. arXiv:1606.05250, 2016.
Jeff Rasley, Yuxiong He, Feng Yan, Olatunji Ruwase, and Rodrigo Fonseca. HyperDrive: Exploring Hyperparameters with POP Scheduling. In Proceedings of the 18th International Middleware Conference, Middleware 17. ACM, 2017.
Mike Schuster and Kuldip K Paliwal. Bidirectional recurrent neural networks. IEEE Transactions on Signal Processing, 45(11):2673 2681, 1997.
Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, and Hannaneh Hajishirzi. Bidirectional attention flow for machine comprehension. In International Conference on Learning Representations (ICLR), 2017.
Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1 9, 2015.
Wei Wen, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. Learning structured sparsity in deep neural networks. In Advances in Neural Information Processing Systems, 2016.
Wei Wen, Cong Xu, Chunpeng Wu, Yandan Wang, Yiran Chen, and Hai Li. Coordinating filters for faster deep neural networks. In The IEEE International Conference on Computer Vision (ICCV), October 2017.
Chunpeng Wu, Wei Wen, Tariq Afzal, Yongmei Zhang, Yiran Chen, and Hai Li. A compact dnn: Approaching googlenet-level accuracy of classification and domain adaptation. In Proceedings of the IEEE conference on computer vision and pattern recognition, 2017.
Jaehong Yoon and Sung Ju Hwang. Combined group and exclusive sparsity for deep neural networks. In International Conference on Machine Learning, pp. 3958 3966, 2017.
Ming Yuan and Yi Lin. Model selection and estimation in regression with grouped variables. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 68(1):49 67, 2006.
Wojciech Zaremba, Ilya Sutskever, and Oriol Vinyals. Recurrent neural network regularization. arXiv:1409.2329, 2014.
Julian Georg Zilly, Rupesh Kumar Srivastava, Jan Koutn ık, and J urgen Schmidhuber. Recurrent highway networks. In Proceedings of the 34th International Conference on Machine Learning, pp. 4189 4198, 2017. Barret Zoph and Quoc V Le. Neural architecture search with reinforcement learning. In International Conference on Learning Representations (ICLR), 2017.
附錄 A 由L1-規範正則化 揭示的 ISS
圖5:L1正則化揭示的內在稀疏結構(放大看更好)。最上面一行是原始的權重矩陣,藍點是非零權重,白點代表零;
最下面一行是圖3格式的權重矩陣,其中白色條是ISS元件,其權重均為零。為了更好的視覺化,原始矩陣被均勻地下采樣10*10
我們以Zaremba等人的大型堆疊LSTM為例。以語言建模為例,網路有兩層層疊的LSTM層,其輸入和狀態維度均為1500,其輸出層的詞彙量為10000個單詞。兩個LSTM層的“ISS權重組”大小分別為24000和28000。驗證集和測試集的複雜度分別為82.57和78.57。我們使用`1範數正則化來微調這個基線LSTM。採用與基線相同的訓練超引數,但較大的輟學保持比為0.6(原始為0.35)。由於`1範數也是一種正則化,以避免過度擬合,所以使用較弱的輟學。太強的輟學加上`1範數正則化可能會導致擬合不足。1-範數正則化的權衰減率為0.0001。稀疏網路的驗證複雜度和測試複雜度分別為82.40和78.60,與基線基本一致。第一LSTM層、第二LSTM層和最後輸出層的權值稀疏度分別為91.66%、90.32%和90.22%。圖5繪製了學習的稀疏權重矩陣。頂行的稀疏矩陣顯示了一些有趣的模式:有許多全零的列和行,它們的位置高度相關。這些圖案的輪廓顯示在最下面的一行。令我們驚訝的是,獨立地稀疏個體權重可以收斂到稀疏LSTM,其中第一和第二LSTM層中的許多ISS移除-504和220 ISS元件都是全零的。
附錄B 在BIDAF中的ISS