オートエンコーダを触る機会があったので,メモ
異常検知
- 画像圧縮を通じて画像の特徴量を抽出し,そこから復元する.そのため,入力値に異常があるとうまく画像を復元できない.正解画像との差分を取ることによって異常箇所を検出できる.
再構成誤差
- 入力画像xと復元画像x'の画素値の誤差をピクセル単位で計算する.これを再構成誤差と呼ぶ.ピクセル単位で誤差を計算するのがポイント.
損失関数
- 結論から言うと,BCE(バイナリクロスエントロピー)とMSE(平均二乗誤差)のどちらも使われている.
- 回帰でも分類でもないので,回帰=MSE,分類=BCEの方程式が使えず,混乱した.分類でBCEが用いられる理由は,微分したときにラベルが0の項が消えるため計算がシンプルになるし,出力値が0に近いときは誤差が極端に大きくなるので更新幅が大きく収束が速いから.しかし,このオートエンコーダでは出力層でsigmoidをかませているので出力は0-1であり,正解画像も正規化して0-1にして,誤差を計算しているので,分類とは違ってラベルが0のときはないので特にBCE>MSEとなる理由もない.
- 簡単に比較実験している人がいた.画像オートエンコーダの学習におけるロスの選び方の違い 後編(MIT Places2の場合) - Qiita
- ちなみに,VAEの損失関数では,再構成誤差に加えて,潜在変数が標準正規分布に従うように正則化の誤差も考慮する必要がある(後日まとめたい)