で説明されているようにQラーニングを実装しました。
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の反復後でも学習しない場合があります。