Еще один метод, используемый в машинном обучении.

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

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

Reinforcement Learning — это метод Data Science для машинного обучения. Это метод обучения без учителя, поскольку вы не предоставляете помеченные данные. Однако он отличается от обычных методов обучения без учителя, поскольку, хотя данные не помечены, требуется явное программирование. Разработчик должен создать алгоритмы, определяющие не только цель, но и поощрения и наказания, которые будут использоваться. Обучение с подкреплением отличается от обучения с учителем, потому что после того, как эти начальные параметры записаны, разработчик больше не требует прерываний. Вместо этого машина будет интерпретировать данные на основе установленных целей и параметров.

Использование вознаграждений и наказаний для определения поведения? Если у вас есть собака, эта информация имеет смысл. Когда собака сядет, дайте ей лакомство. Иначе никакого лечения. Но как побаловать свою машину? Честно говоря, для понимания этого потребовалось небольшое исследование. Я нашел один источник, который определил, что машину можно наказать с помощью состояний. Если машина принимает неверное решение, вы возвращаете машине ошибку. Ошибочное состояние работает как наказание. Честно говоря, я понял, как ошибка будет «наказанием», но что такое награда? Мне потребовалось немного больше исследований, чтобы понять. Я не думаю, что полностью это понял, поэтому, если вы можете придумать лучший способ описать это, пожалуйста, оставьте его в комментариях. В противном случае, вот пример, который я нашел:

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

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

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

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

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

Другой пример, немного более реальный, связан с беспилотными (или автономными) транспортными средствами. Как известно, в дороге невозможно предугадать все возможности. Это, а также длинный блок If-Then может занять время и не иметь полностью сформированной логики. Но поскольку разработчик не всегда может контролировать алгоритмы, метод обучения должен быть неконтролируемым. Используя метод обучения с подкреплением, вы позволяете агенту усложняться, а также становиться более умным с течением времени. Вы также можете позволить агенту сосредоточиться на таких функциях, как скорость, чтобы автомобиль мог определить самый быстрый путь и внести изменения в курс, если что-то должно изменить скорость выбранного пути.

Различные методы обучения с подкреплением

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

  1. State-Action-Reward-State-Action (SARSA) — SARSA начинается с передачи политики агенту. Политика, по сути, сообщает агенту вероятность того, что определенное действие приведет к вознаграждению.
  2. Q-Learning — в Q-Learning нет политики. Это означает, что агент должен ориентироваться в среде без инструкций, что делает обучение самостоятельным.
  3. Deep Q-Learning — Deep Q-Learning использует самостоятельную навигацию, но также использует нейронные сети. Нейронные сети запоминают прошлые действия и их награды, что помогает влиять на будущие решения.

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

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

Плюсы

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

Это были лишь некоторые плюсы, поэтому давайте рассмотрим и несколько минусов:

Минусы

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

Заключение

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

Читайте все мои статьи бесплатно с моей еженедельной рассылкой, спасибо!

Хотите прочитать все статьи на Medium? Станьте членом Medium сегодня!

Ознакомьтесь с некоторыми из моих последних статей:











Использованная литература: