Share This
Связаться со мной
Крути в низ
Categories
//🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 2271a66 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

Kaggle expert⚛️ Пишу материал о различных алгоритмах и техниках в сфере Machine Learning. Рассказываем, как методом проб и ошибок машины учатся и какие алгоритмы используют, чтобы превзойти человека.

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 5858d88 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

Коротко Обучение с подкреплением (Reinforcement Learning) – это метод машинного обучения, в котором наша система (агент) обучается методом проб и ошибок. Идея заключается в том, что агент взаимодействует со средой, параллельно обучаясь, и получает вознаграждение за выполнение действий.

Как оно работает?

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 3dbc958 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

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

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

Представьте, что у нас есть стол для игры в пинг-понг и две ракетки. Пусть наша цель – такая система, где мяч не должен пропускаться ни одной из ракеток. Когда каждая из ракеток отбивает мяч, наша позитивная награда увеличивается на единицу (+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?

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 6ac4247 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

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

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

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

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

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

  • 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)?

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah cd01576 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

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

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

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

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

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 504edaa - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

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

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

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

В заключение

chto takoe obuchenie s podkrepleniem i kak ono rabotaet objasnjaem na prostyh primerah 337f725 - 🤖 Что такое обучение с подкреплением и как оно работает. Объясняем на простых примерах

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

Более того, 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) для чайников – пошаговое руководство

  • 1 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Свежие комментарии

    Рубрики

    About Author 01.

    blank
    Roman Spiridonov

    Моя специальность - Back-end Developer, Software Engineer Python. Мне 39 лет, я работаю в области информационных технологий более 5 лет. Опыт программирования на Python более 3 лет. На Django более 2 лет.

    Categories 05.

    © Speccy 2022 / All rights reserved

    Связаться со мной
    Close