强化学习DDPG代理半主动控制问题

16个视图(30天)
亲爱的Matlab社区,
我实现了一个强化学习代理(DDPG)控制的半主动悬架系统模型为我的硕士论文。金宝app仿真软件金宝app模型是半车模型有两个轮胎连接到底盘的身体和代理人应当控制可变阻尼器前后的轴。但是每个学习与大量的会话集DDPG代理只学习一个次优控制策略。主要结果尽可能低的阻尼比为轴,最大轴前面只有微小的控制调整(示例图)。
模型的描述:
  • 13日连续观察
  • 2连续操作
  • 奖励函数负二次底盘和俯仰加速度
  • Resetfunction加载一个伪随机道路每集概要文件
  • 阻尼比从900年到4300年Ns / m
  • 每集最后10秒
我试过所有这些变化,结果大多是相同的:
  • NumHiddenUnit 25和256
  • 学习速率的演员= 1 e - 3和1的军医
  • 有和没有并行计算
  • 300年、1500年和2000年
我的问题:
  • 有什么问题我的经纪人,他只会让小控制措施?
  • 有没有可能,我DDPG代理doenst探索足够了吗?
抱歉我的坏英语和我感谢你所有的帮助。
% %代理创建
% Actionspace
2 actInfo = rlNumericSpec ([1],
“LowerLimit”hfmParam.dA.value (1)
“UpperLimit”hfmParam.dA.value (2));
% Observationspace
obsInfo = rlNumericSpec (13 [1],
“LowerLimit”,(负负负负负负负负负负负负0]”,
“UpperLimit”,正正正正正正正正正正正正40]”);
% %环境
env = rl金宝appSimulinkEnv (mdl agentBlock、obsInfo actInfo);
env。ResetFcn = @(在)localResetFcn(的);
%代理选项
agentOpts = rlDDPGAgentOptions (“SampleTime”、tS);
knnOpts = rlAgentInitializationOptions (“NumHiddenUnit”obsInfo.Dimension (1) * 2 - 1);
%的代理
代理= rlDDPGAgent (obsInfo actInfo、knnOpts agentOpts);
评论家= getCritic(代理);
critic.Options。LearnRate = 1 e - 3;
代理= setCritic(代理、批评);
演员= getActor(代理);
actor.Options。LearnRate = 1的军医;
代理= setActor(代理、演员);

接受的答案

Emmanouil Tzorakoleftherakis
Emmanouil Tzorakoleftherakis 2021年3月29日
你好,
这是非常的可能有很多方法可以提高你的设置。我的猜测是,问题是你上面提出的问题密切相关。如果代理不探索不够,你玩的所有其他参数不会产生多大影响。
首先,重要的是理解DDPG勘探工作。字面上,您是我们添加噪声采样从噪声模型确定的政策产出(步骤1 在这里 )。如果噪声模型的参数没有调整好,噪声添加到你的行动范围相比会非常小所以代理不会探索(我怀疑就是以考虑到你不调整噪音选项上面代码中)。
请看看 医生的注意。至少,你应该确保噪声的方差模型是在1 - 10%之间的行动范围。然后你可以玩方差衰减率。这有助于你取得一些进展
5个评论
摩诃Mosalam
摩诃Mosalam 2021年12月1日
你好
如果我有非常小的值的范围可能在0.001和-0.001之间,我可以选择如何探索,期间actulally行动不改变值的步骤,任何帮助吗?

登录置评。

更多的答案(0)

下载188bet金宝搏


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!