Обучение с подкреплением (RL) — это захватывающая область машинного обучения, которая существует с 1950-х годов. Он создал несколько интересных приложений, особенно в играх (например, вы, возможно, слышали об AlphaGo от DeepMind, которая является первой компьютерной программой, победившей профессионального игрока в го). Как AlphaGo добилась такого успеха? Что ж, стало лучше изучать игру и принимать более последовательные решения с помощью обучения с подкреплением. Ему приходилось играть против самого себя тысячи раз и учиться на реальных играх в го. Вот насколько мощной является RL. Однако приложения RL не ограничиваются играми. RL находит приложения в онлайн-системах рекомендаций, например, чтобы помочь клиентам узнать о новых продуктах, которые они могут купить. Другие приложения включают робототехнику, многоагентное взаимодействие, навигацию/самостоятельное вождение транспортных средств и промышленную логистику. Обучение с подкреплением позволяет «агенту» учиться в своей среде методом проб и ошибок, используя обратную связь (положительную/отрицательную) из собственного опыта — так же, как учатся люди. Агент в конечном счете учится принимать оптимальные, просчитанные последовательности решений.

Есть несколько важных терминов, которые нужно знать, когда мы формулируем задачи RL. Давайте возьмем пример классической настольной игры — Snake & Ladders, чтобы лучше понять эти термины. Давайте предположим, что в этой игре мы позволяем нашему маленькому агенту контролировать число, выпавшее на кубике.

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

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

:: Вознаграждение (возврат из среды): скалярный сигнал обратной связи, сообщающий агенту, насколько хорошо он работает в определенное время. Цель агента — максимизировать совокупное вознаграждение. Например, агент может заработать +5 баллов за приземление на более короткие лестницы, +10 на более крупные лестницы, потерять 5 баллов при приземлении на более короткие змейки и 10 баллов на более длинные змейки.

:: Политика (стратегия агента): это сопоставление состояний с действиями. Он определяет, как агент выбирает действие (число на кубике).

:: Функция ценности (долгосрочный доход с некоторой скидкой): ожидаемая дисконтированная сумма будущих вознаграждений в соответствии с определенной политикой. Это показатель хорошего/плохого состояний и действий.

Короче говоря, на каждом временном шаге агент выполняет действие, получает наблюдение и скалярное вознаграждение. Со временем агент будет выбирать действия, чтобы максимизировать общее будущее вознаграждение. Обратите внимание, что действия могут иметь долгосрочные последствия и что может быть лучше отказаться от краткосрочных вознаграждений, чтобы получить более долгосрочные вознаграждения (например, финансовые инвестиции). Итак, что отличает обучение с подкреплением от других типов машинного обучения, таких как обучение с учителем? Ответ заключается в том, что в RL на самом деле нет руководителя. В то время как контролируемое обучение работает с существующими или заданными образцами данных, RL работает над взаимодействием с окружающей средой. RL — это последовательное принятие правильных решений по сравнению с машинным обучением с учителем, выходное решение принимается на начальном входе. Более того, агент RL имеет сигнал вознаграждения/обратной связи, который может быть задержан и не является мгновенным (в отличие от контролируемого машинного обучения).

Давайте рассмотрим некоторые из плюсов и минусов обучения с подкреплением. С другой стороны, RL можно использовать для решения некоторых сложных проблем, которые не могут быть легко решены другими методами машинного обучения. Модель обучения похожа на то, как учатся люди, и, следовательно, она близка к достижению хороших долгосрочных результатов и более масштабируема. Более того, в отсутствие обучающих наборов данных RL может быть мощным методом изучения опыта агента при навигации по среде. Наоборот, как мы можем сказать, RL требует много данных и является тяжелым/дорогим в вычислительном отношении. Использование RL для задачи может оказаться непрактичным, если мы ограничены в ресурсах для обучения модели. Итак, когда нам следует рассмотреть возможность применения обучения с подкреплением (а когда нет)? В настоящее время RL не может решить все проблемы. Нам следует избегать использования RL в ситуациях, когда мы не можем позволить себе совершать ошибки. Например, мы должны быть очень осторожны при использовании обучения с подкреплением для работы с пациентом в условиях больницы. RL также может быть сложно использовать в тех случаях, когда все переменные среды не определены количественно или не нанесены на карту. Частичная информация может привести к неточным и неоптимальным результатам. Время — еще одно ограничение. Если обучение проводится в основном в режиме онлайн, испытания необходимо проводить много раз, чтобы разработать эффективную политику. С другой стороны, RL может быть хорошим приложением в сценариях, где мы можем позволить себе совершать ошибки/ошибки, располагать временем и ресурсами для обучения и потенциально можем извлечь выгоду из изучения/эксплуатации среды, чтобы максимизировать кумулятивное вознаграждение со скидкой.

Мы часто говорим об офлайн-обучении и онлайн-обучении с подкреплением. В чем разница? Проще говоря, онлайн-обучение с подкреплением — это метод, при котором алгоритм получает данные по одному наблюдению за раз. В некоторых условиях онлайн-обучение может быть непрактичным из-за того, что сбор данных невероятно дорог и требует много времени. Большинство исследований/реализаций в RL вращаются вокруг настройки онлайн-обучения. С другой стороны, автономное или пакетное обучение принимает статические данные за один раз для построения модели машинного обучения. Обучение с подкреплением в автономном режиме часто является единственным вариантом в ситуациях, когда мы не можем позволить себе риски, связанные с онлайн-обучением. В автономном RL не требуется дальнейшего взаимодействия со средой, и алгоритмы используют ранее собранные данные. Алгоритмы автономного обучения с подкреплением могут превратить большие наборы данных в надежные механизмы принятия решений. Чтобы лучше понять это, давайте возьмем пример автономного RL из реального мира. Предположим, мы ставим диагноз пациенту в больнице. Здесь действия сопоставляются с определенными диагностическими тестами, а наблюдения соответствуют результатам диагностических тестов. В таком сценарии мы можем использовать исторические данные о диагностических тестах реальных пациентов и оптимальные рекомендации, данные поставщиком медицинских услуг, чтобы определить масштаб нашей проблемы обучения с подкреплением в автономном режиме. Довольно аккуратно, верно? Обратите внимание, что одна из самых больших проблем с автономным RL заключается в том, что у нас нет возможности улучшить вознаграждение, исследуя среду, поскольку мы работаем со статическими данными.

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

Надеюсь, вы нашли этот пост полезным. Приятного обучения!