2層スタックオートエンコーダと2層ニューラルネットワークを構築するためのアルゴリズムを書いているとしましょう。それらは同じものですか、違いですか?
私が理解しているのは、スタックされたオートエンコーダーを構築するとき、レイヤーごとに構築するということです。ニューラルネットワークの場合、ネットワーク内のすべてのパラメーターを初期化し、各データポイントに対してネットワークを通過させて損失(例:真正距離)を計算し、逆伝播を行います。
2層スタックオートエンコーダと2層ニューラルネットワークを構築するためのアルゴリズムを書いているとしましょう。それらは同じものですか、違いですか?
私が理解しているのは、スタックされたオートエンコーダーを構築するとき、レイヤーごとに構築するということです。ニューラルネットワークの場合、ネットワーク内のすべてのパラメーターを初期化し、各データポイントに対してネットワークを通過させて損失(例:真正距離)を計算し、逆伝播を行います。
回答:
スタック型オートエンコーダーと多層ニューラルネットワークは異なります。実際には、2つのネットワークで重みを共有し、場合によってはメモリバッファーを共有します。したがって、実装では2つのネットワークが絡み合います。
通常、オートエンコーダーは、教師なしの貪欲なレイヤー単位の方法でトレーニングされます。(ラベルはありません。ネットワークの最初のレイヤーだけでトレーニングを開始してから、新しいレイヤーを追加します。)「バッチ」勾配降下(これはしないでください)、ミニバッチ確率勾配降下法(SGD)、L-BFGSなどの準ニュートン法へ。
考え方は、表現学習タスクの再構築エラーを最小限にするために教師なしで学習された重みが、分類や類似性などの監視された識別タスクのネットワークを初期化するための良い出発点を提供するというものです。つまり、ネットワークはラベルのないデータを調べることで、基礎となる分布について何かを学び、ラベルの付いたデータを区別できるようにします。ただし、この新しいタスクでは、重みを「微調整」する必要があります。したがって、ネットワークの最上部にロジスティック回帰層を追加し、ラベル付きデータセットを使用して教師付き学習を実行します。微調整ステップでは、勾配降下を行い、ネットワーク内のすべてのレイヤーの重みを同時に調整します。
この方法でニューラルネットをトレーニングする利点は次のとおりです。
ペーパーについては、「スタック型ノイズ除去オートエンコーダー:ローカルノイズ除去基準を使用したディープネットワークでの有用な表現の学習」を参照してください。