Стратегия геологоразведочных работ DQN для крупной глобальной сети - PullRequest
0 голосов
/ 06 декабря 2018

Моя задача связана с большим типом среды мира сетки (размер сетки может быть 30x30, 50x50, 100x100, самое большое 200x200).Каждый элемент в этой сетке содержит 0 или 1, которые случайным образом инициализируются в каждом эпизоде.Моя цель состоит в том, чтобы обучить агента, который запускается в произвольной позиции в сетке, и перейти к каждой ячейке со значением 1 и установить ее в 0. (Обратите внимание, что в целом сетка в основном равна 0 с редкими 1 с),

Я пытаюсь обучить модель DQN 5 действиям для выполнения этой задачи:

1) Переместиться вверх

2) Переместиться вправо

3)Переместить вниз

4) Переместить влево

5) Очистить (устанавливает для текущего элемента значение 0)

«Состояние», которое я даю модели, является текущей сеткой (тензор NxM)).Я указываю текущее местоположение агента через конкатенацию сплющенного тёплого (1x (N * N)) тензора к выходу моего вектора сверточного признака (до слоев FC).

Однако я нахожу, чтоЭпсилон-жадная политика разведки не приводит к достаточной разведке.Кроме того, на ранних этапах обучения (когда модель по существу выбирает случайные действия в любом случае), псевдослучайные комбинации действий в конечном итоге «отменяются», и мой агент не удаляется достаточно далеко от начальной точки, чтобы обнаружить, что существуетячейка со значением 1 в другом квадранте сетки, например.Я получаю сходящуюся политику на сетке 5x5 с не сверточной моделью MLP, поэтому я считаю, что моя реализация верна.

1) Как я могу поощрять исследование, которое не всегда "отменяется"out ", чтобы исследовать только локальный регион до моего начального местоположения?

2) Является ли этот подход хорошим способом для выполнения этой задачи (при условии, что я хочу использовать RL)?

3) Я думаю, что попытка работать с «непрерывным» пространством действия (модель выводит индексы элементов «1») будет более трудной для достижения конвергенции.Разумно ли всегда пытаться использовать дискретные пространства действий?

1 Ответ

0 голосов
/ 11 декабря 2018

Разведка - одна из самых больших проблем в РЛ.Тем не менее, ваша проблема не кажется слишком сложной для простой e -жадности, особенно если у вас начальное случайное состояние.Во-первых, некоторые приемы, которые вы можете использовать:

  • Не начинайте учиться сразу.«Разогрейте» свой набор данных и соберите достаточное количество сэмплов перед выполнением любого обновления (это также было сделано на оригинальной бумаге DQN).
  • Уменьшите шум.Вы можете уменьшить e с помощью шагов эпизода и сбросить его для следующего эпизода или начать с большого e и уменьшить его с помощью итерации обучения.
  • Настройте свои шаги для каждого эпизода.Иногда лучше иметь более короткие эпизоды и чаще сбрасывать обстановку, чтобы больше изучать сетку (благодаря случайному начальному состоянию).

По вашим вопросам:

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

2) Ваша проблема полностью дискретна и не настолько велика, поэтому итерация значения (или политики) (которая как просто динамическое программирование) будет работать лучше.

3) Это зависит от вашей проблемы.Достаточно ли точна дискретизация, чтобы позволить вам работать оптимально?Если это так, пойти на это.(Но обычно это не относится к более сложным проблемам).

...