質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

強化学習(深層強化学習)のrewardの変化についてです。(keras-rl使用)

受付中

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 212

Hayato1201

score 90

強化学習で解くための環境を自作してそれをDQNのフレームワーク(keras-rl)を用いてrewardの変化を見て行っているのですが、それについて質問です。
エピソードごとのrewardをグラフにするとだいたいいつも以下の様になります。

イメージ説明
イメージ説明

毎回序盤で一気に下がってその後上がるといった形になります。ここで下がっているポイントはkeras-rlでいう、nb_steps_warmupで指定した最初の学習には使われない部分のステップが終わるとそこでまず下がります。まずこれは何故でしょうか?nb_steps_warmupで指定したタイムステップ分は学習で使われない部分だという認識でしたがこれはどういう事でしょうか?

また一枚めの画像で実際にプロットしている点は以下になります。
[-22.0, -279.0, -58.0, -68.0, -14.0, -8.0, -33.0, -12.0, -39.0, -20.0, -32.0, -28.0, -52.0, -43.0, -18.0, -32.0, -12.0, -17.0, -12.0, -37.0, -16.0, -26.0, -27.0, -7.0, -16.0, -14.0, -48.0, -43.0, -14.0, -28.0]

この時のエージェントでテストすると、以下の様になります。
Episode 1: reward: -6.000, steps: 50
Episode 2: reward: -6.000, steps: 50
Episode 3: reward: -6.000, steps: 50
Episode 4: reward: -7.000, steps: 50
Episode 5: reward: -6.000, steps: 50
Episode 6: reward: -7.000, steps: 50
Episode 7: reward: -7.000, steps: 50
Episode 8: reward: -6.000, steps: 50
Episode 9: reward: -6.000, steps: 50
Episode 10: reward: -6.000, steps: 50
ここで表示されるrewardもそのエピソードのステップ毎に得られたrewardの合計のエピソードrewardですよね?だとしたら、何故テストではこの様に全体としてトレーニング時より高い値となっているのでしょうか?
因みに1500ステップ行った結果ですが、学習を途中で止めてテストするとそこでのrewardは最後まで学習させた時より落ちるので、学習はしっかり進んでいるのではないかと思うのですがどうでしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

こんばんは、お世話になります。
keras-rlは使用した事が無いので推測混じりの回答になりますが、ご容赦下さい。

nb_steps_warmupで指定したタイムステップ分は学習で使われない部分だという認識でしたがこれはどういう事でしょうか?

https://github.com/keras-rl/keras-rl/blob/master/rl/agents/dqn.py をざっと読んだ感じですと、nb_steps_warmupのタイムステップ分は「学習に使わない」のでは無く、「このステップ間はReplay Memoryに経験を蓄積するだけで、パラメータ更新を行わない」という処理の様です。

毎回序盤で一気に下がってその後上がるといった形になります。ここで下がっているポイントはkeras-rlでいう、nb_steps_warmupで指定した最初の学習には使われない部分のステップが終わるとそこでまず下がります。まずこれは何故でしょうか?

環境を自作されているとの事ですので、エージェント側の問題か環境側の問題かを切り分けるのが近道かと思います。

例えば、A,B,Cの3状態からなり

  • 開始状態は常にB
  • 状態Bで行動「左」を選択すると状態Aに遷移し、0の報酬を得る
  • 状態Bで行動「右」を選択すると状態Cに遷移し、-1の報酬を得る

とした場合、ご質問内容と同様の結果になりますでしょうか?

お手数ですが、上記のテスト結果をお知らせ頂ければ、何かのヒントになるかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/04/27 09:59

    回答ありがとうございました!
    現在開始状態は常に同じです。またアクションの種類は10ありそれぞれの行動毎に状況に応じた報酬が与えられるようになっています。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Blender Game Engineでマテリアルを透過したい

    Blenderでゲーム開発をしようとしているものです。 Blender Renderで透過処理したマテリアルをBlender Gameに反映させたいと思っているのですが、透過でき

  • 解決済

    ACCESS クエリでの一部重複?の除外方法について

    前提・実現したいこと こんにちは、質問タイトルが適格でないかもしれませんが宜しくお願いいたします。 通販事業をしており、商品の仕入から販売までのデータベースをACCESSの

  • 解決済

    cloud9のコマンドラインの出し方

    わからないこと cloud9を使っていて、コマンドラインを消してしまって出し方がわからなくなってしまいました。 いろいろ探してみましたが見つかりませんでした。 とても

  • 解決済

    背景色の有無と::

    左上の図でleftの右とrightの右の水色が表示されません。特にエラーもありません。 宜しくお願い致します。 リンク内容 <!DOCTYPE html> <

  • 受付中

    ER図について

    つぶやきアプリを作っているのですが、 ER図を作るとする例えばどんなものがありますか?? サンプル程度でいいので教えていただきたいです

  • 解決済

    pycharmのpython console部分の色の変更

    プログラムには関係ないんですが・・・ 長時間PCの画面を見てると目が疲れてしまうので、色を変えてみようと思って 色を変更してみたのですが、python consoleの部分の色

  • 受付中

    ssd_kerasにおいての学習

    Sierra10.12.5 物体検出アルゴリズムSSDを用いて レンズに移った星を検出して見たいのですが星の画像があまりにも小さいのかうまくいきません。 何かいい方法はありませ

  • 解決済

    ASUS ZenPadで、Camera2APIで、1分動画を2時間分撮影したいです。

    Nexsus 5Xでは、1分動画を、2時間ぶん、撮影することができました。 しかし、ZenPadでは、エラーが出ます。 このようなエラーが繰り返して表示されます。 参

同じタグがついた質問を見る