Slide 1

Slide 1 text

ECCV 2022 読み会 CNN vs. ViT 牛久 祥孝 losnuevetoros

Slide 2

Slide 2 text

自己紹介(学職歴) 2013.6~2013.8 Microsoft Research Intern 2014.3 博士(情報理工学)、東京大学 2014.4~2016.3 NTT CS研 研究員 2016.4~2018.9 東京大学 講師 (原田牛久研究室) 2016.9~ 産業技術総合研究所 協力研究員 2016.12~2018.9 国立国語研究所 共同研究員 2018.10~ オムロンサイニックエックス株式会社 Principal Investigator 2019.1~ 株式会社 Ridge-i Chief Research Officer 2020.4~ 津田塾大学 非常勤講師 2021.7~ 東北大学 非常勤講師 2022.1~ 合同会社ナインブルズ 代表 [Ushiku+, ACMMM 2012] [Ushiku+, ICCV 2015] 画像キャプション生成 動画の特定区間と キャプションの相互検索 [Yamaguchi+, ICCV 2017] A guy is skiing with no shirt on and yellow snow pants. A yellow train on the tracks near a train station.

Slide 3

Slide 3 text

自己紹介(その他) 主な学術団体活動 ACM・IEEE・情報処理学会・応用物理学会 一般会員 コンピュータビジョン勉強会@関東 幹事 電子情報通信学会 情報・システムソサイエティ 庶務幹事 著作権管理委員会 委員 代議員 人工知能学会 論文誌編集委員会 編集委員 建築情報学会 理事 日本ディープラーニング協会 有識者会員 共立出版 コンピュータビジョン最前線 編集 主な研究プロジェクト 2022-2025 人と融和して知の創造・越境をするAIロボット JST Moonshot(PM:牛久祥孝) 2021-2025 マテリアル探索空間拡張プラットフォームの構築 JST 未来社会創造事業(代表:長藤圭介) 2017-2020 多様なデータへのキャプションを自動で生成する技術の創出 JST ACT-I(代表:牛久祥孝) 2017-2021 機械可読時代における文字科学の創成と応用展開 JSPS 基盤研究(S)(代表:内田誠一)

Slide 4

Slide 4 text

読書の秋

Slide 5

Slide 5 text

読書の秋

Slide 6

Slide 6 text

読書の秋

Slide 7

Slide 7 text

読書の秋

Slide 8

Slide 8 text

Vision Transformer • 画像からTransformerのみで学習すると – ResNet152層とほぼ同等の精度かつ25%程度の学習時間 – JFT-300Mという大規模データセットが必要 – 知識蒸留を組み合わせて、ImageNetの1000クラス画像データのみの学習でも EfficientNetを超えたDeiTも有名 [Touvron, ICML’21] • エンコーダのみのTransformer – 実はオリジナルのTransformerよりも構造が単純で理解も容易 [Dosovitskiy+, ICLR 2021]

Slide 9

Slide 9 text

Vision Transformerで物体検出やセグメンテーションを行うには [Dosovitskiy+, ICLR’21] • ViTのような粗いパッチだけだと…細かいバウン ディングボックスの位置決めやセグメンテー ションの精度が落ちる • 一方で細かいパッチを多く作ってしまうと、ア テンションの計算で時間がかかる(パッチ数の2 乗オーダー)

Slide 10

Slide 10 text

Swin Transformer • CNNでおなじみのピラミッド構造を持ち込む – アテンション計算を各ローカルウィンドウに限定して計算量削減 – これらのレイヤーと少し区切りをずらしたレイヤーを交互に挟む →ローカルウィンドウを超えた受容野を達成 – 物体検出で評価(セグメンテーションはSwin-Unet [Cao+, 2021]) [Liu+, ICCV 2021] Best paper!

Slide 11

Slide 11 text

Swin TransformerはビジョンのタスクでSoTA ・・・畳込みはオワコンなのか? 識別(ImageNet) 検出・分割(COCO) [Liu+, ICCV 2021] Best paper!

Slide 12

Slide 12 text

本日のテーマ:ViT vs. CNN • 精度の比較 – Conv層をViT前に入れると良いよ! [Xiao+, NeurIPS 2021] – Local AttentionはDepth-wise Convと同じ! [Han+, ICLR 2022] – CNNも頑張るとTransformerを超えるよ! [Liu+, CVPR 2022] • 特徴量の比較 – ViTの特徴量とCNNの特徴量を色々比べた [Raghu+, NeurIPS 2021] – CNNはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] • 頑健性の比較 – 今日のECCV論文

Slide 13

Slide 13 text

本日のテーマ:ViT vs. CNN • 精度の比較 – Conv層をViT前に入れると良いよ! [Xiao+, NeurIPS 2021] – Local AttentionはDepth-wise Convと同じ! [Han+, ICLR 2022] – CNNも頑張るとTransformerを超えるよ! [Liu+, CVPR 2022] • 特徴量の比較 – ViTの特徴量とCNNの特徴量を色々比べた [Raghu+, NeurIPS 2021] – CNNはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] • 頑健性の比較 – 今日のECCV論文 本当は MLP vs. ViT vs. CNN にしたかったけど (発表時間も準備時間も)無理

Slide 14

Slide 14 text

本日のテーマ:ViT vs. CNN • 精度の比較 – Conv層をViT前に入れると良いよ! [Xiao+, NeurIPS 2021] – Local AttentionはDepth-wise Convと同じ! [Han+, ICLR 2022] – CNNも頑張るとTransformerを超えるよ! [Liu+, CVPR 2022] • 特徴量の比較 – ViTの特徴量とCNNの特徴量を色々比べた [Raghu+, NeurIPS 2021] – CNNはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] • 頑健性の比較 – 今日のECCV論文

Slide 15

Slide 15 text

Transformer に conv 層 • pretrained CNN+Transformerという良くある話ではない • Conv 層を先に入れると収束早い(左)+安定性増す(右) [Xiao+, NeurIPS 2021]

Slide 16

Slide 16 text

Local AttentionとDepth-wise Convの関係性 • AttentionとConvの図解 – 縦方向が空間次元、横方向がチャネル次元 – 普通の縦×横の画像ではないので要注意 普通のConv 普通のAttention =Global Attention または MLP-Mixer Local Attention (Swin-Tのやつ) または Depth-wise Conv 1x1 Conv 全結合MLP

Slide 17

Slide 17 text

動的な重みのDepth-wise Conv • Local AttentionとDepth-wise Convの唯一の違い =重み(パラメータ)が動的か静的か • 実験結果(の一部) – Swin TransformerのAttentionをDepth-wise ConvにしたDWNet – Depth-wise Convを動的にした2種のdynamic DWNet CNNとViTで精度がほぼ一緒になった!

Slide 18

Slide 18 text

2020年代のConvNet = ConvNeXt • ResNetを拡張したConvNeXt モダンな – データ拡張 – Depth-wise conv – 活性化関数 – 正規化 etc. • Swin-Transformerを超えるよ! [Liu+, CVPR 2022]

Slide 19

Slide 19 text

本日のテーマ:ViT vs. CNN • 精度の比較 – Conv層をViT前に入れると良いよ! [Xiao+, NeurIPS 2021] – Local AttentionはDepth-wise Convと同じ! [Han+, ICLR 2022] – CNNも頑張るとTransformerを超えるよ! [Liu+, CVPR 2022] • 特徴量の比較 – ViTの特徴量とCNNの特徴量を色々比べた [Raghu+, NeurIPS 2021] – CNNはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] • 頑健性の比較 – 今日のECCV論文

Slide 20

Slide 20 text

特徴量の比較 • ViTとCNN (ResNet) の途中の層の特徴量の類似度比較 [Raghu+, NeurIPS 2021]

Slide 21

Slide 21 text

特徴量の比較 • ViTとCNN (ResNet) の途中の特徴量の類似度比較 ViTは最初の方の層と最後の方の層でも 特徴量が似ている [Raghu+, NeurIPS 2021]

Slide 22

Slide 22 text

特徴量の比較 • ViTとCNN (ResNet) の途中の特徴量の類似度比較 CNNは最初の方の層と最後の方の層で 特徴が異なってくる様子が見られる [Raghu+, NeurIPS 2021]

Slide 23

Slide 23 text

特徴量の比較 • ViTとCNN (ResNet) の途中の特徴量の類似度比較 • CNNは局所→大域な特徴量を学習 • ViTは最初から大域的な特徴量を学習 [Raghu+, NeurIPS 2021]

Slide 24

Slide 24 text

特徴量の比較 • ViTとCNN (ResNet) の途中の層同士の類似度を直接比較 • ViTの最後の方の層はCNNと異なる特徴量になっている [Raghu+, NeurIPS 2021]

Slide 25

Slide 25 text

特徴量の比較 • 最終層の各位置の特徴量の類似度比較 ViTは位置ごとに ユニークな特徴量を学習 CNNは比較的広範囲で 特徴量が類似 ViTでもCLSトークンを消し Global Average Poolingを 入れると特徴量が類似する [Raghu+, NeurIPS 2021]

Slide 26

Slide 26 text

ViTは損失関数を平坦にするので汎化性も良い [Park+Kim, ICLR 2022] CNNとViTでの 損失関数の様子 ViTの方が 損失関数のヘシアンの 固有値が小さい =より平坦

Slide 27

Slide 27 text

ViTは損失関数を平坦にするので汎化性も良い [Park+Kim, ICLR 2022] CNNとViTでの 損失関数の様子 ViTの方が 損失関数のヘシアンの 固有値が小さい =より平坦 CLSトークンを廃止してGAPにするとより平坦に ViTでは元々はCLS Swin-TではGAP

Slide 28

Slide 28 text

Convはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022]

Slide 29

Slide 29 text

Convはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] ResNetは高周波ノイズに弱いが、 ViTはそれらに頑健

Slide 30

Slide 30 text

ResNetにアテンションブロックを入れるAlterNet • ResNet-50に複数回のアテンションを導入 • 他はResNetと同様(左)だがCIFAR-100で効果あり(右) [Park+Kim, ICLR 2022]

Slide 31

Slide 31 text

本日のテーマ:ViT vs. CNN • 精度の比較 – Conv層をViT前に入れると良いよ! [Xiao+, NeurIPS 2021] – Local AttentionはDepth-wise Convと同じ! [Han+, ICLR 2022] – CNNも頑張るとTransformerを超えるよ! [Liu+, CVPR 2022] • 特徴量の比較 – ViTの特徴量とCNNの特徴量を色々比べた [Raghu+, NeurIPS 2021] – CNNはハイパスフィルタ、ViTはローパスフィルタ [Park+Kim, ICLR 2022] • 頑健性の比較 – 今日のECCV論文

Slide 32

Slide 32 text

某 機械学習の学習におすすめのTwitterアカウントより

Slide 33

Slide 33 text

結局どっちが頑健なのか • TransformerはCNNよりも入力に対する摂動にロバストだよ 2021年3月→[Bhojanapalli+, ICCV 2021] • TransformerはCNNよりも敵対的な摂動にロバストだよ 2021年4月→[Mahmood+, ICCV 2021] • TransformerはCNNよりも自然な摂動にロバストだよ 2021年5月→[Paul+Chen, AAAI 2022] • TransformerとMLPはCNNよりも敵対的摂動にロバストだよ 2021年10月→[Benz+, BMVC 2021] • 分布外データには強いけど、敵対的摂動には大して変わらんよ 2021年11月→[Bai+, NeurIPS 2021] • パッチの摂動が自然ならViTの方が、敵対的ならCNNの方がロバストだよ 2021年11月→[Gu+, ECCV 2022] • パッチの敵対的な摂動だとCNNの方がViTよりもロバストになるよ 2022年3月→[Fu+, ICLR 2022] • 分布外データに対しても変わらんよ 2022年7月→[Pinto+, ECCV 2022] 標準:@mi141より 太字:追加 橙色:ECCVの論文

Slide 34

Slide 34 text

ViTの方がCNNよりロバストって言うけれど • 摂動する大きさを少し大きくしたら両方ともダメになる – ImageNetの検証データ上での比較 [Bai+, NeurIPS 2021]

Slide 35

Slide 35 text

ViTの方がCNNよりロバストって言うけれど • 敵対的なサンプルを学習するとCNNがダメになる • ように見えるけど… [Bai+, NeurIPS 2021]

Slide 36

Slide 36 text

ViTの方がCNNよりロバストって言うけれど • 敵対的なサンプルを学習するとCNNがダメになる • ように見えるけど… • 活性化関数をReLU→GELUにしたらCNNでもロバストだった [Bai+, NeurIPS 2021]

Slide 37

Slide 37 text

ViTの方がCNNよりロバストって言うけれど • PatchAttack: パッチのテクスチャを強化学習によって摂動 [Yang+, ECCV 2020] • おっ、ViTの方がロバストか…? [Bai+, NeurIPS 2021]

Slide 38

Slide 38 text

ViTの方がCNNよりロバストって言うけれど • PatchAttack: パッチのテクスチャを強化学習によって摂動 [Yang+, ECCV 2020] • おっ、ViTの方がロバストか…? • データ拡張手法をViTに合わせたらCNNもロバストだった [Bai+, NeurIPS 2021]

Slide 39

Slide 39 text

パッチによる摂動に注目してみよう • Naturally Corrupted Patch – ViTの方がCNNよりも頑健だった • Adversarial Patch – ViTの方がCNNよりも脆弱だった 両方ともアテンション機構に起因しているっぽい [Gu+, ECCV 2022] CNN ViT

Slide 40

Slide 40 text

パッチによる摂動に注目してみよう • Naturally Corrupted Patch – ViTの方がCNNよりも頑健だった • Adversarial Patch – ViTの方がCNNよりも脆弱だった 両方ともアテンション機構に起因しているっぽい [Gu+, ECCV 2022] 自然な崩壊パッチ? ノイズやブラーなど [Hendrycks+Dietterich, ICLR 2019] CNN ViT

Slide 41

Slide 41 text

守る方法はあるか • ViTは敵対的なパッチにアテンションが集中しがち • であれば、softmaxに温度パラメータを入れてアテンション を分散させよう(単純) – 温度を上げても正答率はあまり変わらない – Fooling Rateは抑制できる [Gu+, ECCV 2022]

Slide 42

Slide 42 text

ちゃんと比較しよう • 学習モデル – BiT [Kolesnikov+, ECCV 2020] • 要するにResNet、いろいろなデータにfine-tuningしやすい工夫入り • ViTと紛らわしいのはどうにかならないだろうか – ConvNeXt [Liu+, CVPR 2022] • 先程紹介した、2020年代のCNN – ViT [Dosovitskiy+, ICLR 2021] – Swin Transformer [Liu+, ICCV 2021] • 学習データと学習方法も統一 – 要するに [Bai+, NeurIPS 2021] を最強のViTとCNNで比較したもの • バイアスの影響、分布外検出、キャリブレーション、誤識別 検出を評価 [Pinto+, ECCV 2022]

Slide 43

Slide 43 text

結論 • TransformerはCNNと変わらない – 共変量シフト条件下で汎化する頑健な特徴に注目する – 代わりに、訓練集合から偽の単純な識別的特徴を選んでしまう脆 弱性がある – アテンションの存在は、より複雑でロバストな特徴の学習を促進 しないのでは • ConvNeXtはアテンションを用いない場合、現在の Transformerよりも優れたロバスト性を示す場合がある – ただし、明確な勝者は存在しない [Pinto+, ECCV 2022]

Slide 44

Slide 44 text

まとめ • ViTとCNNの勝負は今のところ引き分け • 大事なのはアテンションなのか畳み込みなのか、ではないの では MetaFormer [Yu+, CVPR 2022]