離散行動を複数持つQ関数の作成

6 views (last 30 days)
Y. M
Y. M on 20 Oct 2020
Commented: Y. M on 21 Oct 2020
rlFiniteSetSpec を使い、複数の離散行動を持つQ関数を作成したいのですが、
InputとDimensionの数が合わずエラーが返されてしまいます。
現在コードは下記のようにしているのですが、
DimensionをInputの数に合わせる方法はないでしょうか。
初歩的な質問となってしまいますが、
教えていただけますと幸いです。
%Actionに関するコード抜粋
NA = 5;
actInfo =rlFiniteSetSpec(NA);
actPath = [
featureInputLayer(NA,'Normalization','none','Name','action')
fullyConnectedLayer(50,'Name','CA1')]

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 20 Oct 2020
rlFiniteSetSPec の引数はInputの数では無く、実際に取り得る値を指定します
actionが1つならば、それが取り得る離散値をベクトルで渡します
actionが複数ならば、cellを使ってあり得る組み合わせのベクトルを渡します
このあたりに詳細が書いてあります
  3 Comments
Hiro Yoshino
Hiro Yoshino on 21 Oct 2020
cellの扱い等を理解が怪しいのでMATLAB入門を受講されることをおススメします:
selectable_actions=[1,2,3,4,5];
上のようにするのがドキュメンテーション通りです(恐らく、セルを使っても動作はしますが)
observationの数が3つっぽいのですが、NS = 4?そのあたりは大丈夫ですか?
obsInfo =rlNumericSpec([4 1]);
かなと思います。
いずれにしても、ドキュメンテーションに書いてありますので、よく読まれる事をおススメします。
https://jp.mathworks.com/help/reinforcement-learning/ref/rl.util.rlnumericspec.html#mw_dd97f7de-8690-4904-9211-08eb0123352b
Y. M
Y. M on 21 Oct 2020
始めたばかりとはいえ、
初歩的なことで詰まってしまっていることがお恥ずかしいばかりです。
多くの助言を頂き、誠にありがとうございます。

Sign in to comment.

More Answers (0)

Categories

Find more on 時系列、シーケンス、およびテキストを使用した深層学習 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!