在纸牌游戏的神经网络中使用哪些层

人工智能 神经网络 深度学习 强化学习 张量流 游戏-ai
2021-11-02 11:30:33

我目前正在编写一个引擎来玩纸牌游戏,我想让 ANN 学习如何玩这个游戏。该游戏目前是可玩的,我相信对于这款游戏来说,采用强化学习方法的深度循环 Q 网络是可行的方法。

但是,我不知道我应该使用哪种类型的层,我找到了一些通过 ANN 解决的 Atari 游戏的示例,但它们的层是 CNN(卷积),更适合图像处理。我没有图像来喂 NN,只有一个由张量组成的状态,玩家自己的手牌和桌上的牌。NN 的输出应该是一张卡片或动作“结束回合”。

我目前正在尝试使用 TensorFlow,但我对任何可以与 NN 一起使用的库都持开放态度。任何类型的帮助或建议将不胜感激!

2个回答

游戏状态由所有隐藏卡片的位置组成,因此您可能需要一个 softmax 层,52*n,其中 n 是位置的数量。

我不太确定NN是一个很好的匹配。

对于图像,由于平移不变性,您可以使用 CNN。在一个领域好的过滤器可能在另一个领域也很好。

对于图像,您必须使用 CNN,否则将有太多的权重需要训练。

对于您的游戏,这取决于表现形式和确切的规则。请注意,Alpha Zero 使用一组带有 CNN 的 19 x 19 输入来下围棋。

在像桥牌这样的游戏中,每张牌都有自己的颜色和等级,存在一种平移不变性。拥有 A 和 Q 有点类似于拥有 King 和 Jack ——在这两种情况下,你都有 50% 的机会在两者之间抓到这张牌。同时,AQ 和 KJ 的优势是非常不同的,所以纯 CNN 不太可能工作得很好。

更重要的对称性是颜色之一。拍卖后,有一个或没有王牌颜色,所有其他颜色都是等价的。这可能意味着相应的权重应该相同。

在某些纸牌游戏中,许多纸牌都是特殊的,根本没有对称性。你没有告诉我们任何关于你的游戏的事情,所以很难给出更具体的建议。