はじめに
Y. Xia らの
[1] "Learning Discriminative Reconstructions for Unsupervised Outlier Removal"をまとめてみた。
ICCV 2015にacceptされた論文なのでかなり古いが、最近読んでる論文のrelated workによく出てくるので、とりあえずまとめ。
概要
- autoencoderを用いて画像のデータ群から外れ値を取り除くモデル
- まず再構築誤差を用いて正常値と外れ値をざっくり分離する
- ざっくり分離された正常値を用いて再構築誤差を最小化させるよう学習し、分離精度を上げる
- 2と3を繰り返すことで外れ値を取り除いていく
以下の[1]Figure 1 で説明すると

ネット等からクマノミの画像(Positives)を集めたい。スクレイピングしてみるとクマノミ以外の画像の外れ値(Outliers)も含まれてしまう。
この外れ値を自動で取り除くモデル。
アルゴリズム
アルゴリズムの概要は以下の図[1]Figure 5のように Discriminative Labeling と Reconstruction Learning を繰り返す。

Discriminative Labeling
auto-encoder $f$ にミニバッチ ${ x_i }$ を入れ、それぞれの再構築誤差 $\epsilon _i$ を求める。
それぞれのデータをpositive ラベル $y_i = 1$ とoutlier ラベル $y_i = 0$ にわけるが、このとき以下の目的関数 $h$ が最小となるように行う。
\begin{eqnarray}
\min_y h &=& \frac{\sigma_w}{\sigma_t} \\
&=& \frac{\Sigma_{y_i=1} (\epsilon_i - c^{+})^2 + \Sigma_{y_i=0} (\epsilon_i - c^{-})^2}{\Sigma (\epsilon_i - c)^2}
\end{eqnarray}
分母 $\sigma_t$ は再構築誤差 $\epsilon _i$ と全再構築誤差の平均値 $c$ との差を積算したもの。
2行目の分子第1項は positive データに対して再構築誤差 $\epsilon _i$ とその再構築誤差の平均値 $c^{+}$ との差を積算したもの。
2行目の分子第2項は outlier データに対して再構築誤差 $\epsilon _i$ とその再構築誤差の平均値 $c^{-}$ との差を積算したもの。
positive ラベル $y_i = 1$ とoutlier ラベル $y_i = 0$ との分け方によって $h$ の値は変化する。
分子の第1項と分子第2項が小さくなるのは、再構築誤差が小さいもの(positive;$y_i=1$ )と大きいもの(outlier;$y_i=0$)とに、ある閾値でうまく分離した時だろう。
Reconstruction Learning
目的関数は以下。
\mathcal{L}(f) = \frac{1}{n^+} \Sigma_{y_i=1} \epsilon_i + \lambda h
右辺第1項は positive のみを使用した再構築誤差。
右辺第2項は上記の $h$ 。
第1項により positive なデータを再構築するよう学習する。第2項により positive と outlier をより分離するよう学習する。
実験と結果
(a)単純にauto-encoderで学習させる場合、(b)予めpositive と outlier が分かってるとして positive のみで学習させた場合、と(c)本手法、とを比較した結果は以下。

上段から(a), (b), (c)。
それぞれoutlierが10%の場合、30%, 50%, 70%。
(a)の単純にauto-encoderで学習させて閾値で判定する場合は、outlierの割合が高くなると分類が難しくなる。
(b)の予め positive を知っていて、それのみで学習させた場合、当然ながら分類性能が高くなる。
(c)の本手法は、outlierの割合が高い時でも(b)と比肩しうる分類性能である。