🪐 До золота не хватило пары планет

Я тут недавно участвовал в Orbit Wars и почти всё время болтался между бронзой и серебром. Скор иногда подкидывало в золото, но потом сразу оседало обратно

В итоге – первое серебро в соло. Призовой фонд был $50k, мне из него не досталось ничего – зато медалька на месте, уже добавил в резюме

Напомню, что за сорева:

Orbit Wars – космическая RTS: планеты крутятся вокруг солнца и клепают корабли, ты запускаешь флоты и захватываешь чужое численным перевесом. Пишешь не ходы, а бота, который играет сам за себя. Скор – живой рейтинг: твой бот круглосуточно рубится с ботами других участников, выиграл – вверх, проиграл – вниз

Дальше – мой заход на грабли, строго по порядку Ещё в середине соревы я решил, что дальше меня вытянет только нейронка. Обучил сеть клонировать ходы топов лидерборда – 1.4 млн примеров состояние→ход. Запустил как самостоятельного бота и получил 0 побед из 150 против обычной эвристики

Почему: клон ошибается примерно в трети решений, за 500 ходов ошибки копятся снежным комом, и партия сваливается в труху уже к 110-му ходу. Чистое клонирование в принципе не может быть сильнее того, кого клонирует

Ладно, обучу с нуля через self-play. Дважды провал – без масштаба и GPU обучение просто дрейфует в тупик и учится бить только своих же предков. Решил оценивать позицию отдельной моделью. Опять мимо

А сработало вот что – нейронка не как игрок, а как советчик. Есть сильная публичная эвристика, которая считает выгоду каждого запуска флота. Я к её оценке добавил маленькую подсказку от сети: насколько ход похож на то, что делают топы. Выкрутил силу этой подсказки – и винрейт против базы прыгнул с 60 до 72%

Это был первый статзначимый прирост за всё соревнование. Всё остальное – 12 стратегических тюнингов, свои эвристики – давало честный ноль

Два вывода, которые забираю с собой: 🏋️‍♂️ Подсказка сильнее клона. В играх с длинным горизонтом чистый клон захлёбывается на накопленных ошибках, а мягкий прайор поверх проверенной эвристики берёт лучшее из двух миров

🎉 Иногда правильный ход – вообще не тащить ML. Ту позицию, что я пытался оценивать нейронкой, почти идеально предсказывала одна простая фича – разница в числе кораблей

А золото – там сидят боты на голову выше, и туда нужна была полноценная нейронка-драйвер плюс тяжёлый RL на GPU-масштабе. Вот тут рассказывали, кто оказался в золоте

@tagir_analyzes


В этом посте были ссылки, но мы их удалили по правилам Сетки

🪐 До золота не хватило пары планет
Я тут недавно участвовал в Orbit Wars и почти всё время болтался между бронзой и серебром | Сетка — социальная сеть от hh.ru