1

Я пытаюсь написать адаптивный контроллер для системы управления, а именно систему управления питанием с использованием Q-обучения. Недавно я реализовал игрушку RL для системы тележки и разработал постановку проблемы управления вертолетом из заметок Андрея Н.Г. Я ценю, как в таких ситуациях обязательно необходимо приближение функции значений. Однако оба этих популярных примера имеют очень небольшое количество возможных дискретных действий. У меня есть три вопроса:Укрепление обучения: дилемма выбора шагов дискретизации и показателей производительности для непрерывного действия и непрерывного пространства состояний

1) Каков правильный способ решения таких проблем, если у вас нет небольшого числа дискретных действий? Размерность моих действий и состояний, похоже, взорвана, и обучение выглядит очень бедно, что подводит меня к следующему вопросу.

2) Как измерить эффективность моего агента? Поскольку вознаграждение изменяется вместе с динамической средой, на каждом временном шаге я не могу определить показатели производительности для моего непрерывного агента RL. Кроме того, в отличие от проблем gridworld, я не могу проверить таблицу Q-value из-за огромных пар действий состояния, как я узнаю, что мои действия оптимальны?

3) Поскольку у меня есть модель для эволюции состояний во времени. States = [Y, U]. Y [t + 1] = aY [t] + bA, где A - действие. Выбор шага дискретизации для действий A также повлияет на то, как мелко я должен дискретировать переменную состояния Y. Как выбрать шаги дискретизации? Спасибо большое!

ответ

3

Вы можете использовать алгоритм обучения усилению непрерывного действия и полностью исключить проблему дискретизации. Я бы посоветовал вам взглянуть на CACLA. Что касается производительности, вам нужно измерить накопленную награду вашего агента во время эпизода с отключением обучения. Поскольку ваша среда стохастична, выполните множество измерений и усредните их.

2

Посмотрите на алгоритмы поиска политик. В основном, они непосредственно изучают параметрическую политику без явной функции значения, тем самым избегая проблемы аппроксимации Q-функции для непрерывных действий (например, не требуется дискретизации пространства действий).

Одним из самых простых и ранних алгоритмов поиска политик является градиент политики. Посмотрите here для быстрого обзора по теме. И here для обзора о поиске политики (в настоящее время есть более современные методы, но это очень хорошая отправная точка). В случае проблемы с управлением есть очень простая игрушка, которую вы можете посмотреть, Linear Quadratic Gaussian Regulator (LQG). Here вы можете найти лекцию, включающую этот пример, а также введение в поиск политики и градиент политики.

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