Вопрос

В настоящее время я использую Q-Learning, чтобы попытаться научить бота передвигаться в комнате, заполненной стенами/препятствиями.Он должен начаться в любом месте комнаты и дойти до целевого состояния (например, до плитки с дверью).В настоящее время, когда он хочет перейти на другую плитку, он перейдет на эту плитку, но я подумал, что в будущем я мог бы добавить вместо этого случайный шанс перехода на другую плитку.Он может двигаться только вверх, вниз, влево и вправо.Достижение целевого состояния дает +100, а остальные действия дадут 0.

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

alt text alt text

Теперь по этому поводу у меня есть несколько вопросов:

  1. При использовании Q-Learning, как Нейронные сети, я должен сделать Различие между фазами обучения А фаза использования?Я имею в виду, кажется, то, что они показали на первом картина является обучающей, а в Вторая картинка с использованием.
  2. Я где-то читал, что для этого потребуется Бесконечное количество шагов, до которых можно добраться таблицу оптимальных значений Q.Разве что истинный?Я бы сказал, что это неправда, но я Должно быть, здесь чего-то не хватает.
  3. Я также слышал о TD (временные различия), который, по -видимому, представлена ​​следующим выражением:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    который для alpha = 1, просто кажется Один из них показан первым на картинке.Что Разница в том, что гамма делает, здесь?

  4. У меня были некоторые осложнения, если Я пробую очень большую комнату (300x200 пикселей, например).Так как это по существу выполняется случайным образом, если комната очень большая, то потребуется много времени, чтобы пойти случайным образом из Первое состояние в целевое состояние.Что Какие методы я могу использовать, чтобы ускорить его?Я думал, что, может быть, стол заполнен с истинами и ложью, что все, что у меня есть в этом эпизоде уже был в таком состоянии или нет.Если да, я бы отбросил его, если нет, я бы Идите туда.Если бы я уже был в все эти состояния, то я бы пошел в случайный.Таким образом, это будет просто как то, что я делаю сейчас, зная что я бы повторял реже что я и делаю в настоящее время.
  5. Я хотел бы попробовать что-то другое, чем мою таблицу поиска Q-значений, поэтому я думал об использовании Neural Сети с обратным распространением для этот.Я, вероятно, попробую иметь Нейронная сеть для каждого действия (up, вниз, влево, вправо), так как кажется, что это что дает наилучшие результаты.Там есть любые другие методы (кроме SVM, которые кажутся слишком сложными для реализации себя), которые я мог бы использовать и реализовать, что дало бы мне хорошее Аппроксимация функции Q-значений?
  6. Как вы думаете, генетические алгоритмы даст хорошие результаты в этом ситуации, используя матрицу Q-значений как основа для него?Как я мог Проверить мою фитнес-функцию?У меня создается впечатление, что GA обычно используется для более случайных/сложных вещей.Если мы внимательно посмотрим, то заметим, что значения Q следуют четкой тенденции: чем выше значения Q вблизи цели, тем ниже значения Q, чем дальше вы от них.Попытка прийти к такому выводу с помощью GA, вероятно, займет слишком много времени?
Это было полезно?

Решение

Я не знаток темы, но попробую ответить напрямую на твои многочисленные вопросы
[Кстати, мне нужно получить несколько +повторений на каждый вопрос!...Шучу, если бы я был «представителем SO», я бы воздержался от публикации, которая наберет в общей сложности 20 просмотров, причем половина этих посетителей будет иметь приблизительное представление о рассматриваемых концепциях]

1) Q-Learning — это двухэтапная вещь?
Да, Q-Learning предполагает два этапа: этап обучения и этап действия.Как и во многих алгоритмах автоматического обучения, можно «продолжать обучение», находясь на этапе действия.

2) Бесконечное количество шагов для оптимальной G-матрицы?Не уверен, где находится утверждение, требующее бесконечного количества циклов обучения для изучения оптимальной Q-матрицы.Разумеется (и если только альфа- и гамма-факторы неверны), алгоритм сходится, хотя и, возможно, с очень медленной скоростью.Это побуждает меня пропустить и прокомментировать вашу идею игрового пространства 300x200, и что ж...ДА!, для такого пространства, учитывая модель вознаграждения, потребуется, кажется, бесконечность, чтобы получить «оптимальную» таблицу Q.Вполне возможно, что математически алгоритм никогда не достигнет оптимальной ниварны, но для практических решений работы с асимптотой вполне достаточно.

3) Роль гаммы в TD-модели.
Это указывает на важность отсрочки вознаграждения на пути (в данном случае с вашей моделью, в буквальном смысле) к более высоким вознаграждениям.Обычно это предотвращает застревание алгоритма в локальных максимумах пространства решений за счет еще большего замедления обучения...

4) Рекомендации, которые помогут освоить большой лабиринт.
Рискуя предать природу Q-Learning, вы можете запускать робота на все более отдаленных расстояниях от цели.Это поможет ему улучшить матрицу Q в области состояний, которые сначала окружают цель, а затем использовать эту частично изученную матрицу Q в качестве начального состояния, выбранного случайным образом в увеличивающемся радиусе от цели.

Другой, более рискованный подход (и действительно тот, который может еще больше опровергнуть истинную природу Q-Learning) заключается в изменении R-матрицы, чтобы обеспечить все более высокие награды, случайным образом расположенные на все меньшем расстоянии от цели.Обратной стороной этого подхода является то, что он может привести к появлению множества локальных максимумов в пространстве решений, где алгоритм может застрять, если скорость обучения и другие факторы не будут настроены должным образом.

Оба этих подхода, в частности последний, можно интерпретировать как вашу (дизайнерскую) «подключку» к решению.Другие скажут, что это просто способ добавить в смесь немного DP...

5) Нейронная сеть (НС) 6) Генетический алгоритм (ГА)
Нет мнения о добавлении в смесь NN или GA.
Вероятно, я выставил себя достаточно дураком, высказав некоторые из приведенных выше математически неточных утверждений.;-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top