嗨,我正在尝试使用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之间。但是,代理不会采取此类措施,而是采取与之前步骤类似的措施。
有人可以帮助我解决该问题吗?我应该尝试调整任何特定的超级参数吗?
谢谢