フィルターのクリア

Scaling layer usage for action output

3 ビュー (過去 30 日間)
Yihao Wan
Yihao Wan 2023 年 6 月 9 日
コメント済み: Yihao Wan 2023 年 6 月 20 日
Hello, I am using the tanhlayer as the output activation function for the action network while my action space is [0,10]. In this sense, I am referring to this answer by adding scaling layer.
However, I got saturated action value. I looked into the answer, shouldn't it be
scalingLayer('Scale',(actionInfo.UpperLimit-actionInfo.LowerLimit)/2,'Bias',(actionInfo.UpperLimit+actionInfo.LowerLimit)/2)
Thanks for your help.
Here is the code"
numActions = 2;
actInfo = rlNumericSpec([numActions 1],'LowerLimit',0,'UpperLimit', 10);
actorNetwork = [
featureInputLayer(numObservations,'Normalization','none','Name','State')
fullyConnectedLayer(32, 'Name','actorFC1')
reluLayer('Name','relu1')
fullyConnectedLayer(16, 'Name','actorFC2')
reluLayer('Name','relu2')
fullyConnectedLayer(numActions,'Name','Action')
tanhLayer('Name','tanh3')
scalingLayer('Scale',actInfo.UpperLimit-actInfo.LowerLimit,'Bias',(actInfo.UpperLimit-actInfo.LowerLimit)/2)
];
actordlNet = dlnetwork(actorNetwork);
actor = rlContinuousDeterministicActor(actordlNet,obsInfo,actInfo);
  5 件のコメント
Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2023 年 6 月 20 日
I corrected the answer, you are right, the scale factor should be divided by 2
Yihao Wan
Yihao Wan 2023 年 6 月 20 日

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

回答 (0 件)

Community Treasure Hunt

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

Start Hunting!

Translated by