オートエンコーダとは

おーとえんこーだautoencoder略語 AE別名 自己符号化器

1行定義

オートエンコーダとは、入力をエンコーダで低次元の表現に圧縮し、デコーダでもとの入力を復元するように学習するニューラルネットワークのことです。

くわしく

オートエンコーダは、「いったん小さく圧縮して、もとに戻す」ことを学ぶニューラルネットワークです。入力そのものを正解として使うため、ラベルのないデータで学習できます。

仕組み

前半のエンコーダが、入力を少ない次元の表現(潜在表現)に圧縮します。後半のデコーダが、そこから入力を復元します。中間層を入力より小さくしておくと、ネットワークは入力をそのまま写せません。そのため、復元に必要な本質的な特徴だけを中間層に詰め込むように学習が進みます。学習では、入力と出力の差(再構成誤差)を小さくします。

何に使えるか

  • 次元削減:学習後はエンコーダだけを使い、中間層の値を低次元の特徴として利用します。活性化関数によって非線形な関係も表せる点が、線形の手法である主成分分析と異なります。
  • 異常検知:正常なデータだけで学習すると、正常なデータはうまく復元でき、異常なデータは再構成誤差が大きくなります。
  • ノイズの除去:わざとノイズを加えた入力から、もとの入力を復元するように学習させます。これをデノイジングオートエンコーダと呼びます。

深層学習の歴史での役割

2006年、ヒントンらは、層を1つずつ学習させてから積み重ねる事前学習によって、深いオートエンコーダを学習できることを示しました。オートエンコーダを1層ずつ学習させて積み重ねる積層オートエンコーダも、深いネットワークに良い初期値を与える方法として使われました。現在は、ReLU関数や初期値の工夫、バッチ正規化などが広まり、この目的での事前学習はあまり使われません。

生成モデルへの発展

通常のオートエンコーダは、潜在空間の点と点の間に意味のない領域が残るため、新しいデータの生成には向きません。潜在変数を確率分布として扱い、生成モデルにしたのがVAE(変分オートエンコーダ)です。

覚え方

「入力が答え。細い首を通して、もとに戻す」と覚えます。

G検定での出題

入力と同じものを出力するように学習する仕組み、次元削減や異常検知への応用、積層オートエンコーダによる事前学習の歴史的な役割、VAEなど派生手法との違いが問われます。

混同しやすい用語

用語意味
VAE入力を潜在変数の確率分布として表し、潜在空間から取り出した値をデコーダに通して新しいデータを生成できる、オートエンコーダの一種
主成分分析多くの変数をもつデータを、元のばらつき(分散)をできるだけ保つ、互いに無相関な少数の合成変数にまとめる次元削減の手法

◯×チェック

  1. オートエンコーダは、入力そのものを正解として復元を学習するため、学習に人手で付けた正解ラベルを必要としない。

    答えを見る

    答え ◯ 正しい

    入力と出力の差(再構成誤差)を小さくするように学習します。ラベルのないデータで学習できるため、教師なし学習の手法として扱われます。

  2. 正常なデータだけで学習したオートエンコーダは、異常なデータを入力すると再構成誤差が大きくなりやすいため、異常検知に使える。

    答えを見る

    答え ◯ 正しい

    正常なデータの特徴だけを学んでいるので、見たことのない異常なパターンはうまく復元できません。この誤差の大きさを異常の度合いとして使います。

  3. 活性化関数を使わず線形の層だけで作ったオートエンコーダでも、主成分分析では表せない非線形な関係を学習できる。

    答えを見る

    答え × 誤り

    線形の層だけで二乗誤差を小さくすると、主成分分析と同じ部分空間を学ぶことが知られています。非線形な関係を表すには、非線形の活性化関数が必要です。

練習問題

オートエンコーダの問題(7問)
  1. オートエンコーダの派生手法
  2. 積層オートエンコーダの学習手順
  3. VAE派生手法の改良点
  4. PCAとオートエンコーダの比較
  5. 再構成誤差による異常検知
  6. オートエンコーダとVAEの潜在空間
  7. 状態表現学習のねらい

AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

対応シラバス:シラバス第1.4版 技術24

改訂履歴

表示設定

テーマ
文字の大きさ
問題演習