1行定義
オートエンコーダとは、入力をエンコーダで低次元の表現に圧縮し、デコーダでもとの入力を復元するように学習するニューラルネットワークのことです。
試験範囲としての全体像はシラバス項目『オートエンコーダ』の要点まとめで整理しています。
くわしく
オートエンコーダは、「いったん小さく圧縮して、もとに戻す」ことを学ぶニューラルネットワークです。入力そのものを正解として使うため、ラベルのないデータで学習できます。
仕組み
前半のエンコーダが、入力を少ない次元の表現(潜在表現)に圧縮します。後半のデコーダが、そこから入力を復元します。中間層を入力より小さくしておくと、ネットワークは入力をそのまま写せません。そのため、復元に必要な本質的な特徴だけを中間層に詰め込むように学習が進みます。学習では、入力と出力の差(再構成誤差)を小さくします。
何に使えるか
- 次元削減:学習後はエンコーダだけを使い、中間層の値を低次元の特徴として利用します。活性化関数によって非線形な関係も表せる点が、線形の手法である主成分分析と異なります。
- 異常検知:正常なデータだけで学習すると、正常なデータはうまく復元でき、異常なデータは再構成誤差が大きくなります。
- ノイズの除去:わざとノイズを加えた入力から、もとの入力を復元するように学習させます。これをデノイジングオートエンコーダと呼びます。
深層学習の歴史での役割
2006年、ヒントンらは、層を1つずつ学習させてから積み重ねる事前学習によって、深いオートエンコーダを学習できることを示しました。オートエンコーダを1層ずつ学習させて積み重ねる積層オートエンコーダも、深いネットワークに良い初期値を与える方法として使われました。現在は、ReLU関数や初期値の工夫、バッチ正規化などが広まり、この目的での事前学習はあまり使われません。
生成モデルへの発展
通常のオートエンコーダは、潜在空間の点と点の間に意味のない領域が残るため、新しいデータの生成には向きません。潜在変数を確率分布として扱い、生成モデルにしたのがVAE(変分オートエンコーダ)です。
覚え方
「入力が答え。細い首を通して、もとに戻す」と覚えます。
G検定での出題
出題のされ方
入力と同じものを出力するように学習する仕組み、次元削減や異常検知への応用、積層オートエンコーダによる事前学習の歴史的な役割、VAEなど派生手法との違いが問われます。
混同しやすい用語
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
オートエンコーダは、入力そのものを正解として復元を学習するため、学習に人手で付けた正解ラベルを必要としない。
答えを見る
答え ◯ 正しい
入力と出力の差(再構成誤差)を小さくするように学習します。ラベルのないデータで学習できるため、教師なし学習の手法として扱われます。
-
正常なデータだけで学習したオートエンコーダは、異常なデータを入力すると再構成誤差が大きくなりやすいため、異常検知に使える。
答えを見る
答え ◯ 正しい
正常なデータの特徴だけを学んでいるので、見たことのない異常なパターンはうまく復元できません。この誤差の大きさを異常の度合いとして使います。
-
活性化関数を使わず線形の層だけで作ったオートエンコーダでも、主成分分析では表せない非線形な関係を学習できる。
答えを見る
答え × 誤り
線形の層だけで二乗誤差を小さくすると、主成分分析と同じ部分空間を学ぶことが知られています。非線形な関係を表すには、非線形の活性化関数が必要です。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目24 オートエンコーダ)
- G. E. Hinton, R. R. Salakhutdinov, Reducing the Dimensionality of Data with Neural Networks, Science 313(5786), 504–507 (2006)
- Pascal Vincent, Hugo Larochelle, Yoshua Bengio, Pierre-Antoine Manzagol, Extracting and Composing Robust Features with Denoising Autoencoders, ICML 2008