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

Резюме

Архитектурите на Transformers са най-популярното нещо в контролираното и неконтролираното обучение, постигайки SOTA резултати при обработка на естествен език, визуални, аудио и мултимодални задачи. Тяхната ключова способност е да улавят кои елементи в дълга последователност са достойни за внимание, което води до страхотни обобщаващи и генеративни умения. Можем ли да прехвърлим някое от тези умения към обучението за засилване? Отговорът е да (с някои уговорки). Ще обясня как е възможно да се преработи обучението за подсилване като проблем с последователността и ще размишлявам върху потенциала и ограниченията на този подход.

Предупреждение: Тази публикация в блога е доста техническа, предполага основно разбиране на дълбокото обучение и добро познаване на обучението за укрепване. Не са необходими предишни познания за трансформатори.

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

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

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

към модел на трансформатор, базиран на вградени вектори, извлечени от кръпките на изображението и няколко скрити слоя.

(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 трансформаторите е: какво ще стане, ако вместо това вземем цялата последователност като градивен елемент, за да базираме нашата прогноза? Ако го направим, картографирахме марковски проблем от 1 стъпка в проблем от последователност към последователност или от последователност към действие, към който можем да подходим, като използваме тествани в битка техники за контролирано обучение. Без ценностни функции, без актьори-критици, без стартиране.

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

RL с трансформатори наскоро беше изследван в статията „Офлайн обучението за подсилване като един голям проблем с моделиране на последователност“ и „Трансформатор на решения: Обучение за укрепване чрез моделиране на последователност“.

В предишната работа те първо използват подобна на GPT архитектура, за да приемат траектории, съставени от действия, състояния, награди

tau = (s_1, a_1, r_1, s_2, a_2, r_2, …)

и за генериране на нови кандидат траектории. Настройката е почти идентична с тази, която бихме използвали при обработка на естествен език. И накрая, те прилагат стратегия за търсене на лъч към планирането, като итеративно разширяват най-обещаващите траектории, претеглени с кумулативна възвръщаемост, докато една траектория не се открои като най-обещаващата. За да не бъдат прекалено алчни, те също така увеличават траекториите с R_t за излизане (бъдеща кумулативна награда) на всяка стъпка.

R_t = сума_{t’ = t}^{T} гама^(t’-t) r_t’

В последната работа те се отървават от наградите на всяка времева стъпка и вземат предвид само наградата за отиване, директно прогнозирайки следващото действие, като се има предвид състоянието и целевата крайна възвръщаемост.

tau = (s_1, a_1, R_1, s_2, a_2, R_2, … )

Този много прост подход напомня на „учене за подсилване с главата надолу“, което означава, че вместо да помолите агента да търси оптимална политика, просто го помолете „да получи толкова много обща награда за толкова много време“. По същество ние извършваме контролирано обучение, като молим агента да екстраполира въз основа на минали траектории коя траектория ще доведе до най-високи награди. Всъщност е възможно да обусловите агента да постигне произволни награди (сред тези, постигнати в набора от данни за обучение). Това може да бъде удобно, ако междинните нива на награди все още имат смисъл, например миналата година използвах тази техника, за да науча робот за загребване на храна (преди да разбера, че RL с главата надолу има име) да избира различни размери на порциите, след като зададох точното тегло от загребена храна като положителна награда. По принцип роботът се обучава да загребва колкото е възможно повече, но ако поискаме малка порция, той трябва да може да направи това!

От това, което написах досега, може би си мислите, че това е почти клониране на поведение на трансформиращи стероиди... и няма да грешите толкова! Всъщност авторите на „Decision Transformer“ също признаха това и направиха сравнение с клонирането на ванилия поведение (между другото, подпори за това как са разделили дискусионната си сесия на ясно формулирани въпроси). Заключението е, че въпреки че производителността често е сравнима, подходът на трансформаторите превъзхожда клонирането на ванилно поведение, ако има голямо количество данни за обучение.

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

На Atari те са тествани на DQN-replay набор от данни на Atari, като се представят еднакво или по-добре в Breakout, Pong и Seaquest, докато са най-лоши при Qbert. На D4RL (офлайн RL бенчмарк, използващ OpenAI Gym) те са изпробвани при непрекъснати задачи като HalfCheetah, Hopper и Walker, които отново са наравно с най-съвременните методи. Тестовете на среда от ключ до врата, в която ключът трябва да бъде избран много преди достигането на последната врата, също показват много добри дългосрочни възможности за кредитиране. Тестовете на модифицирани D4RL бенчмаркове, в които наградата се дава само в края на епизода, показват, че трансформаторите се представят добре и при оскъдни настройки за награди, докато производителността на CQL пада рязко.

Доброто и рекламата

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

Въпреки това, тези методи не са панацея, например не е изпробван сериозен бенчмарк на онлайн RL, „нормалния“ RL. Знаейки, че настоящите техники за задълбочено обучение са склонни да се справят с много слаби несъответствия от идентично и независимо разпределени статистики, архитектурите на токови трансформатори може да не са достатъчни. Също така, за конкретни области в крайна сметка това се свежда до наличието на големи набори от данни от експертни траектории, които в области като роботиката все още липсват.

Като цяло идеята е доста свежа и все още може да има много място за подобрение. Нататък!

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