オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Dataset Distillation #まとめ編

Index

Dataset Distillation / データセット蒸留

Dataset Distillation / データセット蒸留は、オリジナルとなる大規模なデータセットから 上手に、必要な情報のみを抽出した少量のデータセットを生成する.

そして、その生成したデータセットでモデルを学習することで学習コストを抑えたり、 データセットの蓄積・共有を容易にすることを目的とする.

Knowledge Distillation のひとつ.

「大規模な元データで学習したモデル」と同じくらいの精度を 「少ない生成された効率的なデータで学習したモデル」で達成することが目的.

  • データセット
    • 元 dataset :  x\ =\ \{\ x_{i}\ \}_{i=1}^{N} もしくは、 T\ =\ \{\ (x_{i},\ y_{i})\ \}_{i=1}^{|T|}
    • 生成した dataset :  S
  • Neural Net Parameter :  \theta
    • 初期パラメータ
  • Algorithm (Function) :  Alg
  • Loss Function :  l もしくは、 L
    •  L\ (\ Alg\ (\ \theta,\ S\ ),\ T)
      • inner-level で得たパラメータを持つ NN をオリジナルのデータセット  T に適用したときの損失
  • 損失の期待値 :  F
    •  F(S)\ =\ E_{\theta\ \sim\ P_{\theta}}\ \left[\ L\ (\ Alg\ (\ \theta,\ S\ ),\ T) \ \right]
      •  P_{\theta} : パラメータ空間


 S^{*}\ =\ \DeclareMathOperator*{\argmin}{arg\,min} \displaystyle \argmin_{S}\ F(S)


損失の期待値である  F(S) を最小化するようなデータセット  S^{*} (outer-level) を生成できればよい.

FRePo / 2022

上の  S^{*} を求めるためのプロセスにおける課題.

  1. outer-level を解くために、inner-level の勾配 (メタ勾配 :  \nabla_{S} ) を求める必要があり、計算コストとメモリが膨大
  2. 少量の生成データに対して、モデルパラメータの学習を行うため過学習しやすい

  3. FRePo

PRO2 / 2023

  • Project and Probe: Sample-Efficient Domain Adaptation by Interpolating Orthogonal Features

参考

  • Dataset Distillation
    • [2018]
    • 2 RELATED WORK
      • Knowledge distillation
    • arxiv.org

  • Dataset Distillation: A Comprehensive Review
    • [2023]
    • 2 RELAED WORKS
      • 2.1 Knowledge Distillation
      • 2.3 Generative Model
    • arxiv.org