当问题空间太大时,人工智能如何学会行动

数据挖掘 机器学习 神经网络
2021-10-12 07:40:40

我通过实验和例子学得最好。我正在学习神经网络,并且(我认为)对分类和回归以及监督和非监督学习有很好的理解,但我偶然发现了一些我无法安静地弄清楚的东西;

如果我想训练一个人工智能来玩一个复杂的游戏;我正在考虑类似 RTS 的东西(例如帝国时代、帝国地球等)。在这些类型的游戏中,通常有许多由玩家控制的实体(单位、建筑物),每个实体具有不同的能力。看起来人工智能的问题是分类(例如,选择那个单元和那个动作),但是由于单元的数量是一个变量,如何以这种方式处理分类问题?

我唯一能想到的是执行不同阶段的多个网络(一个用于整体战略,一个用于控制这种类型的单元,一个用于那种类型的建筑物等);但这似乎使问题变得复杂。

有没有机器学习/神经网络学习复杂游戏的好例子(不是特别是 RTS,而是更复杂的马里奥)?

3个回答

这是一个很好的问题,世界各地的许多科学家都在问同样的问题。好吧,首先像帝国时代这样的游戏并没有被认为有很大的解决空间,你可以做的事情并不多。在像马里奥兄弟这样的游戏中也是如此。在 Atari 游戏这样的简单游戏中学习的问题是由被谷歌收购的 DeepMind(这里是论文)的人解决的。他们使用了带有深度学习的强化学习实现。

回到你的问题。一个非常大的问题是如何模仿人类每天做出的决定的数量。起床、吃早餐、洗澡、离开家……所有这些行动都需要非常高的智慧和许多行动才能发展。

有很多人在研究这个问题,我就是其中之一。我不知道解决方案,但我可以告诉你我在寻找哪种方式。我遵循马文·明斯基的理论,他是人工智能之父之一。这本书,情感机器,很好地说明了这个问题。他提出,创造一台模仿人类行为的机器的方法不是通过构建一个统一的紧凑的人工智能理论。相反,他认为我们的大脑包含相互竞争以同时满足不同目标的资源。他们称之为思考方式

好问题。这是一个复杂的问题,您使用的方法将取决于问题的复杂程度。我们试图解决的任何问题都会有一定程度的复杂性,通俗地定义为“相互作用的事物的数量,或需要考虑的事物的数量”。在有监督和无监督学习中,我们精确地指定了要考虑的事情的数量。

例如,在多元线性回归中,我们告诉学习算法在拟合模型时要考虑多少特征(训练集中的列数)。同样的情况也适用于无监督学习。使用具有明确数量特征的明确定义的训练集(在这种情况下没有标签)。

您面临的是一种不适合分类或回归的情况,因为您无法准确指定“要考虑的事项”的数量。正如您所说,您的问题空间非常大。另一种思考方式是根据学习模型所需的训练集;你想象训练集的样子有多难?在你的情况下很难。我的集合中的列到底包含什么?

这就是为什么自动驾驶汽车、Atari 和 AlphaGo 等应用程序不使用分类或回归的原因。甚至不可能知道训练集会是什么样子。您可以尝试,但您的模型将无法可靠地做出强有力的预测(在这种情况下会移动)。建立路况模型需要考虑多少事情?

这就是为什么存在第三种机器学习,强化学习的原因。它不是使用预先指定的训练集,而是使用试错法。通过不断探索其环境,它可以学习长期有效的策略。

因此,对于我们有机会定义训练集的较小问题空间,我们使用有监督和无监督机器学习。对于难以定义训练集的较大问题空间,我们使用强化学习。当然,您也可以对上述所有方法进行有趣的组合,但这仍然归结为复杂性。

这个问题很久以前就被问到了,我认为现在应该得到更好的回答。一般来说,对于强化学习,这个问题被称为“稀疏奖励问题”。这篇Medium 文章涵盖了这个问题和一些解决方案,但您只需运行搜索即可找到更多解决方案

我不会详细介绍解决此问题的算法的细节,而是会向您指出解决此问题的一些关键成功应用以及简短的一般描述:

Deepmind的 AlphaStar

星际争霸 II 几乎与帝国时代一模一样,AlphaStar 能够在游戏中击败一些世界上最优秀的玩家。

在这里,他们为玩游戏的 AI 创建了一个锦标赛系统,并生成了 AI 将遵循的不同游戏风格和策略。然后,他们使用遗传算法对顶级 AI 进行修改,以便它们慢慢改进,确保最好的 AI 可以对抗所有不同类型的 AI。

OpenAI的OpenAI 五

(这是一个很酷的剪辑,显示 OpenAI 5 比 DOTA 中的顶级玩家之一更聪明。)

OpenAI Five 玩的是 DOTA 游戏,这与英雄联盟几乎完全一样。在这里,他们预编程了一些会彻底改变游戏玩法的决策树选项,例如英雄购买的物品,然后让 AI 选择其余选项。(不过,请注意,预制的构建选项意味着它不理解/没想到你可以对抗一些英雄+物品的组合。)

为了让五个不同的英雄一起玩,他们让同一个 AI 的副本控制每个英雄,并奖励每个 AI 团队的表现以及每个英雄的表现。这使得训练可以从个人层面开始,然后最终扩展到团体比赛。

OpenAI Five 模型也很好,因为它相当通用。他们使用相同的训练过程来创建Dactyl,它可以操纵手中的立方体。

全面的

除了这两个之外,我还没有看到太多其他 AI 玩复杂的游戏,并且有许多不同的移动选项。我的猜测是它需要大量的计算能力,而 OpenAI 和 Deepmind 是唯一拥有这种计算能力的公司。本文认为这可能是由于计算机科学家经常使用的树表示。