作为我项目的一部分,我现在正在研究使用人类玩的游戏来训练象棋系统。我在机器学习方面有丰富的知识,但是对于如何进行这项工作一无所知。这个项目太复杂了吗?请就如何进行提供建议。

最佳答案

我想您想要的是下象棋的ML系统?

获得它的一种方法是将其视为模式识别问题。如果使用神经网络对其进行建模,则可以采用以下方式进行处理:


输入是大小为768 = 64 * 2 * 6的二进制矢量(棋盘上64 = 8 * 8个位置,2个玩家,6个不同的国际象棋棋子)
64个输出神经元(每个字段一个)。
网络会为您提供线索,指示要移动的部分。它试图预测人类玩家会选择哪一块。如果网络选择了无效的内容,则可以转到下一个最有可能的内容(假设最后使用了softmax)。


您可以训练另一个使用相同输入的网络。您可能会考虑使用12个要素映射而不是MLP构建CNN。该网络应预测哪个玩家将获胜。然后,您知道第一个网络中的人将移动哪个图形,然后您可以找到第二个网络中的“最佳”移动。

更多资源

您可能对Facebook Research的Better Computer Go Player with Neural Network and Long-term Prediction感兴趣。

08-24 21:57