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

У меня мало знаний по машинному обучению, поэтому, пожалуйста, прости меня, если мой вопрос кажется глупым.

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

Q (s, a) = (1-α) Q (s, a) + α (R (s, a, s ') + (max_a' * Q (s ', a'))), где α - это обучение темп.

По-видимому, для задач с высокой размерностью число состояний становится астрономически большим, что делает невозможным хранение таблицы q-значений.

Таким образом, практическая реализация Q-Learning требует использования аппроксимации Q-значения посредством обобщения состояний или функций. Например, если агент был Pacman, то функции будут:

  • Расстояние до ближайшей точки
  • Расстояние до ближайшего призрака
  • Пакман в туннеле?

И затем вместо q-значений для каждого отдельного состояния вам нужно будет иметь только q-значения для каждого отдельного объекта.

Итак, мой вопрос:

Может ли обучающий агент подкрепления создавать или генерировать дополнительные функции?

Некоторое исследование я сделал:

Этот пост упоминает метод iFDD Герамифарда

это способ "обнаружения зависимостей функций", но я не уверен, что это генерация функций, так как в статье предполагается, что вы начинаете с набора бинарных функций.

Еще одна статья, которую я нашел в связи с этим, - " Игра Atari с глубоким усилением обучения", которая "извлекает функции высокого уровня с использованием ряда архитектур нейронных сетей".

Я перечитал статью, но все еще должен уточнить / полностью понять их алгоритм. Это то, что я ищу?

Спасибо

1 ответ

Решение

Похоже, вы уже ответили на свой вопрос:)

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

Вот пример использования функций с SARSA (который очень похож на Q-learning). Полезны ли приведенные вами документы для вашего сценария, вам придется решать самостоятельно. Как всегда в машинном обучении, ваш подход сильно зависит от проблем. Если вы занимаетесь робототехникой и вам сложно определить отдельные состояния вручную, нейронная сеть может оказаться полезной. Если вы можете думать об эвристике самостоятельно (как в примере с pacman), то вам, вероятно, она не понадобится.

Другие вопросы по тегам