オートエンコーダー

Autoencoder

オートエンコーダー(Autoencoder)とは、入力データを低次元の潜在表現に圧縮(エンコード)し、そこから元のデータを復元(デコード)するように学習するニューラルネットワークです。次元削減、特徴抽出、異常検知、生成モデルなどに活用されます。

構造

エンコーダー(入力→潜在表現)とデコーダー(潜在表現→出力)の2つの部分で構成されます。ボトルネック(潜在層)は入力より次元が小さく設計され、モデルはデータの本質的な情報を潜在表現に圧縮することを学習します。

表:オートエンコーダーの要点まとめ
ひとことで言うと入力を一度圧縮し、そこから元に戻せるように学習するニューラルネットワーク。
どこで使う異常検知、次元削減、ノイズ除去、データの特徴抽出。
注意点正解ラベルは不要だが、圧縮しすぎると大事な情報も失われる。

変分オートエンコーダー(VAE)

VAEは潜在空間に確率分布を導入した発展形です。滑らかな潜在空間を学習するため、新しいデータの生成(画像生成など)に利用できます。

図:オートエンコーダーの学習
1入力データ画像やセンサー値
▶
2圧縮(符号化)少ない次元に落とす
▶
3潜在表現本質だけ残した表現
▶
4復元(復号)元の形に戻す
▶
5差を最小化入力と出力を近づける

※ 異常検知では「うまく復元できない=いつもと違う」と判定します。

活用例

異常検知(正常データのみで学習し、再構成誤差が大きいものを異常とする)、ノイズ除去(デノイジングオートエンコーダー)、データ圧縮、表現学習など。