私が見たすべてのオートエンコーダアーキテクチャは、主にデコーダがエンコーダの逆にすぎないという同様のアーキテクチャを持っています。オートエンコーダの目的が低次元の特徴学習である場合、なぜデコーダは単純ではないのですか?例は線形変換ですここで、は観測値による特徴行列(つまり、ボトルネック)であり、は学習された重み行列で、を元の入力特徴サイズにマップします。複数の隠れ層を持つディープオートエンコーダーの場合、上記の例のデコーダーは、エンコーダーと比較して容量が低くなります。
私の直感は次のとおりです。
デコーダーがシンプルな場合、自動エンコーダーはボトルネックでより高品質の機能を学習して強制的に補正します。逆に、デコーダーの表現能力が高い場合、学習不足のボトルネックを出力の再構成に効果的にマッピングできます。この場合、再構成エラーは低くなる可能性がありますが、必ずしも学習された機能が実際に優れているという意味ではありません。
私のアプリケーション(グラフでの機能学習)では、単純なデコーダーの方が、エンコーダーをミラーリングしたデコーダーよりも学習機能が優れていることがわかりました。この著者のように非常に単純なデコーダを有するグラフオートエンコーダを設計紙、再構成されたグラフの隣接マトリックスであり、学習地物行列であり、はReLUのような非線形変換です。
私はしばらくの間、この質問への回答を何度も探していましたが、なぜ大容量のデコーダーが低容量のデコーダーよりも望ましいのか(またはその逆も)、説明や理論上の結果は見つかりませんでした。 )。誰かが説明を提供したり、正しい方向に向けてくれたりしたら、感謝します。