Как вписать веса в Q-значения с приближением линейной функции

12

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

Форма значения с приближением линейной функции определяется какQ

Q(s,a)=w1f1(s,a)+w2f2(s,a)+,

где - веса, а - характеристики.wifi

Функции предопределены пользователем. У меня вопрос, как распределяются веса?

Я прочитал / скачал несколько слайдов лекций по learning с приближением функции. У большинства из них есть слайды по линейной регрессии, которые следуют. Поскольку они просто слайды, они, как правило, неполные. Интересно, какова связь между двумя темами?Q

ОЦП
источник

Ответы:

11

Аппроксимация функции - это в основном проблема регрессии (в общем смысле, то есть в отличие от классификации, где класс дискретен), то есть человек пытается выучить отображение функции от ввода (в вашем случае ) к вещественному значению выход . Поскольку у нас нет полной таблицы всех входных / выходных значений, а вместо этого изучаем и оцениваем одновременно, параметры (здесь: веса ) не могут быть вычислены непосредственно из данных. Обычным подходом здесь является использование градиентного спуска .f(s,a)Q(s,a)Q(s,a)w

Вот общий алгоритм обучения с приближением функции значенияQ(s,a)

  • Вектор параметра случайным образом (например, в [0,1])w=(w1,w2,....,wn)
  • Для каждого эпизода:

    1. s начальное состояние эпизода
    2. a заданное policy (рекомендуем: -greedy)πϵ
    3. Примите меры , соблюдайте награду и следующее состояниеars
    4. ww+α(r+γmaxaQ(s,a)Q(s,a))wQ(s,a)
    5. ss

    Повторяйте 2-5, пока станет терминальнымs

где ...

  • α[0,1] - скорость обучения
  • γ[0,1] - ставка дисконта
  • maxaQ(s,a) - это действие в состоянии максимизирующееasQ(s,a)
  • wQ(s,a) - градиент в . В вашем линейном случае градиент - это просто векторQ(s,a)w(f1(s,a),...,fn(s,a))

Обновление параметров / весов (4-й шаг) можно прочитать следующим образом:

  • (r+γmaxaQ(s,a))(Q(s,a)) - ошибка между предсказанием и «фактическим» значением для , что награда , полученный в настоящее время плюс ожидаемый, дисконтированных вознаграждение после жадной послеQ(s,a)Q(s,a)r γmaxaQ(s,a)
  • Таким образом, параметр / весовой вектор смещается в самое крутое направление (определяемое градиентом ) на величину измеренной ошибки, скорректированной на .wQ(s,a)α

Основной источник:

Глава 8 Ценностная аппроксимация (общая рекомендуемая) книга « Укрепление знаний: введение Саттона и Барто» (первое издание). Общий алгоритм был изменен, поскольку обычно это делается для вычисления вместо . Я также удалил кривые соответствия чтобы сосредоточиться на градиентном спуске, следовательно, используя только одношаговое резервное копированиеQ(s,a)V(s)e

Больше ссылок

Штеффен
источник
2
Неработающая ссылка на Барто и Саттон! Теперь здесь -> incompleteideas.net/book/the-book.html :) и как электронная книга incompleteideas.net/book/ebook, но я не знаю, где найти файл mobi
grisaitis
1
Разве градиент Q (s, a) не связан с вектором столбца wa, где каждый элемент равен fi (s, a), а не является суммой всех fi, как вы сказали? Цель состоит в том, чтобы каждый вес изменялся в соответствии со значением объекта, на который он умножается.
Мигель Сарайва
@MiguelSaraiva Да, это исправлено. Большое спасибо.
Штеффен