你能分析一个神经网络来确定好的状态吗?

人工智能 神经网络 游戏-ai
2021-10-23 06:40:31

我开发了一个可以玩纸牌游戏的神经网络。我现在想用它来为游戏创建套牌。我的第一个想法是用随机牌组运行很多游戏,并使用一些近似值(可能只是一个线性近似值,你手中的每张牌都有一个特征)来学习每个状态的价值函数。

但是,这可能需要一段时间,所以在此期间有什么方法可以直接从神经网络中获取这些信息?

1个回答

我不认为你的网络,使用 PPO 训练来玩纸牌游戏,已经包含足够的信息来用于起草。我不是 100% 肯定地说这个,也许我忽略了一些东西,但我现在想不出任何东西。

对网络进行小的调整可能就足够了(尽管它也需要重新训练)。最近,OpenAI 一直在写他们尝试训练代理玩 DOTA 2 游戏的尝试。现在,这不是纸牌游戏,它不需要牌组,但游戏有一个方面有点类似于牌组:起草在 DOTA 2 中,有两支队伍,每队 5 人。比赛开始前,每支队伍选择 5名英雄(每位玩家一名)参加该场比赛。这与套牌构建非常相似,只是它可能是一个小得多的问题;只有 5 张“卡”(英雄)的“套牌”(团队组成)。

无论如何,他们还训练代理使用 PPO 玩游戏(每个代理控制一个英雄)。博客文章中,他们写了以下关于他们如何相对轻松地添加绘图功能的内容:

6 月下旬,我们向我们的神经网络添加了一个获胜概率输出,以反思 OpenAI Five 的预测。当后来考虑选秀时,我们意识到我们可以用它来评估任何选秀的获胜概率:只需看看该阵容的比赛第一帧的预测。在实施的一周内,我们为 1100 万个可能的团队对决中的每一个都制作了一个假框架,并编写了一个树搜索来找到 OpenAI Five 的最佳选秀。

因此,如果您想尝试类似的技术,您必须调整您的网络,使其也学会生成获胜概率的预测作为输出。我想它对于套牌构组的效果要差得多,因为在运气(例如抽牌时)可能是重要因素的纸牌游戏中,获胜概率可能都非常接近 50%,但它可能值得一试。


或者,您可以将构组问题视为一个额外的单独“游戏”或马尔可夫决策过程,而不是生成大量随机套牌并全部使用它们;将特定卡添加到套牌可以是一个动作,并且一旦您拥有完整的套牌,此 MDP 就会终止。然后,您可以尝试使用搜索算法(如蒙特卡洛树搜索)或再次使用强化学习方法(如 PPO)来比随机更好地做到这一点。同样,我想这将是一个非常困难的问题,可能需要大量时间才能比随机做得更好。


我还知道一些与收藏卡牌游戏《炉石传说》中的牌组构建相关的研究,这可能与您有关。不幸的是,我还没有详细阅读其中的任何内容,所以我不确定您是否会在这里找到解决方案,但可能值得一试: