Beyer, Zhai and Kolesnikov (2022), Google Research Brain Zürich — ARXIV-2205.01580

Key takeaways

  • The ablation is the paper. ViT-S/16, ImageNet-1k, top-1 at three epoch budgets:

    setting90ep150ep300ep
    all five changes76.578.580.0
    − RandAugment + Mixup73.673.773.7
    sin-cos 2D → learned positions75.078.079.6
    batch 1024 → 409674.777.378.6
    average pooling → [cls] token75.076.978.2
    MLP head → linear head76.778.679.8
    original + RandAugment + Mixup71.674.876.1
    original recipe66.867.267.1
  • The original recipe does not improve with training, and that is the finding. 66.8 → 67.2 → 67.1: it is done by 90 epochs and slightly worse by 300. Every comparison drawn from ViT’s ImageNet-1k numbers was drawn against a configuration that had stopped learning.

  • Augmentation is what buys the use of a longer schedule. Remove RandAugment and Mixup from the improved recipe and the curve flattens in the same way — 73.6 → 73.7 → 73.7. The other four changes raise the level; augmentation is what lets more epochs mean anything. Both are needed and they do different jobs.

  • None of the five changes is novel and none is a regulariser. Batch 1024 rather than 4096; global average pooling rather than a [cls] token; fixed 2D sin-cos position embeddings rather than learned; a small amount of RandAugment (level 10) and Mixup (p = 0.2), explicitly less than prior tuned recipes. “A collection of almost trivial changes can accumulate to an important overall improvement.”

  • One change makes no difference, and they report it. The classification head as a single linear layer versus an MLP with a tanh hidden layer: 76.7 against 76.5. Reported as no significant difference rather than quietly kept.

  • The list of what is absent is deliberate. No dropout, no stochastic depth, no SAM, no CutMix, no repeated augmentation, no blurring, no high-resolution fine-tuning, no checkpoint averaging, no distillation from a teacher. The baseline is defined as much by the omissions as the changes.

  • They keep 1% of train as a minival, and say why: “to encourage the community to stop selecting design choices on the validation (de-facto test) set.” A methodological recommendation smuggled into an experimental setup paragraph.

  • Cost, stated in wall clock on hardware people have. 90 epochs in 6h30 on a TPUv3-8, reaching 76.5% — comparable to the classic ResNet-50 90-epoch baseline. 80% in under a day at 300 epochs.

  • More than top-1. Table 2 adds ReaL and ImageNet-v2: original 66.8 / 72.8 / 52.2 against theirs at 300 epochs, 80.0 / 85.4 / 68.3. The gain is not a single-benchmark artefact.

Standing in the anthology

Unit 2 of #326, reversed from #290’s D-variant declines where it was filed as a variant named “SimpleViT”. It is not a variant. It changes no architecture — it is a negative result about a belief concerning the incumbent, which is the class #290 promoted 2102.11972 for on exactly that reasoning.

What it bears on is SOTA-358, whose first measurement is that ViT-Large is worse than ViT-Base on ImageNet-1k “despite tuned regularisation”. This paper’s abstract names that belief and answers it: the lever was augmentation, not regularisation, and the recipe those numbers came from leaves 13.2 points unclaimed.

What that does and does not do. It does not retest the size crossover — Beyer et al. run ViT-S/16 only, and whether ViT-L would still lose to ViT-B under this recipe is untested. So SOTA-358’s conclusion stands, but it stands on its second measurement rather than its first: the JFT 9M/30M/90M/300M sweep with hyperparameters held fixed, where the comparison is internally consistent and does not depend on anyone having tuned the ImageNet-1k setting well.

extends: LIT-587 — it works on the incumbent’s own weakest reported setting, which the incumbent itself calls an afterthought: “The addition of results when pre-training only on ImageNet-1k was an afterthought, mostly to ablate the effect of data scale.” That sentence is why the gap existed and why nobody noticed for two years.

From LIT-587 it keeps the plain ViT unchanged, at the S/16 size: patches, a linear projection and a standard transformer encoder. Its 66.8% baseline is that paper’s ImageNet-1k recipe run at that size. What it changes is the training around the model, and two of the five changes reverse ViT’s own design choices: global average pooling in place of the [class] token, and fixed 2D sin-cos position embeddings in place of the learned 1D ones. The other three are batch 1024 rather than 4096, and light RandAugment and Mixup.