私はKeras
を使って深いqの学習を実験しています。私はタスクを実行するエージェントを教えたいと思います。深いqの学習が収束していない
私の問題で、私はそれにオブジェクトを打つ避けるために、エージェントを教えるためにwan'tは、エージェントが水平移動され、回避するためのオブジェクトが上下動し、私されているスピード(加速または減速)
です変更することにより、パスですそれを打つことを避けるためにスピードを変える方法を学ぶことをやめてください。 私はこの上に自分のコードベース:Keras-FlappyBird
iが400出力ノード
と、シグモイド活性化関数10緻密隠れ層とモデル(iは畳み込みネットワークを使用していない)3つの異なるモデルを試し
ReLu
活性化機能10緻密隠れ層とLeaky ReLU
活性化関数- モデル10緻密隠れ層と
モデル400の出力ノードで
と私はネットワークに私の言葉のすべてのオブジェクトの座標と速度をネットワークにフィードします。
と100万のフレームのためにそれを訓練し、まだここに結果 は3つのモデルのための私のq値のプロットで見ることができない、
モデル3:あなたは報酬あちこちと全て同じで改善されていないのq値を見ることができるようにQ値が
をズーム...私を助けてください私は私だものを間違っています。
あなたの答えは、1:400ノードに感謝します。私は隠されたノードを意味し、出力ノードには私は3つしかありません。 2:はいあなたは正しいです私は自分の環境のコードを移植しています。 3:私の環境を説明する。私は基本的に移動するターゲットとの衝突を避けるためにネットワークを訓練しようとしています、私は入力としてターゲットの位置を入力し、出力は3つの可能なアクションです –
と私はあなたが正しいと思う、私はイプシロンのパラメータとガンマと私はいくつかの改善を参照してくださいしかし、私は期待した結果ではまだ –
私はまた、学習率を含む他のパラメータも見ていきます。あなたの環境にターミナル状態がない場合は、0.1以上の最小探査速度を持つことを検討する必要があるかもしれません。 –