[Перевод] Обучение с подкреплением: 10 вариантов применения
В системе обучения с подкреплением (Reinforcement Learning) агенты обучаются с помощью механизма вознаграждений и наказаний (или регресса). Агент получает вознаграждение за правильные действия и наказание за неправильные. При этом агент старается минимизировать неправильные ходы и максимизировать правильные.
В этой статье мы с вами рассмотрим некоторые из реальных применений обучения с подкреплением.
Применение в самоуправляемых автомобилях
За последнее десятилетие было написано множество различных научных работ, предлагающих использовать глубокое обучение с подкреплением для автономного вождения. При создании самоуправляемых автомобилей необходимо учитывать различные аспекты, такие как ограничения скорости в различных местах, зоны движения, избежание столкновений — и это лишь некоторые из них.
Среди задач автономного вождения, в которых может быть применено обучение с подкреплением, можно выделить оптимизацию траектории, планирование движения, динамическое построение маршрута, оптимизацию управления и обучение стратегиям поведения в разных ситуациях на дороге.
Например, парковка может быть реализована путем обучения стратегии автоматической парковки. Смена полосы движения может быть достигнута с помощью Q-обучения, а обгон может быть реализован путем обучения стратегии обгона с избежанием столкновения и последующим поддержанием стабильной скорости.
AWS DeepRacer — это автономный гоночный автомобиль, созданный для тестирования обучения с подкреплением на физическом треке. Он использует камеры для визуализации трека и модель обучения с подкреплением для управления дроссельной скоростью и направлением движения.
Компания Wayve.ai успешно применила обучение с подкреплением для обучения автомобиля вождению всего за один день. Для решения задачи удержания полосы движения они использовали алгоритм глубокого обучения с подкреплением. Архитектура сети представляет собой глубокую сеть с 4 сверточными слоями и 3 полностью связанными слоями. На примере ниже показана задача удержания полосы движения. Изображение в центре представляет собой вид из салона автомобиля.
Источник
Промышленная автоматизация с помощью обучения с подкреплением
Сегодня в промышленности для выполнения различных задач используются обучаемые роботы. Помимо того, что эти роботы более эффективны, чем люди, они могут выполнять задачи, которые для человека были бы опасны.
Отличным примером может послужить использование агентов искусственного интеллекта компанией Deepmind для охлаждения дата-центров Google. Реализация этого проекта привела к сокращению расходов на электроэнергию на40%. Теперь эти дата-центры полностью контролируются системой искусственного интеллекта без вмешательства человека. При этом, конечно, сохраняется и контроль со стороны специалистов. Система работает следующим образом:
Каждые пять минут делаются снепшоты данных из дата-центров, которые передаются в глубокие нейронные сети
Затем нейронные сети прогнозируют, как различные комбинации повлияют на будущее энергопотребление
Определяются действия, которые приведут к минимальному энергопотреблению при сохранении заданных критериев безопасности
В конце цикла происходит отправка и реализация этих действий в дата-центрх
Рекомендованные действия проверяются локальной системой управления.
Применение обучения с подкреплением в финансах и трейдинге
Модели временных рядов, построенные с помощью обучения с учителем, могут использоваться как для прогнозирования будущих продаж, так и для прогнозирования цен на акции. Однако эти модели не определяют, какие действия следует предпринять при той или иной цене акций. На помощь приходит обучение с подкреплением. Агент обучения с подкреплением способен решать такую задачу — принимать решение держать, покупать или продавать акции. Для того чтобы убедиться в оптимальности работы такой модели, она оценивается в сравнении с рыночными эталонами.
Такая автоматизация привносит в процесс последовательность, в отличие от прежних методов, когда аналитику приходилось принимать каждое отдельное решение самостоятельно. Например, компания IBM располагает сложной платформой, основанной на обучении с подкреплением, которая способна совершать финансовые сделки. Она рассчитывает функцию вознаграждения на основе убытка или прибыли от каждой финансовой операции.
Обучение с подкреплением в обработке естественного языка (NLP)
В NLP обучение с подкреплением может использоваться для резюмирования текстов, ответов на вопросы, машинного перевода и т.д.
Авторы этой статьи Ынсол Чой (Eunsol Choi), Дэниэл Хьюлетт (Daniel Hewlett) и Якоб Ушкорейт (Jakob Uszkoreit) предлагают подход, основанный на обучении с подкреплением, для ответа на вопросы по длинным текстам. Их метод заключается в том, что сначала из документа выбирается несколько предложений, которые имеют отношение к ответу на вопрос. Затем для получения ответов на выбранные предложения используется медленная рекуррентная нейронная сеть.
В данной работе для абстрактного резюмирования текста используется комбинация обучения с учителем и обучения с подкреплением. Авторы статьи — Ромен Паулюс (Romain Paulus), Кайминг Сьонг (Caiming Xiong) и Ричард Сошер (Richard Socher). Их цель — решить проблему, возникающую при резюмированиибольших документов при использовании моделей кодирования-декодирования с вниманием на основе сверточных нейронных сетей. Авторы статьи предлагают нейронную сеть с новым само-вниманием (intra-attention), которая следит за входными данными и непрерывно генерирует независимые друг от друга выводы. Их методы обучения представляют собой комбинацию стандартного контролируемого предсказания слов и обучения с подкреплением.
Что касается машинного перевода, то авторы из Университета Колорадо и Университета Мэриленда предлагают подход к синхронному машинному переводу, основанный на обучении с подкреплением. Интересным в этой работе является то, что она способна научиться понимать стоит ли доверять предсказанным словам и использует обучение с подкреплением для определения того, когда нужно подождать дополнительных данных.
Исследователи из Стэнфордского университета, Университета штата Огайо и Microsoft Research представили систему глубокого обучения с подкреплением, которая будет использоваться для генерации диалогов. Глубокое обучение с подкреплением может быть использована для моделирования будущих вознаграждений в диалоге с чат-ботом. Диалоги моделируются с помощью двух виртуальных агентов. С помощью градиентных методов можно вознаграждать последовательности, содержащие такие важные атрибуты разговора, как связность, информативность и простота ответа.
Еще несколько интересных применений в NLP можно найти здесь и здесь.
Применение в здравоохранении
Системы, основанные на обучении с подкреплением, нашли свое применение в здравоохранении в назначении лечения пациентамна основе ранее обученных политик. Обучение с подкреплением способно находить оптимальные политики, используя предыдущий опыт, не требуя информации о математической модели биологических систем. Это делает данный подход более применимым в здравоохранении по сравнению с другими регулирующими системами.
Среди подходов с применением обучения с подкреплением в здравоохранении можно выделить динамические схемы лечения (dynamic treatment regimes — DTR) при хронических заболеваниях или критических состояниях, автоматизированную медицинскую диагностику и целый ряд других широких областей.
В DTR входными данными является набор клинических наблюдений и оценок состояния пациента. Выходными данными являются варианты лечения для каждой стадии. Они аналогичны состояниям в обучении с подкреплением. Применение обучения с подкреплением в DTR выгодно тем, что оно позволяет определять решения о наилучшем лечении пациента в конкретный момент времени.
Использование обучения с подкреплением в здравоохранении также позволяет улучшить долгосрочные результаты за счет учета отсроченных последствий лечения.
Обучение с подкреплением также использовался для поиска и генерации оптимальных DTR для хронических заболеваний.
Более подробно о применении обучения с подкреплением в здравоохранении можно узнать из этой статьи.
Применение в машиностроении
На инженерном фронте компания Facebook разработала платформу для обучения с подкреплением с открытым исходным кодом — Horizon. Платформа использует обучение с подкреплением для оптимизации крупномасштабных производственных систем. Facebook использует Horizon внутри компании:
для персонализации предложений
предоставления пользователям более содержательных уведомлений
оптимизации качества видеопотока
Horizon также содержит рабочие процессы для:
моделируемых сред
распределенных платформ для предварительной обработки данных
обучения и экспорта моделей в производство
Классическим примером обучения с подкреплением при отображении видео является определение битрейта на основе состояния видеобуферов и оценок других систем машинного обучения.
Horizon способен решать такие производственные задачи, как:
развертывание в масштабе
нормализация признаков
распределенное обучение
обслуживание и обработка массивов данных с высокой размерностью и тысячами типов признаков
Обучение с подкреплением и рекомендации новостей
Предпочтения пользователей могут часто меняться, поэтому рекомендации новостей пользователям на основе отзывов и лайков имеют тенденцию быстро устаревать. С помощью обучения с подкреплением рекомендательная система может отслеживать поведение читателей.
Построение такой системы предполагает получение признаков новостей, признаков читателей, признаков контекста и признаков отношения читателей к новостям. К признакам новостей относятся, в частности, содержание, заголовок и издатель. Признаки читателя описывают то, как читатель взаимодействует с контентом, например, кликает и делится им. Контекстные признаки включают такие аспекты новости, как время и свежесть новости. На основе этих характеристик поведения пользователя определяется вознаграждение.
Обучение с подкреплением в играх
Давайте рассмотрим применение в области игр, а именно AlphaGo Zero. Используя метод обучения с подкреплением, AlphaGo Zero смогла с нуля изучить игру Го. Она училась, играя против самой себя. После 40 дней самообучения Alpha Go Zero смогла превзойти версию Alpha Go, известную тем, что она победила первого игрока мира Ке Цзе (Ke Jie). Она использовала только одну нейронную сеть, где в качестве входных признаков служило только положение черных и белых камешков на доске. Для оценки позиции и выбора ходов в ней использовался простой древовидный поиск, основанный на одной единственной нейронной сети без каких-либо развёрток Монте-Карло.
Торги в реальном времени — применение обучения с подкреплением в маркетинге и рекламе
В данной работе авторы предлагают метод проведения торгов в режиме реального времени с использованием многоагентного обучения с подкреплением. Работа с большим количеством рекламодателей решается с помощью метода кластеризации и назначения каждому кластеру стратегического торгового агента. Чтобы сбалансировать компромисс между конкуренцией и сотрудничеством рекламодателей, предлагается распределенный координированный многоагентный тендер (DCMAB).
В маркетинге очень важна возможность точного определения целевой аудитории. Это связано с тем, что правильно выбранные цели, безусловно, приводят к более высокой отдаче от инвестиций. Исследование в данной работе проводилось на базе крупнейшей в Китае платформы электронной коммерции Taobao. Предложенный метод превосходит по эффективности современные одноагентные подходы к обучению с подкреплением.
Применение в манипулировании в робототехнике
Использование глубокого обучения и обучения с подкреплением позволяет обучать роботов, способных манипулировать различными объектами — даже теми, которые не были замечены во время обучения. Это может быть полезно, например, при сборке изделий на сборочном конвейере.
Это достигается за счет сочетания крупномасштабной распределенной оптимизации и варианта глубокого Q-обучения под названием QT-Opt. Поддержка QT-Opt непрерывных пространств действий делает его пригодным для решения многих задач робототехники. Модель сначала обучается в автономном режиме, а затем разворачивается и настраивается на реальном роботе.
Google AI применил этот подход к роботическому манипулированию, где 7 реальных роботов в течение 4 месяцев наработали 800 роботочасов.
В этом эксперименте подход QT-Opt успешно справился с 96% попыток захвата объектов, которые ранее не были им показаны, в 700 испытаниях. Предыдущий метод Google AI имел 78% успеха.
Пара мыслей напоследок
В то время как в области обучение с подкреплением все еще ведутся активные исследования, уже достигнут значительный прогресс в развитии теоретической базы и в ее применении в реальной жизни.
В этой статье мы едва коснулись области применения обучения с подкреплением. Надеемся, что я смог пробудить у вас любопытство, которое побудит вас погрузиться в эту область немного глубже. Если вы хотите узнать больше, то вам будет интересно взглянуть на этот замечательный репозиторий (а также на этот).
Одним из самых увлекательных направлений, в котором широко используется обучение с подкреплением, является киберспорт. В программе курса Reinforcement Learning в OTUS подробно разбираются одни из самых интересных кейсов применения RL в игровой индустрии. В рамках этого курса пройдет открытый урок, на котором мы:
узнаем историю противостояния человека и компьютера в настольных и компьютерных играх;
познакомимся с основными идеями и подходами при создании игровых интеллектуальных агентов с помощью обучения с подкреплением и обсудим перспективы их внедрения в игровой процесс;
покажем, как обучить модель эффективно управлять группой юнитов в одной из популярных игр.
После урока вы будете понимать как разрабатываются интеллектуальные агенты для различных игр и какие шаги необходимо пройти для реализации собственного игрового бота. Записаться можно по ссылке.