# Как превратить обучение с подкреплением в задачу для GPT: разбор Decision Transformer

Источник: https://www.youtube.com/watch?v=-buULmf7dec
Канал: Yannic Kilcher
Опубликовано: 05.06.2021

---

В современном машинном обучении наблюдается любопытная тенденция: архитектура Transformer, изначально созданная для перевода текстов, постепенно захватывает все новые области — от компьютерного зрения до биологии. В свежем обзоре исследователь Янник Килчер (Yannic Kilcher) анализирует фундаментальную работу исследователей из Калифорнийского университета в Беркли, Facebook AI Research и Google Brain под названием **«Decision Transformer: Reinforcement Learning via Sequence Modeling»**. Основная идея авторов радикальна: они предлагают полностью отказаться от классических механизмов обучения с подкреплением (RL), таких как градиенты стратегии или Q-обучение, и заменить их чистым моделированием последовательностей.

## 🤖 RL как задача предсказания следующего токена
[[JUMP:0:00]]

Традиционно обучение с подкреплением строится на взаимодействии агента со средой, где он максимизирует вознаграждение методом проб и ошибок [4:16]. Однако в сценарии **Offline RL** ситуация иная: агент не может взаимодействовать с миром, а получает лишь готовый набор данных с записями действий других агентов [5:09]. 

Decision Transformer (DT) подходит к этой задаче как к стандартному обучению языковой модели вроде GPT. Вместо того чтобы вычислять ценность состояний, модель обучается предсказывать следующее действие, основываясь на трех типах входных данных [2:54]:

*   Прошлые состояния (States);
*   Совершенные действия (Actions);
*   **Желаемое будущее вознаграждение** (Returns-to-go).

По мнению Килчера, ключевое новшество здесь — обусловливание (conditioning) на вознаграждении. Мы не просим модель «найти лучший путь», мы говорим ей: «Вот история событий, и я хочу получить в итоге +21 очко. Какое действие мне совершить сейчас, чтобы прийти к такому результату?» [12:01].

## 🧠 Прощай, динамическое программирование: почему это работает?
[[JUMP:14:12]]

Одной из сложнейших проблем в RL является **credit assignment** (назначение «кредита» доверия за успех) [13:19]. Если вы выиграли в шахматы, какая именно комбинация ходов 20 шагов назад привела к победе? Классические алгоритмы используют временную разность (Temporal Difference, TD) и уравнение Белломана, чтобы постепенно «прокачивать» ценность от финала к началу [17:59].

Килчер подчеркивает, что Decision Transformer полностью отбрасывает эти сложности:

1.  **Внимание вместо рекурсии**: Благодаря механизму Self-Attention, Transformer может связать текущее действие с событием в самом начале эпизода за один шаг, если оно попадает в контекстное окно [18:52].
2.  **Отсутствие дисконтирования**: Авторы утверждают, что им не нужны коэффициенты дисконтирования (gamma), которые в обычном RL заставляют агента предпочитать немедленные награды будущим ради вычислительной стабильности [42:10].
3.  **Использование GPT-архитектуры**: Модель просто запоминает закономерности в данных. Если в обучающей выборке агент достигал высокого вознаграждения после определенной последовательности действий, DT просто воспроизводит это поведение [29:38].

## 🧪 Эксперименты: Atari, Gym и задача с ключом
[[JUMP:40:37]]

В ходе тестирования Decision Transformer сравнивали с текущим лидером офлайн-обучения — алгоритмом **Conservative Q-Learning (CQL)**. Результаты показали, что DT идет вровень или превосходит его в играх Atari (таких как Pong или Seaquest) и симуляциях OpenAI Gym [40:49].

Особый интерес вызывает эксперимент **Key-to-Door** [52:24]:

*   Агенту нужно взять ключ в первой комнате, пройти через пустую «комнату-дистрактор» и открыть дверь в третьей.
*   Рекуррентные сети (LSTM) часто «забывают» о ключе, пока идут через пустую комнату [53:14].
*   Transformer, по словам Килчера, сохраняет информацию о ключе в своем контексте, не теряя сигнал на протяжении всего пути [54:34].

## ⚠️ Критика и «подводные камни» метода
[[JUMP:47:23]]

Несмотря на впечатляющие результаты, Янник Килчер высказывает ряд серьезных сомнений по поводу практического применения DT.

**Проблема «Оракула вознаграждений»**:
Чтобы агент работал эффективно, пользователь должен заранее знать, какое вознаграждение технически достижимо в этой среде. Если в игре Pong максимум — 21 очко, а вы попросите модель принести 100, её производительность может парадоксально упасть, а не просто ограничиться максимумом [49:34]. Модель хорошо «интерполирует» то, что видела, но плохо справляется с запросами, выходящими за рамки обучающих данных [51:17].

**Ограниченность контекста**:
Килчер отмечает, что хваленая способность Transformer обходиться без динамического программирования ограничена длиной контекстного окна. Если критически важное действие произошло 1000 шагов назад, а окно модели — 512, Transformer окажется бессилен, в то время как классические TD-методы теоретически способны пробросить сигнал через всю траекторию [32:51].

**Тонкая настройка гиперпараметров**:
Ведущий обратил внимание на то, что для разных игр авторы использовали разные настройки: например, для Pong длину контекста увеличивали, а для других игр — уменьшали [47:37]. Также коэффициенты желаемого вознаграждения подбирались на основе результатов конкурентов (умножение результата CQL на 1.5), что Килчер находит «несколько сомнительным» с точки зрения чистоты эксперимента [48:56].

## 🏁 Вердикт: RL вверх тормашками
[[JUMP:22:28]]

Кичлер проводит параллели между Decision Transformer и работой Юргена Шмидхубера (Jürgen Schmidhuber) «Upside Down RL» [23:47]. Идея «превращения RL в обучение с учителем» не нова, но использование мощных трансформеров дает ей второе дыхание. 

По мнению Килчера, Decision Transformer — это шаг в сторону упрощения систем ИИ: вместо того чтобы изобретать сложные математические функции ценности, мы просто скармливаем данные в огромную «запоминающую машину», которая учится сопоставлять наши желания с прошлым опытом человечества (или других алгоритмов) [29:12]. Однако для решения задач с по-настоящему длинными временными горизонтами классические методы RL, вероятно, все еще остаются незаменимыми [56:08].