Улучшение Q-Learning - PullRequest
       31

Улучшение Q-Learning

1 голос
/ 13 ноября 2009

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

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

alt text alt text

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

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

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

    который для альфа = 1, просто кажется один показан первым на картинке. Какие разница, что делает гамма, здесь

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

1 Ответ

5 голосов
/ 13 ноября 2009

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

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

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

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

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

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

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

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

...