27.深度學(xué)習(xí)模型壓縮方法-1

  • 目前深度學(xué)習(xí)模型壓縮方法主要分為更精細(xì)化模型設(shè)計(jì)、模型裁剪、核的稀疏化、量化、低秩分解、遷移學(xué)習(xí)等方法,而這些方法又可分為前端壓縮和后端壓縮

27.1 前端壓縮和后端壓縮對比

對比項(xiàng)目 前端壓縮 后端壓縮
含義 不會改變原始網(wǎng)絡(luò)結(jié)構(gòu)的壓縮技術(shù) 會大程度上改變原始網(wǎng)絡(luò)結(jié)構(gòu)的壓縮技術(shù)
主要方法 知識蒸餾、緊湊的模型結(jié)構(gòu)設(shè)計(jì)、濾波器層面的剪枝 低秩近似、未加限制的剪枝、參數(shù)量化、二值網(wǎng)絡(luò)
實(shí)現(xiàn)難度 較簡單 較難
是否可逆 可逆 不可逆
成熟應(yīng)用 剪枝 低秩近似、參數(shù)量化
待發(fā)展應(yīng)用 知識蒸餾 二值網(wǎng)絡(luò)

27.2 網(wǎng)絡(luò)剪枝

深度學(xué)習(xí)模型因其稀疏性,可以被裁剪為結(jié)構(gòu)精簡的網(wǎng)絡(luò)模型,具體包括結(jié)構(gòu)性剪枝與非結(jié)構(gòu)性剪枝。

事項(xiàng) 特點(diǎn) 舉例
非結(jié)構(gòu)化剪枝 通常是連接級、細(xì)粒度的剪枝方法,精度相對較高,但依賴于特定算法庫或硬件平臺的支持 Deep Compression, Sparse-Winograd算法等;
結(jié)構(gòu)化剪枝 是filter級或layer級、粗粒度的剪枝方法,精度相對較低,但剪枝策略更為有效,不需要特定算法庫或硬件平臺的支持,能夠直接在成熟深度學(xué)習(xí)框架上運(yùn)行。 如局部方式的、通過layer by layer方式的、最小化輸出FM重建誤差的Channel Pruning, ThiNet, Discrimination-aware Channel Pruning ;全局方式的、通過訓(xùn)練期間對BN層Gamma系數(shù)施加L1正則約束的Network Slimming;全局方式的、按Taylor準(zhǔn)則對Filter作重要性排序的Neuron Pruning ;全局方式的、可動態(tài)重新更新pruned filters參數(shù)的剪枝方法
  • 如果按剪枝粒度分,從粗到細(xì),可分為中間隱含層剪枝、通道剪枝、卷積核剪枝、核內(nèi)剪枝、單個(gè)權(quán)重剪枝。下面按照剪枝粒度的分類從粗(左)到細(xì)(右)。



    (a)層間剪枝 (b)特征圖剪枝 (c)k*k核剪枝 (d)核內(nèi)剪枝

事項(xiàng) 特點(diǎn)
單個(gè)權(quán)重粒度 早期 Le Cun[16]提出的 OBD(optimal brain damage)將網(wǎng)絡(luò)中的任意權(quán)重參數(shù)都看作單個(gè)參數(shù),能夠有效地提高預(yù)測準(zhǔn)確率,卻不能減小運(yùn)行時(shí)間;同時(shí),剪枝代價(jià)過高,只適用于小網(wǎng)絡(luò)
核內(nèi)權(quán)重粒度 網(wǎng)絡(luò)中的任意權(quán)重被看作是單個(gè)參數(shù)并進(jìn)行隨機(jī)非結(jié)構(gòu)化剪枝,該粒度的剪枝導(dǎo)致網(wǎng)絡(luò)連接不規(guī)整,需要通過稀疏表達(dá)來減少內(nèi)存占用,進(jìn)而導(dǎo)致在前向傳播預(yù)測時(shí),需要大量的條件判斷和額外空間來標(biāo)明零或非零參數(shù)的位置,因此不適用于并行計(jì)算
卷積核粒度與通道粒度 卷積核粒度與通道粒度屬于粗粒度剪枝,不依賴任何稀疏卷積計(jì)算庫及專用硬件;同時(shí),能夠在獲得高壓縮率的同時(shí)大量減小測試階段的計(jì)算時(shí)間.由
  • 從剪枝目標(biāo)上分類,可分為減少參數(shù)/網(wǎng)絡(luò)復(fù)雜度、減少過擬合/增加泛化能力/提高準(zhǔn)確率、減小部署運(yùn)行時(shí)間/提高網(wǎng)絡(luò)效率及減小訓(xùn)練時(shí)間等。

大數(shù)據(jù)視頻推薦:
網(wǎng)易云課堂
CSDN
人工智能算法競賽實(shí)戰(zhàn)
AIops智能運(yùn)維機(jī)器學(xué)習(xí)算法實(shí)戰(zhàn)
ELK7 stack開發(fā)運(yùn)維實(shí)戰(zhàn)
PySpark機(jī)器學(xué)習(xí)從入門到精通
AIOps智能運(yùn)維實(shí)戰(zhàn)
騰訊課堂
大數(shù)據(jù)語音推薦:
ELK7 stack開發(fā)運(yùn)維
企業(yè)級大數(shù)據(jù)技術(shù)應(yīng)用
大數(shù)據(jù)機(jī)器學(xué)習(xí)案例之推薦系統(tǒng)
自然語言處理
大數(shù)據(jù)基礎(chǔ)
人工智能:深度學(xué)習(xí)入門到精通

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容