为什么大多数不完美信息游戏通常使用非机器学习 AI?

人工智能 神经网络 游戏-ai 极小极大 不完全信息 评价函数
2021-10-24 03:03:38

为了提供一些背景信息,我是一名软件工程师和游戏爱好者(尤其是纸牌游戏)。问题是我一直对面向游戏的人工智能感兴趣。在大学时,我编写了自己的五子棋 AI,因此我对应用于游戏的 AI 的基本概念有点熟悉,并且还阅读了有关博弈论的书籍和文章。

当我尝试为不完美信息游戏(如扑克、万智牌聚会、炉石传说等)分析 AI 时,我的问题就出现了。在大多数情况下,当我为《炉石传说》找到一个 AI 时,它要么是某种蒙特卡洛策略,要么是 MinMax 策略。老实说,尽管它甚至可能提供一些不错的结果,但它仍然会非常平坦和线性,因为它没有考虑对手正在玩什么套牌,并且几乎总是试图遵循相同的游戏计划,因为它不会根据告诉您的对手可能通过打出的牌放弃(人类会抓住的暗示)而改变。

我想知道使用神经网络是否比仅使用每回合的棋盘状态 + 手牌 + Hp 的原始评估更好,而不考虑了解对手可能拥有的可能线程,如何拒绝对手最好的打法制作等

我的直觉告诉我,这要困难得多,复杂得多。

这是不使用NN方法的唯一原因吗?是否有任何研究证明这两种方法之间的效率优势有多大?

1个回答

使用 MCTS + minimax + 字母剪枝的启发式搜索是一种高效的 AI 规划过程。强化学习 (RL) 和神经网络 (NN) 的 AI 技术通常会增加这种方法来建立更好的启发式方法。

我的直觉告诉我,这要困难得多,复杂得多。

它实际上在概念上并没有那么复杂。用学习引擎代替手工编码的启发式算法,例如 DQN 或 AC3。从人类专家游戏示例和/或自我游戏中训练学习引擎。

不过这更难,因为在 RL 上下文,基于 NN 的估计器可能会出错。您将需要使用学习引擎的不同超参数进行许多实验。对于复杂的游戏,您可能需要投入 100 多个小时的训练,您可能希望将其与改进专家启发式系统所花费的类似时间的最终结果进行比较。

对于不完美信息游戏,您可能还想使用可以学习内部状态表示的东西。这可能是您像专家系统一样维护的某种明确的信念状态,或者尝试学习良好表示的某种东西,例如 RNN(例如 LSTM)。不过,这对于第一次尝试代理可能不是必需的,因为 MCTS 搜索将弥补一些低准确率启发式的不足。

这是不使用NN方法的唯一原因吗?

直到最近,使用 RL 和 NN 的方法很难找到学术机器学习研究之外的示例,并且没有任何用于 LSTM 或例如 AC3 的预先编写的框架。在过去的几年里,RL 和 NN 框架已经开始出现,这使得 AI 自学习方法更加平易近人。

我希望现在许多考虑玩游戏 AI 的业余爱好者会认真研究 RL 和 NN,以便为他们的游戏项目学习强大的启发式算法。然而,“传统的”基于搜索的方法仍然与这些方法结合使用,以获得完整的代理。

是否有任何研究证明这两种方法之间的效率优势有多大?

对于纸牌游戏,我不知道有任何具体的研究,虽然我只是一个业余爱好者,但尚未编写任何比井字游戏更复杂的特定游戏引擎。

对于完美的信息棋盘游戏,AlphaZero 的国际象棋变体展示了 RL+NN 自我对弈方法与“传统”启发式加搜索(以 Stockfish 为代表)的适用性。然而,比赛的框架被批评为对 Stockfish 不公平,因此 RL 严格来说更好并不一定是一个开放式的案例。