Обучение с учителем или без него - это еще не все. Все это знают. Начните работу с OpenAI Gym.

Вы хотите создавать автоматические трюковые маневры на вертолетах? Или вы управляете инвестиционным портфелем?

Вы хотите взять под контроль электростанцию? Или вы стремитесь контролировать динамику передвижения гуманоидного робота?

Хотите победить чемпиона мира по шахматам, нардам или го?

Есть одно место, где вы будете решать такие проблемы: обучение с подкреплением.

Что такое обучение с подкреплением?

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

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

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

Мышь могла быть храброй и получить удар током, чтобы добраться до места с большим количеством сыра. Это был бы лучший результат, чем просто стоять на месте и ничего не добиваться.

Мышь не хочет предпринимать наилучших действий в каждой конкретной ситуации. Это было бы слишком много размышлений и не гибкости.

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

Мышь - это агент. Лабиринт со стенами, сыром и электричеством - это окружающая среда. Мышь может перемещаться вправо, влево, вверх и вниз; это действия.

Мышь хочет еды, но не электрического шока; это награды. Мышь может наблюдать за окружающей средой; это наблюдения.

Обучение с подкреплением на льду

Оставим мышку в лабиринте и выберемся на лед. "Зима пришла. Вы и ваши друзья метали фрисби в парке, когда вы сделали резкий бросок, в результате которого фрисби оказался посреди озера. Вода в основном замерзшая, но есть несколько лунок, где лед растаял ». ("источник")

Если вы войдете в одну из этих ям, вы упадете в ледяную воду. В настоящее время наблюдается нехватка фрисби по всему миру, поэтому вам абсолютно необходимо переплыть озеро и забрать диск . ("источник")

Как вы подходите к этой ситуации?

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

Мы можем смоделировать эту среду с помощью OpenAI Gym, инструментария для разработки и сравнения алгоритмов обучения с подкреплением. Он обеспечивает доступ к стандартизированному набору сред, например, в нашем примере под названием Замерзшее озеро. Это текстовая игрушечная среда, в которую можно загрузить несколько строк кода.

Теперь нам нужна структура, которая позволит нам систематически подходить к проблемам обучения с подкреплением.

Марковский процесс принятия решений

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

Поскольку будущий тайл не зависит от прошлых тайлов с учетом текущего тайла (т. Е. Последовательности случайных состояний, следующих за свойством Маркова), поэтому мы имеем дело с так называемым марковским процессом .

Текущее состояние инкапсулирует все, что необходимо для принятия решения о будущих действиях, память не требуется.

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

Добавление функции вознаграждения и коэффициента дисконтирования в марковский процесс дает нам так называемый марковский процесс вознаграждения. Включая набор действий, мы получаем Марковский процесс принятия решений (MDP). Компоненты MDP более подробно описаны ниже.

Штат

Состояние - это часть окружающей среды, числовое представление того, что агент наблюдает в определенный момент времени в окружающей среде, состояние озера на доске. Здесь S - отправная точка, G - цель, F - твердый лед, на котором агент может стоять, а H - отверстие, в которое, если агент уходит, он падает. У нас есть 16 состояний в среде сетки 4x4 или 64 состояния в среде 8x8. Ниже мы визуализируем пример сеточной среды 4x4 с использованием OpenAI Gym.

Действия

У агента есть 4 возможных хода, которые представлены в окружении как 0, 1, 2, 3 для влево, вправо, вниз, вверх соответственно.

Модель перехода между состояниями

Модель перехода состояний описывает, как изменяется состояние среды, когда агент выполняет действие в зависимости от текущего состояния.

Обычно это описывается вероятностями переходов, которые выражаются в виде квадратной матрицы переходов размером N × N, где N - количество состояний в нашей модели. Ниже показан пример погодных условий.

В случае с замороженным озером мы предполагаем, что озеро не скользкое. Если мы пойдем направо, мы пойдем только направо. Следовательно, все вероятности равны.

«Влево» перемещает плитку агента 1 влево или сохраняет ее в текущем положении, если агент находится на левой границе.

«Вправо» перемещает его на 1 плитку вправо или сохраняет его в текущем положении, если агент находится на правой границе.

«Вверх» перемещает его на 1 плитку вверх или сохраняет в текущем положении, если агент находится на верхней границе.

«Вниз» перемещает его на 1 плитку вниз или сохраняет его в текущем положении, если агент находится на нижней границе.

Награда

Для каждого состояния F агент получает 0 вознаграждений, для состояния H он получает -1 вознаграждение, так как в состоянии H агент умирает, и по достижении цели агент получает +1 вознаграждение.

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

Скидка

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

Discount также моделирует поведение агента, когда агент предпочитает немедленное вознаграждение, чем вознаграждение, которое потенциально может быть получено в далеком будущем.

Ценность

Ценность состояния - это ожидаемая долгосрочная доходность со скидкой для государства.

Политика (π)

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

Эпизод

Эпизод начинается, когда агент находится на стартовом тайле, и заканчивается, когда агент падает в яму или достигает тайла цели.

Давайте визуализируем все это

Изучив все концепции, задействованные в процессе марковского принятия решений, теперь мы можем моделировать несколько случайных действий в среде 16x16 с помощью OpenAI Gym. Каждый раз агент выбирает случайное действие и выполняет его. Система рассчитывает вознаграждение и отображает новое состояние среды.

Заключение

В этой статье мы кратко представили ключевые концепции обучения с подкреплением. Игрушечный пример дает представление об инструментарии OpenAI Gym, который упрощает эксперименты с готовыми средами.

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



Спасибо за прочтение.