オートエンコーダーとは
オートエンコーダー(Autoencoder)は、入力データを低次元の潜在表現に圧縮し、その潜在表現から元のデータを再構成するように学習するニューラルネットワークです。エンコーダー(符号化器)とデコーダー(復号器)で構成され、教師なし学習の代表的な手法の一つです。データの次元削減や特徴抽出に広く使用されています。
| ひとことで言うと | 入力をいったん圧縮し、そこから元に戻せるように学習するネットワーク。 |
|---|---|
| どこで使う | 異常検知、次元削減、ノイズ除去、データの特徴抽出。 |
| 注意点 | 正解ラベルが不要な反面、圧縮のしすぎで大事な情報まで落ちることがある。 |
オートエンコーダーの種類
基本的なオートエンコーダーの他に、スパースオートエンコーダー(潜在表現にスパース性を課す)、デノイジングオートエンコーダー(ノイズを加えた入力から元のデータを復元)、コントラクティブオートエンコーダー(潜在表現の安定性を重視)など、さまざまな変種があります。これらはそれぞれ異なる正則化を導入することで、より有意義な潜在表現の学習を促進します。
1入力データ画像やセンサー値
▶
2エンコーダー少ない次元に圧縮
▶
3潜在表現本質だけを残した表現
▶
4デコーダー元の形に復元
▶
5差を小さくする入力と出力を近づける
※ 異常検知では「うまく復元できない=いつもと違う」と判断します。
ボトルネック構造
オートエンコーダーの核心はボトルネック層(潜在層)にあり、入力よりも低い次元に圧縮することで、データの本質的な特徴のみを保持するように学習が促されます。このボトルネックがなければ、ネットワークは恒等写像を学習するだけで有意義な特徴抽出が行われません。適切なボトルネックの次元数の選択が、性能に大きく影響します。
現代における位置づけ
オートエンコーダーは異常検知(正常データで訓練し、再構成誤差の大きいデータを異常とみなす)、データの前処理、画像のノイズ除去など、実用的な応用が多くあります。VAEへの発展により生成モデルとしての能力も獲得し、Latent Diffusion Modelの一部としても活用されています。最近ではMasked Autoencoderが自己教師あり学習の手法として注目を集めています。