ニューラルネットワークを使用したQラーニングに関する質問


14

で説明されているように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の反復後でも学習しない場合があります。


好奇心から、両方を同時にネットワークにフィードするために、状態入力とアクション入力をどのように組み合わせましたか?このコードの塊を公開していますか?ありがとうございました!
ペドロロペス

回答:


9

Q1。あなたは間違いなく正しい軌道に乗っていますが、いくつかの変更は非常に役立ちます。アクションごとに1つの出力ユニットを使用するため、アクションを選択するためにネットワークを1回実行するだけで済みます(可能なアクションごとに1回ネットを実行する必要があります)。しかし、これは学習に関して違いをもたらすべきではなく、モデルを大幅にスケールアップすることを計画している場合にのみ実装する価値があります。

Q2。一般に、人々は、特に強化学習のために、ニューラルネットワークの最後の層線形活性化関数を使用します。これにはさまざまな理由がありますが、最も適切なのは、線形アクティベーション関数を使用すると、実数の全範囲を出力として表現できることです。したがって、タスクの報酬の限界がわからなくても、その範囲を表すことができることが保証されます。

Q3。残念ながら、ニューラルネットワーク(および一般的な非線形関数近似)と強化学習を組み合わせるための理論的保証はほとんどありません。強化学習には、主にサットンラボで行われているような、より洗練されたバージョンがありますが、これはあなたが言及したような収束の主張をすることができますが、これらのアルゴリズムが「インザワイルド」に適用されるのを見たことはありません。この理由は、優れたパフォーマンスは約束できませんが、通常はハイパーパラメーターと初期条件に適切に注意して実際に得られるためです。

一般的なニューラルネットワークについて言及する最後のポイント:隠れ層が多いネットワークにはシグモイド活性化関数を使用しないでください!彼らは「勾配の消失」の問題に呪われています。エラー信号は以前の層にはほとんど届きません(関数の導関数を見ると、なぜそうなのかが明確になります)。代わりに、一般にディープネットワークではるかに優れたパフォーマンスを示すため、整流線形ユニット(RELU)または「ソフトプラス」ユニットを使用してみてください。

強化学習でトレーニングされたニューラルネットワークの優れた実装については、このペーパーを参照してください。

Mnih、Volodymyr、他 「深層強化学習でAtariをプレイします。」arXivプレプリントarXiv:1312.5602(2013)。


0

アクティベーション機能については、maxoutもうまく機能します。ディープネットワークには適切なトレーナーの使用が不可欠です。さまざまなトレーナーを試しましたが、RMSpropを使用することに決めました。


1
サイト@ user3355911へようこそ。これはおそらくあまりにもまばらで、ここでの答えにはなりません。あなたはそれを拡大し、さらに肉付けすることができますか?
GUNG -復活モニカ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.