Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TeachAugment: Data Augmentation Optimization Us...

kuzma
November 09, 2022

TeachAugment: Data Augmentation Optimization Using Teacher Knowledge (CVPR 2022)

社内の勉強会での発表資料です
CVPR '22のOral採択の論文、"TeachAugment: Data Augmentation Optimization Using Teacher Knowledge"について要約しています

kuzma

November 09, 2022
Tweet

More Decks by kuzma

Other Decks in Technology

Transcript

  1. 3 © Panasonic Connect Co., Ltd. 2022 • 去年の パナAIアドカレで書いたのでよろしければ↓をどうぞ

    (https://qiita.com/kuz44ma69/items/ad5beac17c228e75b8fe) • 性能はほぼ変わらず、探索コストが激減(約1/10^4に) Auto Augmentの進化(1/2) 参考文献: [1] 画像は[1]より引用 ・AA, RA, Fast AAから性能(縦軸)的にはあまり変化なし ※ 縦軸のスケールが細かく、Faster AAがそこまで低い訳でもない ・探索時間(横軸)は大きく変化 AA: 15,000 GPU hour ⇒ DDAS: 1.2 GPU hourまで短縮 ※ AAはP100で計測、DDASは2080 Tiで計測 微分で超高速化 (ECCV 2020) 微分で超高速化 (ECCV 2020) 近似を避けて高精度化 (ICCV 2021) 始祖(CVPR 2019) 毎度のNW学習を 回避し高速化 (NeurIPS2019) 力技(グリッド探索)>AA (NeurIPS2020)
  2. 4 © Panasonic Connect Co., Ltd. 2022 • 性能を上げる話として、Adv.AA (ICLR

    2020)等がある • Adversarial(⇒ロスが大きくなるよう)に拡張し、その状態でロスを最小化 • (計算時間は伸びるが)性能は改善 Auto Augmentの進化(2/2) 参考文献: [6] 画像は[6]より引用 画像は[6]より引用 どのNW構造でも、 AA⇒Adv.AAで2%程度改善している 複数の拡張パラメタでバッチを構築 モデルのロスの値と拡張パラメタの関係をもとに、 ロスの値が大きくなるよう拡張パラメタ予測器を更新
  3. 5 © Panasonic Connect Co., Ltd. 2022 • A Continuous

    Mapping For Augmentation Design, NeurIPS 2021 連続空間での探索になるよう拡張の設計を変更 従来陽に最適な拡張パラメタを求めていたところ、MCMCによる拡張方法のサンプリングの問題に置換 • Deep AutoAugment, ICLR 2022 多段階な拡張でも性能改善が得られるような探索方法の提案 と言っているが、オリジナル画像と拡張画像の勾配の同一性を損失として利用する点の方が面白い 性能は上がるが探索空間が広がり探索時間も増える.(実は深くしなくても結構性能良くもある) • AdaAug: Learning Class- and Instance-adaptive Data Augmentation Policies, ICLR 2022 (クラスと言っているが)サンプル画像に適した拡張の予測器を学習 拡張せずに一旦特徴表現を得て、その特徴表現から拡張パラメタを推定する • TeachAugment: Data Augmentation Optimization Using Teacher Knowledge, CVPR 2022, Oral, Teppei Suzuki 以降、本論文について内容を要約して紹介します 最近のAuto Augment関連論文 参考文献: [2][3][4][5]
  4. 6 © Panasonic Connect Co., Ltd. 2022 • Adv.AAみたいなことをすると、壊れた画像が生成され得る (性能改善するには論文に出てこないハイパラチューニングが必要)

    • 教師モデルが認識できるような画像は壊れた画像ではないはず ⇒ 教師モデルのロスを最小にしつつモデルのロスを最大化する拡張を探す! TeachAugmentでやりたいこと 参考文献: [5] 画像は[5]より引用 色線=識別可否境界 境界左: 識別不可, 画像が×で表現 境界右: 識別可能, 画像が•で表現 従来のAdversarial Augだと、 ロス大を目指すため 識別不可な画像が出来てしまう 教師モデル(青)は識別可能で モデル(赤)は識別不可が◎
  5. 7 © Panasonic Connect Co., Ltd. 2022 • Adv.AAみたいな壊れてそうな画像拡張がなさそう •

    Adv.AAには劣るが、DADAよりは高性能 Adv.AAは学習時間がx8程度に対し、TeachAugmentはx3程度 (DADAは探索時間が別途必要なものの実際の学習より短時間なのでx1程度) TeachAugmentの結果 参考文献: [5] 画像は[5]より引用 画像は[5]より引用
  6. 8 © Panasonic Connect Co., Ltd. 2022 • : データ拡張パラメタ予測関数のパラメタ

    • :パラメタ のデータ拡張関数 • : 入力画像 • : 学習したいモデル. はNWのパラメタ • ~ : ( で拡張した画像)を(NW で推論)したロスの期待値 • ~ : 一般的な目的関数 ロスを最小化するNWパラメタ とロスを最大化する を探したいの意 • : 教師モデル. は教師NWのパラメタ • ~ : 提案する目的関数 教師モデルのロスを小さくする要素が追加された! TeachAugmentの詳細: TeachAugment本体(1/2) 参考文献: [5]
  7. 9 © Panasonic Connect Co., Ltd. 2022 • ①モデルを学習、②データ拡張方法を学習の繰り返し (目的関数を2段階で学習している)

    • 実際のプロセスは、①の部分で反復回数 が登場 ある拡張パラメタでモデルが安定するまでモデルを学習しているイメージ TeachAugmentの詳細: TeachAugment本体(2/2) 参考文献: [5] 画像は[5]より引用 拡張パラメタ予測器は固定 モデルパラメタを更新 モデルパラメタは固定 教師モデルと対象モデルで推論 拡張パラメタ予測器を更新 Step 1. に対応 モデルのみ更新 Step 2. に対応 拡張方法のみ更新 画像は[5]より引用 教師をEMAで獲得
  8. 10 © Panasonic Connect Co., Ltd. 2022 • MADAO(WACV 2022,

    MIRU 2020 学生優秀賞)では、 陰関数定理とノイマン級数近似を用いて 二重最適化問題に対し収束保証 • 二重最適化=ハーフパイプのコースと考えると、 横の傾斜(モデル)、縦の傾斜(拡張方法)で、 横の傾斜の一番下(≒モデル収束)だと縦の勾配が正しく分かるから、 inner loopでモデル収束まで待とうよ、くらいのイメージ • MADAOでは、inner loopの回数から、性能と学習時間の関係を報告 それなりに性能変化しており、気にした方が良いパラメタの模様 • 本論文ではEMAで教師モデルを得るために必要という側面もありそう (余談)inner loopについて 参考文献: [11] モデル 拡張
  9. 11 © Panasonic Connect Co., Ltd. 2022 • 従来のデータ拡張は、”拡張方法”(±M度、確率Pで発生)のような形式 例.

    回転(±30度、10%で発生)、ぼけ(カーネルサイズ3、20%で発生) • 提案では色変換と幾何変換を考え、各変換パラメタをNNで推定 • メリット: ①backpropで簡単に更新、②探索空間を限定し収束安定化 • 発生確率 の学習の仕組みは従来法のFater AAやDADAと同じ TeachAugmentの詳細: 拡張方法をNNにベースに変えたよ!! 参考文献: [5] 画像は[5]より引用
  10. 12 © Panasonic Connect Co., Ltd. 2022 • 拡張処理は「各ピクセル値をαでスケーリングし、 βを足す」

    ⇒ 拡張関数 : αとβを推定してくれるNN(+上記拡張処理) • NNは2つのMLPで構成 – NN1. ピクセル(RGB)から(𝛼 , 𝛽 )を予測 – NN2. ノイズから(𝛼 , 𝛽 )を予測 ※ RGBに等しくかかる 色変換の詳細 参考文献: [5] αとβは3次元ベクトル α: スケーリング β: シフト zは乱数 tは三角波の関数 cはラベルベクトル 画像は[5]より引用 NN1 NN2 RGBそれぞれに対し、異なるスケールとシフトが求まる RGB全てに対し、同一のスケールとシフトが求まる シグモイド関数で整えて出力
  11. 13 © Panasonic Connect Co., Ltd. 2022 • 拡張処理は「アフィン変換」 ⇒

    拡張関数 : アフィン行列を推定してくれるNN(+上記拡張処理) • NNはMLPで構成 – ノイズからアフィン行列Aを予測 • ほぼSpatial Transformer Networks(NIPS 2015) (ノイズ入力が違い) 幾何変換の詳細 参考文献: [5][13] 画像は[5]より引用 NN1 RGB全てに対し、同一のスケールとシフトが求まる シグモイド関数で整えて出力 ×
  12. 14 © Panasonic Connect Co., Ltd. 2022 • iMADAO: 画像事例に応じたデータ拡張戦略の設計手法(MIRU

    2021) 生成モデルっぽい画風変換と幾何変換で表現 幾何変換はSpatial Transformer Network(STN) 画風変換はオリジナル iMADAOでは、画像ごとで適切な拡張は異なるという思想から、 モデル出力を入力として拡張パラメタを決定している(前述のAdaAugと同様の思想) • A Continuous Mapping For Augmentation Design(NeurIPS 2021) 色変換/フィルタリング(ぼけ~先鋭化)/幾何変換/の組合せで表現 各変換のパラメタは数次元で、合計19次元のパラメタで変換を表現 この変換方法にしてランダムな19次元パラメタで学習しただけでも、 (CIFAR-10だと)従来法で探索した拡張よりより性能上がるらしい (余談)他論文でも画像変換方法は検討されている 参考文献: [10][2] 画像は[2]より引用
  13. 15 © Panasonic Connect Co., Ltd. 2022 • Non-saturating loss:

    GANのテクニック – 通常のCE: 𝐿 𝑓 𝑎 𝑥 = ∑ −𝑦 log 𝑓 (𝑎 (𝑥)) – Step 2のCE: 𝐿 𝑓 𝑎 𝑥 = ∑ 𝑦 (1 − log 𝑓 𝑎 𝑥 ) ← モデルの確信度が高すぎてサチるケースの手当 • Experience replay: 強化学習のテクニック – 拡張方法をバッファに溜めて再利用する – 𝑆個のバッファから𝑖番目が選択される確率: 𝑝 = 𝛾 ⇒ 直近が選ばれやすい • Label smoothing: 皆さんご存知と思われるので割愛 • Color regularization: 新規?提案 – 分布外の画像にならないよう、拡張前後でsliced Wasserstein distance(SWD)が小さくなるよう正則化 – 𝐿 𝑥 , 𝑥 = ∑ 𝑆𝑊𝐷( 𝑥 , 𝑥 ). 𝑖:ピクセル番号, 𝑏:画像番号, 𝐵:バッチサイズ – 色変換NNの学習時のみ、この損失を重みづけして追加 TeachAugmentの詳細: 細かいテクニック 参考文献: [5]
  14. 16 © Panasonic Connect Co., Ltd. 2022 • Adv.AAみたいな壊れてそうな画像拡張がなさそう •

    Adv.AAには劣るが、DADAよりは高性能 Adv.AAは学習時間がx8程度に対し、TeachAugmentはx3程度 (DADAは探索時間が別途必要なものの実際の学習より短時間なのでx1程度) TeachAugmentの結果(再掲) 参考文献: [5] 画像は[5]より引用 画像は[5]より引用
  15. 17 © Panasonic Connect Co., Ltd. 2022 • セマセグで使ってみる: 良い感じ

    • SimSiamで使ってみる: (それなりに)良い感じ 実験: セマセグ、SimSiam 参考文献: [5] 画像は[5]より引用
  16. 18 © Panasonic Connect Co., Ltd. 2022 • 教師モデルの影響(Table 1)

    – Pretrainedを使う(同じの、弱いの)、EMAを使うの3択 – EMAが良かった • 細かいテクニックの影響(Table 2) – どれもそれなりに効いてるっぽい(なくすと性能が下がる) – Color regularizationはCIFAR-100だと悪影響(見た目は良さそうだが) 実験(Ablation study): 教師モデル, 細かいテクニック 参考文献: [5] 画像は[5]より引用 画像は[5]より引用 対象と同じ 弱い
  17. 19 © Panasonic Connect Co., Ltd. 2022 • 損失関数の影響(Table 3)

    – 提案手法の損失関数を、Adv.AA, PAの損失関数に変更 • Adv.AA: max min 𝐿(𝑓 (𝑎 (𝑥))) • PA: min 𝐿(𝑓 (𝑎 (𝑥))), min 𝐿(𝑓 (𝑎 (𝑥))) + 1 − exp 𝐿 𝑓 𝑎 𝑥 − 𝜌𝐿(𝑓 (𝑥)) – Adv.AA < PA < 提案手法 (⇒従来法はハイパラ調整の賜物??) • NNベースな拡張方法の有効性(Table 4) – Faster AA(DDA), Online Augmentの拡張方法をNNベースに変更 – Table 5参照するとオリジナルの方が強く、微妙な結果 必ずしも最良の拡張方法とは限らない模様 実験(Ablation study): 損失関数, NNベースな拡張 参考文献: [5] 画像は[5]より引用 画像は[5]より引用
  18. 20 © Panasonic Connect Co., Ltd. 2022 • Circumventing Outliers

    of AutoAugment with Knowledge Distillation • 教師モデルの出力と大きくズレるような変換はおかしいはず ⇒ 教師とターゲットの出力のKL div.で正則化し変な拡張の影響を緩和 • HuaweiのAutoMLライブラリのVegaでもサポート予定 (余談)類似アイディアはECCV 2020で提案されている 参考文献: [7][8] 画像は[7]より引用 拡張のせいで、不自然に “cat”, “dog”が高くなる この状態に過学習 (foxをcat/dogの間違いを抑制) することを避けたい 教師の出力(=soft label)も 同様に“cat”, “dog”が高いならば 損失が増えない (教師と差がある場合に損失が増す) “cat”っぽい? “dog”っぽい? =教師の出力
  19. 21 © Panasonic Connect Co., Ltd. 2022 • TeachAugmentは教師の出力に近づけてるとも考えられる が、実際に教師と同じモデルにはならない

    ← 陽に教師出力との距離の最小化(≒蒸留)はしていないから? • 素直に教師と近づける以下の損失を使った場合と比較すれば検証可能かも , : KLD/MSE等の距離関数 • EMAを教師として利用した場合に、TeachAugmentが最良 ⇒ 教師との一貫性に基づく正則化と異なる特性がある! • (メモ)前頁の論文は↑の式で(改良)KLDを採用し、 同じWRN-28-10で、TeachAugmentより良好 ※ 色々と条件は異なる 実験(Appendix E.1): 正則化との関係を考える 参考文献: [5] 画像は[5]より引用 KLD(前頁) 2.4 16.2
  20. 22 © Panasonic Connect Co., Ltd. 2022 • まとめ –

    TeachAugment(CVPR 2022, Oral)を紹介 – 新たな損失関数、新たなデータ拡張方法、細かいテクニックで、 通常学習x3の時間でSOTAな性能が得られる – セマセグや自己教師あり学習(SimSiam)でも有効で比較的汎用性高そう – ソースコードも公開されていて試してみたい • 所感 – Ablation studyが充実している. OralにいけるのはTrivial Augment(ICCV 2021, Oral)同様ここが点数高いと思 う(ImageNetとかの結果より先にAblation studyを示してる辺りからも意識の高さを感じる) – MIRU 2021”ニューラルネットワークによる画像認識のためのデータ拡張探索手法の検討”時点では、データ 拡張方法に主眼を置いていた(発展として損失関数の改良を挙げていた). この方針変換にどう至ったのか気に なる – 従来手法の調整が必要なハイパラを問題視しつつ、実は結構調整が必要だったりしないか気になる (この分野、それぞれ細かいところを好きに調整しているので実際に使えるかどうか判断が難しい) まとめと所感 参考文献: [1][9][12]
  21. 23 © Panasonic Connect Co., Ltd. 2022 • [1] Direct

    Differentiable Augmentation Search https://openaccess.thecvf.com/content/ICCV2021/html/Liu_Direct_Differentiable_Augmentation_Search_ICCV_2021_paper.html • [2] A Continuous Mapping For Augmentation Design https://proceedings.neurips.cc/paper/2021/hash/7230b2b03e2da37352abf1a659545b44-Abstract.html • [3] Deep AutoAugment https://openreview.net/forum?id=St-53J9ZARf • [4] AdaAug: Learning Class- and Instance-adaptive Data Augmentation Policies https://openreview.net/forum?id=rWXfFogxRJN • [5] TeachAugment: Data Augmentation Optimization Using Teacher Knowledge https://arxiv.org/abs/2202.12513 • [6] Adversarial AutoAugment https://arxiv.org/abs/1912.11188 • [7] Circumventing Outliers of AutoAugment with Knowledge Distillation https://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123480613.pdf • [8] Vega https://github.com/huawei-noah/vega • [9] ニューラルネットワークによる画像認識のためのデータ拡張探索手法の検討 http://cvim.ipsj.or.jp/MIRU2021/program/ • [10] iMADAO: 画像事例に応じたデータ拡張戦略の設計手法 http://cvim.ipsj.or.jp/MIRU2021/program/ • [11] Meta Approach to Data Augmentation Optimization https://openaccess.thecvf.com/content/WACV2022/papers/Hataya_Meta_Approach_to_Data_Augmentation_Optimization_WACV_2022_paper.pdf • [12] TrivialAugment: Tuning-Free Yet State-of-the-Art Data Augmentation https://openaccess.thecvf.com/content/ICCV2021/html/Muller_TrivialAugment_Tuning-Free_Yet_State-of-the-Art_Data_Augmentation_ICCV_2021_paper.html • [13] Spatial Transformer Networks https://proceedings.neurips.cc/paper/2015/file/33ceb07bf4eeb3da587e268d663aba1a-Paper.pdf 参考文献