Как надо (не стоит) создавать шахматный движок. Часть 3

Пост 3. Ловушка нелогичных ходов Пост 2= https://set.ki/post/5ynPMjZ

Вот проблема, с которой столкнулись эмпирически.

Модель обучается на логичной базе партий. Играет стабильно до 20–25 хода против адекватного соперника. Но стоит противнику начать играть абсурдно — модель деградирует на 2–3 ходу.

Это классический distributional shift. Модель переобучена на узком распределении позиций. У неё нет опыта в нестандартных ситуациях.

В шахматах это особенно болезненно. Противник может пожертвовать ферзя без причины. Может увести короля в центр на 5-м ходу. Логика заканчивается — и модель теряется.

Что мы предлагаем?

Self-play со shift-моделью. Идея: если основная модель играет сама с собой, она генерирует разнообразный опыт. Но есть нюанс — self-play не гарантирует генерацию нелогичных ходов.

Нужен явный механизм шума. Temperature sampling. Dirichlet noise. Adversarial-агенты.

Пока это не реализовано. Проблема диагностирована верно, но не решена полностью.

Честность важнее красивых отчётов.

#шахматы #ИИ #машинноеобучение #проблемы #наука