CVPR 2023 ,BP網(wǎng)絡剪枝了就不好使?(1)
最近,深度神經(jīng)網(wǎng)絡(DNN)在計算機視覺和自然語言處理任務的廣泛實際應用中取得了令人印象深刻的突破。這種最先進的性能主要歸功于 DNN 巨大的表示能力 。根據(jù)柯爾莫哥洛夫疊加定理]和萬能逼近定理,DNN能夠一致地逼近任何具有適當權(quán)重的連續(xù)多元函數(shù)。為了獲得更好的性能,大量的參數(shù)和計算被分配給 DNN ,這嚴重限制了其在內(nèi)存和計算受限設備上的應用。因此,人們提出了許多方法來壓縮和加速神經(jīng)網(wǎng)絡,包括修剪、量化和神經(jīng)架構(gòu)搜索。DNN 在處理具有挑戰(zhàn)性的自然信號(例如圖像或音頻信號)轉(zhuǎn)換方面特別成功。由于此類模擬信號不可避免地被離散化,因此神經(jīng)網(wǎng)絡通常執(zhí)行離散表示和變換,例如矩陣乘法和離散卷積。然而,對于此類表示,一旦訓練過程完成,就無法調(diào)整神經(jīng)網(wǎng)絡的大小,而不會在推理階段遭受嚴重的性能下降。盡管已經(jīng)提出了幾種網(wǎng)絡剪枝方法來從訓練模型中提取關(guān)鍵通道并生成有效的模型,但它們要么會遭受顯著的精度下降,要么需要在整個訓練數(shù)據(jù)庫上微調(diào)模型。隨著硬件的發(fā)展,出現(xiàn)了各種具有不同存儲和計算能力的邊緣設備,從普通處理器到專用神經(jīng)網(wǎng)絡加速器,不同設備的模型大小差異很大。此外,許多任務(例如自動駕駛)根據(jù)不同的場景或條件(例如行駛速度和天氣條件)在同一硬件上需要不同的響應速度。處理此類問題的傳統(tǒng)方法是針對所有可能的場景設計多個模型架構(gòu)并將它們存儲在一起。然而,這種策略的缺點是需要大量的資源用于訓練和存儲空間。因此,設計在推理過程中具有自調(diào)整大小能力的神經(jīng)網(wǎng)絡,同時保持相同水平的性能至關(guān)重要。
2 BP神經(jīng)網(wǎng)絡回顧此節(jié)為筆者方便理解本論文而加的,論文中無此部分內(nèi)容,若讀者對傳統(tǒng)神經(jīng)網(wǎng)絡模型非常熟練則可跳過本節(jié)。BP神經(jīng)網(wǎng)絡工作流程:1.將輸入樣本提供給輸入層神經(jīng)元
2.逐層將信號前傳至隱層、輸出層,產(chǎn)生輸出層的結(jié)果
3.計算輸出層誤差
4.將誤差反向傳播至隱藏層神經(jīng)元 (鏈式法則)
5.根據(jù)隱層神經(jīng)元對連接權(quán)重進行調(diào)整(梯度下降法)
6.上述過程循環(huán)進行,直至達到某些停止條件為止
在BP神經(jīng)網(wǎng)絡中權(quán)值是離散變化的,權(quán)值變化的方向是誤差對權(quán)值的偏導數(shù)(微分)的負方向,主要涉及微分運算。
1.提出了一種新型的神經(jīng)網(wǎng)絡:受到輸入信號固有連續(xù)性的啟發(fā),作者通過探索沿卷積核和通道維度的連續(xù)表示來挑戰(zhàn)神經(jīng)網(wǎng)絡的離散表示,催生了一類新的網(wǎng)絡——積分神經(jīng)網(wǎng)絡(INN), INN 采用高維超立方體將一層的權(quán)重表示為連續(xù)表面。2.定義了類似于神經(jīng)網(wǎng)絡中傳統(tǒng)離散算子的積分算子:INN 可以通過前向傳遞的數(shù)值積分求積轉(zhuǎn)換為傳統(tǒng)的張量表示。在推理階段,可以方便地將此類網(wǎng)絡離散化為任意大小,并具有各種積分核的離散化區(qū)間。由于表示是由積分算子組成的,因此離散化連續(xù)網(wǎng)絡可以被視為數(shù)值求積近似過程。當間隔足夠小時,各種離散化間隔的估計值都接近于積分值。因此,當用不同的間隔離散化 INN 來生成不同規(guī)模的網(wǎng)絡時,它能夠在一定程度上保留原始性能,而不需要額外的微調(diào)。這種神經(jīng)網(wǎng)絡的表示可以在處理不同條件和硬件設置下有效網(wǎng)絡部署的重要問題中發(fā)揮至關(guān)重要的作用。
前三節(jié)的總結(jié):傳統(tǒng)的神經(jīng)網(wǎng)絡模型使用離散權(quán)重張量表示網(wǎng)絡層的權(quán)重,而本文提出的INN模型使用連續(xù)函數(shù)表示權(quán)重,并通過連續(xù)積分操作替換輸入層的離散變換。
4 神經(jīng)網(wǎng)絡與積分算子作者提出的想法背后的直覺是基于完全連接和卷積層可以被視為特定積分的數(shù)值積分的觀察。為了說明這一點,可以考慮下面的例子。設W(x), S(x)為單變量函數(shù),則有:其中,,是積分求積的權(quán)重,是滿足以下不等式的段分區(qū): 0 = x0 < x1 <…< xn?1 < xn = 1 這一對被稱為數(shù)值積分法。一般的數(shù)值積分方法是使用輸入函數(shù)的不同近似來構(gòu)建的(我們參考圖2所示的示例)。
4.1 DNN 層作為積分算子常用的線性網(wǎng)絡層可以表示為具有特定積分核的積分算子, 雖然這些層充當實線性空間 R k 上的線性算子,但積分算子充當可積函數(shù) L 2 的線性空間上的線性算子。因此,并非所有輸入數(shù)據(jù)都可以有意義地被視為連續(xù)可積函數(shù)。然而,數(shù)字圖像和音頻信號是模擬信號的離散化,因此它們可以自然地用于積分網(wǎng)絡中。
1.卷積或互相關(guān)層卷積層定義了一個多通道信號到另一個多通道信號的變換。對于積分算子,這一層的權(quán)重由一個可積函數(shù)表示,其中x s是表示維度的標量或向量,對其進行卷積,λ是可訓練參數(shù)的向量。輸入輸出圖像用可積函數(shù)表示,通過權(quán)函數(shù)連接如下:
2.全連接層一個全連通層通過矩陣乘法定義一個向量到另一個向量的變換,該層的權(quán)值由可積函數(shù)FW (λ, xout, xin)表示。與卷積算子類似,λ定義了積分核的可訓練參數(shù)向量,輸入輸出函數(shù)分別用可積函數(shù)FI (x in)、FO(x out)表示,通過權(quán)函數(shù)連接如下:
3.池化與激活函數(shù)池化層在積分或信號離散化方面也表現(xiàn)出有意義的解釋, 平均池化可以解釋為沿空間維度與分段常數(shù)函數(shù)的卷積。MaxPooling 可以解釋為信號離散化的一種方式, 積分網(wǎng)絡中的激活函數(shù)通過以下等式自然地與傳統(tǒng)網(wǎng)絡中的激活函數(shù)聯(lián)系起來:用D表示在給定分區(qū)Px上計算標量函數(shù)的離散化操作。這個方程表明,對離散信號應用激活函數(shù)相當于對連續(xù)信號應用激活函數(shù)的輸出進行離散化。圖3 積分層評估的可視化。連續(xù)權(quán)重沿著變量 x in 、xout 進行離散化,并通過積分求積 Q 的元素乘積進行調(diào)整。
4.通過積分進行評估和反向傳播為了快速積分評估,積分核經(jīng)過離散化過程,然后傳遞到傳統(tǒng)層進行數(shù)值積分。事實證明,任何復合求積都可以通過這種傳統(tǒng)的層評估來表示。對于通過積分的反向傳播,使用鏈式法則來評估可訓練參數(shù) λ 的梯度,就像在離散網(wǎng)絡中一樣。所描述過程的有效性由以下引理保證,其證明可以在附錄 A(論文補充里) 中找到。
4.2連續(xù)參數(shù)表示更豐富和更通用的連續(xù)參數(shù)表示允許在任何給定分辨率的推理時間對離散權(quán)重進行采樣。作者將連續(xù)權(quán)重緊湊地參數(shù)化為插值核的線性組合,插值節(jié)點在線段 [0, 1] 上均勻分布:FW (λ, x) = m i=0 λiu(xm ? i),其中 m 和 λi 分別是插值節(jié)點的數(shù)量及其值。出于效率目的,作者利用可用的硬件和現(xiàn)有的深度學習 (DL) 框架,并依賴如圖 4 所示的三次卷積插值,該插值用于在 GPU 上進行高效的圖像插值。盡管與三次樣條插值略有偏差,但這種方法速度明顯更快,并且比線性插值更好地保留了細節(jié)。在多維度的情況下,我們建議使用可分離的內(nèi)核在立方體 [0, 1]n 上定義插值,這與現(xiàn)有的深度學習框架完全兼容。連續(xù)表示被離散化為標準權(quán)重張量 W,由前向傳播中的相應層使用。圖 4 描繪了連續(xù)參數(shù)表示和離散化的可視化示意圖。圖 4 連續(xù)參數(shù)表示和沿一維采樣的可視化。連續(xù)表示(c)是三次卷積核(a)與插值節(jié)點(b)線性組合的結(jié)果。在正向階段,它被離散化 (d) 并與積分求積相結(jié)合。筆者認為圖4是理解本論文的關(guān)鍵,它描述了積分神經(jīng)網(wǎng)絡中的權(quán)值是怎么求得的,首先是由可訓練的插值節(jié)點對一個三次卷積核函數(shù)進行插值得到權(quán)值函數(shù),再對權(quán)值函數(shù)進行離散得到權(quán)值,注意權(quán)值函數(shù)的離散步長和區(qū)間也是可以調(diào)整的。
1.全連接層和卷積層的權(quán)重表示全連接層由二維權(quán)重張量定義,因此,用正方形 [0, 1]2 內(nèi)的均勻二維網(wǎng)格上的二維核的線性組合來表示它們:全連接層的離散權(quán)重張量 Wq 是通過對分區(qū) P out 和 P in 上的連續(xù)表示進行采樣并根據(jù)式(1)的積分求積對結(jié)果進行加權(quán)來獲得的:
2.可訓練的分區(qū)到目前為止,只考慮具有固定采樣步驟的均勻分區(qū)。然而,非均勻采樣可以在不增加分區(qū)大小的情況下提高數(shù)值積分,固定采樣點的放松引入了新的自由度并導致可訓練的分區(qū)。通過訓練可分離分區(qū),可以平滑有效地獲得任意矩形分區(qū), 這種技術(shù)為新的結(jié)構(gòu)化修剪方法提供了機會。結(jié)合第下一節(jié)的轉(zhuǎn)換策略,這可以減少預訓練離散 DNN 的大小,而無需調(diào)整其余參數(shù)。我們不使用直接分區(qū)參數(shù)化 P,而是采用向量 δ = (0, δ1, ..., δn) 的潛在表示,以便滿足以下條件:δnorm = δ 2 sum(δ 2) , P = cumsum(δnorm ),這種參數(shù)化保證結(jié)果是在整個段 [0, 1] 上延伸的正確定義(排序)的分區(qū) P。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。