Share
Embed
CNN vs. ViT
第57回 コンピュータビジョン勉強会@関東
https://kantocv.connpass.com/event/260132/
で読みました。CNNとViTの争いの現時点の情報をお届けしています。ただECCV 2022の論文を読んだのかと言われると怪しい…(ECCV2022の論文「も」読んだというのが正しい)
Yoshitaka Ushiku PRO
October 22, 2022
Transcript
44 slides
-
自己紹介(学職歴) 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. -
自己紹介(その他) 主な学術団体活動 ACM・IEEE・情報処理学会・応用物理学会 一般会員 コンピュータビジョン勉強会@関東 幹事 電子情報通信学会 情報・システムソサイエティ 庶務幹事 著作権管理委員会
委員 代議員 人工知能学会 論文誌編集委員会 編集委員 建築情報学会 理事 日本ディープラーニング協会 有識者会員 共立出版 コンピュータビジョン最前線 編集 主な研究プロジェクト 2022-2025 人と融和して知の創造・越境をするAIロボット JST Moonshot(PM:牛久祥孝) 2021-2025 マテリアル探索空間拡張プラットフォームの構築 JST 未来社会創造事業(代表:長藤圭介) 2017-2020 多様なデータへのキャプションを自動で生成する技術の創出 JST ACT-I(代表:牛久祥孝) 2017-2021 機械可読時代における文字科学の創成と応用展開 JSPS 基盤研究(S)(代表:内田誠一) -
Vision Transformer • 画像からTransformerのみで学習すると – ResNet152層とほぼ同等の精度かつ25%程度の学習時間 – JFT-300Mという大規模データセットが必要 – 知識蒸留を組み合わせて、ImageNetの1000クラス画像データのみの学習でも
EfficientNetを超えたDeiTも有名 [Touvron, ICML’21] • エンコーダのみのTransformer – 実はオリジナルのTransformerよりも構造が単純で理解も容易 [Dosovitskiy+, ICLR 2021] -
Swin Transformer • CNNでおなじみのピラミッド構造を持ち込む – アテンション計算を各ローカルウィンドウに限定して計算量削減 – これらのレイヤーと少し区切りをずらしたレイヤーを交互に挟む →ローカルウィンドウを超えた受容野を達成 –
物体検出で評価(セグメンテーションはSwin-Unet [Cao+, 2021]) [Liu+, ICCV 2021] Best paper! -
本日のテーマ: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論文 -
本日のテーマ: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 にしたかったけど (発表時間も準備時間も)無理 -
本日のテーマ: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論文 -
Local AttentionとDepth-wise Convの関係性 • AttentionとConvの図解 – 縦方向が空間次元、横方向がチャネル次元 – 普通の縦×横の画像ではないので要注意 普通のConv
普通のAttention =Global Attention または MLP-Mixer Local Attention (Swin-Tのやつ) または Depth-wise Conv 1x1 Conv 全結合MLP -
動的な重みのDepth-wise Conv • Local AttentionとDepth-wise Convの唯一の違い =重み(パラメータ)が動的か静的か • 実験結果(の一部) –
Swin TransformerのAttentionをDepth-wise ConvにしたDWNet – Depth-wise Convを動的にした2種のdynamic DWNet CNNとViTで精度がほぼ一緒になった! -
2020年代のConvNet = ConvNeXt • ResNetを拡張したConvNeXt モダンな – データ拡張 – Depth-wise
conv – 活性化関数 – 正規化 etc. • Swin-Transformerを超えるよ! [Liu+, CVPR 2022] -
本日のテーマ: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論文 -
特徴量の比較 • 最終層の各位置の特徴量の類似度比較 ViTは位置ごとに ユニークな特徴量を学習 CNNは比較的広範囲で 特徴量が類似 ViTでもCLSトークンを消し Global Average
Poolingを 入れると特徴量が類似する [Raghu+, NeurIPS 2021] -
ViTは損失関数を平坦にするので汎化性も良い [Park+Kim, ICLR 2022] CNNとViTでの 損失関数の様子 ViTの方が 損失関数のヘシアンの 固有値が小さい =より平坦
CLSトークンを廃止してGAPにするとより平坦に ViTでは元々はCLS Swin-TではGAP -
本日のテーマ: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論文 -
結局どっちが頑健なのか • 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の論文 -
ViTの方がCNNよりロバストって言うけれど • PatchAttack: パッチのテクスチャを強化学習によって摂動 [Yang+, ECCV 2020] • おっ、ViTの方がロバストか…? •
データ拡張手法をViTに合わせたらCNNもロバストだった [Bai+, NeurIPS 2021] -
パッチによる摂動に注目してみよう • Naturally Corrupted Patch – ViTの方がCNNよりも頑健だった • Adversarial Patch
– ViTの方がCNNよりも脆弱だった 両方ともアテンション機構に起因しているっぽい [Gu+, ECCV 2022] CNN ViT -
パッチによる摂動に注目してみよう • Naturally Corrupted Patch – ViTの方がCNNよりも頑健だった • Adversarial Patch
– ViTの方がCNNよりも脆弱だった 両方ともアテンション機構に起因しているっぽい [Gu+, ECCV 2022] 自然な崩壊パッチ? ノイズやブラーなど [Hendrycks+Dietterich, ICLR 2019] CNN ViT -
守る方法はあるか • ViTは敵対的なパッチにアテンションが集中しがち • であれば、softmaxに温度パラメータを入れてアテンション を分散させよう(単純) – 温度を上げても正答率はあまり変わらない – Fooling
Rateは抑制できる [Gu+, ECCV 2022] -
ちゃんと比較しよう • 学習モデル – 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] -
結論 • TransformerはCNNと変わらない – 共変量シフト条件下で汎化する頑健な特徴に注目する – 代わりに、訓練集合から偽の単純な識別的特徴を選んでしまう脆 弱性がある – アテンションの存在は、より複雑でロバストな特徴の学習を促進
しないのでは • ConvNeXtはアテンションを用いない場合、現在の Transformerよりも優れたロバスト性を示す場合がある – ただし、明確な勝者は存在しない [Pinto+, ECCV 2022]