3.3ハイパーパラメータの実践的なトレーニング:パンダとキャビアのディープラーニングレッスン2「ディープニューラルネットワークの改善」-スタンフォードウーエンダ教授

ハイパーパラメータトレーニングの練習:パンダ対キャビア(ハイパーパラメータチューニングの練習:パンダ対キャビア)

これまで、最適なハイパーパラメータを検索する方法について多くのことを聞きましたが、ハイパーパラメータ検索に関する説明を終了する前に、ハイパーパラメータ検索プロセスを整理する方法についていくつかの提案とヒントを共有したいと思います。 。

ここに画像の説明を挿入

今日のディープラーニングはさまざまなフィールドに適用されています。あるアプリケーションフィールドのハイパーパラメータ設定が別のフィールドに適用され、異なるアプリケーションフィールドが互いに混じり合っているように見えます。たとえば、ConponetsResNetsなど、コンピュータビジョンの分野で独創的な方法が登場しました。これについては、後のコースで説明します。また、音声認識への応用にも成功し、NLPなどへの音声認識の応用にもとづく発想を目にしました。

ディープラーニングの分野では、さまざまなアプリケーション分野の人々が他の研究分野の記事を読んで、分野を超えたインスピレーションを見つけることができます。

ハイパーパラメータの設定に関しては、直感的なアイデアが非常に新しくなっているので、ロジックなどの1つの問題だけを研究しても、適切なパラメータのセットを見つけて続行している可能性があります。アルゴリズムを開発します。数か月のうちに、データが徐々に変化するか、データセンターのサーバーを更新しただけであることがわかります。これらの変更により、元のハイパーパラメータ設定は失われます使い方は簡単なので、ハイパーパラメータを少なくとも数か月ごとに再テストまたは評価して、値に満足できることを確認することをお勧めします。

最後に、ハイパーパラメータを検索する方法についての質問では、おそらく2つの重要な考え方、または人々が通常取る2つの重要だが異なる方法を見てきました。

ここに画像の説明を挿入

1つは、通常は巨大なデータセットを使用しているが、多くのコンピューティングリソースや十分なCPUGPUがないモデルの世話をすることです。基本的に、一度に実験できるのは1つのモデルまたは少数のモデルのみです。この場合、テスト中であっても徐々に改善できます。たとえば、0日目にランダムパラメータを初期化してから実験を開始し、学習曲線を徐々に観察します。損失関数J、またはデータ設定エラーなどを徐々に観察し、1日目から徐々に減少させます。結局のところ、あなたは言うかもしれません、それは本当に良い研究です。学習率を少し上げて何ができるかを確認します。多分それがより良い結果になっていることがわかります。それが翌日のパフォーマンスです。2日後、あなたはそれがまだうまくいっていると言うでしょう、たぶん私は今、勢いを埋めるか、変数を減らすことができます。次に、3日目を入力します。毎日、それを観察し、常にパラメーターを調整します。たぶんある日、学習率が高すぎるので、このように前のモデルに戻る場合がありますが、このモデルを何日も何週間も続けていても、毎日このモデルの世話をしていると言えます。テスト中。したがって、これは人々がモデルを管理し、そのパフォーマンスを観察し、根気よく学習率をデバッグするための方法ですが、これは通常、十分な計算能力がなく、多数のモデルが同時にテストされるときにテストを受けられないためです。

ここに画像の説明を挿入

別の方法は、複数のモデルを同時に実験することです。いくつかのハイパーパラメーターを設定しますが、単独で実行するか、1日以上実行すると、次のような学習曲線が得られます。これは、損失関数Jまたは実験になります。エラー、データ損失、またはデータ損失エラーですが、これは曲線の軌跡の指標です。同時に、異なるハイパーパラメータ設定で別のモデルを開始できるため、2番目のモデルは別の学習曲線、おそらくこのような線(紫の曲線)を生成します。より良い。同時に、3番目のモデルを試すことができます。このモデルは、このような学習曲線(赤い曲線)と別のモデル(緑の曲線)を生成する可能性があります。または、多くの異なるモデルを同時に並行してテストできます。オレンジ色の線は異なるモデルです。このようにして、さまざまなパラメーター設定を試して、最終的に最適な設定をすばやく選択することができます。この例では、おそらくこれが最もよく見えます(下の緑の曲線)。

ここに画像の説明を挿入

たとえば、左側のメソッドをpandaメソッドと呼びます。パンダに子供がいる場合、子供はほとんどなく、通常は一度に1人だけです。その後、パンダを育てるのに多くのエネルギーを費やして生存を確保するため、これは実際には一種のケアであり、赤ちゃんパンダに似たモデルです。それとは対照的に、右側の方法は、キャビアメソッドと呼んでいる魚の行動に似ています。繁殖期には、1億個の卵を産む魚もいますが、魚の飼育方法では、大量の卵を産みますが、それらの卵の世話はせず、1匹またはそれらのグループがうまく機能することを願っています。これが哺乳類や魚の繁殖と多くの爬虫類の繁殖の違いだと思います。楽しくて覚えやすいパンダメソッド、キャビアメソッドと呼んでいます。

したがって、これら2つの方法の選択は、使用しているコンピューティングリソースによって決まります。多くのモデルを並行してテストするのに十分なコンピューターがある場合は、キャビア法を確実に使用し、多くの異なるハイパーパラメーターを試して、その効果を確認してください。しかし、オンライン広告設定やコンピュータービジョンアプリケーションなど、データが多すぎる一部のアプリケーション領域では、多数のモデルをテストする必要があるため、多数のモデルを同時にテストすることは困難であり、アプリケーションプロセスに依存しています。しかし、私はパンダをより頻繁に使用する組織を見かけます。そこでは、赤ちゃんのようなモデルの世話をし、パラメーターをデバッグして、それを機能させようとします。もちろん、パンダモードでも、モデルを試してみて機能するかどうかを確認しますが、おそらく2週間または3週間後、別のモデル(緑の曲線)を作成してパンダのように扱う必要があります。この世の中で、一度に一人の子供しかいない、あるいは子供の数が非常に少ない場合でも、複数の子供を育てることができると思います。

ここに画像の説明を挿入

ハイパーパラメータ検索プロセスの実行方法を学んでいただければ幸いです。ニューラルネットワークをより強固にすることができる別のテクニックがあります。すべてのニューラルネットワークに適しているわけではありませんが、該当する場合は、これにより、ハイパーパラメータ検索がはるかに簡単になり、テストプロセスが高速化されます。この手法については、次のビデオで説明します。

コースPPT

ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

242のオリジナル記事を公開 Like9 訪問者10,000以上

おすすめ

転載: blog.csdn.net/weixin_36815313/article/details/105448685