Skip to main content

オートエンコーダー入門

オートエンコーダーは、主に教師なし学習や次元削減に使用されるニューラルネットワークの一種です。オートエンコーダーの基本的な考え方は、入力データを低次元の表現へエンコードし、それを元のデータへデコードし直すことで、再構成誤差を最小化することを目指すものです。オートエンコーダーの基本アーキテクチャは、エンコーダーとデコーダーという 2 つの主要コンポーネントで構成されます。
  • Encoder: エンコーダーは、入力データを圧縮表現または潜在表現へ変換する役割を担います。通常、入力の次元を段階的に削減する 1 つ以上のニューロン層で構成されます。
  • Decoder: 一方、デコーダーはエンコーダーによって生成された圧縮表現を受け取り、元の入力データを再構成しようとします。エンコーダーと同様に、多くの場合 1 つ以上の層で構成されますが、逆の順序で次元を徐々に増やしていきます。

変分オートエンコーダー(VAEs)の概要

変分オートエンコーダー(VAEs)は、エンコードとデコードに確率的なアプローチを導入することで、従来のオートエンコーダーのいくつかの制約に対処します。VAEs の動機は、通常のオートエンコーダーのように固定された潜在ベクトルからではなく、潜在空間で学習された分布からサンプリングすることによって、新しいデータサンプルを生成できる点にあります。これにより、VAEs は生成タスクに適しています。
  • Probabilistic Nature: 決定論的なオートエンコーダーとは異なり、VAEs は潜在空間を確率分布としてモデル化します。これにより、入力のエンコードに対して単一の固定ベクトルだけでなく確率分布関数が生成され、データ内の不確実性をよりきめ細かく表現できます。その後、デコーダーはこの確率分布からサンプリングします。
  • Role of Latent Space: VAEs における潜在空間は、入力データの連続的で構造化された表現として機能します。設計上連続しているため、容易な補間が可能です。潜在空間内の各点は潜在的な出力に対応しており、異なるデータ点の間で滑らかな遷移を可能にし、潜在空間内で近い点ほど類似した生成結果につながることを保証します。
この概念は、以下に示す単純な例を通じて説明できます。ニューラルネットワーク内のエンコーダーは、入力画像の表現をベクトルの形で獲得する役割を担います。このベクトルには、被写体の笑顔、髪の色、性別、年齢などのさまざまな特徴が含まれ、[0.4, 0.03, 0.032, …] のようなベクトルとして表されます。この例では、焦点を単一の潜在表現、具体的には「笑顔」という属性に絞っています。 Autoencoders vs VAEs - Sciforce Medium における Vanilla Autoencoders (AE) の文脈では、笑顔の特徴は固定された決定論的な値として表現されます。対照的に、Variational Autoencoders (VAEs) は、この特徴を確率分布として表現するように意図的に設計されています。この設計上の選択により、指定された確率分布から値をサンプリングできるため、生成される画像に変動性を導入できます。
要約すると、VAEs は単なるデータ再構成にとどまらず、新しいサンプルを生成し、潜在表現を理解するための確率的な枠組みを提供します。モデルのアーキテクチャに確率的要素を含めることで、VAEs は従来のオートエンコーダーと一線を画します。従来のオートエンコーダーと比較して、VAEs はデータ分布をより豊かに理解できるため、生成タスクにおいて特に強力です。
最終更新日 2026年5月15日