瞭解用於深刻學習的不一樣模型壓縮技術的需求和特色html
無論你是計算機視覺新手仍是專家,你可能據說過 AlexNet 於2012年贏得了ImageNet挑戰賽。這是計算機視覺發展史上的轉折點,由於它代表,深度學習模型可以之前所未有的精度完成很是困難的任務。安全
可是你是否知道 AlexNet有6.2千萬訓練參數?微信
另外一個廣爲人知的模型 VGGNet 則有1.38億訓練參數,是AlexNet 的兩倍之多。網絡
咱們知道,模型層數越多,那麼表現的性能越好,那麼是否須要關注和強調參數的數量呢?app
知名CNN模型的複雜度和準確度框架
上述模型在機器視覺領域已是基準了。可是在現實生產場景中,是否會被人們選擇部署呢?你是否在實際應用中使用這些模型?機器學習
在回答上述問題以前,咱們先了解以下背景知識。物聯網裝備預測在2030年將達到1.25-5千億臺套的規模,而且其中20%都帶有攝像頭,這是一個130億的市場。編輯器
物聯網攝像頭設備包括家庭安全攝像頭(如Amazon Ring和Google Nest),當您到家時會打開門或在看到未知的人時通知您,智能車輛上的攝像頭可幫助您駕駛,停車場的攝像頭在您進出時打開大門,物聯網攝像頭設備的應用場景十分普遍!其中一些物聯網設備已經在某種程度上使用人工智能,而其餘設備正在慢慢遇上。ide
許多現實場景的應用程序須要實時的設備處理能力。自動駕駛汽車就是一個很好的例子。爲了使汽車在任何道路上安全行駛,它們必須實時觀察道路,若是有人走在汽車前面,必須停車。在這種狀況下,須要在設備上實時地處理視覺信息和作出決策。函數
那麼,如今回到以前的問題:咱們可否使用前述模型部署到生活場景中?
若是你從事的是計算機視覺領域應用和研究,你的應用程序極可能須要物聯網設備。主要的挑戰是物聯網設備資源受限;它們的內存有限,計算能力低。而模型中可訓練的參數越多,其規模就越大。深度學習模型的計算時間隨着可訓練參數個數的增長而增長。此外,與較少參數的模型相比,所消耗的能量和佔用的空間也越大。最終的結果是,當模型很大時,深度學習模型很難在資源受限的設備上部署。雖然這些模型已經成功地在實驗室中取得了巨大的成果,但它們在許多實際應用中並不可用。
在實驗室,經過昂貴的GPU能夠實現模型的高效計算,可是在生產場景中,資金、能源、溫度等問題使得GPU的計算方式行不通。儘管將這些模型部署在雲端可以提供高計算性能和存儲使用性,可是卻存在高時延的問題,所以不能知足現實應用的需求。
簡而言之,人工智能須要在靠近數據源的地方進行處理,最好是在物聯網設備自己進行處理!所以,咱們可供選擇之一就是:減小模型的規模。
在不影響準確性的前提下,製做一個能在邊緣設備約束下運行的更小的模型是一個關鍵的挑戰。由於僅僅擁有一個能夠在資源受限的設備上運行的小模型是不夠的,它應該不管是在準確性和計算速度方面都具備很好的性能。
接下來將介紹幾種下降模型規模的方法。
剪枝(Pruning)
修剪經過刪除對性能不敏感的冗餘、不重要的鏈接來減小參數的數量。這不只有助於減少整個模型的大小,並且節省了計算時間和能耗。
好處
能夠在訓練時和訓練後執行該操做
能夠改善給定模型的計算時間/模型規模
既能夠用於卷積網絡,也能夠用於全鏈接層
不足
相較於直接修改模型結構,剪枝的效果稍遜一籌
對於 TensorFlow模型,每每只能減少模型規模,可是不能下降計算時間
原始模型和修剪模型的計算速度、規模差別
量化權值(Quantization)
在DNN中,權重存儲爲32位浮點數字。量化是經過減小比特數來表示這些權重的思想。權重能夠量化爲16位、8位、4位甚至1位。經過減小使用的比特數,深度神經網絡的規模能夠顯著減少。
二進制量化
好處
能夠在訓練時和訓練後執行該操做
既能夠用於卷積網絡,也能夠用於全鏈接層
不足
量化權值使得神經網絡更難收斂。爲了保證網絡具備良好的性能,須要較小的學習速率
量化權重使得反向傳播不可行,由於梯度不能經過離散神經元反向傳播。須要使用近似方法來估計損失函數相對於離散神經元輸入的梯度
TensorFlow的量化感知訓練在訓練過程當中不作任何量化。訓練期間只收集統計數據,用於量化訓練後的數據。
知識蒸餾(Knowledge distillation)
在知識蒸餾中,一個大型的、複雜的模型是在一個大型數據集上訓練的。當這個大的模型可以對看不見的數據進行泛化並表現良好時,它就被傳輸到一個較小的網絡中。較大的網絡模型也稱爲教師模型,較小的網絡也稱爲學生網絡。
知識蒸餾
好處
若是你有一個預先訓練好的教師網絡,訓練較小的(學生)網絡所需的訓練數據較少。
若是你有一個預先訓練好的教師網絡,訓練較小的(學生)網絡所需的時間很短。
能夠縮小一個網絡而無論教師和學生網絡之間的結構差別。
不足
若是沒有預先選練好的教師模型,那麼訓練學生模型將須要大規模的數據集和較長時間。
選擇性注意(Selective Attention)
選擇性注意是指把注意力集中在感興趣的對象或元素上,而拋棄其餘對象(一般是背景或其餘與任務無關的對象)。它的靈感來自人眼生物學機制。當咱們看東西的時候,咱們一次只關注一個或幾個物體,其餘的區域就會模糊。
選擇性注意
這就須要在你現有的人工智能系統上添加一個選擇性的注意力網絡。
好處
更短的計算時間
規模更小的模型(經過這一方法生成的人臉識別器只有44KB大小)
精度保障
不足
只支持從頭開始的訓練
低秩分解
利用矩陣/張量分解來估計信息參數。一個(m,n)維且秩爲r的權矩陣A被更小維的矩陣代替。這種技術有助於將大矩陣分解成更小的矩陣。
低秩分解
好處
可被用於訓練階段和訓練後
可被用於卷積網絡,也可用於全鏈接層
用於訓練階段時,能夠下降訓練時間
最棒的是,全部這些技術是相輔相成的。它們能夠按原樣應用,也能夠與一種或多種技術相結合。經過使用剪枝、量化和Huffman編碼三級流水線來減少預訓練模型的大小,在ImageNet數據集上訓練的VGG16模型從550MB降到了11.3MB。
上面討論的大多數技術均可以應用於預先訓練的模型,做爲後處理步驟,能夠減少模型大小並提升計算速度。但它們也能夠在訓練期間使用。量化愈來愈受歡迎,如今已經被引入機器學習框架。咱們能夠預期修剪很快也會被引入流行的框架中。
在本文中,咱們研究了將基於深度學習的模型部署到資源受限設備(如物聯網設備)的動機,以及減少模型大小以使其適應物聯網設備而不影響準確性的需求。咱們還討論了一些現代技術壓縮深度學習模型的利弊。最後,咱們談到了每一種技術能夠單獨應用,也能夠組合使用。
引用
https://towardsdatascience.com/machine-learning-models-compression-and-quantization-simplified-a302ddf326f2
Buciluǎ, C., Caruana, R., & Niculescu-Mizil, A. (2006, August). Model compression. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 535–541).
Cheng, Y., Wang, D., Zhou, P., & Zhang, T. (2017). A survey of model compression and acceleration for deep neural networks. arXiv preprint arXiv:1710.09282.
http://mitchgordon.me/machine/learning/2020/01/13/do-we-really-need-model-compression.html
https://software.intel.com/content/www/us/en/develop/articles/compression-and-acceleration-of-high-dimensional-neural-networks.html
https://towardsdatascience.com/the-w3h-of-alexnet-vggnet-resnet-and-inception-7baaaecccc96
https://www.learnopencv.com/number-of-parameters-and-tensor-sizes-in-convolutional-neural-network/
Véstias, M. P. (2019). A survey of convolutional neural networks on edge with reconfigurable computing. Algorithms, 12(8), 154.
https://technology.informa.com/596542/number-of-connected-iot-devices-will-surge-to-125-billion-by-2030-ihs-markit-says
https://www.cisco.com/c/dam/en/us/products/collateral/se/internet-of-things/at-a-glance-c45-731471.pdf
Mohan, A., Gauen, K., Lu, Y. H., Li, W. W., & Chen, X. (2017, May). Internet of video things in 2030: A world with many cameras. In 2017 IEEE International Symposium on Circuits and Systems (ISCAS) (pp. 1–4). IEEE.
Blalock, D., Ortiz, J. J. G., Frankle, J., & Guttag, J. (2020). What is the state of neural network pruning?. arXiv preprint arXiv:2003.03033.
Guo, Y. (2018). A survey on methods and theories of quantized neural networks. arXiv preprint arXiv:1808.04752.
做者:Sabina Pokhrel
deephub翻譯組 Oliver Lee
微信號 : deephub-imba
每日大數據和人工智能的重磅乾貨
大廠職位內推信息
長按識別二維碼關注 ->
喜歡就請三連暴擊!
本文分享自微信公衆號 - DeepHub IMBA(deephub-imba)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。