YutaroOgawa / Deep-Reinforcement-Learning-Book

書籍「つくりながら学ぶ!深層強化学習」のサポートリポジトリです
MIT License
336 stars 157 forks source link

入力ファイルを表形式で持った強化学習のアルゴリズムについて #14

Closed onozuka777 closed 2 years ago

onozuka777 commented 2 years ago

小川先生

本の内容と直接関係がなく、大変恐縮なのですが、例えばDQNを報酬、行動、状態などをエクセルのような表形式で持たせて、DQNを行うようなPythonのアルゴリズムをご存じでしょうか。今のデータがそのような形になっており、いろいろと検索をしたり、聞いて回っているのですが、なかなか良い回答が得られず、恥ずかしながら、こちらで先生ならどのように考えられるか、少しご相談したいと思いました。 本と関係ないので、分からないということであれば、クローズで大丈夫です。 何卒、よろしくお願い申し上げます。

YutaroOgawa commented 2 years ago

@onozuka777 さま

あまりにかけ離れた話で答えられないものは申し訳ないですが、 この範囲であれば、問題なくです。

他の読者の方も気になる人もいるかと思います。

いただいた質問より、私の理解では

[1] 手元にはシミュレータ環境がない [2] 手元には強化学習的な動作をさせた結果の表はある [3] その表は行が時間(ステップt)、列は状態s_t、選択した行動a_t、得られた報酬r_tが格納されている

と理解しました。

まず上記3つの前提は合っていますでしょうか?

その場合に、「オフラインの強化学習」が過去データからシミュレータを介さずに強化学習させる方法として存在し、 このあたりはどうかな?と思いました。

いかがでしょうか?

onozuka777 commented 2 years ago

小川先生

突然の本とはかけ離れた質問にご連絡いただき、ありがとうございます。 [1] 手元にはシミュレータ環境がない →PythonとunixのGPUの環境はありますが、シミュレータといった環境はありません。 [2] 手元には強化学習的な動作をさせた結果の表はある →その通りです。 [3] その表は行が時間(ステップt)、列は状態s_t、選択した行動a_t、得られた報酬r_tが格納されている →おっしゃる通りで、合わせて、ゲームが終了したかどうかのフラッグがあります。

少し、表現はちゃんと理解していないかもしれないのですが、おそらく、合っていると思います。 手元にはエクセルなどで自分で設定した、行動、状態、報酬、ゲームが終わったかどうかのフラッグ があり、そういった表形式の入力ファイルに対して、強化学習を実施するのが、どのようなサイトを見ても 自分で作成した関数の中で、定義していて、そもそも私のようなケースが実施可能なのかどうかが知りたく、 質問させていただきました。 お手数をおかけしますが、何卒、よろしくお願い申し上げます。

YutaroOgawa commented 2 years ago

@onozuka777 さま

早速の返信ありがとうございます。

「オフライン強化学習」がまさに該当するのではと思いました。

もし「オフライン強化学習」の分野を調べていなければ、 一度検索して、雰囲気的にいけそうか調べてみていただけますでしょうか?

onozuka777 commented 2 years ago

上記、ご連絡ありがとうございます。オフライン強化学習関連の方とコンタクトができました。いつも丁寧にありがとうございます。本質問はcloseで結構です。 ありがとうございました。

YutaroOgawa commented 2 years ago

@onozuka777 さま

お疲れ様です!進展することを応援しております!