21

Tensorflow と AdamOptimizer を使用して回帰問題を解決する非常に単純な ANN があり、すべてのハイパーパラメーターを調整するところまで来ました。

今のところ、調整が必要なさまざまなハイパーパラメータが多数あります。

  • 学習率 : 初期学習率、学習率減衰
  • AdamOptimizer には 4 つの引数 (learning-rate、beta1、beta2、epsilon) が必要なので、それらを調整する必要があります - 少なくとも epsilon
  • バッチサイズ
  • 反復回数
  • ラムダ L2 正則化パラメーター
  • ニューロン数、層数
  • 出力層の非表示層の活性化関数の種類
  • ドロップアウト パラメータ

2 つの質問があります。

1) 私が忘れたかもしれない他のハイパーパラメータを見つけますか?

2) 今のところ、私のチューニングは完全に「手動」であり、すべてを適切に行っているかどうかはわかりません。パラメータを調整する特別な順序はありますか? たとえば、最初に学習率、次にバッチサイズ、そして...これらすべてのパラメータが独立しているとは確信していません - 実際、そうでないものもあると確信しています。明らかに独立しているのはどれで、明らかに独立していないのはどれですか? 次に、それらを一緒に調整する必要がありますか? すべてのパラメータを特別な順序で適切に調整することについて説明している論文や記事はありますか?

編集:これは、さまざまな初期学習率、バッチサイズ、正則化パラメーターについて取得したグラフです。紫色の曲線は私にとっては完全に奇妙です.コストは他のものと同じようにゆっくりと減少しますが、より低い精度率で立ち往生します. モデルがローカル ミニマムでスタックしている可能性はありますか?

正確さ

料金

学習率については、減衰を使用しました: LR(t) = LRI/sqrt(epoch)

ご協力いただきありがとうございます !ポール

4

5 に答える 5

7

私の一般的な順序は次のとおりです。

  1. 将来の実験のトレーニング時間に大きく影響するため、バッチサイズ。
  2. ネットワークのアーキテクチャ:
    • ネットワーク内のニューロンの数
    • レイヤー数
  3. レスト (ドロップアウト、L2 reg など)

依存関係:

の最適値は

  • 学習率とバッチサイズ
  • 学習率とニューロン数
  • ニューロン数と層数

お互いに強く依存しています。私はその分野の専門家ではありません。

あなたのハイパーパラメータについては:

  • Adam オプティマイザーの場合: 「論文で推奨される値は、eps = 1e-8、beta1 = 0.9、beta2 = 0.999 です。」(ソース
  • Adam と RMSProp の学習率については、ほとんどの問題で 0.001 前後の値が最適であることがわかりました。
  • Adam の代わりに、RMSProp を使用することもできます。これにより、メモリ フットプリントが最大 33% 削減されます。詳細については、この回答を参照してください。
  • また、重みの初期値を調整することもできます (「必要なのは適切な init だけ」を参照)。ただし、Xavier イニシャライザは、重みの初期化を調整する必要がないようにするための良い方法のようです。
  • ハイパーパラメータとして反復/エポックの数を調整しません。検証エラーが収束するまでネットをトレーニングします。ただし、各実行に時間の予算を与えます。
于 2017-01-05T15:35:08.147 に答える
4

Tensorboard を実行します。そこにエラーをプロットします。TB がプロットするデータを探すパスにサブディレクトリを作成する必要があります。スクリプトでそのサブディレクトリの作成を行います。そこで、スクリプトのパラメーターを変更し、そこで試行に名前を付けて実行し、すべての試行を同じグラフにプロットします。すぐに、グラフとデータの最も効果的な設定の感触をつかむことができます。

于 2016-05-26T22:37:05.450 に答える
2

重要度の低いパラメータについては、適切な値を選択してそのまま使用することができます。

あなたが言ったように、これらのパラメータの最適値はすべて互いに依存しています。最も簡単な方法は、各ハイパーパラメーターの妥当な値の範囲を定義することです。次に、各範囲からパラメーターをランダムにサンプリングし、その設定でモデルをトレーニングします。これを何度も繰り返して、最適なモデルを選択します。運が良ければ、どのハイパーパラメータ設定が最も効果的であったかを分析し、そこからいくつかの結論を導き出すことができます。

于 2016-05-26T19:54:14.810 に答える