スタックオートエンコーダーと2層ニューラルネットワークのトレーニングに違いはありますか?


14

2層スタックオートエンコーダと2層ニューラルネットワークを構築するためのアルゴリズムを書いているとしましょう。それらは同じものですか、違いですか?

私が理解しているのは、スタックされたオートエンコーダーを構築するとき、レイヤーごとに構築するということです。ニューラルネットワークの場合、ネットワーク内のすべてのパラメーターを初期化し、各データポイントに対してネットワークを通過させて損失(例:真正距離)を計算し、逆伝播を行います。

回答:


16

スタック型オートエンコーダーと多層ニューラルネットワークは異なります。実際には、2つのネットワークで重みを共有し、場合によってはメモリバッファーを共有します。したがって、実装では2つのネットワークが絡み合います。

通常、オートエンコーダーは、教師なしの貪欲なレイヤー単位の方法でトレーニングされます。(ラベルはありません。ネットワークの最初のレイヤーだけでトレーニングを開始してから、新しいレイヤーを追加します。)「バッチ」勾配降下(これはしないでください)、ミニバッチ確率勾配降下法(SGD)、L-BFGSなどの準ニュートン法へ。

考え方は、表現学習タスクの再構築エラーを最小限にするために教師なしで学習された重みが、分類や類似性などの監視された識別タスクのネットワークを初期化するための良い出発点を提供するというものです。つまり、ネットワークはラベルのないデータを調べることで、基礎となる分布について何かを学び、ラベルの付いたデータを区別できるようにします。ただし、この新しいタスクでは、重みを「微調整」する必要があります。したがって、ネットワークの最上部にロジスティック回帰層を追加し、ラベル付きデータセットを使用して教師付き学習を実行します。微調整ステップでは、勾配降下を行い、ネットワーク内のすべてのレイヤーの重みを同時に調整します。

この方法でニューラルネットをトレーニングする利点は次のとおりです。

  1. 教師なしトレーニングでは、ラベル付きのデータセットを取得するよりも、監視されていない大規模なデータセットを取得する方がはるかに簡単なので、ネットワークにより多くのデータを表示できます。
  2. 事前に訓練されたネットワークを、新しい分類子を訓練するための「ジャンプオフポイント」として使用できるため、毎回ゼロから始める必要がありません。

ペーパーについては、「スタック型ノイズ除去オートエンコーダー:ローカルノイズ除去基準を使用したディープネットワークでの有用な表現の学習」を参照してください。


分類タスクのためにエンコーディングレイヤーを分類レイヤー(たとえば、softmaxレイヤー)でトレーニングする2番目のステップについて混乱しています。ラベルを学習するために、このパートのトレーニングデータセットを再利用しますか?トレーニングセットがそれ自体の近似を学ぶために使用されただけであるので、私はこれが奇妙だと思います。

とにかくすべてのラベル付きデータがある場合、それはあまり意味がありません。事前トレーニングするラベル付けされていないデータがはるかに多く、ラベル付けされた「トレーニング」データを使用して微調整する場合に適しています。
ニャー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.