本發明涉及深度學習,具體涉及一種基于參數量化的深度神經網絡模型壓縮方法及裝置。
背景技術:
1、深度學習技術的快速發展使得姿勢識別、戴口罩的人臉識別、對話系統、生成對抗網絡(gan)人臉圖片生成以及自動駕駛等先進技術得以廣泛應用,推動了社會的進步。卷積神經網絡(cnn)作為深度學習的重要架構之一,因其出色的特征提取和處理能力,廣泛應用于各種任務場景中。然而,隨著技術的不斷演進,諸如城市智能安防、智能交通系統、無人駕駛、邊緣人機交互以及視頻監控等應用場景對網絡模型提出了更高的要求。這些應用不僅依賴于深度卷積神經網絡強大的性能,同時也面臨著模型部署時高存儲和計算成本的平衡難題。
2、深度卷積神經網絡模型通常具有龐大的參數和計算需求,雖然它們能夠滿足各類任務的性能指標要求,但在實際部署到移動邊緣設備或嵌入式平臺時卻遇到了不小的困難。網絡模型的巨大參數量和計算量不僅增加了硬件的負擔,也限制了其在資源受限環境中的應用和進一步發展。因此,為了解決這些挑戰,亟需開發新的技術和方法,以減少模型的存儲和計算需求,同時保持或提升其性能。這可能涉及模型壓縮、量化、剪枝等技術手段,并探索更高效的網絡架構設計,以適應不同應用場景的需求,推動深度學習技術在更廣泛領域的實際應用。
3、在這種背景下,研究卷積神經網絡模型的輕量化技術顯得尤為重要。如何在模型輕量化與精度損失之間找到平衡,成為了當前研究的關鍵難點之一。目前,除了手工設計輕量化網絡外,現有網絡基礎上進行深度卷積神經網絡輕量化的主流技術路線主要包括四種壓縮方法:參數量化、神經網絡架構搜索、模型剪枝和知識蒸餾。其中,參數量化因其減少存儲和計算需求的顯著效果而備受關注。參數量化的核心在于將神經網絡的權重和激活值從高精度(如浮點數)轉換為低精度(如定點數),以減少模型的存儲需求和計算復雜度。然而,選取哪些權重參數、如何實現量化壓縮,并不是一件容易的事,因為權重與精度損失密切相關,且高低精度度轉換必然存在誤差,量化誤差的累積可能放大精度損失,導致模型性能顯著下降。尤其是在邊緣計算設備上,資源受限環境更需要高精度且高壓縮比的模型,如何在壓縮比與精度之間達成最佳平衡是一個很大的挑戰。
技術實現思路
1、發明目的:為了解決在資源受限的邊緣設備上部署深度神經網絡時所面臨的模型體積過大問題,本發明提出一種基于參數量化的深度神經網絡模型壓縮方法及裝置,不僅實現模型性能的有效維持,還顯著提升了模型在邊緣設備上的部署效率。
2、為了實現以上發明目的,本發明的技術方案如下:
3、一種基于參數量化的深度神經網絡模型壓縮方法,包括以下步驟:
4、獲取預訓練的深度神經網絡模型及其相關參數,利用訓練集數據對預訓練模型進行進一步訓練,使得模型逐步收斂到最佳狀態,在模型收斂后保存新的模型參數;
5、根據新的模型參數,利用重要性評估樣本集合對預訓練模型進行前向傳播和反向傳播,記錄每個權重在反向傳播過程中的梯度絕對值,根據權重的梯度絕對值分布,將權重首次分為高重要性權重和低重要性權重,并通過二值掩碼標識每個權重的重要性;
6、根據首次區分后的權重,進入迭代過程,在單次迭代中,選取指定量化比例的高重要性權重進行量化操作,對低重要性權重進行重新訓練,訓練結束后對所有未量化權重再次根據梯度絕對值分布進行重要性劃分,并用二值掩碼標識重要性;重復此過程,直到所有權重量化完成;其中在每次量化操作中,采用就近二次冪量化技術,將權重映射到非均勻的二次冪量化網格上,使權重被量化為與原始值最接近的二次冪值;
7、保存量化后的深度神經網絡模型。
8、進一步的,二值掩碼中,所有被標記為1的權重參數被定義為“高重要性”權重,而被標記為0的權重參數則被定義為“低重要性”權重。
9、進一步的,就近二次冪量化方法的策略如下:
10、首先選擇適當的裁剪閾值,將權重裁剪到指定范圍內,即丟棄不在范圍內的權重;
11、接下來,根據篩選后的權重最大值,確定量化中要使用的最大冪次s1,并結合所需的位寬b來確定最小的冪次s2,確定一組就近二次冪量化水平,將權重映射到二次冪量化網格上,形式為±2^(-n),其中n為不小于0的整數。
12、進一步的,量化操作的公式表示為:
13、
14、其中w表示一個4d的權重張量,浮點格式;表示轉換后的整數類型的量化權重;α和β表示將權重裁剪到的有效范圍。
15、進一步的,就近二次冪量化水平的計算方法如下:
16、
17、其中,qnearest_pot代表將所有權重都量化到的量化水平,s1為量化到的最大的二的冪次,s2表示量化到的最小的二的冪次。
18、進一步的,二次冪量化時的上下取舍如下:
19、計算權重值w與它最接近的兩個二次冪的值的距離w-lower和upper-w,然后通過比較這兩個值的距離大小,選擇最小距離的量化級別,之后將權重值映射到最小距離的量化水平上。
20、進一步的,所述方法還包括:對量化誤差進行控制,控制方法包括:
21、誤差分析:在量化過程中,實時監控量化誤差的大小,通過計算量化前后權重值的差異,評估量化誤差對模型性能的影響;
22、誤差補償:在量化步驟完成后,對模型進行微調,通過調整剩余的“低重要性”權重,以補償量化帶來的性能損失;
23、動態調整:根據量化誤差的分析結果,靈活調整量化級別和位寬,以實現最佳量化效果。
24、一種基于參數量化的深度神經網絡模型壓縮裝置,包括:
25、模型微調模塊,用于獲取預訓練的深度神經網絡模型及其相關參數,利用訓練集數據對預訓練模型進行進一步訓練,使得模型逐步收斂到最佳狀態,在模型收斂后保存新的模型參數;
26、權重首次區分模塊,用于根據新的模型參數,利用重要性評估樣本集合對預訓練模型進行前向傳播和反向傳播,記錄每個權重在反向傳播過程中的梯度絕對值,根據權重的梯度絕對值分布,將權重首次分為高重要性權重和低重要性權重,并通過二值掩碼標識每個權重的重要性;
27、量化處理模塊,用于根據首次區分后的權重,進入迭代過程,在單次迭代中,選取指定量化比例的高重要性權重進行量化操作,對低重要性權重進行重新訓練,訓練結束后對所有未量化權重再次根據梯度絕對值分布進行重要性劃分,并用二值掩碼標識重要性;重復此過程,直到所有權重量化完成;其中在每次量化操作中,采用就近二次冪量化技術,將權重映射到非均勻的二次冪量化網格上,使權重被量化為與原始值最接近的二次冪值;
28、模型保存模塊,用于保存量化后的深度神經網絡模型。
29、本發明還提供一種計算機設備,包括:一個或多個處理器;存儲器;以及一個或多個程序,其中所述一個或多個程序被存儲在所述存儲器中,并且被配置為由所述一個或多個處理器執行,所述程序被處理器執行時實現如上所述的基于參數量化的深度神經網絡模型壓縮方法的步驟。
30、本發明還提供一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現如上所述的基于參數量化的深度神經網絡模型壓縮方法的步驟。
31、有益效果:本發明的技術方案通過精確的參數選擇和量化策略,實現了模型體積的有效壓縮,并確保了模型在邊緣設備上的高效部署,為深度學習技術在資源受限環境中的應用提供了重要支持。此外,本發明還考慮了量化過程中的誤差累積問題,通過引入誤差補償機制,進一步提升了量化后模型的穩定性和可靠性。這不僅使得邊緣設備能夠更好地適應復雜的深度學習任務,還為未來的智能設備普及和應用奠定了堅實的基礎。