{"notes":[{"id":"classic-cnns/convnets-match-vits","category":"classic-cnns","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"ConvNets Match ViTs","subtitle":"苦い教訓","author":"Z. Yuan","paperDate":"2023-10-25","publishedOn":"2025-11-17","paperTitle":"ConvNets Match Vision Transformers at Scale","paperUrl":"https://arxiv.org/abs/2310.16764","bibliography":{"title":"ConvNets Match Vision Transformers at Scale","authors":["Samuel L. Smith","Andrew Brock","Leonard Berrada","Soham De"],"url":"https://arxiv.org/abs/2310.16764","pdfUrl":"https://arxiv.org/pdf/2310.16764v1","codeUrl":null,"preprint":{"id":"2310.16764","submittedOn":"2023-10-25","url":"https://arxiv.org/abs/2310.16764"},"publication":null,"citation":"@misc{classiccnnsconvnetsmatchvits2023,\n  title = {{ConvNets Match Vision Transformers at Scale}},\n  author = {Samuel L. Smith and Andrew Brock and Leonard Berrada and Soham De},\n  year = {2023},\n  eprint = {2310.16764},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2310.16764}\n}\n","citationPath":"/content/papers/citations/classic-cnns/convnets-match-vits.0657c1e27561.bib"},"thumbnail":{"src":"/content/papers/assets/3e69462cce7a0dbd3fc43590ac1f01d23631b4677d04be8bdeae74e6b987e620.png","width":1830,"height":828},"locale":"ja","path":"/content/papers/ja/classic-cnns/convnets-match-vits.f16588c54711.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"実験設定","text":"実験設定","depth":3},{"id":"事前学習損失のスケーリング則","text":"事前学習損失のスケーリング則","depth":3},{"id":"学習率","text":"学習率","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"imagenetでの微調整","text":"ImageNetでの微調整","depth":3},{"id":"最小損失と最良の微調整は一致しないことがある","text":"最小損失と最良の微調整は一致しないことがある","depth":3},{"id":"比較の範囲","text":"比較の範囲","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"vision-transformers/vit","relation":"referenced","topic":""},{"id":"classic-cnns/nfnet","relation":"referenced","topic":""},{"id":"transformers/scaling_laws","relation":"referenced","topic":""}]},{"id":"vision-transformers/vit","category":"vision-transformers","legacyPath":"vision-transformers/2010-vit","legacySlug":"2010-vit","legacyPaths":[],"title":"ViT","subtitle":"新世界の開拓者","author":"Z. Yuan","paperDate":"2020-10-22","publishedOn":"2024-07-01","paperTitle":"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale","paperUrl":"https://arxiv.org/abs/2010.11929","bibliography":{"title":"An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale","authors":["Alexey Dosovitskiy","Lucas Beyer","Alexander Kolesnikov","Dirk Weissenborn","Xiaohua Zhai","Thomas Unterthiner","Mostafa Dehghani","Matthias Minderer","Georg Heigold","Sylvain Gelly","Jakob Uszkoreit","Neil Houlsby"],"url":"https://arxiv.org/abs/2010.11929","pdfUrl":"https://arxiv.org/pdf/2010.11929","codeUrl":null,"preprint":{"id":"2010.11929","submittedOn":"2020-10-22","url":"https://arxiv.org/abs/2010.11929"},"publication":{"venue":"ICLR","year":2021,"kind":"conference","url":"https://openreview.net/pdf?id=YicbFdNTTy"},"citation":"@misc{visiontransformersvit2020,\n  title = {{An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale}},\n  author = {Alexey Dosovitskiy and Lucas Beyer and Alexander Kolesnikov and Dirk Weissenborn and Xiaohua Zhai and Thomas Unterthiner and Mostafa Dehghani and Matthias Minderer and Georg Heigold and Sylvain Gelly and Jakob Uszkoreit and Neil Houlsby},\n  year = {2020},\n  eprint = {2010.11929},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2010.11929}\n}\n","citationPath":"/content/papers/citations/vision-transformers/vit.8a478b78ec38.bib"},"thumbnail":{"src":"/content/papers/assets/82fb5d2f7ce623daf8d9ce146f096d22f2fb17d2532c5c4d613206f0424904aa.jpg","width":1472,"height":772},"locale":"ja","path":"/content/papers/ja/vision-transformers/vit.a93cefdcc8f6.md","headings":[{"id":"定義問題","text":"定義問題","depth":2},{"id":"解決問題","text":"解決問題","depth":2},{"id":"モデルアーキテクチャ","text":"モデルアーキテクチャ","depth":3},{"id":"patchify","text":"Patchify","depth":3},{"id":"その後は","text":"その後は？","depth":3},{"id":"画像専用の帰納的バイアスが少ない","text":"画像専用の帰納的バイアスが少ない","depth":3},{"id":"事前学習データ規模の影響","text":"事前学習データ規模の影響","depth":3},{"id":"さらに大きくできる","text":"さらに大きくできる","depth":3},{"id":"討論","text":"討論","depth":2},{"id":"vit-が見たものは","text":"ViT が見たものは？","depth":3},{"id":"cls-予測を使うかgap-予測を使うか","text":"[CLS] 予測を使うか、GAP 予測を使うか？","depth":3},{"id":"自己教師あり学習","text":"自己教師あり学習","depth":3},{"id":"その他の注意事項","text":"その他の注意事項","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{"帰納的バイアスなし":"画像専用の帰納的バイアスが少ない","訓練データは大きくなければならない":"事前学習データ規模の影響"},"guide":null,"relatedReading":[{"id":"vision-transformers/deit","relation":"next","topic":"Transformer による視覚表現の学習"},{"id":"vision-transformers/pvt","relation":"comparison","topic":"マルチスケールの視覚 Transformer"},{"id":"vision-transformers/swin-transformer","relation":"comparison","topic":"マルチスケールの視覚 Transformer"}]},{"id":"classic-cnns/nfnet","category":"classic-cnns","legacyPath":"","legacySlug":"","legacyPaths":[],"title":"NFNet","subtitle":"BNのない日々","author":"Z. Yuan","paperDate":"2021-02-11","publishedOn":"2025-01-21","world":"external/nfnet","paperTitle":"High-Performance Large-Scale Image Recognition Without Normalization","paperUrl":"https://arxiv.org/abs/2102.06171","bibliography":{"title":"High-Performance Large-Scale Image Recognition Without Normalization","authors":["Andrew Brock","Soham De","Samuel L. Smith","Karen Simonyan"],"url":"https://arxiv.org/abs/2102.06171","pdfUrl":"https://arxiv.org/pdf/2102.06171v1","codeUrl":null,"preprint":{"id":"2102.06171","submittedOn":"2021-02-11","url":"https://arxiv.org/abs/2102.06171"},"publication":{"venue":"ICML","year":2021,"kind":"conference","url":"https://proceedings.mlr.press/v139/brock21a.html"},"citation":"@misc{classiccnnsnfnet2021,\n  title = {{High-Performance Large-Scale Image Recognition Without Normalization}},\n  author = {Andrew Brock and Soham De and Samuel L. Smith and Karen Simonyan},\n  year = {2021},\n  eprint = {2102.06171},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2102.06171}\n}\n","citationPath":"/content/papers/citations/classic-cnns/nfnet.91baba59df96.bib"},"thumbnail":{"src":"/content/papers/assets/7552bff30433f4f33bec5edb2421acd94d61d452888dde6df17557778e8fb1c6.png","width":1004,"height":783},"locale":"ja","path":"/content/papers/ja/classic-cnns/nfnet.b4620c75dadb.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"batchnormは何をしてくれていたのか","text":"BatchNormは何をしてくれていたのか","depth":3},{"id":"平均シフトはどう見えるのか","text":"平均シフトはどう見えるのか","depth":3},{"id":"問題の解決","text":"問題の解決","depth":2},{"id":"まずnf-resnetを押さえておく","text":"まずNF-ResNetを押さえておく","depth":3},{"id":"適応的勾配クリッピング","text":"適応的勾配クリッピング","depth":3},{"id":"nfnetのアーキテクチャ","text":"NFNetのアーキテクチャ","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"各変更の寄与","text":"各変更の寄与","depth":3},{"id":"bnを外すと本当に速いのか","text":"BNを外すと本当に速いのか","depth":3},{"id":"ほかのモデルと比べる","text":"ほかのモデルと比べる","depth":3},{"id":"事前学習してから微調整する","text":"事前学習してから微調整する","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{},"guide":null,"relatedReading":[{"id":"normalization/batchnorm","relation":"referenced","topic":""}]},{"id":"transformers/scaling_laws","category":"transformers","legacyPath":"transformers/2001-scaling_laws","legacySlug":"2001-scaling_laws","legacyPaths":[],"title":"Scaling Laws","subtitle":"モデルのスケーリング法則","author":"Z. Yuan","paperDate":"2020-01-23","publishedOn":"2024-05-24","paperTitle":"Scaling Laws for Neural Language Models","paperUrl":"https://arxiv.org/abs/2001.08361","bibliography":{"title":"Scaling Laws for Neural Language Models","authors":["Jared Kaplan","Sam McCandlish","Tom Henighan","Tom B. Brown","Benjamin Chess","Rewon Child","Scott Gray","Alec Radford","Jeffrey Wu","Dario Amodei"],"url":"https://arxiv.org/abs/2001.08361","pdfUrl":"https://arxiv.org/pdf/2001.08361","codeUrl":null,"preprint":{"id":"2001.08361","submittedOn":"2020-01-23","url":"https://arxiv.org/abs/2001.08361"},"publication":null,"citation":"@misc{transformersscalinglaws2020,\n  title = {{Scaling Laws for Neural Language Models}},\n  author = {Jared Kaplan and Sam McCandlish and Tom Henighan and Tom B. Brown and Benjamin Chess and Rewon Child and Scott Gray and Alec Radford and Jeffrey Wu and Dario Amodei},\n  year = {2020},\n  eprint = {2001.08361},\n  archivePrefix = {arXiv},\n  url = {https://arxiv.org/abs/2001.08361}\n}\n","citationPath":"/content/papers/citations/transformers/scaling_laws.a1ab0069ac66.bib"},"thumbnail":{"src":"/content/papers/assets/1a680a937f0c09dd160f2661fc04c4598f9bec153e122a7b92c264ef213558c1.jpg","width":1696,"height":544},"locale":"ja","path":"/content/papers/ja/transformers/scaling_laws.5265df1c58ba.md","headings":[{"id":"問題の定義","text":"問題の定義","depth":2},{"id":"解決方法","text":"解決方法","depth":2},{"id":"訓練過程","text":"訓練過程","depth":3},{"id":"データセット","text":"データセット","depth":3},{"id":"変化要因","text":"変化要因","depth":3},{"id":"考察","text":"考察","depth":2},{"id":"規模の重要性","text":"規模の重要性","depth":3},{"id":"べき乗則","text":"べき乗則","depth":3},{"id":"過剰適合の普遍性","text":"過剰適合の普遍性","depth":3},{"id":"テストパフォーマンスと下流タスクのパフォーマンス","text":"テストパフォーマンスと下流タスクのパフォーマンス","depth":3},{"id":"サンプル効率","text":"サンプル効率","depth":3},{"id":"収束は非効率的なプロセス","text":"収束は非効率的なプロセス","depth":3},{"id":"最適なバッチサイズ","text":"最適なバッチサイズ","depth":3},{"id":"結論","text":"結論","depth":2}],"anchorAliases":{"解決問題":"解決方法","討論":"考察","規模大於一切":"規模の重要性","冪定律":"べき乗則"},"guide":null,"relatedReading":[{"id":"transformers/gpt_3","relation":"background","topic":"モデル規模と学習データ量の配分"},{"id":"transformers/chinchilla","relation":"next","topic":"モデル規模と学習データ量の配分"}]}],"text":"「畳み込みネットワークは中小規模のデータセットでは良い性能を示すが、ウェブ規模のデータになるとVision Transformerに及ばない。」\n\n論文はこの見方から始まります。多くの研究者がそう信じている、と著者は述べています。ViTは10億を超えるパラメータへ拡大し、数十億枚の画像で事前学習されてきました。一方、畳み込みネットワークを同じ規模で学習した例はほとんどありません。\n\n\n> [!TIP]\n> \n> ViTが画像をpatchに分けてTransformerに渡す仕組みは、こちらで読めます。\n> \n> - **[[20.10] ViT：新世界の開拓者](/blog/papers/vision-transformers/vit)**\n\n\nこの研究はGoogle DeepMindによるもので、著者はSamuel L. Smith、Andrew Brock、Leonard Berrada、Soham Deです。Andrew BrockはNFNetの筆頭著者でもあります。本文はわずか4ページで、謝辞でも著者自身がnoteと呼んでいます。問うのは1つだけです。畳み込みネットワークにViTと同程度の事前学習計算量を与えても、ViTのほうが優れているのでしょうか。\n\n## 問題の定義\n\n著者は、この見方を支持する証拠は実際には乏しいと考えています。\n\n第一に、多くのViT論文が比較対象に使っている畳み込みネットワークは初期のResNetです。新しいレシピを古い基準と比較しています。\n\n第二に、計算資源の差が大きすぎます。最も強力なViTの事前学習は50万TPU-v3 core hoursを超え、畳み込みネットワークに使われてきた事前学習計算量を大幅に上回っています。\n\nそこで著者は、構造も学習手順も変えず、学習率やepoch数といった単純なハイパーパラメータだけを調整し、NFNetを同じ規模で学習して何が起こるかを確かめます。NFNetは2021年の純粋な畳み込みネットワークで、初期のViT論文とほぼ同時期に発表されました。著者は、ImageNetで最高成績を更新した最後の畳み込みネットワークだと表現しています。\n\n\n> [!TIP]\n> \n> NFNetはBatchNormを取り除き、適応的勾配クリッピングで大きなバッチの学習を支えます。詳しくはこちらを参照してください。\n> \n> - **[[21.02] NFNet：BNのない日々](/blog/papers/classic-cnns/nfnet)**\n\n\n## 問題の解決\n\n### 実験設定\n\n事前学習データはJFT-4Bで、約40億枚のラベル付き画像、3万クラスからなります。学習前にImageNetの学習セットや検証セットとほぼ重複する画像を取り除いています。このデータセットは非公開です。\n\nモデルには、深さや幅が異なるNFNetファミリーの各版を使います。F1の深さはF0の2倍、F3はF1の2倍、F7はさらにF3の2倍です。F3+とF7+では深さを変えず、幅を広げています。\n\n各モデルを0.25〜8 epochの範囲で複数回学習し、学習率にはcosine減衰を使います。最適化器はモメンタム付きSGDとNFNet本来の適応的勾配クリッピング（AGC）で、バッチ4096、学習解像度224×224です。\n\n計算量はTPU-v4 core hoursで表し、0.4k〜110kの範囲です。TPU-v4の1コアの理論演算性能はTPU-v3のおよそ2倍で、メモリは同程度です。そのためViT論文のTPU-v3の数値と比べるには換算が必要になります。これについては後で触れます。\n\n### 事前学習損失のスケーリング則\n\n[![原論文Figure 2。両対数グラフで、横軸は事前学習のTPU-v4 core hours（約10³〜10⁵）、縦軸はJFT-4Bのホールドアウトセットでの検証損失（約2.4〜3.0）。F0、F1、F3、F3+、F7、F7+の6モデルにそれぞれ折れ線があり、各点は異なるepoch数を示す。曲線は全体として左上から右下へ向かう同じ直線に沿い、F7+は途中がやや不規則。](/content/papers/assets/2fa2168f7bc3a058a806eeda379d056c232c85461c0928339b15af2ecdd2da7b.png)](/content/papers/assets/2fa2168f7bc3a058a806eeda379d056c232c85461c0928339b15af2ecdd2da7b.png)\n\n*Smithらの原論文Figure 2。[**PDF 3ページ**](https://arxiv.org/pdf/2310.16764v1#page=3)より。原図のキャプションは省略。*\n\n各折れ線が1つのモデルで、その上の点が異なるepoch数に対応します。両軸は対数目盛で、すべての曲線の下縁はおおむね一直線に並びます。つまり検証損失と計算量にはべき乗関係があります。言語モデルのスケーリング則と同じ形がNFNetにも現れています。\n\n各計算予算に対し、損失を最小にするモデルとepoch数の組があります。著者は両方が一緒に大きくなることを見つけました。経験則として、モデルサイズと学習epoch数を同じ速度で増やすとよく、言語モデルでのChinchillaの結論とも一致します。計算量が約5k TPU-v4 core hoursを超えると、最適なepoch数は1を超えます。\n\nF7+の線は少し不規則です。著者によると、学習を中断して再開した場合、データ読み込み処理では各画像を1 epochでちょうど1回ずつ見ることが保証されません。何度か再開すると、一部のサンプルを見る回数が少なくなります。\n\n\n> [!TIP]\n> \n> 言語モデルのスケーリング則とChinchillaについては、こちらのノートを参照してください。\n> \n> - **[[20.01] Scaling Laws：モデルのスケーリング法則](/blog/papers/transformers/scaling_laws)**\n> - **[[22.03] Chinchilla：チンチラの瞳](/blog/papers/transformers/chinchilla)**\n\n\n### 学習率\n\n[![原論文Figure 3。横軸は学習epoch数（0.25〜8、対数目盛）、縦軸は最適学習率（0.4〜1.6）。F0、F3、F7+の3本の線は、0.25〜1 epochではすべて1.6。F7+の破線は2 epochで0.8、4 epochで0.4へ下がる。F3は2〜4 epochで0.8、8 epochで0.4。F0は4 epochまで1.6を保ち、8 epochで0.8へ下がる。](/content/papers/assets/554306115d516021efec1a96e4e6c57bb4da8ff8846a0b351408df22429c19a4.png)](/content/papers/assets/554306115d516021efec1a96e4e6c57bb4da8ff8846a0b351408df22429c19a4.png)\n\n*Smithらの原論文Figure 3。[**PDF 3ページ**](https://arxiv.org/pdf/2310.16764v1#page=3)より。原図のキャプションは省略。*\n\n学習率は2倍刻みの対数グリッドで探索します。1 epoch以内なら3モデルとも最適学習率は1.6です。epoch数を増やすと最適学習率は下がり始め、モデルが大きいほど早い段階で下がります。\n\n実用上の価値はこの後半にあります。最適学習率はモデルサイズとepoch数に応じてゆっくり単調に下がるので、実務ではおよそ2回試せば見つけられる、と著者は述べています。\n\n## 考察\n\n### ImageNetでの微調整\n\n事前学習済みモデルをImageNetで50 epoch微調整します。SAM最適化器にstochastic depthとdropoutを組み合わせ、学習解像度384×384、評価解像度480×480とします。\n\n[![原論文Figure 1。両対数グラフで、横軸は事前学習のTPU-v4 core hours（約10³〜10⁵）、縦軸はImageNet top-1誤り率（約9.5%〜14%）。F1、F3、F3+、F7、F7+の5本の折れ線が左上から右下へ伸びる。右下の点のうち茶色の丸はrepeated augmentationを加えたF7+、ピンク、灰色、黄色の星はそれぞれViT-g/14、ViT-G/14、SoViT-400m/14。F7+の終点はこれらの星と同じ高さにある。](/content/papers/assets/3e69462cce7a0dbd3fc43590ac1f01d23631b4677d04be8bdeae74e6b987e620.png)](/content/papers/assets/3e69462cce7a0dbd3fc43590ac1f01d23631b4677d04be8bdeae74e6b987e620.png)\n\n*Smithらの原論文Figure 1。[**PDF 2ページ**](https://arxiv.org/pdf/2310.16764v1#page=2)より。原図のキャプションは省略。*\n\n縦軸は誤り率なので、低いほど良い指標です。事前学習に使う計算量が増えるほど微調整後の誤り率が下がり、すべてのモデルで同じ傾向が見られます。\n\n注目するのは右下の点です。最大のF7+は8 epoch事前学習し、事前学習に約110k、微調整に1.6k TPU-v4 core hoursを使い、ImageNet top-1は90.3%です。微調整時にrepeated augmentationを加えると90.4%になります。比較として、追加データを使わないNFNetの従来の最高記録は86.8%でした。\n\n次にViTを見ます。著者はViT原著者のコードを使ってTPU-v4で学習速度を測り、ViT論文のTPU-v3計算量を換算しました。\n\n| モデル | ImageNet top-1 | 論文が報告した事前学習計算量 | TPU-v4への換算 |\n| --- | ---: | --- | ---: |\n| ViT-g/14 | 90.2% | 210k TPU-v3 core hours | 約120k |\n| ViT-G/14 | 90.45% | 500k TPU-v3 core hours超 | 約280k |\n| SoViT-400m/14 | 90.3% | 230k TPU-v3 core hours | 約130k |\n| NFNet-F7+ | 90.3% | — | 約110k |\n| NFNet-F7+（RAあり） | 90.4% | — | 約110k |\n\n*表：原論文3ページの本文から整理。ViTの事前学習データはJFT-3B、NFNetはJFT-4B。*\n\n計算量が同程度なら、精度も同程度です。ViT-G/14は0.05ポイント高い一方、F7+の2.5倍の計算量を使います。\n\n### 最小損失と最良の微調整は一致しないことがある\n\nもう1つ観察があります。事前学習計算量を固定したとき、JFT-4Bの検証損失が最小のモデルが、微調整後のImageNetでも最良になるとは限りません。微調整では「少し大きめのモデルを、少し少なめのepoch数で学習する」ほうが好まれ、ときには事前学習の学習率を少し高くするほうが良い場合もあります。著者は、大きいモデルには余裕があり、新しいタスクへ適応しやすいからだと説明します。\n\nスケーリング則でモデルを選びたい人には注意点です。予測しているのは事前学習損失であり、最終的に重視する下流性能では最適点が少しずれます。\n\n### 比較の範囲\n\nこの比較には、いくつか押さえておく条件があります。\n\nViT側の精度と計算量は原論文から取り、同じ手順で再学習していません。計算量は著者の測定に基づく推定で、NFNet自体もTPU-v4向けに最適化された構造です。著者も、ほかのハードウェアでは性能が落ちることを認めています。比較タスクはImageNet分類の微調整だけで、物体検出、セグメンテーション、マルチモーダルは含みません。JFT-4Bは非公開で、コードや重みも提供されていないため、外部から再現できません。\n\n著者自身の結論も慎重です。公平に比較すれば、事前学習済みViTが事前学習済み畳み込みネットワークより優れているという強い証拠はない、という主張です。同時に、異なるモダリティで同じモデル部品を共有できるなど、特定の状況ではViTに実用上の利点があることも認めています。\n\n## 結論\n\n著者は考察の冒頭で、この研究がRich Suttonの「苦い教訓」を補強すると述べています。モデルが適切に設計され、十分な表現力と安定した勾配伝播があれば、性能を主に決めるのは学習の計算資源とデータです。\n\nNFNetは構造を一切変えず、ViTと同程度の計算資源を得ただけでViTに追いつきました。何年も続いた構造論争に対して、この論文はまず予算をそろえようと答えています。\n\nただし大多数の人にとって、この教訓はもう少し苦いものです。JFT-4BはGoogle内部にしかなく、110k TPU-v4 core hoursも一般的な研究室が確保できる予算ではありません。\n","imageSizes":{"/content/papers/assets/2fa2168f7bc3a058a806eeda379d056c232c85461c0928339b15af2ecdd2da7b.png":{"width":942,"height":636},"/content/papers/assets/554306115d516021efec1a96e4e6c57bb4da8ff8846a0b351408df22429c19a4.png":{"width":954,"height":636},"/content/papers/assets/3e69462cce7a0dbd3fc43590ac1f01d23631b4677d04be8bdeae74e6b987e620.png":{"width":1830,"height":828}}}
