オートエンコーダーは、入力データを一度圧縮して元のデータを復元するように学習する教師なし学習のニューラルネットワークです。データを圧縮するエンコーダーと、復元するデコーダーから構成され、データの次元削減やノイズ除去、異常検知などに広く活用されています。非線形な特徴を抽出できる点が大きな特徴です。
オートエンコーダーとは
オートエンコーダー(自己符号化器)とは、入力データを一度圧縮し、それを再び元のデータへと復元するように訓練される「教師なし学習」の一種であり、データの本質的な特徴を抽出するための「ニューラルネットワーク」構造です。
詳しく解説
オートエンコーダーは主に、入力データを低次元の特徴空間に圧縮する「エンコーダー」と、圧縮されたデータから元の入力を再構成する「デコーダー」という2つのネットワークから構成されています。この圧縮された中間層のデータは「潜在変数」と呼ばれ、データの特徴を凝縮した情報を持っています。入力と出力が同じになるように学習を行うため、人間が正解ラベルを与える必要がない「教師なし学習」に分類されます。ディープラーニングの発展において、事前学習や効率的な特徴量抽出の手法として重要な役割を果たしてきました。
具体例・使われ方
具体的な利用例としては、画像や音声データの「次元削減」や、ノイズ除去(デノイジング)が挙げられます。例えば、ノイズが混ざった画像を入力し、ノイズのない綺麗な画像を再構成するように学習させることで、実用的なノイズ除去フィルターを構築できます。また、正常なデータのみを学習させたオートエンコーダーに入力した際、再構成エラー(入力と出力の差分)が大きくなることを利用して、異常検知のシステムを構築する例もあります。
似た用語との違い
よく混同される概念に「主成分分析」があります。「主成分分析」は線形な「次元削減」を行うのに対し、オートエンコーダーは「ニューラルネットワーク」の活性化関数を用いることで非線形な関係性も捉えられるため、より複雑なデータ構造の圧縮が可能です。また、生成AIで使われる「Variational Autoencoder (VAE)」は、オートエンコーダーを確率的に拡張したものであり、データの単なる再現ではなく、新しいデータの生成を目的としている点が通常のオートエンコーダーとは異なります。
注意点
注意点として、オートエンコーダーが学習した「潜在変数」は、人間にとって直感的に理解しやすい意味(例えば画像の明るさや物体の傾きなど)に直接対応しているとは限らず、解釈性が低いことが挙げられます。また、ボトルネックとなる中間層の次元数(圧縮率)を不適切に設定すると、過学習を起こして単にデータをそのまま記憶してしまったり、逆に重要な情報を失って再構成の精度が著しく低下したりするリスクがあります。