rlLinearBasisRepresentationを使用した自作エージェントの作成方法に関して
3 views (last 30 days)
Show older comments
Teppei Iwata
on 2 Mar 2020
Commented: Teppei Iwata
on 19 Mar 2020
reinforcement learning toolboxを使用して自作エージェントを作成使用と考えております.
その際,Q関数をrlLinearBasisRepresentationで設定することを考えております.
このとき,勾配の計算およびパラメータの更新をどのように行えば良いでしょうか?
toolbox内のソースコードも確認しているのですが,rl.internal.ad.modelというpコードが内部に使用されているようで,動作を追うことができません.
よろしくお願いいたします.
0 Comments
Accepted Answer
Toshinobu Shintai
on 2 Mar 2020
以下のWebページにあるCustom Agentの作成例はご覧になりましたでしょうか。
ここに書かれている方法で解決すれば幸いですが、いかがでしょうか。
5 Comments
Hiro Yoshino
on 5 Mar 2020
まず、ごめんなさい:
を読んでいたら、方策勾配法以外の部分も有りますね。失礼しました。Q学習もカスタム出来そうです。
そして、ごめんなさい2: 回答はすぐ出ません。そのうえで私の知っている事と、想像を書きます:
custom agentを使った方法は、ちょっと直ぐには答えが私からは出てきませんが、少し目先を変えます。
まず、勾配の部分ですが線形基底関数での近似なので、ひょっとしたら勾配くらいは解析的に求められるのでは無いですか?そうしたら、組み込まなくても良いですよね?外で計算ができるはずです。
二点目ですが、ニューラルネットワークでQを近似したものの勾配は解析的に求められないので、誤差逆伝搬法というややこしいアルゴリズムで関節的に計算します。DLを使った強化学習での「勾配計算」はこの逆伝搬をやってくれるというもので、上記のような所謂勾配計算とはまた別のモノだと思われます。DLを想定している場所に、数値的には直ぐにできるユーザー定義のQ関数の勾配計算を組み込むのは....変な気がします。
従って、ご意見を見ている限りですが、教科書の初めに出てくるようなTD-Qを連続量でやられたいのかな?と思いました。それはカスタムというか、Qの関数表現を定義するだけの話なのでは?
にQの近似の方法が書いてありそうです。普通にQ学習のエージェントクラスから、そのメンバとしてQの設計をするという流れなような気がします。
こちらに
"Q-learning agent maintains a critic Q(S,A), which is a table or function approximator."
なんて記述が有ります。恐らくテーブル以外の表現(つまり関数近似)ができるのでは?と思います。
More Answers (0)
See Also
Categories
Find more on Training and Simulation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!