我在用人工神经网络实现奥赛罗。当我阅读文档(这里,第19页)时,我不明白一些要点。他们计算输出:图像,我不知道他们是否计算,我的AI怎么知道游戏中的合法动作来选择最好的合法动作。这个输出只是一个浮点数(我认为是这样),我如何使用它呢?
发布于 2016-05-10 21:45:29
好消息
它非常简单:神经网络(NN)是一个价值网络(而不是策略-网络)。此值-网络以板状状态作为输入,并计算一些分数,说明该位置有多好。它是所有基于Minimax的游戏的基本组成部分,通常被称为评估功能。(策略-网络输出将给出对所有可能的移动的概率分布)
所以NN给了你这个分数。然后你可以把这个分数和你选择的一些算法结合起来。Minimax (几乎所有棋类)和MCTS (AlphaGo)是最常见的.
Minimax的基本思想:玩一个移动,对手玩一个移动,(重复),评估与您的NN ->做这一切可能的组合,并与最小传播。只有几个层(半移动)将有可能使用这个神经网络,但它将是非常强大的奥赛罗,它很容易实现。
MCTS的基本思想:玩随机移动,随机移动,(重复),直到游戏结束,->构建-赢家统计。现在比较所有可能的“第一”动作的平均分数。选最好的。(将NN作为一种启发式方法更难合并。)
你提到的计算只是神经网络中定义激活和稠密层的经典规则。
坏消息
我没有看报纸,但最难的是训练和准备你的神经网络。你需要提供一些数据。也许它会被监督(如果你有历史游戏;更容易),也许没有监督(Q-学习和合作)。如果没有经验,这是很难做到的。
我想我知道所有需要的理论,但是我仍然不能用其他的(随机)游戏来实现这一点,因为有很多关于自相关和协同的问题,还有很多需要进行的超参数调优。
结论
这个项目有点复杂,有很多陷阱。请确保您理解您想尝试的算法。看上去你有点缺少基本的东西。博弈论(Minimax)、人工智能/学习理论(MCTS、马尔可夫决策过程、Q-学习.)、神经网络( NN的基本内部结构).
https://stackoverflow.com/questions/36951152
复制相似问题