深度學習: 模型壓縮_深度學習

來源:互聯網
上載者:User
Introduction

預訓練後的深度神經網路模型往往存在著嚴重的 過參數化 問題,其中只有約5%的參數子集是真正有用的。為此,對模型進行 時間 和 空間 上的壓縮,便謂之曰“模型壓縮” 。

模型壓縮技術包括 前端壓縮 和 後端壓縮 這兩部分。 對比 前端壓縮 後端壓縮 實現難度 較簡單 較難 可逆否 可逆 無法復原 成熟運用 剪枝 低秩近似、參數量化 待發展運用 知識蒸餾 二值網路 前端壓縮

不會改變原始網路結構的壓縮技術。
1. 知識蒸餾

蒸餾模型採用的是 遷移學習,通過採用 預先訓練好 的 複雜模型(Teacher model)的 輸出 作為 監督訊號 去訓練另外一個簡單的網路。這個簡單的網路稱之為student model。 2. 緊湊的模型結構設計

“擠壓”設計 與 “擴張”設計。 3. 濾波器層面的剪枝

在訓練時使用稀疏約束(加入權重的稀疏正則項,引導模型的大部分權重趨向於0)。完成訓練後,剪去濾波器上的這些 0 。

優點:
簡單。

缺點:
剪得不乾淨。 後端壓縮

會大程度上改變原始網路結構的壓縮技術,且無法復原。
1. 低秩近似

使用結構化矩陣來進行低秩分解。

優點:
該方法在中小型網路模型上效果不錯。

缺點:
在大型網路模型上玩不轉。 2. 未加限制的剪枝

完成訓練後,不加限制地剪去那些冗餘參數。

優點:
使模型更加成熟。

缺點:
易導致網路結構隨機且稀疏。由於被剪除的網路連接在分布上缺乏連續性,導致在實際使用模型時,CPU cache和記憶體之間會增加很多不必要的頻繁切換。這種“每次少放,多次拿取”的弊端,使得實際使用中的加速效果大打折扣。
同時,剪枝後,通用的運行庫(比如conv2d)不能用了,還得另行設計新的運算介面。So 麻煩。。 3. 參數量化

從權重中 歸納出 若干的“代表”,由這些“代表”來 表示某一類權重 的 具體數值 。 4. 二值網路

所有 參數的取值 只能是 ±1 。

[1] 解析卷積神經網路—深度學習實踐手冊
[2] 深度壓縮之蒸餾模型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.