reinforcement learning toolboxでの行​動選択について、状態​から選ばれる行動を制​限することは可能でし​ょうか

1 回表示 (過去 30 日間)
RU SnRG
RU SnRG 2021 年 3 月 25 日
コメント済み: RU SnRG 2021 年 3 月 30 日
現在、reinforcement learning toolboxを用いて、三目並べ(tic tac toe)の強化学習を試みている初学者です。
上記のQiitaの記事を参考に、ActionInfoとObservationInfoを以下のようにしています。 
ObservationInfo = rlNumericSpec([3 3]);
ActionInfo = rlFiniteSetSpec([1 2 3 4 5 6 7 8 9]);
左上のマスから順に1~9として、どこかのマスを選択する、といった形です。
しかし、これだと絶対に入らないマスを選択してしまい、無駄な行動が増えてしまいます(例えば、左上のマスは既に相手が取っているにもかかわらず、行動で1を選択してしまうなど)。このような無駄な行動を避けるために、現在の状態を確認して選択できない行動はあらかじめ除外するといったことをしたいのですが、そのようなことは可能でしょうか?可能でしたらやり方を教えていただきたいです。

採用された回答

Hiro Yoshino
Hiro Yoshino 2021 年 3 月 26 日
現状では、探索方策をカスタマイズする方法があるようです。
連続空間なので少し状況が異なるかと思いますが:
function action = getActionWithExplorationImpl(obj,Observation)
% Given the current observation, select an action
action = getAction(obj,Observation);
% Add random noise to the action
num = size(obj.R,1);
action = action + 0.1*randn(num,1);
end
のように観測情報に合わせて、actionを制御することが可能です。
ただ、非常にシンプルな強化学習の問題に対してカスタム方策を導入するのは、大げさなような気もして、もう少し簡単に出来る方法がないか引き続き調査してみます。
  1 件のコメント
RU SnRG
RU SnRG 2021 年 3 月 30 日
回答ありがとうございます。 最終的にはもう少し複雑なルール上での学習も考えているので少し試してみます。

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

その他の回答 (0 件)

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!