Machine-Learning

為什麼不修剪你的神經網絡?

  • June 26, 2020

等人。(2015) 使用一種迭代修剪的方法,通過刪除具有非常低值的權重,將他們的網絡減少到其原始大小的 10%,而不會損失準確性,因為這些權重變化很小。作為機器學習領域的新手,您為什麼不這樣做(除非您的網絡已經非常小)?在我看來,對於深度學習,您的網絡會更小、更快、更節能等,而無需實際成本。我們都應該將這種方法用於更大的神經網絡嗎?

修剪確實非常有效,我認為它在訓練後“部署”以供使用的網絡上非常常用。

修剪的問題在於,您只能在訓練完成後才能提高效率、速度等。您仍然必須使用全尺寸網絡進行訓練。在模型開發和部署的整個生命週期中,大部分計算時間都花費在開發過程中:訓練網絡、使用模型架構、調整參數等。在確定最終模型之前,您可能會訓練網絡數百次。與此相比,減少已部署網絡的計算只是杯水車薪。

在 ML 研究人員中,我們主要嘗試改進 DNN 的訓練技術。我們通常不關心部署,因此不使用修剪。

有一些關於利用剪枝技術加速網絡訓練的研究,但進展不大。例如,請參閱我自己 2018 年的論文,該論文試驗了對修剪和其他結構稀疏的 NN 架構的訓練:https ://arxiv.org/abs/1810.00299

引用自:https://stats.stackexchange.com/questions/474192

comments powered by Disqus