Для какой из программ наиболее подходит машинное обучение с подкреплением

Содержание

При обучении с подкреплением (RL) агенты обучаются работе с механизмом поощрения и наказания. Агент вознаграждается за правильные ходы и наказывается за неправильные. При этом агент пытается свести к минимуму неправильные ходы и максимизировать правильные.

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

Применение в беспилотных автомобилях

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

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

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

#10. Обучение с подкреплением или как загнать машину на гору | Генетические алгоритмы на Python

AWS DeepRacer — это автономный гоночный автомобиль, разработанный для проверки RL на физической трассе. Он использует камеры для визуализации взлетно-посадочной полосы и модель обучения с подкреплением для управления дроссельной заслонкой и направлением.

Wayve.ai успешно применил обучение с подкреплением для обучения автомобиля вождению за день. Они использовали алгоритм глубокого обучения с подкреплением, чтобы решить задачу следования по полосе. Их сетевая архитектура представляла собой глубокую сеть с 4 свёрточными слоями и 3 полносвязными слоями. В приведенном ниже примере показана задача следования по полосе. Изображение в середине представляет собой перспективу водителя.

Автоматизация отрасли с помощью обучения с подкреплением

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

Отличным примером является использование агентов ИИ компанией Deepmind для охлаждения дата-центров Google. Это привело к сокращению затрат энергии на 40%. Центры теперь полностью контролируются системой ИИ без необходимости вмешательства человека. Очевидно, что по-прежнему ведется надзор со стороны специалистов центров обработки данных. Система работает следующим образом:

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

Действия проверяются локальной системой управления.

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

Приложения для обучения с подкреплением в торговле и финансах

Контролируемые модели временных рядов можно использовать для прогнозирования будущих продаж, а также для прогнозирования цен на акции. Однако эти модели не определяют действия, которые следует предпринять при конкретной цене акции. Введите обучение с подкреплением (RL). Агент RL может решить такую ​​задачу; стоит ли держать, покупать или продавать. Модель RL оценивается с использованием эталонных рыночных стандартов, чтобы убедиться, что она работает оптимально.

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

Обучение с подкреплением в НЛП (обработка естественного языка)

В НЛП RL можно использовать для суммирования текста, ответов на вопросы и машинного перевода, и это лишь некоторые из них.

Авторы этой статьи Эунсол Чой, Дэниел Хьюлетт и Якоб Ушкорайт предлагают подход, основанный на RL, для ответов на вопросы с учетом длинных текстов. Их метод работает, сначала выбирая несколько предложений из документа, которые имеют отношение к ответу на вопрос. Затем используется медленный RNN для получения ответов на выбранные предложения.

Комбинация обучения с учителем и обучения с подкреплением используется для резюмирования абстрактного текста в этой статье. Газету возглавляют Ромен Паулюс, Каймин Сюн и Ричард Сочер. Их цель — решить проблему, возникающую при суммировании при использовании Attentional моделей кодировщика-декодера на основе RNN в более длинных документах. Авторы этой статьи предлагают нейронную сеть с новым внутренним вниманием, которое следит за вводом и непрерывно генерирует вывод отдельно. Их методы обучения представляют собой комбинацию стандартного предсказания слов под наблюдением и обучения с подкреплением.

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

Читайте также:
Открыть в программе в mac

Исследователи из Стэнфордского университета, Университета штата Огайо и Microsoft Research представили Deep RL для использования в генерации диалогов. Глубокий RL можно использовать для моделирования будущих вознаграждений в диалоге с чат-ботом. Разговоры моделируются с использованием двух виртуальных агентов. Методы градиента политики используются для поощрения последовательностей, которые содержат важные атрибуты разговора, такие как согласованность, информативность и простота ответа.

Другие приложения НЛП можно найти здесь.

Приложения для обучения с подкреплением в здравоохранении

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

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

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

Использование RL в здравоохранении также позволяет улучшить долгосрочные результаты за счет учета отсроченных эффектов лечения.

RL также использовался для открытия и создания оптимальных DTR для хронических заболеваний.

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

Приложения для обучения с подкреплением в инженерии

На переднем крае разработки Facebook разработала платформу для обучения с подкреплением с открытым исходным кодом — Горизонт. Платформа использует обучение с подкреплением для оптимизации крупномасштабных производственных систем. Facebook использовал Horizon для внутренних целей:

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

Horizon также содержит рабочие процессы для:

  • смоделированные среды
  • распределенная платформа для предварительной обработки данных
  • обучение и экспорт моделей в производство.

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

Horizon может справляться с производственными задачами, такими как:

  • развертывание в масштабе
  • нормализация признаков
  • распределенное обучение
  • обслуживание и обработка наборов данных с многомерными данными и тысячами типов объектов.

Обучение с подкреплением в новостной рекомендации

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

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

Давайте рассмотрим приложение для игр, а именно AlphaGo Zero. Используя обучение с подкреплением, AlphaGo Zero смогла изучить игру Го с нуля. Он научился, играя против себя. После 40 дней самостоятельных тренировок Alpha Go Zero смогла превзойти версию Alpha Go, известную как Master, которая победила первого игрока мира Ке Цзе.

Он использовал только черные и белые камни с доски в качестве входных данных и одну нейронную сеть. Простой поиск по дереву, основанный на одной нейронной сети, используется для оценки перемещений позиций и перемещений образцов без использования каких-либо развертываний Монте-Карло.

Ставки в реальном времени — приложения для обучения с подкреплением в маркетинге и рекламе

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

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

Обучение с подкреплением в манипулировании робототехникой

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

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

Google AI применил этот подход к захвату роботов, где 7 реальных роботов работали в течение 800 часов робототехники в течение 4 месяцев.

В этом эксперименте подход QT-Opt преуспевает в 96% попыток захвата в течение 700 попыток захвата объектов, которые ранее не были видны. Предыдущий метод Google AI имел 78% успеха.

Последние мысли

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

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

  1. Как понять агентов обучения с подкреплением? Что и почему я регистрирую во время обучения и отладки
  2. Лучшие доклады по обучению с подкреплением на конференции ICLR 2020

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

Источник: digitrain.ru

Обучение с учителем

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

Читайте также:
Про константы в программе 1с предприятие можно сказать

Обучение без учителя

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

Обучение с частичным привлечением учителя

Обучение с частичным привлечением учителя включает обе проблемы, которые мы описали ранее: они используют маркированные, предопределённые и непредопределённые, немаркированные данные. Это отличная возможность для тех, кто не может редопределить, маркировать свои данные. Этот метод позволяет значительно повысить точность, поскольку мы можем использовать непредопределённые данные в тренировочном наборе данных с небольшим количеством маркированных предопределённых данных.

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

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

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

Наиболее часто используемые алгоритмы машинного обучения

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

Линейная регрессия и линейный классификатор

Вероятно, это самые простые алгоритмы машинного обучения. У вас есть функции x1, . xn объектов (матрица A) и метки (вектор b). Ваша цель — найти наиболее оптимальные веса w1, . wn и смещение для этих функций в соответствии с некоторой функцией потерь; например, среднеквадратичная ошибка или средняя абсолютная ошибка для задачи регрессии. В случае среднеквадратичной ошибки существует математическое уравнение из метода наименьших квадратов:

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

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

Логистическая регрессия

Не путайте эти алгоритмы классификации с методами регрессии из-за использования «регрессии» в названии. Логистическая регрессия выполняет двоичную классификацию, поэтому маркированные выходы являются двоичными. Определим P (y = 1 | x) как условную вероятность того, что выход y равен 1 при условии, что задан входной вектор-функция x. Коэффициенты w — это веса, которые модель хочет изучить.

Поскольку этот алгоритм вычисляет вероятность принадлежности к каждому классу, вы должны учитывать, насколько вероятность отличается от 0 или 1 и усредняет его по всем объектам, как это было с линейной регрессией. Такая функция потерь представляет собой среднее значение кросс-энтропии:

Не паникуйте! Я облегчу это для вас. Позвольте y иметь правильные ответы: 0 или 1, y_pred — предсказанные ответы. Если y равно 0, то первое слагаемое при сумме равно 0, а второе меньше, чем мы предсказали y_pred до 0 согласно свойствам логарифма. Аналогично, в случае, когда y равно 1.

Что хорошего в логистической регрессии? Он принимает линейную комбинацию функций и применяет к ней нелинейную функцию (сигмовидную), поэтому это очень маленький экземпляр нейронной сети!

Деревья принятия решений

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

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

Для какой из программ наиболее подходит машинное обучение с подкреплением

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

Обучение на основе взаимодействия с окружающей средой происходит методом проб и ошибок.

Представьте, что у нас есть стол для игры в пинг-понг и две ракетки. Пусть наша цель – такая система, где мяч не должен пропускаться ни одной из ракеток. Когда каждая из ракеток отбивает мяч, наша позитивная награда увеличивается на единицу (+1), соответственно, в случае пропуска мяча агент получает отрицательное вознаграждение (-1).

Читайте также:
Как снимать свой экран на компьютере без программ

Необходимые термины в Reinforcement Learning

  • Агент (agent): Наша система, которая выполняет действия в среде, чтобы получить некоторую награду.
  • Среда (environment, e): сценарий/окружение, с которым должен столкнуться агент.
  • Награда (reward, R): немедленный возврат, который предоставляется агенту, после выполнения определенного действия или задачи. Является положительной и отрицательной, как было упомянуто выше.
  • Состояние (state, s): Состояние относится к текущему положению, возвращаемой средой.
  • Политика (policy, π): стратегия, которая применяется агентом для принятия решения о следующем действии на основе текущего состояния.
  • Стоимость (value, V): награда, которая ожидается в долгосрочной перспективе. По сравнению с краткосрочным вознаграждением, принимаем во внимание скидку (discount).
  • Значение Функции (value function): определяет размер переменной, которой является общая сумма награды.
  • Модель среды (Model of the environment): имитатор поведения окружающей среды (просто говоря, демо-версия вашей модели). Это помогает определить, как будет вести себя среда.
  • Значение Q или значение действия (Q): значение Q очень похоже на value (V). Но главное различие между ними в том, что он принимает дополнительный параметр в качестве текущего действия.

Где использовать Reinforcement Learning?

Обучение с подкреплением используется в следующих сферах:

  • Робототехника для промышленной автоматизации (например, конвейерная сборка).
  • Планирование бизнес-стратегии.
  • Автоматизация внутри самого машинного обучения.
  • Продвинутые система рекомендации, например, на университетских ресурсах для дополнительного обучения студентов.
  • Управление движением робота, автопилот.

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

Какие алгоритмы использовать?

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

  • State-Action-Reward-State-Action (SARSA). Этот алгоритм обучения с подкреплением начинается с предоставления агенту такого коэффициента, как политика (on-policy). В данном случае политика – это вероятность, с помощью которой алгоритм оценивает шансы определенных действий, приводящих к вознаграждениям или положительным состояниям.
  • Q-Learning. В этом подходе к Reinforcement Learning используется противоположный подход. Агент не получает политики (on-policy), соответственно, его исследование окружающей среды является более самостоятельным. В Q-learning у нас нет ограничений на выбор действия (action) для алгоритма. Он полагает, что все последующие выборы actions будут оптимальными по умолчанию, поэтому алгоритм производит операцию выбора исходя из максимизации оценки Q.
  • Deep Q-Networks (Глубокие Q-сети). Этот алгоритм использует нейронные сети в дополнение к методам обучения с подкреплением (reinforcement learning). Нейросети осуществляют самостоятельное исследование (research) среды обучения с подкреплением для выбора наиболее оптимального значения. То, как алгоритм будет себя вести и подбирать значения, основано на выборке прошлых положительных действий, полученных нейронной сетью.

Чем отличается от классического глубокого обучения (Deep Learning)?

  1. Обучение с подкреплением похоже на глубокое обучение, за исключением одного момента: в случае Reinforcement Learning машина обучаются методом проб и ошибок, используя данные из собственного опыта.
  2. Алгоритм обучения с подкреплением – это независимая система с самообучением. Чтобы добиться наилучших результатов, машина учится в режиме постоянной практики, из чего следует концепция обучения методом проб и ошибок.

Человек в какой-то степени представляет из себя пример обучения с подкреплением. Например, попытки научиться ездить на велосипеде, или плавать: процесс состоит из правильных и неправильных ходов.

  1. Глубокое обучение предполагает исследование уже существующей “даты”, на основе чего мы позже применяем наши наработки к новому набору данных.
  2. Обучение с подкреплением, в свою очередь, является динамическим (самостоятельным) обучением, которое использует метод проб и ошибок для того, чтоб обоснованно принять решение.

Проблемы, стоящие перед Reinforcement Learning

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

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

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

В заключение

Обучение с подкреплением – это вычислительный подход к обучению на основе взаимодействий внутри среды.

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

Внедрение Reinforcement Learning уже происходит: например, знаменитая AlphaGo DeepMind (алгоритм для игры в популярную азиатскую игру Go) использует игровую тактику, которую сначала считали ошибочной, но впоследствии машина обыграла одного из сильнейших игроков в Go, Lee Sedol . А продвинутая версия AlphaGo Zero всего за 40 дней самообучения превзошла AlphaGo DeepMind.

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

В этой статье мы узнали:

  • как работает обучение с подкреплением;
  • где применяется обучение с подкреплением;
  • алгоритмы и проблематику Reinforcement Learning;

Материалы по теме

  • Numpy, Pandas, matplotlib – необходимый минимум для старта в Machine Learning
  • Машинное обучение для начинающих: алгоритм случайного леса (Random Forest)
  • Генеративная состязательная сеть (GAN) для чайников – пошаговое руководство

Источник: proglib.io

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru