用語集

オートエンコーダ

オートエンコーダーがどのようにデータを圧縮し、ノイズを低減し、高度なAI技術で異常検知や特徴抽出などを可能にしているかをご覧ください。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

オートエンコーダーは、主に教師なし学習タスクに使用される人工ニューラルネットワーク(NN)の一種である。その主な目的は、入力データの効率的な表現(エンコーディング)を学習することであり、一般的には次元削減や 特徴抽出のために使用される。これは、入力を低次元の潜在空間に圧縮し、この圧縮された表現から出力を再構成することで達成される。

オートエンコーダの仕組み

オートエンコーダーは、エンコーダーとデコーダーの2つの主要部分から構成される。

  1. エンコーダー:この部分は入力データを受け取り、潜在空間またはボトルネックと呼ばれる低次元の表現にマッピングする。エンコーダーは、ノイズや冗長な情報を取り除きながら、データの最も重要な特徴を捉えるように学習する。このプロセスはデータ圧縮に似ている。
  2. デコーダー:この部分は潜在空間から符号化された表現を取り出し、元の入力データを可能な限り正確に再構成しようとする。

ネットワークは、元の入力と再構成された出力の差を最小化することで学習されるが、これはしばしば平均二乗誤差(MSE)のような損失関数で測定される。ボトルネック層は、入力を効果的に再構成するのに十分な情報を保持する必要があるため、ネットワークにコンパクトで意味のある表現を学習させる。

オートエンコーダの種類

オートエンコーダーにはいくつかのバリエーションがあり、それぞれが特定の目的のために設計されている:

  • ノイズ除去オートエンコーダ:破損またはノイズのあるバージョンから、元のきれいな入力を再構築するように訓練されている。そのため、ノイズ除去タスクに有用。
  • スパースオートエンコーダ:訓練中にスパース性制約を導入し、少数のノードだけが常にアクティブであるような表現を学習するようネットワークを促す。
  • 変分オートエンコーダ(VAE):潜在空間上の確率分布を学習する生成モデルの一種で、学習データと同様の新しいデータサンプルを生成することができる。VAEは、もう一つの一般的な生成手法であるGenerative Adversarial Networks(GAN)とは大きく異なる。
  • 収縮オートエンコーダ:入力データの小さな変化にロバストな表現を学習することを目指す。

実世界での応用

オートエンコーダは様々な分野で応用されている:

  • 異常検出:データの正常なパターンを学習することで、オートエンコーダーは再構成誤差の大きい異常値や異常値を入力として識別することができる。これは不正検知や産業品質管理に使用される。例えば、サイバー攻撃を示す可能性のある異常なネットワーク・トラフィック・パターンを検出します。
  • 画像のノイズ除去と圧縮:ノイズ除去オートエンコーダーはノイズの多い画像をきれいにすることができ、標準的なオートエンコーダーは潜在表現のみを保存することで画像を圧縮することができます。例えば、古い写真や大気干渉の影響を受けた衛星画像を鮮明に復元することができます。衛星画像の解析にコンピュータビジョンがどのように利用できるかをご覧ください。
  • 次元削減:学習された潜在表現は、他の機械学習(ML)モデルに入力するためのコンパクトな特徴として機能し、性能を向上させ、計算コストを削減する可能性がある。これはしばしば主成分分析(PCA)のような手法と比較されるが、オートエンコーダはより複雑で非線形な関係を捉えることができる。
  • データ生成(VAE):バリエーショナル・オートエンコーダは、新しい合成データサンプルを生成することができます。合成データをさらに探求する

ツールと実装

オートエンコーダは通常、次のようなディープラーニングフレームワークを使って実装される。 PyTorchまたは TensorFlow.アーキテクチャーには、画像データ用の畳み込みニューラルネットワーク(CNN)やシーケンシャルデータ用のリカレントニューラルネットワーク(RNN)が含まれることが多い。これらのモデルのトレーニングは、Ultralytics HUBのようなプラットフォームや、以下のような実験追跡ツールを使用して管理および追跡することができます。 Weights & BiasesMLflowのような実験追跡ツールを使用して管理および追跡することができます。モデルトレーニングの詳細については、Ultralytics ドキュメントをご覧ください。

すべて読む