我正在尝试训练一个神经网络来评估国际象棋位置,如果白(0.0)或黑会赢(1.0)
目前,输入由每个国际象棋字段 4 位组成(棋子 id 0 - 12,等于 64*4)。像castling这样的因素现在被忽略了。此外,所有训练集都是来自流行游戏的随机位置,轮到白方,所需的输出是游戏的结果(0.0、0.5、1.0)。
我的输入值是正确的选择吗?每层应该使用多少个隐藏层/神经元,最佳学习率是多少?你会为这个项目推荐什么类型的神经网络和激活函数?
我正在尝试训练一个神经网络来评估国际象棋位置,如果白(0.0)或黑会赢(1.0)
目前,输入由每个国际象棋字段 4 位组成(棋子 id 0 - 12,等于 64*4)。像castling这样的因素现在被忽略了。此外,所有训练集都是来自流行游戏的随机位置,轮到白方,所需的输出是游戏的结果(0.0、0.5、1.0)。
我的输入值是正确的选择吗?每层应该使用多少个隐藏层/神经元,最佳学习率是多少?你会为这个项目推荐什么类型的神经网络和激活函数?
先说简单的:
现在是硬位 - 编码您的输入:
最后,您的那些标签:请考虑一下您将如何处理抽签游戏 - 也许您有 3 种可能的结果,而不是 2 种?
我们都会很想听听你的进展——我希望你能以某种形式写出你的作品(并且你会回来抱怨/赞美我们的建议,视情况而定!)。
从国际象棋位置猜测获胜者很难分类。在国际象棋中,即使你从同一个位置开始,它也会给你不同的结果,这取决于玩家的动作。所以,我推荐你使用时间差分(TD)学习,这是强化学习背后的驱动概念。
强化学习中的一些方法仍然使用神经网络,但不用于预测获胜者。Q-Learning 中的预测是一种流行的强化学习算法,它预测玩家在特定位置选择特定动作的“价值”。从这些值中,玩家可以为当前位置选择最佳动作。
您可能会对以下参考资料感兴趣: