作为我项目的一部分,我现在正在用人类玩的游戏训练一个国际象棋系统。我对机器学习有着丰富的知识,但对如何进行机器学习一无所知。这个项目太复杂了吗?请告知如何进行。
我想你想要的是一个下棋的ML系统?
获得它的一种方法是将其视为一个模式识别问题。如果你用神经网络建模,你可以这样处理:
- 输入是一个大小为768=64*2*6的二进制矢量(64=棋盘上的8*8个位置,2名玩家,6个不同的国际象棋数字)
- 64个输出神经元(每个场一个)
- 网络会给你一个移动哪一块的线索。它试图预测人类玩家会选择哪一块。如果网络选择了无效的东西,你可以转到下一个最有可能的部分(假设你在最后使用softmax)
你可以训练第二个接受相同输入的网络。你可能会考虑建立一个有12个特征图的CNN,而不是MLP。该网络应预测哪个玩家将获胜。然后你就知道第一个网络中的人会移动哪个图形,然后你就可以找到第二个网络中"最好"的移动。
更多资源
你可能对Facebook Research的Better Computer Go Player with Neural Network and Long term Prediction感兴趣。