Reaching observation data and pass them to the learning process

1 view (last 30 days)
Hi everyone,
I'm wondering if I can have access to observation data and take actions based on the first observed observations in every time step.
Something that I need is like here:
like here:
obsInfo = rlNumericSpec([8 1]);
if obsInfo.input(1)<0
actInfo= rlNumericSpec([4 1],...
LowerLimit=[-inf -inf -inf -inf]',...
UpperLimit=[0 0 0 0]');
obsInfo.input(1)>0
actInfo= rlNumericSpec([4 1],...
LowerLimit=[0 0 0 0]',...
UpperLimit=[inf inf inf inf]');
else
end

Accepted Answer

Emmanouil Tzorakoleftherakis
Edited: Emmanouil Tzorakoleftherakis on 21 Mar 2024
In general, you cannot change the observation/action space definition once they are defined. That said, it seems to me that what you are trying to accomplish can be done in a different way. Depending on whether your environment is in MATLAB or Simulink, you can check whether the last observation was positive or negative and adjust the agent's output as needed.
If you are using an off-policy agent, it would be a good idea to also make sure this adjustment is reflected in the experience buffer as well. You can use, e.g. the last action port for that.

More Answers (0)

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!