使用機器學習在邊緣設備啟用多個應用程序需要多個特定于任務的持久化模型,而所述模型可用于從計算機視覺(Howard et al.,2019)到自動語音識別等多種任務。但是,多應用和多模型的趨勢受到以下事實的制約:片外存儲器讀取會產(chǎn)生高延遲和電源成本。
在名為《Low-Rank+Sparse Tensor Compression For Neural Networks》的研究論文中,加州大學和Meta組成的團隊把降低內(nèi)存成本作為目標。
在這一領域,低秩張量壓縮是一種流行的方法,它可以實現(xiàn)數(shù)量級壓縮,不過會導致嚴重的精度損失。低秩張量壓縮已經(jīng)獲得了令人印象深刻的壓縮數(shù),并且由于其依賴于標準密集線性代數(shù)運算,它適合于設備加速。然而,它通常應用于大規(guī)模超參數(shù)化架構,如VGG或ResNet。最近的稀疏修剪基準測試研究提出了一個問題:應用于過參數(shù)化架構的壓縮技術可能無法達到SOTA壓縮網(wǎng)絡的Pareto壓縮/精度水準,如EfficientNet。
另外,張量壓縮對神經(jīng)網(wǎng)絡權重強制執(zhí)行低秩因子分解結構。同時,SOTA計算機視覺主干已經(jīng)通過深度可分離卷積利用了這種分解結構。這促使團隊考慮以下問題:低秩張量壓縮如何影響SOTA計算機視覺架構呢?
在論文中,團隊研究了低秩張量壓縮是否可以與稀疏剪枝相結合,分別捕獲互補的粗結構和精細結構,并且實現(xiàn)優(yōu)于稀疏剪枝或單獨的低秩張量因子分解。具體來說,研究人員探索了神經(jīng)網(wǎng)絡權值的兩種低秩加稀疏分解形式。首先考慮附加結構,其中神經(jīng)網(wǎng)絡權值可以分解為低秩分量和稀疏分量之和。其次考慮一個低秩或稀疏結構,其中神經(jīng)網(wǎng)絡權值來自于稀疏修剪權重或低秩權重。
在high level,團隊的算法以一個經(jīng)過訓練的神經(jīng)網(wǎng)絡ft作為輸入,然后通過第一階段和第二階段:低秩加稀疏張量分解;迭代剪枝和微調輸出一個低秩加稀疏張量壓縮的神經(jīng)網(wǎng)絡fs,見圖1。
團隊考慮兩種方法來表示張量A,并假設重建A= H(L,S)結合低秩和稀疏分量,并且在任何前向傳播之前進行。根據(jù)H的具體形式,分別使用S和L直接收縮層激活可能更有效。
稀疏權重S將被迭代剪枝。因此,目標是使用L捕獲A中任何可能的粗粒度結構,并保留S中非常適合稀疏剪枝的精細結構。研究人員描述了兩種分解方法。在執(zhí)行因式分解之前,可以對張量A進行重塑。
團隊報告了在ImageNet-1K上獲得的結果。所有結果都是通過在一臺搭載32個CPU核、8個Tesla V100 GPU和128GB內(nèi)存的機器進行訓練獲得。對每種方法進行50個階段的訓練。每次運行大約需要12小時。所有報告的ImageNet準確度指標均為驗證準確度。
首先,研究人員比較了方法的兩種變體:帶剩余初始化的相加重建和帶掩蔽初始化的掩蔽重建。對于本實驗和所有其他MobileNet實驗,團隊使用動量為0.9的SGD,基礎學習率為0.1,每5個時代應用0.7的衰減。使用{0.5,0.7,0.9}上的小網(wǎng)格搜索選擇衰減率,并為稀疏剪枝的MobileNet-v3-Large基線選擇最佳ImageNet-1K驗證精度。
圖3比較了剩余初始化策略和掩蔽初始化策略的結果。團隊觀察到這兩種策略都沒有明顯的收益;诮Y果,研究人員在剩下的實驗中使用了更簡單的殘差初始化策略和加法重建。
團隊進一步繪制了應用于MobilNetv3小型高效網(wǎng)絡模型的CP格式分解結果。其觀察到,許多層具有較高的相對誤差,但有幾層突出,因為低秩張量分量幾乎完全符合原始張量a。研究人員發(fā)現(xiàn),許多(但不是全部)空間卷積都能通過張量分解很好地擬合,并且相對誤差較小。圖6提供了一個示例,其中給出了MobileNetv3 Small中逐點卷積和空間卷積的代表性示例。
總的來說,團隊的主要貢獻是研究了最近SOTA中保留的用于計算機視覺任務的高效神經(jīng)網(wǎng)絡的低秩結構。研究人員觀察到,建筑設計的趨勢通過構建因子權重從此類網(wǎng)絡中移除了低秩結構。因此,直接應用低秩矩陣和張量方法具有挑戰(zhàn)性。
據(jù)其所知,這項研究是第一次考慮低秩張量壓縮與稀疏剪枝的結合。另外,這是第一次研究依賴于有效深度可分離卷積的SOTA架構的低秩+稀疏權重壓縮。