ニューラルネットワークの事前トレーニングとは何ですか?


22

まあ質問はそれをすべて言います。

「ニューラルネットワークの事前トレーニング」とはどういう意味ですか?誰かが純粋な英語で説明できますか?
私はそれに関連するリソースを見つけることができないようです。誰かが私にそれらを指し示すことができれば素晴らしいでしょう。


www.deeplearningbook.orgには、このトピックの優れた紹介があります。
mnagaraj

回答:


22

ネットワークをトレーニングする通常の方法:

データセット(画像セットなど)でタスク(分類など)を実行するようにニューラルネットワークをトレーニングする必要があります。重みをランダムに初期化することにより、トレーニングを開始します。トレーニングを開始するとすぐに、ミスを少なくしてタスクを実行するために重みが変更されます(つまり、最適化)。トレーニング結果に満足したら、ネットワークの重みをどこかに保存します。

今、ネットワークをトレーニングして、異なるデータセット(たとえば、画像も前に使用したものとは異なります)で新しいタスク(オブジェクト検出など)を実行することに興味があります。最初のネットワークで行ったことを繰り返し、ランダムに初期化された重みでトレーニングを開始する代わりに、以前のネットワークから保存した重みを新しい実験の初期重み値として使用できます。この方法で重みを初期化することは、事前に訓練されたネットワークの使用と呼ばれます。最初のネットワークは、事前に訓練されたネットワークです。2番目は、微調整するネットワークです。

事前トレーニングの背後にある考え方は、ランダム初期化は...まあ...ランダムであり、重みの値は解決しようとしているタスクとは何の関係もないということです。値のセットが別のセットよりも優れているのはなぜですか?しかし、他にどのように重みを初期化しますか?タスクに対して適切に初期化する方法を知っている場合は、最適な値に設定することもできます(少し誇張されています)。何も訓練する必要はありません。問題に対する最適な解決策があります。事前トレーニングにより、ネットワークに有利なスタートが切れます。以前にデータを見たように。

事前トレーニングの際の注意点:

ネットワークの事前トレーニングで使用される最初のタスクは、微調整段階と同じです。事前トレーニングと微調整に使用されるデータセットも同じ場合がありますが、異なる場合もあります。異なるタスクと異なるデータセットの事前トレーニングを、わずかに異なる新しいデータセットと新しいタスクに移行する方法を見るのは本当に興味深いです。両方のタスクまたは両方のデータセットに共通点がある場合、事前に訓練されたネットワークを使用することは一般に意味があります。ギャップが大きいほど、事前トレーニングの効果は低くなります。最初に金融データでトレーニングすることにより、画像分類のためにネットワークを事前トレーニングすることはほとんど意味がありません。この場合、事前トレーニング段階と微調整段階との間の切断が多すぎます


10

事前トレーニング/微調整は次のように機能します。

  1. m
  2. Am
  3. BmA
  4. mB

AB


サイドノート:ウェイトを凍結する(しない)場合にのみ、微調整という用語を使用することがあります。この用語の一貫した使用がある場合、私はわからない
マーティン・トーマ

4

上記の2つの答えはよく説明しています。Deep Belief Nets(DBN)の事前トレーニングに関する微妙なことを1つだけ追加します。DBNの事前トレーニングは教師なし学習(つまり、ラベル付きデータなし)であり、その後のトレーニングは教師あり学習(すなわち、ラベル付きデータ付き)です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.