Mastering Diverse Domains through World Models [2023] - как ещё можно быстро учить в RL
Главная проблема обучения RL-алгоритмов - это необходимое количество данных для обучения. В классических работах вроде DQN не пытаются обучать никакую модель среды, тем самым не используя часть доступной информации.
Я уже писал про EfficientZero - внука AlphaZero, делающего поиск по дереву предсказанных "скрытых состояний" среды. Сегодня поговорим про другой подход, называемый Dreamerv3.
В большом количестве RL-методов при обучении используются цепочки состояний - траектории, встреченные в реальной среде. На основе этих траекторий считаются различные RL-лоссы, и часто после сделанного шага обучения эти траектории выбрасываются, потому что перестают быть корректными с точки зрения алгоритма. Отсюда и низкая data-эффективность.
Dreamer решает данную проблему, полностью обучаясь на воображаемых траекториях, генерируемых текущей стратегией. Алгоритм состоит из 2 частей (см. картинки):
1) World Model Learning
Здесь мы обучаем энкодер наблюдения в вектор, декодер вектора в наблюдение, а также динамику мира - рекурретную сеть, предсказывающую следующее скрытое состояние по текущему скрытому состоянию, вектору наблюдения и сделанному действию. Обучают всё это на предсказание наград, концов эпизода, а также на восстановление наблюдения из скрытого вектора.
2) Actor Critic Learning
Имея на руках модель среды, мы можем генерировать те самые воображаемые траектории состояний вместе с действиями и полученными наградами. К ним применяется Actor-Critic лосс - один из базовых RL-ных способов обучения агента.
В результате, алгоритм не дотягивает по производительности до EfficientZero, но при этом проще устроен. Интересно, насколько все эти алгоритмы далеко от "теоретического" максимума скорости обучения, мне кажется, что ещё очень далеко. Но мы так и будем продолжать подбирать эвристики для существующих алгоритмов, ускоряющих сходимость, пока не начнём обучать весь RL-алгоритм целиком в виде одной модели.
@knowledge_accumulator
Post #155
3.07K

- 👍 12
- ❤ 4
- 🔥 1