オートエンコーダー(AutoEncoder:自己符号化器)は、出力データが入力データを再現するように、 ニューラルネットワーク の中間層を決めるモデルです。
オートエンコーダーを、 ディープラーニング の前処理として使うこの使い道は、 ディープラーニング のような複雑なモデルを現実的に可能にしたため、 オートエンコーダーを非常に有名にしたようです。 比較的古いディープラーニングの文献には、この使い道が紹介されています。
中間層の変数の数を入力データよりも減らすと、中間層が特徴量の役割を持ちます。 このため、この中間層を前処理済みのデータとして使うと、教師データとの関係が、うまく扱えるようになるようです。
この使い道は 主成分回帰分析 の中の、 主成分分析 と同じです。
オートエンコーダーは、ノイズを減らす手法や、データを要約する手法として単独で使われる事もあります。
オートエンコーダーの発展的なモデルでは、 生成モデル としてオートエンコーダーが使われています。
ボルツマンマシンはグラフィカルモデリングの一種で、確率モデルです。
各変数の相互関係を確率で表して、 統計力学 のエネルギーの考え方を入れることで、データに合う係数を探します。
ボルツマンマシンで、変数を2つのグループに分けて、グループ内では、「やりとりがない」とう制限を付けると、RBMになります。
RBMは、オートエンコーダーの代わりに ディープラーニング で、データの前処理に使われるそうです。
また、実際のところ、オートエンコーダーとRBMは似ているそうです。 これは、 ロジット変換 が確率を扱うのに良い関数なのと、同じ理由と思います。
オートエンコーダーやボルツマンマシンの参考書は、 ディープラーニング のページにもあります。
「フリーソフトではじめる機械学習入門」 荒木雅弘 著 森北出版 2014
機械学習
全般の本ですが、ニューラルネットワークから、ディープラーニングまでの流れがコンパクトにまとまっています。
ディープラーニングの事前学習としては、Autoencoderやボルツマンマシンが解説されています。
順路 次は 畳み込みニューラルネットワーク