深度網絡重參數化


最近看知乎推送的CVPR2022的一篇論文的時候發現文章提到了re-parameterized這個詞,搜了一下發現了作者關於重參數化的一個報告,於是簡單記錄了一下~

什么是重參數化(re-parameterized)

常規思想:對於一個卷積層需要的參數是\(D\times C\times K\times K\),訓練出來的參數就是\(D\times C\times K\times K\)

重參數化方法:訓練時用的是另一套不同於\(D\times C\times K\times K\)的參數,訓練完后等價轉換為\(D\times C\times K\times K\)用於推理。

意義:提高模型的性能,改變模型的結構。

關鍵之處:想出重參數化的形式(如何不同於原來的);找到對應的轉換方法;如何利用這種形式達到目的;

作者的ICCV2019的一個工作ACNet:

截屏2022-03-24 16.48.57

訓練時多訓一會,部署時模型跟以前一樣卻能獲得性能提升。

截屏2022-03-24 16.53.54

重參數化的另一個應用是改變模型結構。

背景:Channel pruning

效果:把卷積層輸出通道變小(把層變窄)

難點:CNN的精度與寬度密切相關,如何在減小寬度的時候保證精度不降低則是一個關鍵問題。

給定一個訓練好的模型,通常的做法是:

根據某些標准選擇某些channel,將其剪掉,調整網絡的結構,做fine tune。

加入某種約束,訓練,使得某些channel接近0,剪掉,finetune。

截屏2022-03-24 17.46.03


免責聲明!

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



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