Пять: усиление обучения
Оригинал: Machine Learning for Humans, Part 5: Reinforcement Learning
Автор: Vishal Maini
Переводчик: Фэйлун
Лицензия: CC BY-NC-SA 4.0
В этой части мы рассмотрим усиление обучения (RL) — метод машинного обучения, который позволяет агентам обучаться на основе взаимодействия с окружающей средой и получения вознаграждений или наказаний за свои действия.
Усиление обучения — это метод машинного обучения, при котором агент обучается на основе взаимодействий с окружающей средой. Агент получает вознаграждение за правильные действия и наказание за неправильные. Цель агента — максимизировать суммарное вознаграждение в долгосрочной перспективе.
Мы рассмотрим следующие аспекты усиления обучения:
Рассмотрим пример игры, где агент (например, крыса) должен найти сыр в лабиринте. Лабиринт имеет несколько коридоров, некоторые из которых ведут к сыру, а другие — к тупикам. Крыса может двигаться вперёд, назад, влево или вправо. За каждый шаг она получает награду в виде кусочка сыра или наказание в виде удара током. Задача крысы — найти сыр как можно быстрее, избегая ударов током.
Крыса начинает игру с случайного блуждания по лабиринту. Она не знает, какие коридоры ведут к сыру, а какие — нет. Однако со временем она начинает понимать, что некоторые коридоры чаще приводят к сыру. Она начинает чаще выбирать эти коридоры и реже — другие. Это пример обучения стратегии.
Однако крыса также должна исследовать новые области лабиринта, чтобы найти новые пути к сыру. Если она всегда будет выбирать одни и те же коридоры, она может пропустить новый путь к сыру. Это пример исследования.
Агент должен найти баланс между исследованием новых областей и использованием известных стратегий. Этот баланс называется ε-жадной стратегией, где ε — вероятность исследования нового направления. В начале игры ε может быть высоким, чтобы агент мог исследовать лабиринт. Со временем ε уменьшается, чтобы агент больше использовал известные стратегии.
Ещё один важный аспект усиления обучения — марковский процесс принятия решений (MDP). MDP описывает среду, в которой агент может находиться в различных состояниях. Каждое состояние связано с определённым набором действий, которые может выполнить агент. После выполнения действия агент переходит в новое состояние и получает вознаграждение или наказание.
MDP имеет следующие характеристики:
— Состояния. Это возможные положения агента в среде. Например, в лабиринте состояниями могут быть «начало», «коридор 1», «коридор 2» и т. д. — Действия. Это действия, которые агент может выполнять в каждом состоянии. Например, в лабиринте действиями могут быть «вперёд», «назад», «влево» и «вправо». — Переходы. Это вероятности перехода из одного состояния в другое после выполнения действия. Например, если агент находится в коридоре 1 и выполняет действие «вперёд», он может перейти в коридор 2 с вероятностью 0,7 и в тупик с вероятностью 0,3. — Вознаграждения. Это награды или наказания, которые получает агент за выполнение действий. Например, за переход в коридор с сыром агент получает вознаграждение +1, а за переход в тупик — наказание -1. — Коэффициент дисконтирования γ. Он определяет, насколько важно текущее вознаграждение по сравнению с будущими вознаграждениями. Например, если γ = 0,9, то вознаграждение через три шага будет иметь значение 0,9³. — Отсутствие памяти. После перехода в новое состояние агент забывает о предыдущих состояниях. Это означает, что будущее не зависит от прошлого.
Цель агента — максимизировать сумму будущих вознаграждений. Для этого он должен выбрать оптимальные действия в каждом состоянии.
Один из методов усиления обучения — Q-обучение. Оно основано на функции ценности Q, которая определяет ценность каждого действия в каждом состоянии. Функция ценности обновляется на основе опыта агента.
Другой метод — обучение стратегии. Он основан на прямой оптимизации стратегии действий. Стратегия определяет, какое действие следует выполнить в каждом состоянии. Стратегия также может быть оптимизирована на основе опыта агента.
Глубокое усиление обучения использует глубокие нейронные сети для аппроксимации функции ценности или стратегии действий. Глубокие нейронные сети позволяют агентам учиться на сложных данных и решать сложные задачи.
Усиление обучения — это мощный метод машинного обучения, который может использоваться для решения различных задач. Оно позволяет агентам адаптироваться к изменяющимся условиям и находить оптимальные решения. Это работа объединила восприятие высокого измерения на входе и действия, создав первый искусственный интеллект, который способен учиться становиться превосходным в различных сложных задачах. (Silver и др., 2015).
Здесь приведён скриншот, демонстрирующий положение DQN по сравнению с линейными учениками и людьми в разных областях.
| Эти данные были нормализованы в соответствии с профессиональными тестерами игр-людей: 0% = случайная игра, 100% = производительность человека.| Источник: статья DeepMind о DQN, «Контроль на уровне человека через глубокое усиление обучения».
Чтобы помочь вам сформировать интуицию относительно прогресса, достигнутого в исследованиях RL, вот несколько примеров улучшений, касающихся попыток нелинейной Q-функции, которые могут улучшить производительность и стабильность.
Переигрывание опыта, которое заключается в более длинной последовательности ранее наблюдаемых значений и соответствующих вознаграждений, чтобы избежать переобучения на краткосрочном опыте. Эта идея вдохновлена биологией мозга, например, когда крысы во время сна «переигрывают» паттерны нейронной активности, что позволяет им улучшить свою работу в лабиринте в будущем.
Расширение циклической нейронной сети (RNN) для DQN. Когда интеллектуальный агент может видеть только своё непосредственное окружение (например, крыса-робот может видеть только определённую область лабиринта, а птица может видеть весь лабиринт), агенту необходимо помнить большую карту, чтобы он помнил, где всё находится. Это похоже на то, как младенцы развивают «постоянство объекта», чтобы понять, что вещи существуют, даже если они выходят из поля зрения младенца. RNN являются циклическими, то есть они позволяют информации существовать в течение длительного времени. Вот видео, показывающее, как глубокая циклическая Q-сеть (DQRN) играет в Doom, что впечатляет.
https://medium.com/media/2286543cfd01ba0ac858ada4857dc635?postId=6eacf258b265
Источник: серия статей Артура Джулиани «Простое усиление обучения с помощью TensorFlow, часть 6: частичная наблюдаемость и глубокая рекуррентная Q-сеть».
В 2016 году, всего лишь через год после статьи DQN, DeepMind выпустила ещё один алгоритм под названием Asynchronous Advantage Actor-Critic (A3C), который превзошёл лучшие результаты Atari-игр после половины времени обучения (Mnih и др., 2016). A3C — это алгоритм действия-оценки, сочетающий два подхода, которые мы исследовали: он использует актор (стратегия, определяющая, как действовать), и оценщик (Q-сеть, определяющая ценность вещей). Артур Джулиани написал хорошую статью о том, что такое A3C-сети. A3C теперь является стартовым агентом OpenAI Universe.
С тех пор было множество захватывающих прорывов — от создания ИИ собственного языка до обучения их ходить в разнообразных средах. Этот ряд охватывает только поверхность передовых исследований RL, но я надеюсь, что он послужит отправной точкой для будущих исследований.
Кроме того, мы планируем поделиться видео, в котором DeepMind учится ходить, и оно сопровождается звуком. Возьмите немного попкорна, включите звук и наслаждайтесь всей славой искусственного интеллекта.
https://medium.com/media/e7187ecd760a815468c4e79c622dc625?postId=6eacf258b265
Дополнительные материалы и чтение
Код
Статья Андреа Карапати «Понг из пикселей» позволит вам создать и запустить первый усиленный обучающийся интеллект. В статье описывается, как мы учимся играть в ATARI-игру (Pong), используя PG, начиная с нуля, используя пиксели, применяя глубокую нейронную сеть, и весь проект состоит из 130 строк кода Python, используя только NumPy в качестве зависимости.
Далее мы настоятельно рекомендуем серию руководств Артура Джулиани по усиленному обучению с использованием TensorFlow. Он охватывает DQN, обучение стратегии, методы действия-оценки и исследование стратегий с использованием TensorFlow. Попробуйте понять его, а затем повторить методы, описанные в нём.
Чтение и лекции
На этом всё!
Если вы дошли до этого места, это наша награда. Мы надеемся, что вы рассматриваете эту серию как введение в машинное обучение. Мы собрали некоторые из наших любимых ресурсов ML в приложении, если вы готовы заглянуть глубже в кроличью нору. Пожалуйста, не стесняйтесь делиться своими мыслями, вопросами, обратной связью или любимыми GIF-файлами. До следующей встречи,
Вишал и Самер.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )