Авторские права 2021 Авторы TF-Agents.
![]() | ![]() | ![]() | ![]() |
Вступление
Обучение с подкреплением (RL) - это общая структура, в которой агенты учатся выполнять действия в среде, чтобы получить максимальное вознаграждение. Двумя основными компонентами являются среда, которая представляет проблему, которую необходимо решить, и агент, который представляет алгоритм обучения.
Агент и среда постоянно взаимодействуют друг с другом. На каждом временном шаге, агент принимает действие на окружающей среду на основе его политика , где является текущим наблюдением из окружающей среды, и получает вознаграждение и следующее наблюдение , из окружающей среды . Цель состоит в том, чтобы улучшить политику, чтобы максимизировать сумму вознаграждений (возврат).
Это очень общая структура, которая может моделировать различные последовательные задачи принятия решений, такие как игры, робототехника и т. Д.
Окружающая среда Cartpole
Среда Cartpole является одним из самых известных классических проблем обучения с подкреплением (далее «Hello, World!» ЛР). К тележке прикреплен шест, который может двигаться по бесфрикционной дорожке. Столб начинается вертикально, и цель состоит в том, чтобы не допустить его падения, управляя тележкой.
- Наблюдения из окружающей среды представляет собой вектор , представляющий 4D положение и скорость тележки, а также угол и угловую скорость полюса.
- Агент может управлять системой, принимая один из 2 -х действиях : толкать тележки право (+1) или влево (-1).
- Вознаграждение предоставляется для каждого временного шага , что полюс остается в вертикальном положении. Эпизод заканчивается, когда выполняется одно из следующих условий:
- полюс превышает некоторый предел угла
- тележка движется за пределы краев мира
- Проходит 200 временных шагов.
Цель агента является изучение политики так, чтобы максимизировать сумму вознаграждения в эпизоде . Здесь является коэффициент дисконтирования в , что скидки в будущем награды относительно немедленного вознаграждения. Этот параметр помогает нам сфокусировать политику, заставляя ее больше заботиться о быстром получении вознаграждений.
Агент DQN
Алгоритм DQN (Deep Q-Network) была разработана DeepMind в 2015 году удалось решить широкий спектр Атари игр (некоторые сверхчеловеческого уровня) путем объединения обучения с подкреплением и глубокие нейронные сети в масштабе. Алгоритм был разработан за счетом повышения классического алгоритма RL под названием Q-Learning с глубокими нейронными сетями и методом , называемым опытом повторе.
Q-Learning
Q-Learning основано на понятии Q-функции. Q-функция (ака значение функции состояния действия) политики , , меры ожидаемой доходности или дисконтированной суммы вознаграждений , полученных из государственного путем принятия мер первой и после политики после этого. Определим оптимальную Q-функцию как максимальную отдачу , которую можно получить , исходя из наблюдений , принимая действие и следуя политике оптимальной в дальнейшем. Q-функция оптимальной подчиняется следующему уравнению Беллмана оптимальности:
Это означает , что максимальная отдача от состояния и действия является суммой немедленного вознаграждения и возвращение (льгота ) , полученное не следуя политику оптимальной после этого до конца эпизода ( то есть, максимальное вознаграждение от следующего состояния ). Ожидание вычисляется как по распределению непосредственных выгод и возможных следующих состояний .
Основная идея Q-Learning является использование Беллмана уравнения оптимальности как итеративное обновление , и можно показать , что это сходится к оптимальному -функции, т.е. , как (см DQN бумага ).
Глубокое Q-обучение
Для большинства проблем, это нецелесообразно , чтобы представить -функции в виде таблицы , содержащей значения для каждой комбинации и . Вместо этого, мы обучаем функцию аппроксиматором, например нейронной сети с параметрами , для оценки Q-значений, т.е. . Это можно сделать путем минимизации следующей потери на каждом шаге :
где
Здесь называется целевым TD (временная разница) и называется ошибка TD. представляет собой распределение поведения, распределение по переходам , собранных из окружающей среды.
Обратите внимание , что параметры из предыдущей итерации являются фиксированными и не обновляются. На практике мы используем снимок параметров сети с нескольких итераций назад вместо последней итерации. Эта копия называется целевой сетью.
Q-Learning является алгоритмом вне политики , которая узнает о жадных политиках , используя другую политику поведения для действующих в окружающей среде / сборе данных. Эта политика поведения, как правило, -greedy политик , которая выбирает жадное действие с вероятностью и случайным действием с вероятностью , чтобы обеспечить хорошее покрытие пространства государства действий.
Опыт Replay
Чтобы избежать вычисления полного ожидания потери DQN, мы можем минимизировать его, используя стохастический градиентный спуск. Если потери вычисляется с использованием только последней перехода , это сводится к стандартному Q-Learning.
Работа Atari DQN представила технику под названием Experience Replay, чтобы сделать обновления сети более стабильными. На каждом временном шаге сбора данных, переходы добавляются в кольцевой буфер называется повтор буфер. Затем во время обучения, вместо того, чтобы использовать только последний переход для вычисления потерь и его градиента, мы вычисляем их, используя мини-пакет переходов, выбранных из буфера воспроизведения. Это дает два преимущества: лучшая эффективность данных за счет повторного использования каждого перехода во многих обновлениях и лучшая стабильность за счет использования некоррелированных переходов в пакете.
DQN на Cartpole в TF-Agents
TF-Agents предоставляет все компоненты, необходимые для обучения агента DQN, такие как сам агент, среда, политики, сети, буферы воспроизведения, циклы сбора данных и показатели. Эти компоненты реализованы как функции Python или графические операции TensorFlow, и у нас также есть оболочки для преобразования между ними. Кроме того, TF-Agents поддерживает режим TensorFlow 2.0, который позволяет нам использовать TF в императивном режиме.
Далее, посмотрите на учебник для обучения DQN агента на окружающую среду Cartpole с использованием TF-агентов .