# Stanford CS224R: Как иерархический ИИ решает задачи с длинным горизонтом

Источник: https://www.youtube.com/watch?v=iKWYLSVAtfM
Канал: Stanford Online
Опубликовано: 08.12.2025

---

В рамках курса Stanford CS224R по глубокому обучению с подкреплением (Deep Reinforcement Learning) пятнадцатая лекция была посвящена одной из самых сложных проблем в робототехнике и ИИ — решению задач с длинным горизонтом планирования. Инструктор подробно разобрал, почему традиционные «плоские» (flat) нейросетевые политики пасуют перед сложными последовательностями действий и как иерархический подход позволяет имитировать человеческое планирование.

## 🏗️ Проблема длинного горизонта и суть иерархии
[[JUMP:0:05]]

Задачи с длинным горизонтом — это процессы, состоящие из множества взаимозависимых этапов, такие как приготовление еды, ремонт программного кода или автономное вождение на большие расстояния [1:53]. По мнению лектора, главная сложность здесь заключается в огромном распределении состояний, которые должен посетить агент. Любая ошибка на раннем этапе может стать фатальной, а отсутствие прогресса часто приводит к «зацикливанию» политики в одном и том же состоянии [3:44].

Иерархическое обучение с подкреплением (HRL) предлагает разбить одну сложную задачу на несколько уровней:

*   **Высокоуровневая политика (High-level policy, $\pi_{HL}$):** Анализирует текущее состояние и ставит промежуточную цель или подзадачу (например, «купить ингредиенты») [5:48].
*   **Низкоуровневая политика (Low-level policy, $\pi_{LL}$):** Выполняет конкретные атомарные действия для достижения этой цели (например, «сократить мышцу», «сделать шаг») [7:39].

Ключевое различие между ними — частота работы. Если низкоуровневая политика может работать на частоте 20 Гц (управление моторами робота) или пословно (в LLM), то высокоуровневая политика принимает решения гораздо реже — на уровне завершенных этапов или абзацев текста [8:55].

## 🧠 Почему иерархия эффективнее обычных моделей?
[[JUMP:12:39]]

Лектор выделяет несколько фундаментальных преимуществ иерархического подхода перед стандартными «плоскими» политиками:

1.  **Промежуточный надзор (Intermediate Supervision):** Вместо того чтобы ждать редкой награды в самом конце (например, когда торт уже испечен), система получает сигналы за выполнение подзадач («нашел кастрюлю», «вскипятил воду») [13:04].
2.  **Обмен знаниями:** Низкоуровневая политика может использовать опыт, полученный в одной подзадаче, для ускорения обучения в другой, если они имеют схожую структуру [13:47].
3.  **Структурированное исследование (Exploration):** В RL-задачах агент исследует мир не на уровне случайных движений «джойстиком», а на уровне логичных высокоуровневых целей [14:14].
4.  **Вычислительная эффективность:** Сложные рассуждения (reasoning) происходят на низкой частоте, что экономит ресурсы [15:09].

В качестве альтернативы иерархии лектор упоминает метод «цепочки рассуждений» (Chain of Thought), где модель сначала проговаривает цель, а затем выполняет действие [17:14]. Однако, по словам инструктора, эмпирических доказательств превосходства этого метода над чистой иерархией в робототехнике пока недостаточно [18:09].

## 🛠️ Дизайн-решения: Представление целей и выбор абстракций
[[JUMP:19:27]]

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

*   **Координаты GPS:** Для задач навигации на велосипеде или роботе-курьере [21:13].
*   **Естественный язык:** Строки типа «разбей яйца» или «открой шкаф» — наиболее гибкий и выразительный способ [22:35].
*   **Изображения:** Визуальные целевые состояния (как должен выглядеть результат этапа) [22:50].

Инструктор подчеркивает, что важно выбрать правильный уровень абстракции. Цель «нажми на педаль с силой X» слишком детализирована для верхнего уровня, а «стань лучшим поваром» — слишком абстрактна для управления манипулятором [24:39].

## 📉 Проблема «стыковки» уровней и надзор
[[JUMP:25:52]]

Одной из самых острых проблем HRL является несогласованность уровней. Если обучать высокоуровневую и низкоуровневую политики отдельно, возникает «разрыв» в распределении состояний [32:24].

Например, если низкоуровневый навык «поиск пасты» обучался только из состояния «стоя у плиты», а высокоуровневая политика привела робота в состояние «стоя у холодильника», система сломается [34:56]. По мнению лектора, для стабильной работы необходимо:

*   Обеспечивать перекрытие (buffer) между состояниями разных навыков [35:10].
*   Проводить совместную адаптацию уровней, чтобы они «подстраивались» под возможности и ошибки друг друга [37:10].

## ⏱️ Когда пора менять цель?
[[JUMP:38:47]]

Существует два основных подхода к тому, когда высокоуровневая политика должна выдавать новую команду:

1.  **По завершении (On completion):** Низкоуровневая модель сама предсказывает индикатор успеха или прогресса [39:43]. Это эффективно, но опасно: если классификатор успеха ошибется и решит, что задача не выполнена (хотя это не так), агент застрянет навсегда [43:44].
2.  **Фиксированный интервал (Fixed timesteps):** Пересмотр целей происходит каждые $N$ шагов (например, раз в секунду) [40:14].

Инструктор отмечает, что, несмотря на некоторую вычислительную избыточность, второй вариант (фиксированный интервал) чаще используется на практике, так как ошибки в нем менее фатальны для выполнения задачи [44:36].

## 🤖 Практические примеры систем: От текста до диффузии
[[JUMP:45:17]]

Лектор разобрал несколько современных архитектур, представленных за последние несколько месяцев.

### Иерархическое подражание с языковыми целями
В этом подходе демонстрации человека сегментируются и размечаются текстовыми метками («взял пакет», «насыпал M&Ms») [47:22]. Для улучшения системы используется алгоритм **DAgger** (Dataset Aggregation) в пространстве языка. Инструктор показал пример, где оператор голосом корректирует высокоуровневую политику в реальном времени, если видит, что робот вот-вот совершит ошибку [51:17]. Согласно приведенным данным, использование иерархии дает **34% прирост эффективности** в задачах с длинным горизонтом по сравнению с плоскими моделями [54:18].

### Изображения как цели и диффузионные модели
[[JUMP:55:52]]
Вместо слов высокоуровневая политика может генерировать изображение будущего состояния (Goal Image) [56:05]. Здесь используются генеративные модели (например, **Diffusion models**), которые «дорисовывают» текущую сцену до желаемого результата [1:01:37]. Преимущество этого метода в том, что для обучения можно использовать неразмеченные видео из YouTube — модель учится понимать динамику мира, наблюдая за людьми [57:10].

### Обучение с подкреплением и «релейблинг»
[[JUMP:1:05:16]]
В классическом RL иерархия часто реализуется через **Hindsight Relabeling** (переименование целей задним числом). Если агент не достиг поставленной цели, но достиг чего-то другого, мы делаем вид, что именно это и было его целью [1:07:07]. Это позволяет эффективно обучаться даже при очень редких наградах. Также ведутся активные исследования в области автоматического обнаружения навыков (Skill Discovery) без участия человека, однако их масштабирование на сложные задачи остается открытым вопросом [1:08:45].