Обучение с подкреплением и выравнивание
Функции ценности
V, Q и преимущество — три способа сказать «насколько здесь хорошо»
Три величины
Политика — это правило выбора действия: . Ценность измеряет, насколько хорошо следовать ей из данного места.
Разница между
И третья величина, которая понадобится начиная с урока 080:
Преимущество отвечает на вопрос «насколько это действие лучше среднего по политике». У него есть свойство, которое стоит запомнить сразу: для любого состояния — по определению, потому что и есть это среднее.
Зачем три, если хватило бы одной
Практический ответ: каждая нужна там, где её дешевле использовать.
| что даёт | чего не хватает | |
|---|---|---|
| оценку состояния | чтобы выбрать действие, нужна модель | |
| оценку каждого действия | в раз больше чисел | |
| сравнение действий | не даёт абсолютной величины |
Вторая строка объясняет, почему Q-learning работает без модели среды: жадное действие — это , и никакого знания переходов не требуется. С одной лишь выбрать действие нельзя, не зная, куда оно ведёт.
Третья строка объясняет, почему удобно для градиента политики: там важно сравнение действий между собой, а общий уровень одинаково сдвигает все и потому не несёт информации о выборе. Урок 070 покажет, что вычитание этого уровня заметно снижает дисперсию.
Оптимальность
Политика оптимальна, если для всех и всех . Утверждение, которое стоит осознать: такая политика существует, и она одна и та же для всех состояний. То есть не бывает так, что для одного состояния хороша одна политика, а для другого другая — оптимальность достигается везде сразу.
Больше того, оптимальная политика может быть детерминированной: случайность не нужна. Оба факта следуют из теории урока 030 и оба нетривиальны — в играх с несколькими агентами, например, ни то, ни другое не верно.
Посмотрите на сетку: стрелка в каждой клетке — жадное действие по текущим значениям, и после сходимости это и есть оптимальная политика.
цель стена
- горизонт 1/(1−γ)
- 10
- значение старта
- 0.344
- изменение за проход
- 0.0e+0
- проходов до сходимости
- 7
Значения сошлись. Жадная по ним политика оптимальна — и была таковой уже несколько проходов назад.
Наблюдение из виджета стоит проговорить: политика стабилизируется раньше значений. Чтобы выбрать действие, нужно знать лишь порядок величин , а не сами величины. Отсюда и разница между двумя алгоритмами следующего урока.
Что означают конкретные числа
Возьмите клетку слева от цели: её значение . Проверим по определению — путь занимает один шаг, платится , затем награда с весом :
Следующая: . И так далее. Каждое значение — это дисконтированная стоимость оптимального пути до цели, и его можно посчитать руками, зная длину пути:
| расстояние до цели | значение |
|---|---|
Полезное упражнение — сверить эту таблицу с картинкой и найти клетки, где расстояние по сетке больше манхэттенского из-за стен.
Итог
- оценивает состояние, — пару, — превосходство действия над средним.
- по определению.
- Без модели среды выбрать действие можно по , но не по .
- Оптимальная политика существует, одна для всех состояний, и может быть детерминированной.
- Жадная политика стабилизируется раньше, чем сходятся значения.
Источники
- Sutton, Barto — Reinforcement Learning, An Introduction — Глава 3.5–3.8, определения V, Q и оптимальности
Проверки
0 из 2V, Q и преимущество
Отметьте все верные утверждения о функциях ценности.
От Q к V и преимуществу
Реализуйте
advantage_facts(policy, q_values)— два списка одинаковой длины: вероятности политики в некотором состоянии и ценности действий в нём. Верните[state_value, first_advantage, mean_advantage, greedy_index]:state_value= ;first_advantage= — преимущество нулевого действия;mean_advantage= — обязано быть нулём;greedy_index— индекс действия с наибольшим (при равенстве берите наименьший индекс), возвращённый как число.
Третье число — тождество, а не вычисление: если оно заметно отличается от нуля, ошибка в первых двух.
Загрузка редактора…
Ctrl/⌘ + Enter