gym.spaces.box Наблюдение за состоянием государства - PullRequest
1 голос
/ 08 февраля 2020

Так что я пытаюсь выполнить некоторые упражнения для подкрепления в специальной среде, используя тренажерный зал, но я очень смущен тем, как работает spaces.box. Что означает каждый из параметров? Если у меня есть игровое состояние, которое включает в себя много информации, такой как hp персонажей, их характеристики и способности в качестве примера, я не уверен, что что-то подобное будет представлено в Box как состояние наблюдения. Также в игре с большим количеством способностей было бы лучше кодировать их одним щелчком или оставить их как обычные инкрементные идентификаторы, так как я хочу использовать нейронную сеть, чтобы найти ожидаемые значения Q.

1 Ответ

3 голосов
/ 08 февраля 2020

spaces.Box означает, что вы имеете дело с действительными величинами.

Например:

action_space = spaces.Box(np.array([-1,0,1]), np.array([1,1,2]))

Здесь действия являются трехмерными. Кроме того, [-1,0,1] является самым низким допустимым значением, а [1,1,2] является самым высоким принятым значением.

По сути, a=[a1,a2,a3],

a1 находится в диапазоне [-1,1], a2 находится в диапазоне [0,1], a3 является в диапазоне [1,2].

Если существует множество «способностей» с огромным разнообразием, то вектор состояния может стать довольно огромным, если использовать одно горячее кодирование. Следовательно, было бы целесообразно использовать регулярные инкрементные идентификаторы. Но нормализуйте их в диапазоне [0,1], чтобы активации нейронной сети не насыщались.

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