神经网络控制目标的运动和“归位”

人工智能 神经网络 入门
2021-11-18 13:26:35

我是一名软件开发人员,一直在尝试(并且失败)来了解人工智能和神经网络。最近有一个领域引起了我的兴趣——通过跟随气味来模拟老鼠在一块奶酪上“归巢”。基于靠近奶酪 = 气味更浓 = 好这个规则,那么感觉这应该是一个非常简单的问题来解决 - 至少在理论上!

我的想法是首先将鼠标和奶酪放在屏幕上的随机位置。然后我将鼠标沿随机方向移动一步并测量它与奶酪的距离,如果它比以前更近(更强烈的气味)那就很好了。这就是我在理论上遇到问题的地方——这种“反馈”需要以某种方式修改用于移动鼠标的机制,逐渐完善它,直到鼠标能够直奔奶酪。一旦“训练”,我应该能够重新定位奶酪并期望鼠标更快地移动到它。请注意,我还通过没有障碍让鼠标四处协商来保持简单。

这到底是如何用 NN 实现的?我了解基本概念,但是一旦我开始查看真实代码,我就会发现事情变得复杂了!我看到的示例通常从从数据集中训练 NN 开始,但这似乎不适用于这里,因为感觉唯一可用的训练是在鼠标四处移动时“动态”(即更接近 = 好,更远=坏)。我假设大脑有某种由更强烈的奶酪气味触发的“奖励机制”。

我是不是在找错树——无论是我的思维过程,还是 NN 不适合这个问题?顺便说一句,这不是家庭作业,只是我一直在脑海中困惑的事情。

1个回答

我会为此使用 NEAT 算法。基本上,您“培育”了每一代都做得最好的正确网络。然后冲洗并重复。不需要培训数据库。机器人在运行过程中竞争和发展。

例如,这个演示展示了 Neataptic.js 如何教一堆机器人跟随目标: https ://wagenaartje.github.io/neataptic/articles/targetseeking/

这是更复杂的问题 - Agar.io 游戏: https ://wagenaartje.github.io/neataptic/articles/agario/