Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Large Scale Incremental Learning

349 views

Published on

cvpaper.challenge のCVPR2019 網羅的サーベイ報告会における論文紹介の発表資料です。

  • Be the first to comment

  • Be the first to like this

Large Scale Incremental Learning

  1. 1. 1 Large Scale Incremental Learning Authors: Y. Wu (Northeastern University), Y. Chen (Microsoft Research), et al. Presenter: TERASHITA Naoyuki (Hitachi, Ltd.)
  2. 2. 2. まとめ 2 • 概要 – Incremental Learning と呼ばれる以下のシナリオにおける新規手法提案 • タスク:クラス分類 • データがストリーミングで供給され,クラス数が学習の過程で増加する • 新規クラスの学習時,既存クラスについては一部のデータのみ参照可能 • Contribution – 既存手法の課題である,新規/既存クラス間のサンプル数のImbalanceが 出力に与えるバイアスを,Bias-Correction layerの導入によって補正 • 結果 – State-of-the-Art達成 – クラス数を103~(Large scale)まで増加させる問題設定で顕著な性能向上
  3. 3. 3. Contents 3 1. 背景 1. Catastrophic Forgetting / Lifelong Learning 2. Incremental Learning 2. 提案手法 1. Baseline solution 2. Diagnosis: FC Layer is Biased 3. Bias Correction method 4. Experiments 3. まとめ
  4. 4. 背景 4
  5. 5. 5. Catastrophic Forgetting / Lifelong Learning 5 • Catastrophic Forgetting – 一般的な深層学習では,データセットAで学習されたパラメータを初期値としてデータ セットBで学習すると,Aに対する性能が著しく低下する (ex. A:MNIST → B:Fashion-MNIST) – Catastrophic Forgettingを回避するBest PracticeはABを混ぜて学習 • Lifelong Learning – 人間や動物のように新しいデータに遭遇した時, 過去のデータに対する能力を保ちつつ 新しいデータに対処できるようにしたい model model model
  6. 6. 6. Incremental Learning 6 • Incremental learning – タスク:クラス分類 – データがストリーミングで供給され,クラス数が学習の過程で増加する – 新規クラスの学習時,既存クラスについては一部のデータのみ参照可能
  7. 7. 提案手法 7
  8. 8. 8. 𝑛 𝑐𝑙𝑎𝑠𝑠𝑒𝑠 … 𝑙𝑜𝑔𝑖𝑡𝑠 Baseline solution Step0: 既存クラス1 ~ 𝑛を識別するモデルが学習済み 既存クラスのデータ ෠𝑋 𝑛 = 𝑥𝑖, 𝑦𝑖 , 1 ≤ 𝑖 ≤ 𝑁𝑜𝑙𝑑, 𝑦 ∈ 1, … , 𝑛 が保存されている 新規クラスのデータ𝑋 𝑚 = 𝑥𝑗, 𝑦𝑗 , 1 ≤ 𝑗 ≤ 𝑁𝑛𝑒𝑤, 𝑦 ∈ 𝑛 + 1, … , 𝑚 が新たに得られている (𝑥: 𝑖𝑛𝑝𝑢𝑡, 𝑦: 𝑔𝑟𝑜𝑢𝑛𝑑 𝑡𝑟𝑢𝑡ℎ) ෠𝑋 𝑛 : 既存クラスデータ 𝑋 𝑚 : 新規クラスデータ Ex.) # of classes: 𝑛 → 𝑛 + 𝑚
  9. 9. 9. ො𝑜1 𝑥𝑖 ො𝑜 𝑛 𝑥𝑖 … 𝑥𝑖 ∈ ෠𝑋 𝑛⋃𝑋 𝑚 → … 𝑙𝑜𝑔𝑖𝑡𝑠 Step1: Logitsの計算 𝑥𝑖 ∈ ෠𝑋 𝑛 ⋃𝑋 𝑚 を入力し, 既存クラスに関するのlogits (ソフトマックス層の前の出力) ෝ𝒐𝑖 = ො𝑜1 𝑥𝑖 , … , ො𝑜 𝑛(𝑥𝑖) を 全サンプル分 (ෝ𝒐𝑖~ෝ𝒐 𝑁 𝑜𝑙𝑑+𝑁 𝑛𝑒𝑤 ) 覚えておく Baseline solution ෠𝑋 𝑛 : 既存クラスデータ 𝑋 𝑚 : 新規クラスデータ Ex.) # of classes: 𝑛 → 𝑛 + 𝑚
  10. 10. 10. 𝑚 𝑐𝑙𝑎𝑠𝑠𝑒𝑠 … Step2: ノード追加,パラメータ初期化 新規クラスの数mだけ出力ノードを追加,追加パラメータ初期化 … 𝑙𝑜𝑔𝑖𝑡𝑠 Baseline solution ෠𝑋 𝑛 : 既存クラスデータ 𝑋 𝑚 : 新規クラスデータ Ex.) # of classes: 𝑛 → 𝑛 + 𝑚
  11. 11. 11. 𝜆 = 𝑛 𝑛 + 𝑚 𝐿 = 𝜆𝐿 𝑑 + 1 − 𝜆 𝐿 𝑐, Softmax Cross entropy (𝐿 𝑐) y Distillation loss (𝐿 𝑑) ො𝑜1 𝑥𝑖 ො𝑜 𝑛 𝑥𝑖 … (𝑥, 𝑦) ∈ ෠𝑋 𝑛⋃𝑋 𝑚 → Step3: 学習 覚えておいたlogitsに関するDistillation loss (𝐿 𝑑), ラベル𝑦に基づくSoftmax cross entropy (𝐿 𝑐) を用いて学習 …… 𝑙𝑜𝑔𝑖𝑡𝑠 Baseline solution ෠𝑋 𝑛 : 既存クラスデータ 𝑋 𝑚 : 新規クラスデータ Ex.) # of classes: 𝑛 → 𝑛 + 𝑚
  12. 12. 12. Step4: 既存クラスデータ更新 サンプル数が事前に設定した𝑁𝑜𝑙𝑑となるように各クラスからサンプルを 𝑁 𝑜𝑙𝑑 𝑛+𝑚 個ずつ選択し, 既存クラスデータを更新する ෠𝑋 𝑛+𝑚 = 𝑋|𝑋 ⊂ ෠𝑋 𝑛 ⋃𝑋 𝑚 , #(𝑋𝑖) = 𝑁𝑜𝑙𝑑 𝑛 + 𝑚 …… 𝑙𝑜𝑔𝑖𝑡𝑠 Baseline solution ෠𝑋 𝑛 : 既存クラスデータ 𝑋 𝑚 : 新規クラスデータ Ex.) # of classes: 𝑛 → 𝑛 + 𝑚
  13. 13. 13. Diagnosis: FC Layer is Biased 13 • 筆者らは既存クラス⇔新規クラス間のサンプル数のimbalanceによって出力にバイ アスが生じることに注目 • Baseline solutionでCIFAR-100を用いてクラス数を20ずつ増やす実験を行い, 最終モデルの出力がクラス81-100に偏っていることを示した
  14. 14. 14. Bias Correction method 14 • 出力のバイアスを補正するため,新規クラスのlogits (𝑜 𝑛+1, … , 𝑜 𝑛+𝑚) に対し線 形変換を行う”Bias Correction Layer”を導入 • Baselineと同様に学習した後に,クラス間のサンプル数を揃えたValidation set とSoftmax cross entropyを用いてパラメータ𝛼, 𝛽を学習 他のパラメータは固定。 y Bias Correction Layer Softmax Cross entropy 𝑥, 𝑦 ∈ 𝑉𝑎𝑙𝑖𝑑. 𝑠𝑒𝑡 → …… 𝑙𝑜𝑔𝑖𝑡𝑠
  15. 15. 15. Experiments 15 • ImageNet-100, ImageNet-1000, Celeb-10000で実験 • 既存手法 (iCaRL, EEIL, LwF) と比較しState-of-the-Artを達成 • クラス数を103~ (Large scale) まで増加させる問題設定で顕著な性能向上
  16. 16. まとめ 16
  17. 17. 17. まとめ 17 • 概要 – Incremental Learning と呼ばれる以下のシナリオにおける新規手法提案 • タスク:クラス分類 • データがストリーミングで供給され,クラス数が学習の過程で増加する • 新規クラスの学習時,既存クラスについては一部のデータのみ参照可能 • Contribution – 既存手法の課題である,新規/既存クラス間のサンプル数のImbalanceが 出力に与えるバイアスを,Bias-Correction layerの導入によって補正 • 結果 – State-of-the-Art達成 – クラス数を103~(Large scale)まで増加させる問題設定で顕著な性能向上
  18. 18. 19. 3 types of approaches 19 • Without using old data – 重要な重みの更新に制約を与える手法 – 蒸留を応用する手法 • Using synthetic data – 生成モデルによって既存クラスのデータを生成する • Using exemplars from old data – 少数の既存クラスのデータを用いる – 本論文はこのアプローチに属する

×