論文
・ Year : ECCV2018
・ リンク
・ github
1.どんなものか
data cleansingとは...
データクレンジングとは、モデルの精度を向上させる手法の一つ。
モデルに悪影響のあるインスタンスをのぞく部分集合を特定し精度向上を目指す。
2.先行研究との差分
今までの研究では、モデルが最適化されていること、損失関数が凸性を持つことが条件であった
この論文ではこれらの条件がなくてもデータクレンジングができるアルゴリズム手法を提案している。
3.技術や研究のキモ
Counterfactual SGD
j番目のインスタンスが存在しない状態でのt番目のモデルパラメータ$\theta$の更新 $$ \theta_{-j}^{[t+1]} \longleftarrow \theta_{-j}^{[t]} - \frac{\nu_t}{|S_t|} \sum_{i \in S_t \backslash {j}} g(z_i;\theta_{-j}^{[t]}) $$
SGD-Influence
j番目のインスタンスが存在する場合と,しない状態のt番目のモデルパラメータ$\theta$の差 $$ \theta_{-j}^{[t]} - \theta^{[t]} = \theta[t] $$ これは厳密な 最適解を探索する必要がない場合に非常に有益な影響力の概念である.
Linear Influence Estimation(LIE)
j番目のインスタンスが存在する場合と,しない状態のt番目のモデルパラメータ$\theta$の差 $$ \theta_{-j}^{[t]} - \theta^{[t]} = \theta[t] $$ この方法ではバッチサイズ100の場合であっても計算量が多い. そのため,SGDを複数回実行しなくても良いLIEの推定アルゴリズムを考える.
SGD-influenceの新しい推定値
1インスタンスを抜いて場合,そのインスタンスがある,ない場合の各パラメータ更新量(LIE)を
計算するのは非現実的である.そのため,過去の計算量から最後のT回目のパラメータ更新の結果のみを過去の
情報から計算する.
$$\theta_{-j}^{[t]} - \theta^{[t]} \approx
\frac{\eta_{\pi(j)}}{|S_{\pi(j)}|} Z_{T-1}Z_{T-2}...Z_{\pi(j)+1}
g(z_j;\theta^{[\pi(j)]}) =: \Delta \theta_{-j}
$$
この近似には,損失勾配のテイラー展開の第1項のみを用いて近似する.
近似には,損失値の二階微分であるヘシアン行列の存在を仮定している.
式は以下の通り
$$\frac{1}{|S_t|}\sum_{i \in S_t} (\Delta_{theta} l(z_i ;\theta_{-j}^{[t]})
- (\Delta_{theta} l(z_i ;\theta^{[t]}) ) \approx H^{[t]}(\theta_{-j}^{[t]}-\theta^{[t]})
$$
$$
H^{[t]} := \frac{1}{|S_t|}\sum_{i \in S_t}
\Delta^2_{\theta}l(z_i;\theta^{[t]})
$$
この推定値$\delta \theta^{[t]_{-j}}$については凸性,非凸性に限らず保証できる.
詳細は論文参照.
Kエポック目におけるLIE
Kエポック時点でのSGDに拡張
π1(j), π2(j), ..., πK(j)をインスタンスzjがKエポックのSGDで使われた時の各ステップとする.
kステップ目におけるインスタンスzの持つ影響力は
$$Z_{T-1}Z_{T-2}...Z_{\pi(j)+1}
g(z_j;\theta^{[\pi(j)]}) =: \Delta \theta_{-j}
$$
と既にわかっている.これを合計して以下のように表せる.
$$
\Delta\theta_{-j} =
\sum_{k=1}^K (\prod_{s=1}^{T-{{\pi}_k(j)}-1}
Z_{T-s})\frac{\eta_{\pi_k(j)}} {|S_{\pi_k(j)}|}
g(z_j; \theta^{[{{\pi}_k(j)]}})
$$
ここでクエリベクトルuを$u^{[t]} = Z_{t+1}Z_{t+2}...Z_{T-1}u$とすれば線形影響度は以下の通り
$$
LIE_{-j}^{[T]}(u) = 〈u,\Delta\theta_{-j}〉= \sum_{k=1}^{K}
〈u^{[\pi_k(j)]},\frac{\eta_{\pi_k(j)}}{|S_{\pi_k(j)}|} g(z_j;\theta^{[\pi_k(j)]})〉
$$
4.有効性の証明
Adult, 20Newsgroups, MNISTの3つのデータセットを使用
特に分類問題の結果は以下の通り.計算量の問題からLIEの影響度の計算に用いる
訓練時の情報は1エポック分しか用いていない.
・SGDはエポック数20,
.19エポックの間SGDで学習し,最後の1エポックで
counterfactual SGDを使用
5.議論
ミニバッチと,学習率,その時のパラメータが必要であり,メモリの観点から 実験で十分な手法の評価ができていなさそう,