Добро пожаловать в эту бесплатную серию статей «Обучение с подкреплением — Что и почему», посвященную тому, чтобы помочь вам и другим людям лучше понять обучение с подкреплением (RL). Если у вас есть базовые знания в области исчисления, статистики и вам интересно изучить RL, многообещающую и увлекательную область машинного обучения, то вы попали в нужное место. Цель этой серии — предоставить вам ценную информацию и знания, которые помогут вам ориентироваться в мире RL.

Структура моей серии черпает вдохновение из книги Ричарда С. Саттона и Эндрю Дж. Барто «Обучение с подкреплением: введение» (2020), которая широко считается всеобъемлющим ресурсом в области обучения с подкреплением. В течение 2–3 месяцев я постараюсь закончить базовые концепции RL и углубиться в различные базовые алгоритмы. Начиная с основ, мы постепенно перейдем к более новым и популярным алгоритмам, таким как DQN (2014 г.), PPO (2017 г.) и другим. Наше внимание сосредоточено не только на объяснении концепций, но и на понимании «почему» за ними и предоставлении практических реализаций кода.

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

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

Спасибо за участие в этой серии, и давайте вместе отправимся в это обучающее приключение!

Содержание:

1. Мотивация. В чем основная идея обучения с подкреплением?

2. Формальное определение обучения с подкреплением.

3. Некоторые проблемы в RL.

4. Ключевая концепция, которую нужно убрать.

1. Мотивация. Какова основная идея обучения с подкреплением?

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

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

Чтобы проиллюстрировать это, давайте представим сценарий, в котором мы поручаем роботу-доставщику пересечь мост, чтобы доставить муку в пекарню. Агент (робот) получает высокое вознаграждение после успешного достижения конечной цели, но получает существенное отрицательное вознаграждение, если он падает с моста, выбирая действия «вверх» или «вниз» (конечно, смоделированные!).

Поскольку я не нашел удобного способа написания индекса, пожалуйста, поймите, что «_» предназначен для индекса, например. S_i есть Sᵢ. Начиная с квадрата S_0, агент стремится максимально увеличить совокупное вознаграждение, перемещаясь в крайнее правое положение, где находится пекарня. Положение агента определяет состояние, в котором он находится.

В нашем примере линия сетки — это мост, который агент пытается пересечь. В исходном состоянии все действия, которые он может выполнять, — это движение вверх, движение вниз или движение вправо. Наш агент сначала перемещается вправо, а затем влево, в результате чего агент остается в исходной позиции (состояниеS_2 идентично S_0 тоже, так как мы учитываем положение агента только при определении состояния) после выполнения 2 действий. За эти 2 действия агент не получает вознаграждения за любое действие, поскольку оно не достигло пекарни. Совокупное вознаграждение по-прежнему равно нулю.

Хотя это упрощенный пример, он выделяет важные компоненты модели RL, включая агента, систему вознаграждения, доступные действия и состояние среды.

Теперь давайте рассмотрим другую проблему, когда агент должен выбирать между «алмазным» или «золотым» путем. Движение влево немедленно дает золото, а движение вправо четыре раза приводит к бриллианту. Однако существует небольшая вероятность того, что часть моста могла разрушиться, что может привести к обрушению и серьезному повреждению агента без получения алмаза. Должен ли агент рисковать?

Во втором примере результат действия не гарантирует известного следующего состояния. Агент сталкивается с неопределенностью в окружающей среде, поскольку следующее состояние может либо приблизить его к алмазу, либо привести к падению в реку (если агент решит взять алмаз). Эта неопределенность характерна для многих проблем RL, когда агентыдолжны ориентироваться в средах с неясными или вероятностными вознаграждениями.

Эти примеры демонстрируют, как RL включает в себя стремление агента максимизировать совокупное вознаграждение в рамках детерминированного (пример 1 — доставка муки) и стохастического (Пример 2 — Gold или Diamond) окружения. RL охватывает широкий спектр сценариев, в которых агенты учатся на взаимодействиях и адаптируют свое поведение для достижения своих целей. (Есть даже попытки использовать RL для торговли на фондовом рынке!).

Похоже ли RL на контролируемое обучение? (с возможностью пропуска)

Короткий ответ - нет.

При обучении с учителем нам предоставляется набор состояний (входные данные) и соответствующие им желаемые действия (метки). Например, при состоянии «пылесос разряжен», желаемое действие — «возврат и перезарядка». При обучении с учителем системе явно предоставляются правильные действия для определенных состояний, и ей не нужно учиться самостоятельно.

С другой стороны, агенты RL обучаются, взаимодействуя с окружающей средой. Когда агент RL сталкивается с таким состоянием, как «низкий заряд батареи», сначала он может не знать, какое действие предпринять. Путем проб и ошибок, получая награды или наказания от окружающей среды, агент учится принимать лучшие решения. Например, агент может быть несколько раз наказан за достижение критического уровня заряда батареи, прежде чем научится избегать этого и предпринимать альтернативные действия.

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

Вы должны проверить это фантастическое видео (встроенное ниже) в 3:58 от Two Minute Papers о статье OpenAI, где агенты RL даже учатся использовать физику, чтобы выиграть игру в прятки (что почти невозможно найти в обучении с учителем).

Похоже ли это на неконтролируемое обучение? С возможностью пропуска

Короткий ответ: нет, опять же.

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

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

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

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

2. Формальное определение обучения с подкреплением

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

  • Определение Википедии

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

  • «Обучение с подкреплением: введение» Определение

«Совокупное вознаграждение» состояния: сумма всех будущих вознаграждений от этого состояния до конечного состояния.

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

В нашем втором примере, если агент решит двигаться вправо 4 раза, и мост не рухнет, то совокупное вознаграждение будет равно 0 + 0 + 0 + 15 = 15.

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

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

Многорукий бандит, еще один пример.

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

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

Вначале вы находитесь в начальном состоянии S_0, когда ни одна из рук еще не вытянута. Вы тянете первую руку (действие A_0), получаете вознаграждение R_1 и переходите в состояние S_1, которое совпадает с состоянием S_0, поскольку никаких изменений не произошло. Этот процесс продолжается до тех пор, пока вы не достигнете состояния S_99 после того, как потянете руки 99 раз. Наконец, вы делаете свой последний выстрел и тянете 100-ю руку (действие A_99), получая финальную награду в размере R_100.

Теперь совокупная награда за начальное состояние S_0 представляет собой сумму всех наград, полученных за 100 действий (ΣRi, где i находится в диапазоне от 1 до 100). Цель состоит в том, чтобы максимизировать эту совокупную награду.

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

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

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

Проблема, структура, область или класс решений?

Обратите внимание: иногда вы даже где-то читали, что RL — это фреймворк, класс методов или даже класс задач. Это связано с тем, что, как говорят авторы в «Обучение с подкреплением: введение»: «Обучение с подкреплением, как и многие темы, названия которых заканчиваются на «ing», такие как машинное обучение и альпинизм, одновременно является проблемой, классом методов решения, которые хорошо работают на проблема, и область, изучающая эту проблему и методы ее решения».

3. Некоторые проблемы в RL

Компромисс между разведкой и эксплуатацией

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

Частичная наблюдаемость

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

Реальный разрыв

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

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

Долговременное обучение с «детским RL»

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

Однажды я читал, как один профессор упомянул, что агентам «младенцев RL» часто требуется миллионы или более временных шагов, чтобы добиться хороших результатов в играх Atari, в то время как люди могут достичь аналогичных результатов значительно быстрее.

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

Другие проблемы

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

4. Ключевые понятия, которые нужно взять с собой

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

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

Переход состояния. Переход состояния относится к процессу изменения среды из одного состояния в другое в ответ на действие, предпринятое агентом.

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

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

Награда. Награда — это числовое (скалярное) значение сигнала, возвращаемое средой агенту, когда он выполняет действие.

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

Некоторые другие концепции, которые будут включены в серию позже, в том числе Марковский процесс принятия решений (MDP), политика, функция ценности, коэффициент дисконтирования и т. д.… но даже приведенные выше концепции помогут вам понять основы подкрепления. Обучение.

P/S: В этой статье представлен обзор основных концепций обучения с подкреплением (RL) и основной идеи агента, максимизирующего кумулятивное вознаграждение от окружающей среды. Эти концепции служат прочной основой для дальнейших глав этой серии. Спасибо, что нашли время прочитать эту статью. Если у вас есть какие-либо вопросы, исправления или рекомендации, пожалуйста, не стесняйтесь оставлять комментарии ниже. Ваше мнение очень ценится.