オートエンコーダーの目的は何ですか?


10

オートエンコーダーは、入力を後で再構築するために入力の圧縮表現を学習するニューラルネットワークであり、次元削減に使用できます。それらは、エンコーダーとデコーダー(別々のニューラルネットワークにすることができます)で構成されています。次元の削減は、データが疎になり、「統計的有意性」を取得することがより困難になる次元の呪いに関連する問題を処理または軽減するために役立ちます。したがって、自動エンコーダー(およびPCAのようなアルゴリズム)を使用して、次元の呪いに対処できます。

特にオートエンコーダーを使用して次元削減を気にするのはなぜですか?次元削減が目的であるのに、なぜPCAを使用できないのでしょうか。

次元削減を実行したいだけの場合、なぜ入力の潜在的な表現を解凍する必要があるのか​​、またはオートエンコーダーにデコーダー部分が必要なのはなぜですか?ユースケースは何ですか?一般に、なぜ後で解凍するために入力を圧縮する必要があるのですか?(最初に)元の入力だけを使用した方がいいのではないでしょうか。


1
CrossValidated SEに関する次の質問stats.stackexchange.com/q/82416/82135も参照してください。
nbro

回答:


6

データのどのようなパターンが表現されているかを考えることが重要です。

グレースケール画像のデータセットがあり、すべての画像が均一な強度であると仮定します。人間の脳として、このデータセットのすべての要素は、その強度値である単一の数値パラメータの観点から説明できることがわかります。これは、PCAがうまく機能するものです。これは、各次元(各ピクセルを異なる次元と考えることができます)が完全に線形に相関しているためです。

代わりに、中心に置かれた円の白黒の128x128pxビットマップ画像のデータセットがあるとします。人間の脳として、このデータセット内のすべての要素は、円の半径である単一の数値パラメータによって完全に記述できることにすぐに気付くでしょう。これは、16384バイナリディメンションからの非常に印象的なレベルの削減であり、おそらくより重要なことに、データの意味的に意味のあるプロパティです。ただし、PCAはおそらくそのパターンを見つけることができません。

あなたの質問は、「次元削減が目的であるのに、なぜPCAを使用できないのですか?」簡単な答えは、PCAが次元削減のための最も単純なツールであるということですが、オートエンコーダーなどのより強力な手法が見つける可能性のある多くの関係を見逃す可能性があります。


3

自動エンコーダー(特に、自動エンコーダーのデコーダーまたは生成モデル)の使用例は、入力のノイズを除去することです。このタイプのオートエンコーダは、ノイズ除去オートエンコーダと呼ばれ、部分的に破損した入力を受け取り、対応する破損していない入力を再構築しようとします。このモデルにはいくつかの用途があります。たとえば、イメージが破損している場合、ノイズ除去オートエンコーダを使用して、破損していないイメージを回復できる可能性があります。

オートエンコーダとPCAは関連しています。

完全に接続された単一の隠れ層、線形活性化関数、および二乗誤差コスト関数を備えたオートエンコーダーは、主成分ローディングベクトルが張られたものと同じ部分空間にまたがるが、ローディングベクトルと同一ではない重みをトレーニングします。

詳細については、Elad Plautによる論文「Principal Subspaces to Principal Components with Linear Autoencoders(2018)」を参照してください。PCAとオートエンコーダの関係についても説明しているこの回答もご覧ください。


3

PCAは、ベクトル投影を変更できる(軸を変更できる)変換を作成する線形メソッドです。

PCAは、最大分散の方向を探しているので、それは通常、高discriminativityを持っているしかし、それは最も分散の方向が最もdiscriminativityの方向であることを保証しません。

LDAは、ベクトルがクラスAまたはBに属しているかどうかを決定するのに最も関連性のある方向を見つけることができる変換を作成する線形メソッドです。

PCAとLDAには、線形の制限を克服できる非線形カーネルバージョンがあります。

オートエンコーダーは、他の種類の損失関数を使用して次元削減を実行でき、非線形にすることができ、多くの場合、PCAおよびLDAよりもパフォーマンスが向上する可能性があります。

おそらく何をするにも最適な機械学習アルゴリズムはありません。ディープラーニングとニューラルネットは単純な問題には過剰であり、PCAとLDAは他のより複雑な次元削減の前に試行される場合があります。


1
LDAは質問とどのように関係していますか?
nbro

LDAは次元削減として使用できます。元のアルゴリズムは1つの射影のみを導出しますが、より正確なモデリングのために低いランクの識別方向を取得するために使用できます
Pedro Henrique Monforte

PCAは貪欲なアルゴリズムであるため、最大分散を保証するものではありません。
Mathieu Bouville

PCAには閉じたソリューションがあり、主軸は常に最大分散の方向になります。これは貪欲なアルゴリズムではありません(ただし、アルゴリズムとして実装できます)
ペドロエンリケモンフォルテ

1
  1. ネットワークをトレーニングするための損失関数を計算するには、デコーダーの半分が必要です。生成コンポーネントのみに関心がある場合でも、GANで「敵対者」が依然として必要である方法と同様です。
  2. オートエンコーダーは、データの非線形埋め込みを学習できるため、バニラPCAよりも強力です。
  3. オートエンコーダーには、次元削減以外の用途があります
    • 新しいデータポイントの生成、または補間の実行(VAEを参照)
    • ノイズ除去フィルターの作成(例:画像処理)
    • データの圧縮/解凍
    • リンク予測(創薬など)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.