Data Cleansing for Models Trained with SGD

Data Cleansing for Models Trained with SGD

1. どんなもの?

  • ドメイン知識なしにデータクレンジングを行うための手法
  • NNをSGDで学習する際に,パラメータの変動をトレースすることであるデータを学習に使わなかった際の効果を算出する

2. 先行研究と比べてどこがすごい?

  • ドメイン知識を必要としない
  • 非凸な関数(NN)に適用可能
  • データを除いて再学習して精度がどう変わるか観察する のような再学習を必要としない

3. 技術や手法の"キモ"はどこ?

  • SGDで更新中のパラメータをトレースし,あるデータを学習に使わなかった際の効果を算出する

変数の定義

sybmol description
$ D \coloneqq \{ z_n = (x_n, y_n) \}^N_{n=1} $ データセット.データとラベルの集合
$ l $ loss関数
$ f $ ニューラルネットワーク
$ \theta $ パラメータ

SGD

  • SGDにおける学習問題は

  • lossの勾配を定義

SGD-influence

  • $j$番目のデータないときのSGDの更新は

  • SGD-influenceを以下で定義

  • $u \in \mathcal{R}^p$に対して,Linear Influence Estimator(LIE)を定義(内積計算)

    • $u$として識別結果の勾配$\nabla_\theta f(x; \theta^{[T]})$やロス関数の勾配$\nabla_\theta l(x; \theta^{[T]})$を用いる
    • 以下ではロス関数の勾配$\nabla_\theta l(x; \theta^{[T]})$を採用
  • $Z_t \coloneqq I - \eta_t H^{[t]}$,データ$z_j$が含まれるSGDのステップを$\pi(j)$とすると

  • SGD-influenceは

Proposed Estimator

  • $l(z;\theta)$が2段階微分可能であると仮定 → テイラー展開

    • $H^{[t]}$はLossのHessian
  • SGD-influenceは以下で近似できる

Proposed Method for LIE

  • Multi-epochに拡張すると,($K$はEpoch数)

  • $u^{[t]} \coloneqq Z_{t+1}Z_{t+2} \cdots Z_{T-1}u$ とすると

  • SGDをトレースして,$u^{[t]}$を更新する

  • SGDのTrainとTestのアルゴリズムは

4. どうやって有効だと検証した?

  • True Linear Influence(データを除いて再学習して精度がどう変わるか)と比較
    • 既存手法に比べて綺麗に相関があることを確認
  • MNISTとCifar10でデータクレンジングした結果
    • Approxは恐らく,最終Epochのみに対してLinear Influence Estimationするモデル
    • MNISTとCifar10ともにクレンジングにより精度向上を確認
  • 実際にクレンジングによって削除されたサンプル

5. 議論はあるか?

  • Approxとは?
  • 全イテレーションの学習重みを保存する必要あり

6. 次に読むべき論文はある?

Avatar
中塚 俊介
R&D Engineer

My research interests are in computer vision, especially in anomaly detection and XAI.

comments powered by Disqus