Я работаю над проектом, в котором я занимаю позицию шахматной доски (строка FEN, преобразованная в двоичную). & это оценочная оценка и подача ее в нейронную сеть. Моя цель - сделать нейронную сеть дифференцированной между хорошими и плохими позициями.Автоматическое извлечение функции с позиций шахматной доски
Как закодировать позицию: Есть 12 уникальных штук в шахматной пешки, т.е. грача, рыцарь, епископ, королева и король для белого, а также черный. Я кодирую каждую часть, используя 4 бита с 0000, обозначая пустой квадрат. Таким образом, 64 квадратов кодируются в 256 бит, и я использую более 6 бит для обозначения состояния игры, как чья очереди двигаться, статус короля-замок, и т.д.
Проблема: Поскольку входное пространство для шахматных позиций ни гладкие, ни унимодальные (одно небольшое изменение в позиции платы может привести к огромному изменению оценки оценки), нейронная сеть не учится хорошо. Теперь, следующая логическая вещь, чтобы каким-то образом извлечь полезные функции (например, разницу в материалах, центральное управление и т. Д.) И передать их в сеть.
Я не хочу использовать функции, поскольку я хочу, чтобы сеть учила все сама по себе. Поэтому я думаю об автоматическом извлечении функций с помощью автокодеров . Есть ли лучший способ сделать это?
Основная информация: Каков наилучший способ автоматического извлечения элементов из положения шахматной доски, чтобы его можно было подавать в нейронную сеть?
ОБНОВЛЕНИЕ: Чтобы сформировать данные обучения, я модифицировал Stockfish, чтобы сбрасывать процесс оценки в файл журнала. Таким образом, каждый новый ход (позиция), который он считает, записывается в файл как строка FEN вместе с его оценкой оценки
Благодарим вас за подробный ответ @Francisco. Я не тренирую сеть, используя отдельные позиции. Я изменил Stockfish, чтобы выгрузить процесс оценки в файл журнала.Таким образом, каждый новый ход (позиция), который он считает, записывается в файл как строка FEN вместе с его оценкой оценки. Таким образом, у меня есть огромная свалка с аналогичными позициями (2 позиции на смежных строках в журнале отличаются на 1 разную позицию) – Rahul