Как обучить актерско-критическое (A2C) обучение подкреплению - PullRequest
0 голосов
/ 29 июня 2018

В настоящее время я могу обучать систему, используя Q-Learning. Я хочу переместить его в метод Actor_Critic (A2C). Пожалуйста, не спрашивайте меня, почему для этого шага я должен.

В настоящее время я заимствую реализацию из https://github.com/higgsfield/RL-Adventure-2/blob/master/1.actor-critic.ipynb

Дело в том, что я продолжаю получать успех примерно на 50% (это в основном случайное поведение). Моя игра - длинный эпизод (50 шагов). Должен ли я распечатать награду, ценность или что? Как мне отладить это?

Вот несколько журналов:

simulation episode 2: Success, turn_count =20
loss = tensor(1763.7875)

simulation episode 3: Fail,  turn_count= 42
loss = tensor(44.6923)

simulation episode 4: Fail,  turn_count= 42
loss = tensor(173.5872)

simulation episode 5: Fail,  turn_count= 42
loss = tensor(4034.0889)

simulation episode 6: Fail,  turn_count= 42
loss = tensor(132.7567)

loss = simulation episode 7: Success, turn_count =22
loss = tensor(2099.5344)

Как общая тенденция, я заметил, что для эпизодов Успех потери имеют тенденцию быть огромными, тогда как для эпизода Сбой выходной сигнал функции потерь, как правило, невелик.

1 Ответ

0 голосов
/ 01 июля 2018

Я думаю, что вы делаете ошибку , если вы действительно хотите знать, как реализовать алгоритм Actor Critic, вам нужно сначала освоить 2 вещи: - Реализация алгоритмов RL на основе значений (таких как DQN). - Реализация алгоритмов RL на основе политик (таких как градиенты политик).

Вы не можете напрямую перейти на модели критики актера , на самом деле вы можете, но вы ничего не поймете, если не сможете понять актера (на основе политики) и критика (на основе ценности) по отдельности.

Это как если бы вы хотели нарисовать Joconde, прежде чем начать учиться рисовать.

Мой совет, найдите время, чтобы изучить эти 2 элемента, прежде чем внедрять агент AC.

Я сделал бесплатный курс с tenorflow и завершил реализацию здесь https://simoninithomas.github.io/Deep_reinforcement_learning_Course/

Но, опять же, реализуйте архитектуры самостоятельно, копировать архитектуру бесполезно, если вы действительно ее не понимаете.

...