で説明されているように、Q-Learning を実装しました。
http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf
約するために。Q(S,A) 次のようなニューラル ネットワーク構造を使用します。
- 活性化シグモイド
- 入力、入力数 + アクション ニューロンの 1 (すべての入力を 0 ~ 1 にスケーリング)
- 出力、シングル出力。Q値
- N 個の M 隠しレイヤー。
- 探索方法 random 0 < rand() < propExplore
次の式を使用して各学習反復で、
Q-Target 値を計算してから、以下を使用してエラーを計算します。
error = QTarget - LastQValueReturnedFromNN
そして、ニューラル ネットワークを介してエラーを逆伝播します。
Q1, 私は正しい軌道に乗っていますか? アクションごとに 1 つの出力ニューロンを持つ NN を実装するいくつかの論文を見てきました。
Q2, 報酬関数が-1~1の数値を返すのですが、アクティベーション関数がシグモイド(0 1)の場合、-1~1の数値を返してもいいですか?
Q3、この方法についての私の理解から、十分なトレーニング インスタンスが与えられた場合、最適なポリシー ワイトを見つけるために隔離する必要がありますか? XOR のトレーニングを行うと、2k 回の反復後に学習する場合があり、40k 50k の反復後でも学習しない場合があります。