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

10 views (last 30 days)
RU SnRG
RU SnRG on 25 Mar 2021
Commented: RU SnRG on 30 Mar 2021
現在、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を選択してしまうなど)。このような無駄な行動を避けるために、現在の状態を確認して選択できない行動はあらかじめ除外するといったことをしたいのですが、そのようなことは可能でしょうか?可能でしたらやり方を教えていただきたいです。

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 26 Mar 2021
現状では、探索方策をカスタマイズする方法があるようです。
連続空間なので少し状況が異なるかと思いますが:
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 Comment
RU SnRG
RU SnRG on 30 Mar 2021
回答ありがとうございます。 最終的にはもう少し複雑なルール上での学習も考えているので少し試してみます。

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!