Прочитал решение первого места с
Lux AI1000 фичей на каждый тайл 24*24 карты! большая часть бинарных, около 100 числовых. фичи в основном про историю того, что видели на данной клетке в прошлом, как давно это было и так далее.
Архитектура очень нетривиальная, мне нравится. Две головы, где одна отвечает за предсказание действие всех агентов и своих и вражеских и одна для предсказания атакующих действий.
ConvLSTM для учета предыдущих действий и трансформер поверх - это забавно, позволяет держать трансформер маленьким, не запихивая в него энкоды предыдущих шагов.
Не использовали Behavior Cloning как многие в топе в финальном решении и его обучении.
Обучали IMPALA (асинхронные агенты RL) + V-trace (корректировка оценок для борьбы со смещениями из-за устаревших треков).
Мне понравились идеи:
* Играли против учителя (лучшей последней модели), текущей и еще пачки старых, чтобы избежать оверфита.
* KL с учителем, чтобы не терять приобретенные навыки
* динамические реворды: реворды могут прыгать, поэтому давайте заскейлим их на каждом шаге в определенный диапазон
* убывающие коэффициенты энтропии по мере обучения (тут я не до конца понял) что заставляет policy автоматически скейлиться по мере улучшения модели
* аугментации с флипами поля (вот они почему довольно симметрично играют сами с собой!)
* стратегия участия в сореве: не хотим чтобы нас копировали через imitation learning, поэтому выкладываем только слабые улучшения, а сильные играют только небольшое количество времени; поскольку противники обладают меньшей информацией - какая версия сильная, а какая слабая, то им сильно сложнее копировать
Что-то еще интересное упустил, наверное. Точно не смог бы по описанию повторить, дюже сложно.
RL работает 👍