0

マルチレイヤー、フィードフォワード、バックプロパゲーション構造のために、Python でニューラル ネットワークのコーディングを行いました。このネットワーク構造では、入力層に 24 個のノード、隠れ層に 18 個のノード、出力層に 1 個のノードがあります。小さなデータセットでは良いトレーニング結果が得られますが、大きなデータ入力では、学習率、運動率などの定数パラメーターの値を設定できません。入力値の入力サンプルは次のとおりです。

[[1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
 [1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
 [1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1]
 .
 . .........................                     ]

そして、目標値のサンプルを次のように入力します。

[[-20.0]
 [-10.0]
 [30.0]
  .
  .....]

サンプルの総数は約 5000 です。

learning_rate = 0.01 
momentum_rate = 0.07

良い結果が得られますが、非常に多くの時間がかかり、約500000回の反復が必要です。結果をすばやく取得できるように、学習率と運動率の設定に関する良い提案はありますか? または、学習率の比率を上げる必要があります。学習率を導入する場合、値はどうすればよいですか?

4

1 に答える 1

0

ニューラル ネットワークの学習を高速化するには、試行錯誤のプロセスになる可能性があります。

結果をより速く取得したい場合は、学習率を上げる (重みの調整を大きくする) か、隠れ層のニューロンまたは入力を削除する (計算を減らす) か、反復回数を減らすことができますが、これによりテストが減る可能性もあります。および検証セットのパフォーマンス。

時間があれば、これらのオプションをテストおよび比較して、問題の学習を高速化できるかどうかを判断できます。

于 2014-10-19T22:48:36.757 に答える