Я планирую написать шахматный движок, который будет использовать глубокую сверточную нейронную сеть для оценки шахматных позиций. Я буду использовать битовые доски для представления состояния доски, что означает, что входной слой должен иметь 12 * 64 нейронов для позиции, 1 для перемещения игрока (0 для черного, 1 для белого) и 4 нейрона для права рокировки (wks, bks, wqs, bqs). Будет два скрытых слоя по 515 нейронов в каждом и выходной нейрон со значением от -1 для выигрыша черных, 1 для выигрыша белых и 0 для равного положения. Все нейроны будут использовать функцию активации tanh (). Я думал об использовании контролируемого обучения, подавая CNN множество позиций, оцениваемых Stockfi sh, но решил не делать этого, поскольку это в некотором смысле просто скопировало бы функцию оценки другого движка. Поэтому я решил использовать обучение с подкреплением, корректируя веса и смещения из самостоятельных игр. Но как мне обучить нейронную сеть, если нет возможности сказать, какова правильная оценка данной позиции? Как я могу «сказать» ему, что данный ход был ошибкой, а другой ход отличным? Я прочитал несколько статей и статей, касающихся именно этого topi c, но ни одна из них, похоже, не объясняет настройку нейронной сети при объяснении процесса обучения ... Все ответы очень ценятся :))