Evolving Curricula with Regret-Based Environment Design [2022] - другой подход к автогенерации уровней
В одном из недавних постов я разобрал работу по автогенерации задач для оптимального обучения RL-агентов, и сегодня мы разберём её довольно непохожую альтернативу, чтобы у вас сложилось впечатление о том, в насколько зачаточном состоянии пока находится эта область.
1) Вместо популяции агентов у нас есть теперь один агент, которого мы обучаем решать сразу большое разнообразие задач.
2) Поддерживаем популяцию задач. Но теперь мы не обучаем их, а просто сэмплируем из генератора и выбираем те, что подходят.
3) Как понять, что среда нам подходит? В этом моменте происходит что-то странное. В статье, которую они цитируют и которую вроде как копируют в этом моменте, используется сумма модулей ошибки в RL-обучении на этой среде, это имеет свою логику. Но в данной работе используется "positive value loss", то есть вместо модулей берётся сумма только позитивных ошибок. Смысл это махинации я не совсем понял, но авторы пытаются это объяснить с помощью теории игр.
4) На каждой итерации берём рандомную среду из популяции и обучаем агента на ней каким-нибудь RL-алгоритмом. Если среда стала "плохой" по критерию из п.3, её можно выкинуть
В результате засчёт того, что агент всего один, вроде как, получается достичь того же уровня сложности решаемых задач, что и в POET, но гораздо меньшими вычислительными затратами.
На самом деле, глядя на всё это, у меня сложилось впечатление, что конструировать вручную алгоритм подбора задачи - это тупиковый путь. Что я бы предложил взамен?
1) Сформулировать правило выбора задачи, как параметрическую модель. Например, чтобы модель выдавала вектор параметров среды, которую она сейчас хочет порешать, и мы бы конструировали по нему задачу. Она должна принимать на вход всю историю обучения.
2) Оптимизировать её той же генетикой, оценивая способность агента решать задачи определённого уровня сложности через X шагов / компьюта / времени.
Да, это раздувает затраты ресурсов, но, на мой взгляд, цель исследователей как раз будет найти такие эвристики и параметризацию, которые смогут ускорить процесс мета-оптимизации. Буду искать, кстати, есть ли уже работы с похожей идеей.
@knowledge_accumulator
Post #100
2.06K
- 👍 12