Как реорганизовать обучение с подкреплением как проблему последовательности.

Сводка

Архитектуры-трансформеры — самая горячая вещь в контролируемом и неконтролируемом обучении, достигающая результатов SOTA в обработке естественного языка, зрении, аудио и мультимодальных задачах. Их ключевая способность состоит в том, чтобы фиксировать, какие элементы в длинной последовательности заслуживают внимания, что приводит к отличному обобщению и генеративным навыкам. Можем ли мы перенести какие-либо из этих навыков в обучение с подкреплением? Ответ положительный (с некоторыми оговорками). Я расскажу, как можно реорганизовать обучение с подкреплением как проблему последовательности, и поразмышляю о потенциале и ограничениях этого подхода.

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

Введение в Трансформеров

Представленные в 2017 году архитектуры Transformers произвели фурор на рынке глубокого обучения: они достигли результатов SOTA почти во всех тестах, будучи проще и быстрее, чем предыдущие сети с избыточным дизайном, и хорошо масштабируются с дополнительными данными. Например, избавившись от сверточной сети (CNN), мы можем перейти от сложной функциональной пирамидальной сетевой базы RCNN Detectron2, которая использует старомодные якорные блоки классического компьютерного зрения,

(Особая архитектура Pyramid Network Base RCNN, изображение взято из этого хорошего блога)

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

(ViT Architecture, все ссылки на оригинальную статью)

Точно так же в области NLP преобразователи избавляются от рекуррентных нейронных сетей (RNN) и могут обрабатывать последовательности целиком, а не последовательно. Ключевыми являются уровни само-внимания и многоголового внимания, которые примерно сообщают сети, как элементы в длинной последовательности коррелируют друг с другом, так что для каждого элемента (скажем, слова или пикселя) мы знаем, где мы должны платить. внимание к. Лучший пример — в текстовом переводе: при переводе «piace» в «Mi piace questo articolo» трансформеру нужно также обратить внимание на слово «Mi», чтобы правильно перевести его в «мне нравится эта статья», при этом нет нужно обратить внимание на другие слова. Аналогичное предложение, такое как «Le piace questo articolo», вместо этого переводится как «Ей нравится эта статья».

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

Известные сети каждой категории включают:

  • Только энкодер: BERT, RoBERTa, ALBERT, ViT
  • Только дешифратор: GPT2, GPT3
  • Кодер-декодер: BART, T5, DETR

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

Трансформеры RL

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

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

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

RL с преобразователями недавно исследовалась в статье Обучение с подкреплением в автономном режиме как одна большая проблема моделирования последовательности и Преобразователь решений: обучение с подкреплением посредством моделирования последовательности.

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

тау = (s_1, a_1, r_1, s_2, a_2, r_2, …)

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

R_t = sum_{t’ = t}^{T} gamma^(t’-t) r_t’

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

тау = (s_1, a_1, R_1, s_2, a_2, R_2, …)

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

Из того, что я написал до сих пор, вы можете подумать, что это в значительной степени клонирование поведения на стероидах-трансформерах… и вы не ошибетесь! Действительно, авторы Преобразователя решений также признали это и сравнили с клонированием ванильного поведения (кстати, реквизит того, как они разделили свою дискуссию на четко сформулированные вопросы). Вывод состоит в том, что, несмотря на то, что производительность часто сопоставима, подход с преобразователями действительно превосходит клонирование ванильного поведения, если имеется большой объем обучающих данных.

Как в целом работают трансформаторы RL? Довольно хорошо, они часто находятся на одном уровне или даже лучше, чем современные автономные методы обучения без модели TD, такие как Conservative Q-Learning (CQL) на таких тестах, как Atari и D4RL!

На Atari они были протестированы на наборе данных Atari с DQN-воспроизведением, показывая одинаковые или лучшие результаты в Breakout, Pong и Seaquest, а худшие результаты — на Qbert. В D4RL (автономный тест RL с использованием OpenAI Gym) они были опробованы на непрерывных задачах, таких как HalfCheetah, Hopper и Walker, и снова оказались на одном уровне с современными методами. Тесты в среде «ключ-к-двери», в которой ключ должен быть выбран задолго до того, как он достигнет последней двери, также показывают очень хорошие возможности долгосрочного присвоения кредита. Тесты на модифицированных бенчмарках D4RL, в которых вознаграждение выдается только в конце эпизода, показывают, что трансформеры хорошо работают и при разреженных настройках вознаграждения, в то время как производительность CQL резко падает.

Хорошее и шумиха

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

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

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

Первоначально опубликовано на https://lorenzopieri.com 18 декабря 2021 г.