深度學習模型優化方法總結


深度學習模型優化方法有:
(1)模型壓縮:模型權重量化、模型權重稀疏、模型通道剪枝
(2)優化推理引擎:TVM、tensorRT、OpenVINO

模型壓縮

(1)quantization:模型權重量化
(2)sparsification:模型權重稀疏
(3)channel pruning:模型通道剪枝

https://www.jiqizhixin.com/articles/2019-08-07-3
https://zhuanlan.zhihu.com/p/77275130
https://blog.csdn.net/shentanyue/article/details/83539359
(4)Distilling:模型蒸餾
先訓練好一個大網絡,在最后的softmax層使用合適的溫度參數T,最后訓練得到的概率稱為“軟目標”。以這個軟目標和真實標簽作為目標,去訓練一個比較小的網絡,訓練的時候也使用在大模型中確定的溫度參數T
https://zhuanlan.zhihu.com/p/39945855
https://www.cnblogs.com/liaohuiqiang/p/9170582.html

weights quantization 和 sparsification 屬於非結構化的壓縮,需要推理引擎和硬件的優化才能實現推理加速。

優化推理引擎

(1)Intel 的 OpenVINO
(2)NVIDA 的 tensorRT
(3)ARM 的 Tengine:https://github.com/OAID/Tengine
(4)Tencent 針對移動端應用推出 NCNN
(5)TVM
(6)XLA 方案?

Cost Functions

線性回歸的均方誤差、邏輯回歸(即分類問題)的交叉熵
https://blog.csdn.net/wyisfish/article/details/78050225
https://www.tensorflow.org/api_docs/python/tf/keras/losses
https://machinelearningmastery.com/how-to-choose-loss-functions-when-training-deep-learning-neural-networks/

L1、L2 Regularization

L1正則化可以產生稀疏權值矩陣,即產生一個稀疏模型,可以用於特征選擇
L2正則化可以防止模型過擬合(overfitting);一定程度上,L1也可以防止過擬合
https://blog.csdn.net/jinping_shi/article/details/52433975

卷積層的計算優化

https://blog.csdn.net/qq_32998593/article/details/86177151
卷積層的計算優化 im2col: https://blog.csdn.net/dwyane12138/article/details/78449898
卷積層的計算優化 Winograd:https://www.cnblogs.com/shine-lee/p/10906535.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM