神经网络可以解决距离的概念吗?

人工智能 神经网络 强化学习 哲学 游戏-ai
2021-10-18 23:30:58

想象一个游戏,除了一个红色像素和一个蓝色像素外,它是一个黑屏。将这个游戏交给人类,他们首先会看到按下箭头键会移动红色像素。他们将尝试的下一件事是将红色像素移动到蓝色像素上。

把这个游戏交给人工智能,它会随机移动红色像素,直到一百万次尝试后它不小心移动到蓝色像素上以获得奖励。如果 AI 对红色和蓝色像素之间的距离有某种概念,它可能会尝试最小化这个距离。

在没有实际编程距离概念的情况下,如果我们获取游戏的像素,我们是否可以计算一个数字,例如“熵”,当像素远离时会比靠近时要低?它应该适用于其他像素配置。例如具有三个像素的游戏,其中一个是好的,一个是坏的。只是为了让神经网络更多地了解屏幕的外观?然后给神经网络一个目标,比如“尽量减少棋盘的熵并尽量获得奖励”。

在目前的研究中是否有类似的东西?

4个回答

回答

我会从表面上看你的问题,并深入探讨这个话题。

是的他们可以。典型的人类思维可以。但是考虑一下人类的思想。数百万甚至数十亿的神经元。事实上,人们可以将距离视为一种人类概念,只是一种从与世界的互动中发展出来的理论。

因此,一两年后,如果你手上有大量神经元,你就可以复制这种情况。也就是说,如果您的计算机与人类思维一样平行。简短的解释是,人类的思想是非常平行的。

但是,使用程序而不是 AI 来计算距离会更简单,并且只需将结果提供给将做出决策的 AI。

考虑一下您花在看屏幕上的时间。如果您可以分辨出两个像素之间的(近似)距离,那么神经网络也可以,因为您就是其中之一。但是,将您在生活和学习上花费的时间加到等式中,它就会变成一场灾难。

进一步阅读

人脑是平行的

这是因为人脑中的所有神经元都是相互独立的。它们可以运行真正的同时动作,从而使解释图像的动作变得更容易,因为神经元块可以独立于其他神经元的操作“思考”,将“滞后”限制在极小的数量。

您可以创建人工智能来“看到”人类。正如你所说,给人类钥匙,他会随机点击。他只需要知道他按了哪些键,使他更接近屏幕上的其他对象。我认为人工智能的基础是物体识别。我会尝试创建一个脚本来映射游戏的屏幕对象。Python中有合法的例子。

我会尝试遵循这样的路径:

  • 让AI明白,通过点击箭头或WASD,它在上下文GAME中,按照方向移动像素的对象,代表主要作者(玩家)。

  • 并行:映射区域的所有边界并索引该区域内的不同对象以自动获得坐标域和对象距离。AI 需要查看(流式传输)游戏并通过图像对对象进行分类。你明白我的意思吗?

  • 并行:AI 需要了解屏幕上的所有文本和信息(全部映射,记得吗?)。您需要了解文本何时更改或发生不同情况。例如:每当他回到每个阶段的初始位置时,每当他有一个计数时,当 cout 达到零或产生另一种变化的公共数字时会发生什么。

  • 他需要了解每次“重生”时重复的内容。您还需要了解什么是“重生”。每当屏幕上的计数结束时,它可能会返回每张地图上的某个地图位置。或者当它遇到某种类型的对象(映射对象)时

老实说,如果你想创造一个超级智能的机器人,你可以按照不同人类头脑中的所有步骤,或者是最优秀的人类,或者每个游戏的规则。但有时构建特定的机器人来执行特定的任务会更容易。这取决于你想做什么

你提到的是路径规划的完美例子它在人工智能中得到了广泛的研究。

请寻找A-star 算法以及如何使用神经网络增强它:)

我们可以将问题分解如下:

首先,如果您在平面上有两个点并将这些点的坐标提供给神经网络(例如,向量<x0,y0,x1,y1>)并在标签上训练它,即实际距离(例如,(x0y0)2+(x1y1)2),它应该能够以任意接近的准确度学习这种关系。

接下来,如果您有一个与您描述的图像相似的图像,并通过不同的神经网络(例如,CNN)提供它,并且您使用两个点的点作为标签(再次<x0,y0,x1,y1>),那么它应该能够再次以任意接近的准确度学习这种关系。

当然,没有理由在两个单独的神经网络中这样做,所以我们可以将两个端到端的模型结合起来,形成一个以图像为输入,距离为输出的模型。

但是,此模型需要在标记数据上进行训练,因此您需要自己生成数据或标记图像。

但是,如果您希望它以较少监督的方式学习缩小距离的概念,则需要使用强化学习。在这种情况下,您必须设置一个环境来激励代理减少距离。如果一个动作缩短了距离,这可能就像获得奖励一样简单。

另一种方法是使用未来的奖励来激励代理。也就是说,它的奖励不仅来自下一个即时状态的结果,还来自下一个可能状态的贡献,以及之后的那个,等等。这就是 Deep Q-Learning 背后的理念,我在这个 notebook 中实现了一个简单的示例(与您所描述的非常相似)

所以,现在的问题是:这个实现除了随机移动直到它走上成功之路之外,是否做了其他事情?

在您的示例中,您谈到了在代理到达目标时对其进行奖励。但在我所描述的情况下,它通过更接近目标(通过 Q 函数或直接来自环境)获得了回报。它可以通过学习一些抽象的距离概念来做到这一点(可以在监督版本中说明)。

当人类了解到这一点时,其确切原因是相同的:人类通过对未来奖励的感觉朝着那个方向前进而获得奖励。

我想说,只要有足够的训练和数据,强化学习就可以轻松学习这个概念。至于棋盘上存在的其他奖励(例如,“最小化棋盘的熵并尝试获得奖励”),您需要考虑您要问的是什么。你宁愿代理最小化距离还是最大化奖励?因为,一般来说,它不能两者兼得。如果您正在寻找两者之间的某种平衡,那么实际上您只是在重新定义奖励以同时考虑距离。