Сбор траекторий в RL: как формируется обучающий опыт агента
Введение
В обучении с подкреплением агент не получает фиксированный датасет, как в supervised learning. Вместо этого он сам генерирует данные, взаимодействуя со средой. Эти данные — траектории — служат основным источником информации для обучения стратегии и критика.
Правильная организация сбора траекторий критически важна для:
- качества градиентов,
- устойчивости обучения,
- обобщающей способности модели.
1. Что такое траектория в RL
Траектория (или rollout, episode, path) — это последовательность шагов взаимодействия агента со средой:
Траектория: τ = (s_0, a_0, r_0), (s_1, a_1, r_1), ..., (s_T, a_T, r_T)
Каждый шаг состоит из:
- s_t — состояние среды,
- a_t — действие агента,
- r_t — награда,
- s_(t+1) — новое состояние.
Иногда также сохраняют:
- логарифм вероятности действия (для policy gradient),
- дисконтированные возвраты,
- advantage, если считается на лету.
2. Зачем нам траектории
Траектории — это данные, на которых учится агент. Из них извлекается:
- оценка ценности состояний и действий (для критика),
- оценка преимущества действия (для градиента политики),
- градиенты обновления параметров модели,
- статистика о поведении и стабильности обучения.
Без качественного сбора траекторий агент не сможет эффективно обучаться: будут шумные градиенты, переобучение, срывы в обучении.
3. Ключевые вопросы при сборе траекторий
On-policy vs Off-policy
- On-policy (PPO, A2C):
Траектории собираются с использованием текущей политики.
→ данные нельзя переиспользовать после обновления. - Off-policy (DQN, SAC, DDPG):
Можно обучаться на данных, собранных другой стратегией, используя буфер повторов.
→ повторное использование данных повышает sample-efficiency.
Полные эпизоды vs фиксированные окна
- Полные эпизоды: собираются до окончания эпизода (done=True).
→ подходит для задач с ясным завершением. - Фиксированные окна (n-step, truncated trajectory):
Агент действует N шагов, затем обрезается.
→ удобно при длинных или бесконечных эпизодах.
Сбор с несколькими агентами (параллелизация)
В алгоритмах типа A3C или PPO (в batched-режиме) траектории собираются параллельно в нескольких средах:
- ускоряет генерацию данных,
- снижает корреляцию между эпизодами,
- даёт больше статистики за единицу времени.
Структура буфера траекторий
Обычно буфер устроен как словарь numpy-массивов или тензоров:
buffer = {
'states': [],
'actions': [],
'rewards': [],
'values': [],
'log_probs': [],
'dones': []
}После сбора, буфер превращается в батч и подаётся на обучение. Иногда данные нормализуются, обрабатываются через GAE, или усредняются.
4. Тонкости и проблемы
Выборка сильно коррелированных траекторий
Если агент учится на данных, которые он только что сам сгенерировал, возникает проблема autocorrelation: поведение слишком однородное, нет разнообразия.
Решения:
- параллельные среды,
- энтропийная регуляризация,
- случайный старт,
- off-policy буферы.
Reward hacking
Если вознаграждение сформулировано плохо, агент может найти «читерский» способ набрать очки. Это может привести к тому, что все собранные траектории — бесполезны, так как не отражают желаемое поведение.
Решения:
- корректная формулировка reward shaping,
- penalty terms,
- ручная фильтрация плохих эпизодов.
Дисбаланс данных
В задачах с редкими вознаграждениями или дискретными исходами:
- большинство траекторий не несут ценности для обучения.
Решения:
- приоритезированная реплей-выборка,
- bootstrap learning,
- раннее завершение плохих эпизодов (early cutoff).
5. Аналитика траекторий
Для мониторинга и отладки стоит анализировать:
- распределение наград,
- длину эпизодов,
- плотность advantage,
- энтропию действий (разнообразие),
- корреляцию между соседними траекториями.
Это помогает понять:
- переобучается ли агент,
- какова степень исследовательского поведения,
- есть ли режимы застревания.
6. Аугментации и трансформации траекторий
В некоторых задачах применяется:
- reward normalization (приведение к нулевому среднему),
- обратные траектории (для симметричных сред),
- переоценка advantage с учётом новых value-функций (re-evaluation).
В моделях типа Decision Transformer или Trajectory Transformer траектории подаются как последовательности для обучения трансформера.
Заключение
Сбор траекторий — это основа обучения в RL. Именно здесь формируется обучающий опыт агента, и от качества этого опыта зависит эффективность всего процесса.
Хорошо организованный сбор траекторий:
- обеспечивает устойчивость градиентов,
- ускоряет сходимость,
- позволяет агенту исследовать среду и адаптироваться к ней.
Правильная инженерия в этом месте — не менее важна, чем архитектура нейросети.