Задайте сигналы вознаграждения

Чтобы вести процесс обучения, обучение с подкреплением использует скалярный сигнал вознаграждения, сгенерированный средой. Этот сигнал измеряет уровень агента относительно целей задачи. Другими словами, для заданного наблюдения (состояние), вознаграждение измеряет эффективность принятия конкретных мер. Во время обучения агент обновляет свою политику на основе вознаграждений, полученных для различных комбинаций состояния активности. Для получения дополнительной информации о различных типах агентов и как они используют сигнал вознаграждения во время обучения, смотрите Агентов Обучения с подкреплением.

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

Например, когда агент должен выполнить задачу максимально долго, общая стратегия состоит в том, чтобы предоставить маленькое положительное вознаграждение за каждый временной шаг, что агент успешно выполняет задачу и большой штраф, когда агент перестал работать. Этот подход поощряет более длинные эпизоды тренировки в то время как в большой степени обескураживающие эпизоды тот сбой. Для примера, который использует этот подход, смотрите, Обучают Агента DQN Балансировать Систему Тележки с шестом.

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

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

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

Непрерывные вознаграждения

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

Примером непрерывного вознаграждения является функция стоимости квадратичного регулятора (QR), где долгосрочное вознаграждение может быть описано как

Ji=(sτTQτsτ+j=iτsjTQjsj+ajTRjaj+2sjTNjaj)

Здесь, , Q, R и N являются матрицами веса. является терминальной матрицей веса, примененной только в конце эпизода. Кроме того, s является вектором наблюдения, a является вектором действия, и τ является терминальной итерацией эпизода. Мгновенное вознаграждение за эту функцию стоимости

ri=siTQisi+aiTRiai+2siTNiai

Эта премиальная структура QR поощряет управлять s, чтобы обнулить с минимальным усилием по действию. Основанная на QR премиальная структура является хорошим вознаграждением, чтобы выбрать для регулирования или стационарных проблем точки, таких как колебание маятника или регулирование положения двойного интегратора. Для учебных примеров, которые используют вознаграждение QR, смотрите, Обучают Агента DQN к Swing и Маятнику Баланса и Обучают Агента DDPG Управлять Двойной Системой Интегратора.

Сглаживайте непрерывные вознаграждения, такие как регулятор QR, хороши для подстройки параметров и может обеспечить политики, похожие на оптимальные контроллеры (LQR/MPC).

Дискретные вознаграждения

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

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

Смешанные вознаграждения

Во многих случаях обеспечение смешанного сигнала вознаграждения, который имеет комбинацию непрерывных и дискретных премиальных компонентов, выгодно. Дискретный сигнал вознаграждения может использоваться, чтобы отогнать систему от плохих состояний, и непрерывный сигнал вознаграждения может улучшить сходимость путем обеспечения сглаженного вознаграждения около целевых состояний. Например, в Обучают Агента DDPG Управлять Летающим Роботом, премиальная функция имеет три компонента: r 1, r 2, и r 3.

r1=10((xt2+yt2+θt2)<0.5)r2=100(|xt|20|||yt|20)r3=(0.2(Rt1+Lt1)2+0.3(Rt1Lt1)2+0.03xt2+0.03yt2+0.02θt2)r=r1+r2+r3

Здесь:

  • r 1 является находящимся в области непрерывным вознаграждением, которое применяется только около целевого местоположения робота.

  • r 2 является дискретным сигналом, который предоставляет большой штраф, когда робот перемещается далекий от целевого местоположения.

  • r 3 является непрерывным штрафом QR, который касается всех состояний робота.

Вознаградите генерацию от технических требований управления

Для приложений, где система фактического контроля уже существует, технические требования, такие как функции стоимости или ограничения могут уже быть доступными. В этих случаях можно использовать generateRewardFunction сгенерировать премиальную функцию, закодированную в MATLAB®, это может использоваться в качестве начальной точки для премиального проекта. Эта функция позволяет вам генерировать вознаграждения от:

  • Стойте и ограничительные технические требования, заданные в mpc (Model Predictive Control Toolbox) или nlmpc (Model Predictive Control Toolbox) объект контроллера. Эта функция требует программного обеспечения Model Predictive Control Toolbox™.

  • Ограничения эффективности заданы в Simulink® Блоки верификации модели Design Optimization™.

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

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

Смотрите также

Функции

Похожие темы