🪐 До золота не хватило пары планет
Я тут недавно участвовал в Orbit Wars и почти всё время болтался между бронзой и серебром. Скор иногда подкидывало в золото, но потом сразу оседало обратно
В итоге – первое серебро в соло. Призовой фонд был $50k, мне из него не досталось ничего – зато медалька на месте, уже добавил в резюме
Напомню, что за сорева:
Orbit Wars – космическая RTS: планеты крутятся вокруг солнца и клепают корабли, ты запускаешь флоты и захватываешь чужое численным перевесом. Пишешь не ходы, а бота, который играет сам за себя. Скор – живой рейтинг: твой бот круглосуточно рубится с ботами других участников, выиграл – вверх, проиграл – вниз
Дальше – мой заход на грабли, строго по порядку Ещё в середине соревы я решил, что дальше меня вытянет только нейронка. Обучил сеть клонировать ходы топов лидерборда – 1.4 млн примеров состояние→ход. Запустил как самостоятельного бота и получил 0 побед из 150 против обычной эвристики
Почему: клон ошибается примерно в трети решений, за 500 ходов ошибки копятся снежным комом, и партия сваливается в труху уже к 110-му ходу. Чистое клонирование в принципе не может быть сильнее того, кого клонирует
Ладно, обучу с нуля через self-play. Дважды провал – без масштаба и GPU обучение просто дрейфует в тупик и учится бить только своих же предков. Решил оценивать позицию отдельной моделью. Опять мимо
А сработало вот что – нейронка не как игрок, а как советчик. Есть сильная публичная эвристика, которая считает выгоду каждого запуска флота. Я к её оценке добавил маленькую подсказку от сети: насколько ход похож на то, что делают топы. Выкрутил силу этой подсказки – и винрейт против базы прыгнул с 60 до 72%
Это был первый статзначимый прирост за всё соревнование. Всё остальное – 12 стратегических тюнингов, свои эвристики – давало честный ноль
Два вывода, которые забираю с собой: 🏋️♂️ Подсказка сильнее клона. В играх с длинным горизонтом чистый клон захлёбывается на накопленных ошибках, а мягкий прайор поверх проверенной эвристики берёт лучшее из двух миров
🎉 Иногда правильный ход – вообще не тащить ML. Ту позицию, что я пытался оценивать нейронкой, почти идеально предсказывала одна простая фича – разница в числе кораблей
А золото – там сидят боты на голову выше, и туда нужна была полноценная нейронка-драйвер плюс тяжёлый RL на GPU-масштабе. Вот тут рассказывали, кто оказался в золоте
@tagir_analyzes
В этом посте были ссылки, но мы их удалили по правилам Сетки