Награда сходится, но действия не правильны в обучении подкреплению - PullRequest
0 голосов
/ 03 октября 2019

Я разрабатываю обучающий агент для подкрепления.

Моя структура вознаграждения выглядит следующим образом:

thermal_coefficient = -0.1

        zone_temperature = output[6]

        if zone_temperature < self.temp_sp_min:
            temp_penalty = self.temp_sp_min - zone_temperature
        elif zone_temperature > self.temp_sp_max:
            temp_penalty = zone_temperature - self.temp_sp_max
        else :
            temp_penalty = 0

у меня temp_sp_min - 23,7, а temp_sp_max - 24,5. Когда я обучаю агента на основе стратегии выбора эпсилон-жадных действий, примерно после 10000 эпизодов мои награды сходятся. Когда я проверяю обученного агента сейчас, действия, предпринимаемые агентом, не имеют смысла, то есть когда zone_temperature меньшеtemp_sp_min оно предпринимает действие, которое еще больше снижает зону_температуры.

Я не понимаю, где я иду не так. Может кто-то помочь мне с этим?

Спасибо

1 Ответ

0 голосов
/ 03 октября 2019

Это нормально, что эпсилон-жадный алгоритм выполняет действия, которые не логичны, действительно, эти действия должны быть разведочными (действия, предпринятые с вероятностью 1-эпсилон).

Но я думаю, что для вашей проблемы это алгоритмдля контекстного MAB, который вам нужен, потому что ваша награда зависит от контекста / состояния (текущей температуры). Попробуйте другой алгоритм, который работает лучше в таких условиях, как LinUCB или DQN.

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