Представление состояния для мира сетки

Я новичок в обучении с подкреплением и q-обучении, и я пытаюсь понять концепции и попытаться их реализовать. Большинство материалов, которые я нашел, используют слои CNN для обработки ввода изображения. Я думаю, что лучше начать с чего-то более простого, поэтому я использую мир сетки.

Это то, что я уже реализовал. Я реализовал среду, следуя MDP, и имею сетку 5x5 с фиксированной позицией агента (A) и целевой позицией (T). Начальное состояние может выглядеть так.

-----
---T-
-----
-----
A----

В настоящее время я представляю свое состояние в виде одномерного вектора длиной 25 (5x5), где 1 находится в позиции, где находится агент, в противном случае 0, поэтому, например, состояние выше будет представлено как вектор

[1, 0, 0, ..., 0]

Я успешно реализовал решения с Q-таблицей и простой NN без скрытого слоя.

Теперь я хочу продвинуться немного дальше и усложнить задачу, сделав целевую позицию случайной в каждом эпизоде. Поскольку теперь нет корреляции между моим текущим представлением состояния и действиями, мои агенты действуют случайным образом. Чтобы решить мою проблему, сначала мне нужно настроить представление состояния, чтобы оно содержало некоторую информацию, такую ​​как расстояние до цели, направление или и то, и другое. Проблема в том, что я не знаю, как сейчас представить свое состояние. У меня возникли некоторые идеи:

  1. [х, у, расстояние_T]
  2. [расстояние_T]
  3. два вектора 5x5, один для позиции агента, один для позиции цели

    [1, 0, 0, ..., 0], [0, 0, ..., 1, 0, ..., 0]

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

В заключение хочу спросить, как представить такое состояние как вход для нейронной сети. Если есть какие-либо источники информации, статьи, документы и т. д., которые я пропустил, не стесняйтесь публиковать их.

Заранее спасибо.


person Adam Dohnal    schedule 04.09.2017    source источник


Ответы (2)


В обучении с подкреплением нет представления о правильном состоянии. Но есть неправильные представления о состоянии. По крайней мере, это означает, что Q-обучение и другие методы RL делают определенное предположение о представлении состояния.

Предполагается, что состояния являются состояниями марковского процесса принятия решений (MDP). MDP — это тот, в котором все, что вам нужно знать для «предсказания» (даже вероятностным способом), доступно в текущем состоянии. Это означает, что агент не должен нуждаться в памяти о прошлых состояниях для принятия решения.

В реальной жизни очень редко случается, что у вас есть марковский процесс принятия решений. Но много раз у вас есть что-то близкое, что, как было эмпирически показано, достаточно для алгоритмов RL.

Как "дизайнер состояния" вы хотите создать состояние, максимально приближающее вашу задачу к MDP. В вашем конкретном случае, если у вас есть расстояние в качестве состояния, очень мало информации для предсказания следующего состояния, то есть следующего расстояния. Некоторые вещи, такие как текущее расстояние, предыдущее расстояние и предыдущее действие, являются лучшим состоянием, поскольку они дают вам ощущение направления. Вы также можете сделать своим состоянием расстояние и направление, в котором находится цель.

Ваше последнее предложение о двух матрицах мне нравится больше всего. Потому что оно описывает все состояние задачи, не раскрывая фактической цели задачи. Он также хорошо отображает сверточные сети.

Дистанционный подход, вероятно, сойдется быстрее, но я считаю это чем-то вроде мошенничества, потому что вы практически говорите агенту, что ему нужно искать. В более сложных случаях это редко возможно.

person Guilherme de Lazari    schedule 16.09.2017

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

person Farabi Ahmed Tarhan    schedule 04.10.2017