代理/代理执行的操作没有改善

数据挖掘 强化学习 演员评论家 kerasrl 折扣奖励
2022-02-28 19:01:42

您好我正在尝试使用 PPO 算法开发 rl 代理。我的代理采取行动 (CFM) 将一个名为 RAT 的状态变量维持在 24 到 24.5 之间。我正在使用稳定基线库的 PPO 算法来训练我的代理。我已经对代理进行了 2M 步的训练。

代码中的超参数:

def __init__(self, *args, **kwargs):
        super(CustomPolicy, self).__init__(*args, **kwargs,
                                           net_arch=[dict(pi=[64, 64],
                                                          vf=[64, 64])],
                                           feature_extraction="mlp")

model = PPO2(CustomPolicy,env,gamma=0.8, n_steps=132, ent_coef=0.01,
             learning_rate=1e-3, vf_coef=0.5, max_grad_norm=0.5, lam=0.95,
             nminibatches=4, noptepochs=4, cliprange=0.2, cliprange_vf=None,
             verbose=0, tensorboard_log="./20_01_2020_logs/", _init_setup_model=True,
             policy_kwargs=None, full_tensorboard_log=False)

一旦我训练了代理,我就会测试代理在一个情节中采取的行动。

在此处输入图像描述 在此处输入图像描述

对于 40 到 60 之间的时间步长,RAT 值高于 24.5。从领域知识来看,如果代理在 250 左右采取 CFM 动作,它可以将 RAT 维持在 24 到 24.5 之间。但代理没有采取此类行动,而是采取类似于先前步骤的行动。

有人可以帮我解决这个问题吗?我应该尝试调整任何特定的超参数吗?

谢谢

0个回答
没有发现任何回复~