您好我正在尝试使用 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 之间。但代理没有采取此类行动,而是采取类似于先前步骤的行动。
有人可以帮我解决这个问题吗?我应该尝试调整任何特定的超参数吗?
谢谢

