オートエンコーダ

オートエンコーダ（自己符号化器、）とは、機械学習において、ニューラルネットワークを使用した次元圧縮のためのアルゴリズム。2006年にジェフリー・ヒントンらが提案した。
概要.
オートエンコーダは3層ニューラルネットにおいて、入力層と出力層に同じデータを用いて教師なし学習させたものである。教師データが実数値で値域がない場合、出力層の活性化関数は恒等写像、（すなわち出力層は線形変換になる）が選ばれることが多い。中間層の活性化関数も恒等写像を選ぶと結果は主成分分析とほぼ一致する。実用上では、入力と出力の差分をとることで、異常検知に利用されている。
特性と限界.
オートエンコーダは次元圧縮に必要な特性を有するように設計されている。
オートエンコーダは中間層の次元数 formula_1 が入出力層の次元数 formula_2 より小さいように制約されている。なぜなら formula_3 の場合、オートエンコーダは恒等変換のみで再構成誤差ゼロを達成できてしまう。
オートエンコーダは次元圧縮を実現するが、これは良い表現学習を必ずしも意味しない。formula_1 を小さくすることで入力中の情報量が多い（より少量で画像を再構成できる）特徴のみが保存されると期待されるが（c.f. 非可逆圧縮）、これが特徴量として優れているとは一概に言えない。
理論.
AEが再構成および次元圧縮を学習できる理由が理論的に解析されている。
オートエンコーダネットワーク formula_5 はエンコーダネットワーク formula_6 とデコーダネットワーク formula_7 からなる。決定論的な解釈においてAEは「再構成された入力」を直接出力する。すなわち formula_8 である。
確率論的解釈.
AEは確率モデルの観点から次のように定式化できる：
すなわち formula_10 は分布パラメータ formula_11 を出力し分布を介して formula_12 が得られると解釈する。これは深層潜在変数モデルと呼ばれる。AEではエンコーダが決定論的に振舞うため、写像の条件付き確率分布（デルタ関数 formula_13）で表現される。formula_13 の決定論的性質より formula_10 を集約して表現するとAEは次の確率論的表現で表される：
AEの学習には平均二乗誤差（MSE, L2）をはじめ様々な損失関数が（決定論的な視点から）経験的に使われている。これは経験的なものであって学習収束保証があるとは限らない。理論的な研究により、いくつかの損失関数では formula_17 に特定の分布を設定したinfomax学習として定式化できることがわかっている。
固定分散正規分布モデル.
「分散が固定された正規分布 formula_18」を考えると負の対数尤度 formula_19 は以下になる：
これは formula_21 と formula_22 の二乗誤差と解釈できる。すなわち、 formula_23 のNLL最小化と formula_24 の二乗誤差最小化は同等とみなせる。換言すれば、二乗誤差で学習されるオートエンコーダモデルは「固定分散正規分布 formula_23」であるとみなせる。
派生.
オートエンコーダには様々な変種・派生モデルが存在する。以下はその一例である：
スパース・オートエンコーダ.
スパース・オートエンコーダ（）とは、フィードフォワードニューラルネットワークの学習において汎化能力を高めるため、正則化項を追加したオートエンコーダのこと。ただし、ネットワークの重みではなく、中間層の値自体を0に近づける。
Stacked autoencoder.
バックプロパゲーションでは通常、中間層が2層以上ある場合、極小解に収束してしまう。そこで、中間層1層だけでオートエンコーダを作って学習させる。次に、中間層を入力層と見なしてもう1層積み上げる。これを繰り返して多層化したオートエンコーダをつくる方法をstacked autoencoderと言う。
Denoising AutoEncoder.
入力層のデータにノイズを加えて学習させたもの。制約付きボルツマンマシンと結果がほぼ一致する。ノイズは確率分布が既知であればそれに従ったほうが良いが、未知である場合は一様分布で良い。