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

現在、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일

0 개 추천

現状では、探索方策をカスタマイズする方法があるようです。
連続空間なので少し状況が異なるかと思いますが:
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개)

카테고리

도움말 센터File Exchange에서 Simulink에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2021년 3월 25일

댓글:

2021년 3월 30일

Community Treasure Hunt

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

Start Hunting!