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

Мотивация: зачем заниматься обучением с подкреплением?

Оглядываясь назад на нынешние прорывы в области искусственного интеллекта (ИИ) и особенно в RL, мы наблюдаем быстрый прогресс в машинном обучении (ML) без участия человека в самых разных областях, таких как распознавание речи, классификация изображений, геномика и открытие лекарств. Эти модели обучения без учителя в основном мотивированы тем фактом, что для решения некоторых задач человеческие знания слишком дороги, слишком ненадежны или недоступны. Более того, цель исследований ИИ состоит в том, чтобы обойти потребность в контроле со стороны человека, создав модели, которые достигают сверхчеловеческой производительности без участия человека.

Одним из популярных примеров является AlphaGo, компьютерная программа, разработанная исследователями из Google DeepMind, которая, как было показано, превосходит способности лучшего профессионального игрока в го в 2017 году. человеческий надзор. Подобные прорывы можно найти и в сфере киберспорта: например, команда OpenAI разработала ботов, способных побеждать профессионалов в высококонкурентной видеоигре Dota 2 в игре 5 на 5 в 2019 году. магия позади RL? Далее мы отправим вас с собой в путешествие, глубоко погружающееся в область RL.

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

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

  • человек, взаимодействующий со своим окружением, извлекающий информацию о себе и этом окружении и изменяющий свое состояние посредством действий в течение конечного периода времени. Теперь у человека, представляющего агента, обычно есть довольно широкий набор различных действий, которые мы могли бы предпринять. Например, представьте, что вы гуляете с собакой: есть два варианта одежды. Мы могли бы либо взять куртку, либо отказаться от нее. Чтобы решить, какой из двух вариантов выбрать, достаточно интуитивно наблюдать за температурой снаружи — так сказать, за окружающей средой. Но как узнать, было ли наше решение оптимальным? Мы получим обратную связь — награду — от окружения. В нашем примере мы могли бы замерзнуть, если бы решили не брать куртку, и было бы совсем холодно или потно, если бы было слишком жарко. И этот пример — по своей сути — представляет собой отношения между агентом и средой. Говоря более формально, агент выполняет действие a в состоянии s и получает вознаграждение r в обмен на оценку выбора a с учетом текущего состояния s. Наконец, система переходит в следующее состояние s’, которое определяется функцией перехода P.

На основе моделей и без моделей

После введения ключевого понятия отношения «агент — среда» мы можем ввести два самых основных случая, касающихся знания агентом модели, описывающей его среду: просто знание модели и незнание модели.

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

Формально мы различаем RL без модели и RL на основе модели, что означает, что в RL на основе модели модель известна агенту. Вот почему задачи на основе моделей можно решать с помощью «более простых» алгоритмов и динамического программирования (DP). Для сравнения, RL без моделей заставляет агента изучать модель среды как часть решения проблемы обучения.

Политики

Политика 𝜋 описывает стратегию, с помощью которой агент выбирает, какие действия выполнять в каком состоянии. Оптимальная политика возвращает наилучшее возможное действие для каждого состояния, чтобы получить максимально возможную награду. Кроме того, мы различаем детерминированную политику 𝜋(s) и стохастическую политику 𝜋( a|s), который возвращает действие на основе вероятности при условии, что агент находится в состоянии s.

Функции ценности

Учитывая состояние s, кажется нецелесообразным провести перебор действий a и посмотреть, какой будет награда. . Вместо этого мы должны попытаться предсказать будущие вознаграждения для каждой возможной пары состояние-действие (s,a). . Чтобы лучше понять этот подход, давайте взглянем на другой пример из повседневной жизни.

Штат: Наличие денежной суммы на вашем банковском счете.

Действие 1. Снимите деньги сейчас, чтобы купить себе что-нибудь.

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

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

Функции ценности в основном упоминаются как V (s (t)) с s (t), являющимся текущим состоянием. Идея этой функции состоит в том, чтобы наблюдать за будущими состояниями s(t+1),s(t+2)… и предсказывать их соответствующие вознаграждения. Другими словами, функция ценности количественно определяет, насколько хорошим является состояние. И политика, и ценностные функции — это то, чему мы пытаемся научиться в обучении с подкреплением.

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

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

Ссылки 📚

Блог Лилиан Венг: https://lilianweng.github.io/lil-log/2018/02/19/a-long-peek-into-reinforcement-learning.html