Глубокое обучение с подкреплением ( глубокое RL ) — это подраздел машинного обучения , который объединяет обучение с подкреплением (RL) и глубокое обучение . RL рассматривает проблему вычислительного агента, обучающегося принимать решения методом проб и ошибок. Глубокое RL включает в себя глубокое обучение в решение, позволяя агентам принимать решения на основе неструктурированных входных данных без ручного проектирования пространства состояний . Алгоритмы глубокого RL способны принимать очень большие входные данные (например, каждый пиксель, отображаемый на экране в видеоигре) и решать, какие действия выполнить для оптимизации цели (например, максимизации счета в игре). Глубокое обучение с подкреплением использовалось для разнообразного набора приложений, включая, помимо прочего, робототехнику , видеоигры , обработку естественного языка , компьютерное зрение , [1] образование, транспорт, финансы и здравоохранение . [2]
Глубокое обучение — это форма машинного обучения , которая использует нейронную сеть для преобразования набора входных данных в набор выходных данных с помощью искусственной нейронной сети . Методы глубокого обучения, часто использующие контролируемое обучение с маркированными наборами данных, как было показано, решают задачи, которые включают обработку сложных, многомерных необработанных входных данных (например, изображений) с меньшим ручным проектированием признаков , чем предыдущие методы, что обеспечивает значительный прогресс в нескольких областях, включая компьютерное зрение и обработку естественного языка . За последнее десятилетие глубокое RL достигло замечательных результатов по целому ряду проблем, от однопользовательских и многопользовательских игр, таких как Go , Atari Games и Dota 2 , до робототехники. [3]
Обучение с подкреплением — это процесс, в котором агент учится принимать решения методом проб и ошибок. Эту проблему часто математически моделируют как процесс принятия решений Маркова (MDP), где агент на каждом временном шаге находится в состоянии , выполняет действие , получает скалярное вознаграждение и переходит в следующее состояние в соответствии с динамикой среды . Агент пытается изучить политику или карту из наблюдений в действия, чтобы максимизировать свою отдачу (ожидаемую сумму вознаграждений). В обучении с подкреплением (в отличие от оптимального управления ) алгоритм имеет доступ к динамике только через выборку.
Во многих практических задачах принятия решений состояния MDP являются многомерными (например, изображения с камеры или необработанный поток датчиков от робота) и не могут быть решены традиционными алгоритмами RL. Глубокие алгоритмы обучения с подкреплением включают глубокое обучение для решения таких MDP, часто представляя политику или другие изученные функции как нейронную сеть и разрабатывая специализированные алгоритмы, которые хорошо работают в этой обстановке.
Наряду с ростом интереса к нейронным сетям, начавшимся в середине 1980-х годов, возрос интерес к глубокому обучению с подкреплением, где нейронная сеть используется в обучении с подкреплением для представления политик или функций ценности. Поскольку в такой системе весь процесс принятия решений от датчиков до двигателей в роботе или агенте включает в себя одну нейронную сеть , его также иногда называют сквозным обучением с подкреплением. [4] Одним из первых успешных приложений обучения с подкреплением с нейронными сетями была TD-Gammon , компьютерная программа, разработанная в 1992 году для игры в нарды . [5] Четыре входа использовались для количества фигур заданного цвета в заданном месте на доске, что в общей сложности составляло 198 входных сигналов. С нулевым встроенным знанием сеть научилась играть в игру на промежуточном уровне с помощью самостоятельной игры и TD( ) .
Основополагающие учебники Саттона и Барто по обучению с подкреплением [6], Берцекаса и Цитиклиса по нейродинамическому программированию [7] и других [8] углубили знания и интерес к этой области.
Группа Кацунари Шибаты показала, что в этой структуре возникают различные функции, [9] [10] [11] включая распознавание изображений, постоянство цвета, движение сенсора (активное распознавание), координацию рук и глаз и движение руки, объяснение мозговой деятельности, передачу знаний, память, [12] избирательное внимание, прогнозирование и исследование. [10] [13]
Начиная примерно с 2012 года, так называемая революция глубокого обучения привела к росту интереса к использованию глубоких нейронных сетей в качестве аппроксиматоров функций в различных областях. Это привело к возобновлению интереса к исследователям, использующим глубокие нейронные сети для изучения политик, значений и/или функций Q, присутствующих в существующих алгоритмах обучения с подкреплением.
Начиная примерно с 2013 года DeepMind показал впечатляющие результаты обучения с использованием глубокого RL для видеоигр Atari . [14] [15] Компьютерный игрок нейронной сети, обученной с использованием глубокого алгоритма RL, глубокой версии Q-learning, которую они назвали глубокими Q-сетями (DQN), с игровым счетом в качестве награды. Они использовали глубокую сверточную нейронную сеть для обработки 4 кадров RGB пикселей (84x84) в качестве входных данных. Все 49 игр были обучены с использованием той же сетевой архитектуры и с минимальными предварительными знаниями, превзойдя конкурирующие методы почти во всех играх и выступая на уровне, сопоставимом или превосходящем профессионального тестировщика игр. [15]
Глубокое обучение с подкреплением достигло еще одной вехи в 2015 году, когда AlphaGo , [16] компьютерная программа, обученная с помощью глубокого RL играть в го , стала первой компьютерной программой го, которая победила профессионального игрока в го без гандикапа на полноразмерной доске 19×19. В последующем проекте в 2017 году AlphaZero улучшила производительность в го, а также продемонстрировала, что они могут использовать тот же алгоритм, чтобы научиться играть в шахматы и сёги на уровне, конкурентоспособном или превосходящем существующие компьютерные программы для этих игр, и снова улучшила в 2019 году с MuZero . [17] Отдельно еще одна веха была достигнута исследователями из Университета Карнеги-Меллона в 2019 году, разработавшими Pluribus , компьютерную программу для игры в покер , которая была первой, кто победил профессионалов в многопользовательских играх в безлимитный техасский холдем . OpenAI Five , программа для игры пять на пять в Dota 2, победила предыдущих чемпионов мира в демонстрационном матче в 2019 году.
Глубокое обучение с подкреплением также применялось во многих областях за пределами игр. В робототехнике оно использовалось для того, чтобы роботы могли выполнять простые домашние задачи [18] и собирать кубик Рубика с помощью руки робота. [19] [20] Глубокое обучение с подкреплением также нашло применение в области устойчивого развития, используя его для снижения потребления энергии в центрах обработки данных. [21] Глубокое обучение с подкреплением для автономного вождения является активной областью исследований в академических кругах и промышленности. [22] Loon исследовала глубокое обучение с подкреплением для автономной навигации своих высотных воздушных шаров. [23]
Существуют различные методы обучения политик для решения задач с помощью алгоритмов глубокого обучения с подкреплением, каждый из которых имеет свои преимущества. На самом высоком уровне существует различие между обучением с подкреплением на основе модели и без модели, которое относится к тому, пытается ли алгоритм изучить прямую модель динамики среды.
В алгоритмах глубокого обучения с подкреплением на основе моделей оценивается прямая модель динамики среды, обычно с помощью контролируемого обучения с использованием нейронной сети. Затем действия получаются с помощью предиктивного управления моделью с использованием изученной модели. Поскольку истинная динамика среды обычно будет отличаться от изученной динамики, агент часто перепланирует при выполнении действий в среде. Выбранные действия могут быть оптимизированы с помощью методов Монте-Карло, таких как метод кросс-энтропии , или комбинации обучения модели с методами без модели.
В алгоритмах глубокого обучения с подкреплением без моделей политика изучается без явного моделирования динамики вперед. Политика может быть оптимизирована для максимизации отдачи путем прямой оценки градиента политики [24], но страдает от высокой дисперсии, что делает ее непрактичной для использования с аппроксимацией функций в глубоком обучении с подкреплением. Последующие алгоритмы были разработаны для более стабильного обучения и широко применяются. [25] [26] Другой класс алгоритмов глубокого обучения с подкреплением без моделей основан на динамическом программировании , вдохновленном обучением по временным различиям и Q-обучением . В дискретных пространствах действий эти алгоритмы обычно изучают Q-функцию нейронной сети , которая оценивает будущую отдачу, принимая меры из состояния . [14] В непрерывных пространствах эти алгоритмы часто изучают как оценку значения, так и политику. [27] [28] [29]
Глубокое обучение с подкреплением — это активная область исследований, включающая несколько направлений.
Агент RL должен сбалансировать компромисс между исследованием и эксплуатацией: проблема принятия решения о том, следует ли выполнять действия, которые, как известно, приносят высокие вознаграждения, или исследовать другие действия, чтобы обнаружить более высокие вознаграждения. Агенты RL обычно собирают данные с помощью некоторого типа стохастической политики, такой как распределение Больцмана в дискретных пространствах действий или гауссово распределение в непрерывных пространствах действий, вызывая базовое поведение исследования. Идея, лежащая в основе исследования, основанного на новизне или движимого любопытством, заключается в том, чтобы дать агенту мотив для исследования неизвестных результатов, чтобы найти наилучшие решения. Это делается путем «модификации функции потерь (или даже архитектуры сети) путем добавления членов для стимулирования исследования». [30] Агенту также может быть оказана помощь в исследовании путем использования демонстраций успешных траекторий или формирования вознаграждения, предоставляя агенту промежуточные вознаграждения, которые настраиваются в соответствии с задачей, которую он пытается выполнить. [31]
Важное различие в RL — это разница между алгоритмами on-policy, которые требуют оценки или улучшения политики, собирающей данные, и алгоритмами off-policy, которые могут изучать политику на основе данных, сгенерированных произвольной политикой. Как правило, методы на основе функции значения, такие как Q-learning, лучше подходят для обучения off-policy и имеют лучшую эффективность выборки — объем данных, необходимых для изучения задачи, уменьшается, поскольку данные повторно используются для обучения. В крайнем случае, offline (или «пакетное») RL рассматривает изучение политики из фиксированного набора данных без дополнительного взаимодействия со средой.
Обратное RL относится к выведению функции вознаграждения агента с учетом поведения агента. Обратное обучение с подкреплением может использоваться для обучения на основе демонстраций (или обучения ученичества ) путем выведения вознаграждения демонстратора и последующей оптимизации политики для максимизации отдачи с RL. Подходы к глубокому обучению использовались для различных форм имитационного обучения и обратного RL. [32]
Другая активная область исследований — изучение политик, обусловленных целью, также называемых контекстными или универсальными политиками , которые принимают дополнительную цель в качестве входных данных для сообщения желаемой цели агенту. [33] Воспроизведение опыта ретроспективного восприятия — это метод обучения с подкреплением цели, который включает в себя хранение и обучение на основе предыдущих неудачных попыток выполнить задачу. [34] Хотя неудачная попытка могла не достичь намеченной цели, она может послужить уроком того, как достичь непреднамеренного результата посредством перемаркировки ретроспективного восприятия.
Многие приложения обучения с подкреплением не включают в себя одного агента, а скорее набор агентов, которые обучаются вместе и коадаптируются. Эти агенты могут быть конкурентными, как во многих играх, или кооперативными, как во многих реальных многоагентных системах. Многоагентное обучение с подкреплением изучает проблемы, возникающие в этой обстановке.
Перспективой использования инструментов глубокого обучения в обучении с подкреплением является обобщение: способность правильно работать с ранее невиданными входными данными. Например, нейронные сети, обученные распознаванию изображений, могут распознать, что на картинке изображена птица, даже если они никогда не видели этого конкретного изображения или даже этой конкретной птицы. Поскольку глубокое RL допускает необработанные данные (например, пиксели) в качестве входных данных, уменьшается необходимость в предварительном определении среды, что позволяет обобщать модель для нескольких приложений. С этим уровнем абстракции алгоритмы глубокого обучения с подкреплением могут быть разработаны таким образом, чтобы они были общими, и одну и ту же модель можно было использовать для разных задач. [35] Одним из методов повышения способности политик, обученных с помощью политик глубокого RL, обобщать, является включение обучения представлениям .