Auto Byte

專注未來出行及智能汽車科技

微信掃一掃獲取更多資訊

Science AI

關注人工智能與其他前沿技術、基礎學科的交叉研究與融合發展

微信掃一掃獲取更多資訊

機器之心編輯部專欄

CVPR 2022 | ViT版的Slimming來了,原作者團隊打造,參數少,搜索更高效

時隔 5 年,network slimming 原作者團隊打造出了 ViT 版的 slimming,入選 CVPR 2022。

卷積網絡版的 network slimming 在 ICCV 2017 上被提出,作為神經網絡剪枝領域代表性的工作之一,目前已被引用超過 1400 次,五年之后的 CVPR 2022,原作者團隊跟 Meta、印度理工學院等機構的研究者聯合打造了 ViT 版的 slimming,據悉該工作得到了四個審稿人一致推薦接收!


  • 論文地址:https://arxiv.org/pdf/2201.00814.pdf

  • 代碼地址:https://github.com/Arnav0400/ViT-Slim


是什么原因讓 network slimming 的 ViT 版本得到所有審稿人的一致青睞呢,這里還得說一下 network slimming 這種方法的幾個特點,即:簡單 (simple) + 有效 (effective) + 靈活 (flexible)。通過簡單的引入指示因子,slimming 可以邊訓練邊搜索,類似于隱式的參數共享機制,壓縮后的目標網絡結構通過排序指示因子就可獲得,非常高效方便。ViT-Slim 繼承了這些優點,同時針對 ViT 主干網絡結構的特性做出了幾個改進。

在介紹改進前先回顧一下 network slimming 的方法和原理。用一句話概括就是,對于卷積神經網絡,每層每個卷積核都用一個重要性系數去表征它對最后預測結果的貢獻程度,如果這個系數接近于 0,就認為它是沒有貢獻并可以被去掉的。作者通過施加一個正則使得這些系數變得稀疏,同時作者發現由于通常會將卷積核與批量歸一(BN)一起使用,因此可以直接使用 BN 層的縮放系數作為每層卷積的重要性系數,這樣就不需要引入額外的參數了。

對于 ViT Slimming,需要解決的核心問題是如何在沒有 BN 層的情況下設計合適的指示參數來反映不同模塊規模對于整個分類性能的重要程度。文章采用的是通過顯式地定義可導的 soft mask 來確定每個模塊的大小和尺度,整個過程如下圖所示。


ViT Slimming 同時考慮了 ViT 里面三個模塊:輸入 tokens,MHSA 和 MLP 模塊,它的訓練過程可以看成是一個基于權重共享的子網絡搜索過程,主干網的權重可以通過加載預訓練好的模型參數來加快搜索。訓練過程中 soft mask 接近 0 對應的特征相當于動態地被裁剪 / 丟棄了。該方法的優點是只需訓練 / 搜索一次,就可以通過排序 mask 得到無數個子網絡,非常高效靈活。算法優化函數由原始的 cross-entropy 和稀疏正則組成,如下所示:

其中在 ViT 的 MHSA 模塊內部加 soft mask 的處理如下:


在 MLP 模塊加 soft mask 的處理如下:


下面是 ViT-Slim 跟其他一些 ViT 壓縮或者瘦身方法的區別,主要在于搜索方法以及使用范圍的不同。


相比其他方法,ViT Slimming 可以同時減少模型參數量和計算量,同時由于可以繼承已經正常訓練好的模型參數,搜索過程需要的時間非常少,對資源需要也不是很大。

實驗結果

ImageNet-1K 實驗結果:

1. 單個模塊不同 budgets 下的精度:


2. 多個模塊不同 budgets 下的精度:


3. 跟其他 SOTA 方法的性能比較:


可以看出在更少的參數及計算量的條件下,ViT-Slim 可以得到更好的性能。

下游分類任務的結果:


可視化分析:

1. 搜索得到的每個 Attention head 結構:


可以看到搜索得到的 attention head 結構數目呈現中間大,兩邊?。ǜ邔痈用黠@)的現象。

2. 搜索得到的 MLP 維度結構大?。?/section>


可以看到搜索得到的 MLP 結構同樣呈現中間大,兩邊小的現象,這也是一個非常有意思的地方。

更多細節大家可以去看原文和代碼。
理論
暫無評論
暫無評論~
塔城颂嫌租售有限公司 福州郢盛设备机械有限公司| 苏州国美家电服务中心| 激光切割机有限公司| 流程泵有限公司| 上海如画园林绿化工程有限公司| 广州锐搜科技有限公司| 北京创新高农饲料有限公司| 防火门北京有限公司| 广电上海有限公司| 刺绣机有限公司| 684 901 442 297 605