Вопросы о Deep Q-Learning - PullRequest
       81

Вопросы о Deep Q-Learning

1 голос
/ 26 июня 2019

Я прочитал несколько материалов о глубоком q-learning, и я не уверен, полностью ли я их понимаю.Из того, что я узнал, кажется, что глубокое Q-обучение быстрее вычисляет значения Q, чем помещает их в таблицу, используя NN для выполнения регрессии, вычисления потерь и обратного распространения ошибки для обновления весов.Затем в сценарии тестирования он принимает состояние, и NN возвращает несколько значений Q для каждого действия, возможного для этого состояния.Затем будет выбрано действие с наибольшим значением Q для этого состояния.

Мой единственный вопрос - как обновляются веса.Согласно этому сайту веса обновляются следующим образом:

enter image description here

Я понимаю, что веса инициализируются случайным образом, возвращается Rв зависимости от среды гамма и альфа устанавливаются вручную, но я не понимаю, как Q (s ', a, w) и Q (s, a, w) инициализируются и вычисляются.Кажется ли нам, что мы должны построить таблицу Q-значений и обновить их, как в случае Q-обучения, или они рассчитываются автоматически в каждую эпоху обучения NN?чего я тут не понимаю?может кто-нибудь объяснить мне лучше такое уравнение?

1 Ответ

1 голос
/ 26 июня 2019

В Q-Learning мы занимаемся изучением функции Q (s, a), которая отображает состояние между всеми действиями. Допустим, у вас есть произвольное пространство состояний и пространство действий из 3 действий, каждое из этих состояний будет вычислять три различных значения, каждое из которых действие. В табличном Q-Learning это делается с помощью физической таблицы. Рассмотрим следующий случай: enter image description here

Здесь у нас есть таблица Q для каждого состояния в игре (вверху слева). И после каждого временного шага значение Q для этого конкретного действия обновляется согласно некоторому сигналу вознаграждения. Сигнал вознаграждения может быть обесценен некоторым значением между 0 и 1.

В Deep Q-Learning мы игнорируем использование таблиц и создаем параметризованную «таблицу», такую ​​как эта: Feed FOrward net Здесь все веса будут формировать комбинации, заданные на входе, которые должны соответственно соответствовать значению, наблюдаемому в табличном случае (все еще активно исследуемое).

Уравнение, которое вы представили, является правилом обновления Q-обучения, установленным в правиле обновления градиента.

  • Альфа-размер шага
  • R - награда
  • Гамма - фактор дисконтирования Вы делаете вывод сети, чтобы получить значение «будущего состояния со скидкой» и вычесть его из «текущего» состояния. Если это неясно, я рекомендую вам поискать бустреппинг, который в основном и происходит здесь.
...