29.1 后端壓縮
(1)低秩近似
- 在卷積神經網絡中,卷積運算都是以矩陣相乘的方式進行
- 對于復雜網絡,權重矩陣往往非常大,非常消耗存儲和計算資源
- 低秩近似就是用若干個低秩矩陣組合重構大的權重矩陣,以此降低存儲和計算資源消耗。
| 事項 | 特點 |
|---|---|
| 優(yōu)點 | 可以降低存儲和計算消耗; 一般可以壓縮2-3倍;精度幾乎沒有損失; |
| 缺點 | 模型越復雜,權重矩陣越大,利用低秩近似重構參數(shù)矩陣不能保證模型的性能 ; 超參數(shù)的數(shù)量隨著網絡層數(shù)的增加呈線性變化趨勢,例如中間層的特征通道數(shù)等等。 隨著模型復雜度的提升,搜索空間急劇增大。 |
(2)未加限制的剪枝
- 完成訓練后,不加限制地剪去那些冗余參數(shù)。
| 事項 | 特點 |
|---|---|
| 優(yōu)點 | 保持模型性能不損失的情況下,減少參數(shù)量9-11倍; 剔除不重要的權重,可以加快計算速度,同時也可以提高模型的泛化能力; |
| 缺點 | 極度依賴專門的運行庫和特殊的運行平臺,不具有通用性; 壓縮率過大時,破壞性能; |
(3)參數(shù)量化
- 神經網絡的參數(shù)類型一般是32位浮點型,使用較小的精度代替32位所表示的精度?;蛘呤菍⒍鄠€權重映射到同一數(shù)值,權重共享
- 量化其實是一種權值共享的策略
- 量化后的權值張量是一個高度稀疏的有很多共享權值的矩陣,對非零參數(shù),我們還可以進行定點壓縮,以獲得更高的壓縮率。
| 事項 | 特點 |
|---|---|
| 優(yōu)點 | 模型性能損失很小,大小減少8-16倍; |
| 缺點 | 壓縮率大時,性能顯著下降; 依賴專門的運行庫,通用性較差; |
- 最為典型就是二值網絡、XNOR網絡等。其主要原理就是采用1bit對網絡的輸入、權重、響應進行編碼
- 減少模型大小的同時,原始網絡的卷積操作可以被bit-wise運算代替,極大提升了模型的速度
- 但是,如果原始網絡結果不夠復雜(模型描述能力),由于二值網絡會較大程度降低模型的表達能力
- 因此現(xiàn)階段有相關的論文開始研究n-bit編碼方式成為n值網絡或者多值網絡或者變bit、組合bit量化來克服二值網絡表達能力不足的缺點
(4)二值網絡
- 相對量化更為極致,對于32bit浮點型數(shù)用1bit二進制數(shù)-1或者1表示,可大大減小模型尺寸
| 事項 | 特點 |
|---|---|
| 優(yōu)點 | 網絡體積小,運算速度快,有時可避免部分網絡的overfitting |
| 缺點 | 二值神經網絡損失的信息相對于浮點精度是非常大;<br />粗糙的二值化近似導致訓練時模型收斂速度非常慢 |
(5)三值網絡
| 事項 | 特點 |
|---|---|
| 優(yōu)點 | 相對于二值神經網絡,三值神經網絡(Ternary Weight Networks)在同樣的模型結構下可以達到成百上千倍的表達能力提升;并且,在計算時間復雜度上,三元網絡和二元網絡的計算復雜度是一樣的。例如,對于ResNet-18層網絡中最常出現(xiàn)的卷積核(3x3大小),二值神經網絡模型最多可以表達2的3x3次方(=512)種結構,而三元神經網絡則可以表達3的3x3次方(=19683)種卷積核結構。在表達能力上,三元神經網絡相對要高19683/512 = 38倍。因此,三元神經網絡模型能夠在保證計算復雜度很低的情況下大幅的提高網絡的表達能力,進而可以在精度上相對于二值神經網絡有質的飛躍。另外,由于對中間信息的保存更多,三元神經網絡可以極大的加快網絡訓練時的收斂速度,從而更快、更穩(wěn)定的達到最優(yōu)的結果。 |
大數(shù)據視頻推薦:
網易云課堂
CSDN
人工智能算法競賽實戰(zhàn)
AIops智能運維機器學習算法實戰(zhàn)
ELK7 stack開發(fā)運維實戰(zhàn)
PySpark機器學習從入門到精通
AIOps智能運維實戰(zhàn)
騰訊課堂
大數(shù)據語音推薦:
ELK7 stack開發(fā)運維
企業(yè)級大數(shù)據技術應用
大數(shù)據機器學習案例之推薦系統(tǒng)
自然語言處理
大數(shù)據基礎
人工智能:深度學習入門到精通