原論文
- Early Convolutions Help Transformers See Better
https://arxiv.org/abs/2106.14881
関連研究
Vison Transformerの解説
https://qiita.com/wakanomi/items/55bba80338615c7cce73
CNN+ViTモデルの傾向【サーベイ】
https://qiita.com/wakayama_90b/items/96bf5d32b09cb0041c39
結論
ViTはCNNと比較して問題点が4つある.
- lrとwdのハイパーパラメータの頑健性が低い
- 収束が遅い
- オプティマイザーのAdamWとSGDの設定の頑健性が低い
- ImageNetでCNNの精度を越せない
この問題をViTのパッチ分割して線形射影を行う処理を5から7層の畳み込みの処理に変更することによって解決する.
概要
ViTの原論文にHybrid ViTの説明がある.Hybrid ViTはパッチの埋め込み部分をResNetのステージ3(バッチノルムをグループノルムに変更した3層の畳み込みが(3,4,9))までの40層を超える畳み込みを行なっている.しかし,これには多くのパラメータが必要である.また,ViTのパッチ分割は16x16で分割(16カーネル,16ストライド)しているとしたら,畳み込み的に考えると大きすぎる.そこで,パッチ分割を少数の積み重ねられたストライド2の3×3畳み込みで置き換えた単純な対応策と比較し,最適化挙動を分析した.SAの処理の前に畳み込みの処理をするだけで,上記のViTの問題4つを解決する.
モデル構造
基本的なモデル構造はViTと変わりないが,パッチ特徴量を畳み込みによって計算されていることと,そこに使う計算量を補うために,Transformerブロックの数を1つ減らしている.左が通常のViT,右が提案されたモデルで,変更点を青で示す.
実験
ImageNetと収束
3つの図はモデルの大きさ別で比較する.
ImageNet-1kで今回の提案モデル(ViTc)はViT(ViTp)とCNNベースモデル(RegNetY)と比較して,精度を落とすことなく,ViTpと比較して早く収束する傾向が見られる(通常のViTより収束が早い).
また,ImageNet-21kでも有効である結果も示している.
オプティマイザーを変更
上向き三角がAdamW,下向き三角がSGDを示す.
通常,オプティマイザーは人手で決定するため,オプティマイザーに影響しすぎるモデルは人任せな感じでよろしくない.
ViTpのパッチはオプティマイザーの変更によるギャップが激しく,反対に,ViTcの畳み込みはギャップが解消されている.畳み込みは最先端のRegNetはほぼない(CNNはオプティマイザーを変更受けない)(通常のViTよりオプティマイザーの頑健性が高い).
lrとwdの頑健性
上段にはlrとwdの散布図を示し,中下段にその頑健性を占めす.中下段の図では縦軸の値が高いほど頑健性は高く,ViTcはViTpを上回る性能であり,AdamWの場合は中規模モデルで同程度,大規模モデルでRegNetを上回る性能を示した.
考察
ViTに畳み込み層を5層入れたくらいでViTの性能がかなり向上するのは,ViTの原論文に考察されているViTの特性である「浅い層は局所的な認識,深い層は大局的な認識を好む傾向」の補助(局所的な認識を畳み込み層に任せる)をしてるのかなと思った.
まとめ
今回は,パッチ特徴はConvで抽出するViT Early Convolutions Help Transformers See Betterについて解説した.
lrとwdのハイパーパラメータの頑健性が低い,収束が遅い,オプティマイザーのAdamWとSGDの設定の頑健性が低い,ImageNetでCNNの精度を越せない.これらの問題点をパッチ特徴はConvで抽出して解決する.