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

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

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

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

Итак, процесс обучения с подкреплением работает так: агент выполняет какое-то действие в среде, и на основе этого действия мы обновляем состояние и награду. Если вы играли в игру, состояние было бы одним frame в игре, как только агент выполняет действие, он переходит к следующему кадру, поэтому он обновляет свое состояние.

Накопительный коэффициент вознаграждения и скидки

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

Но подождите, есть проблема с простым сложением всех подобных наград.

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

Так как же заставить нашего агента понять это? Мы применяем коэффициент скидки ко всем вознаграждениям, но долгосрочные будущие вознаграждения имеют более высокий коэффициент скидки. Мы дисконтируем вознаграждения, определяя ставку дисконтирования как гамму, которая должна быть от 0 до 1. Большая гамма означает меньшую скидку, а меньшая гамма означает большую скидку. В первом случае наш агент больше заботится о долгосрочном вознаграждении. Во втором случае, когда у нас меньшая гамма и большая скидка, агента больше заботит краткосрочное вознаграждение.

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

Разведка / Эксплуатация

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

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

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

Эпизодические и непрерывные задачи

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

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

Монте-Карло против обучения TD

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

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

Три подхода к обучению с подкреплением

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

Ценностно-ориентированный RL

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

Агент будет выбирать состояние на каждом шаге на основе функции ценности. Он выберет состояние с наибольшим значением.

RL на основе политик

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

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

RL на основе модели

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

Приложения RL

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

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

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