オートエンコーダーがどのようにデータを圧縮し、ノイズを低減し、高度なAI技術で異常検知や特徴抽出などを可能にしているかをご覧ください。
オートエンコーダは、教師なし学習に使用される人工ニューラルネットワークの一種である。その主な目的は、データセットの圧縮された効率的な表現(エンコード)を学習することであり、通常は次元削減や 特徴抽出を目的とする。このネットワークは、自身の入力を再構成することを学習することでこれを達成する。エンコーダーは入力データを低次元の潜在空間に圧縮し、デコーダーはこの圧縮された表現から元のデータを再構成する。この「ボトルネック」にデータを強制的に通すことで、ネットワークはノイズや冗長性を排除しながら、最も顕著な特徴を識別し保存することを学習しなければならない。
オートエンコーダのアーキテクチャは、エンコーダ関数とデコーダ関数で構成され、単純なフィードフォワードネットワークであったり、畳み込みニューラルネットワーク(CNN)のような複雑な構造であったりする。
モデルの学習プロセスでは、元の入力と再構成された出力の差を測定する損失関数(しばしば再構成誤差と呼ばれる)を最小化する。このプロセスは自己教師あり学習の一種であり、モデルは明示的なラベルを必要とせずにデータ自体から学習する。
オートエンコーダは汎用性が高く、機械学習や ディープラーニングにおいていくつかの実用的な用途がある。
オートエンコーダには、スパースオートエンコーダ、ノイズ除去オートエンコーダ、畳み込みオートエンコーダなど、多くの種類がある。最も重要なバリエーションとして、変分オートエンコーダ(VAE)がある。VAEは、学習されたデータと同様の新しいデータサンプルを生成することができる生成モデルである。VAEの包括的な概要はarXivに掲載されている。
オートエンコーダは、一般的なディープラーニング(DL)フレームワークを使用して実装することができる:
Ultralytics HUBのようなプラットフォームは、データ管理やモデルトレーニングを含む全体的なMLワークフローを容易にするが、教師なしオートエンコーダのトレーニングよりも、検出やセグメンテーションのような教師ありタスクに主眼を置いている。