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

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

採用された回答

Hiro Yoshino
Hiro Yoshino 2020 年 10 月 20 日
rlFiniteSetSPec の引数はInputの数では無く、実際に取り得る値を指定します
actionが1つならば、それが取り得る離散値をベクトルで渡します
actionが複数ならば、cellを使ってあり得る組み合わせのベクトルを渡します
このあたりに詳細が書いてあります
  3 件のコメント
Hiro Yoshino
Hiro Yoshino 2020 年 10 月 21 日
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 2020 年 10 月 21 日
始めたばかりとはいえ、
初歩的なことで詰まってしまっていることがお恥ずかしいばかりです。
多くの助言を頂き、誠にありがとうございます。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange時系列、シーケンス、およびテキストを使用した深層学習 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!