MobileNet 基線

社群文章 釋出於 2024 年 7 月 26 日

關注我的人都知道,我無法抗拒更新舊基線的機會。

MobileNet-V4 論文釋出時,我注意到他們重新運行了 MobileNet-V1 基線,獲得了 74% 的 ImageNet 準確率。原始模型大約是 71%。這是一個相當大的飛躍。

好奇之下,我仔細研究了他們針對“小型”模型制定的方案,該模型使用了不尋常的最佳化器超引數,將 AdamW 的 beta1 從預設的 0.9 降低到 0.6,使其更接近 RMSProp。此外,對於較小的模型來說,其丟棄率和資料增強程度相當高,但訓練週期非常長(在他們的情況下,ImageNet-1k 訓練了 9600 個週期)。

我決定在 timm 中親自嘗試這些超引數,最初是為了重現 MobileNet-V4-Small 的訓練,我在 2400 個週期(而非 9600 個)成功達到了 73.8% 的準確率,然後我嘗試了 MobileNet-V1,因為我從未在 timm 中使用過該模型。

我的 MobileNet-V1 執行剛剛結束,ImageNet-1k 訓練了 3600 個週期,在 224x224 訓練解析度下,ImageNet 的 top-1 準確率達到 75.4%(256x256 解析度下為 76%)——沒有蒸餾,沒有額外資料。ImageNet-V2、Sketch 等 OOD 資料集的得分看起來相當不錯,因此似乎沒有出現嚴重的過擬合。權重在此:https://huggingface.co/timm/mobilenetv1_100.ra4_e3600_r224_in1k

與其他 MobileNets 比較

我決定用這些超引數嘗試一下舊的 EfficientNet-B0。top-1 準確率達到 78.6%。為了便於理解,B0 訓練的 top-1 準確率如下:

因此,一個純粹的 ImageNet-1k 訓練,沒有蒸餾,也沒有額外資料,僅僅比非常出色的 NoisyStudent 模型低一點點,而後者可以使用 JFT 中的未標註資料。此外,OOD 測試集的分數與 NoisyStudent 相比也保持良好,這同樣令人印象深刻。我實際上認為這個方案可以調整,將 B0 的準確率推到 79%。這次執行的準確率提升很早就停止了,透過調整資料增強和正則化,仍有改進空間。

我的方案與 MobileNet-V4 的超引數有何不同?首先,我使用了 timm;如果你閱讀 Resnet Strikes Back 論文的附錄 A 部分,我詳細介紹了一些相對於所有 Tensorflow 和大多數基於 JAX 的訓練中預設使用的 RandAugment 的修復和改進。我認為原始版本中的一些問題對出色的訓練有害。其他差異呢?

所以,我多次探討的主題(Resnet Strikes Back, https://huggingface.co/collections/timm/searching-for-better-vit-baselines-663eb74f64f847d2f35a9c19, 以及許多 timm 權重)仍然成立,即透過更好的訓練方案,改進舊結果仍有很大的操作空間。

我想知道,在 7-8 年後,透過更好的方案和訓練技術,今天最先進的 100+B 密集型 Transformer 架構還能增加多少改進。

社群

註冊登入 發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.