Агент ЛР не предпринимает правильных действий, даже если есть возможность предпринять лучшие действия - PullRequest
0 голосов
/ 21 января 2020

Привет. Я пытаюсь разработать RL-агент, используя алгоритм PPO. Мой агент выполняет действие (CFM) для поддержания переменной состояния с именем RAT в диапазоне от 24 до 24,5. Я использую алгоритм PPO библиотеки стабильных базовых уровней для обучения моего агента. Я обучил агента за 2 миллиона шагов.

Гиперпараметры в коде:

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)

После обучения агента я проверяю действия, предпринятые агентом в эпизоде.

enter image description here enter image description here

Для временных интервалов между 40 и 60 значение RAT превышает 24,5. Исходя из знания предметной области, если агент выполняет действие CFM около 250, он может поддерживать RAT в диапазоне от 24 до 24,5. Но агент не предпринимает таких действий, а предпринимает действия, аналогичные предыдущим.

Может кто-нибудь помочь мне с решением этой проблемы? Есть ли какой-то конкретный гиперпараметр, который я должен попробовать настроить?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...