オムライスの備忘録

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

【深層学習】FRePo

Index

FRePo

Dataset Distillation の手法のひとつ.

Dataset Distillation / データセット蒸留

Dataset 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) を生成できればよい.

Algorithm

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

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

対応1

1 の課題に対しては、メタ勾配の計算においては、 NN の特徴量抽出部分は、固定して、最終層 (線形分類器) のパラメータのみを対象とする

対応2

2 の課題に対しては、[tex: P{\theta}] からランダムに初期化したモデルのプール (候補) [tex: { \theta{i} }_{i=1}^{m}] を 作成し、そのプールからメタ勾配計算とその更新タイミングごとにサンプリングを行う.

参考

  • Dataset Distillation using Neural Feature Regression

Web サイト