为什么神经网络在生命游戏中挣扎
2022年2月11日整理发布:生命游戏是一个基于网格的自动机,在有关科学、计算和人工智能的讨论中非常流行。这是一个有趣的想法,它展示了非常简单的规则如何产生非常复杂的结果。
然而,尽管生命游戏很简单,但对人工神经网络来说仍然是一个挑战,斯沃斯莫尔学院和洛斯阿拉莫斯实验室的人工智能研究人员在最近的一篇论文中表明。他们的研究标题为“神经网络很难学习生命游戏”,调查了神经网络如何探索生命游戏,以及为什么他们经常错过找到正确的解决方案。
他们的发现突出了深度学习模型的一些关键问题,并为人工智能社区的下一个研究方向提供了一些有趣的提示。
什么是生命游戏?
数学家约翰康威在 1970 年发明了生命游戏。基本上,生命游戏跟踪网格上一系列单元格跨时间步长的开启或关闭状态(生命)。在每个时间步长,以下简单的规则定义了哪些细胞会复活或保持活力,哪些细胞会死亡或保持死亡:
如果一个活细胞的存活邻居少于两个,它就会死于人口不足。
如果一个活细胞有超过三个活的邻居,它就会死于人口过剩。
如果一个活细胞恰好有两个或三个活的邻居,它就会存活下来。
如果一个死细胞有三个活着的邻居,它就会复活。
基于这四个简单的规则,您可以调整网格的初始状态以创建有趣的稳定、振荡和滑动模式。
例如,这就是所谓的滑翔机枪。
您还可以使用生命游戏来创建非常复杂的图案,例如这个。
生命复杂模式的游戏
有趣的是,无论网格变得多么复杂,您都可以使用相同的规则预测下一个时间步中每个单元格的状态。
由于神经网络是非常好的预测机器,研究人员想了解深度学习模型是否可以学习生命游戏的基本规则。
人工神经网络与生命游戏
生命游戏是神经网络的一个有趣实验有几个原因。“我们已经知道一个解决方案,”斯沃斯莫尔学院计算机科学专业的学生、该论文的合著者 Jacob Springer 告诉TechTalks。“我们可以手写一个实现生命游戏的神经网络,因此我们可以将学习到的解决方案与我们手工制作的解决方案进行比较。情况并非如此。”
通过修改目标深度学习模型必须预测的未来时间步数,也很容易调整生命游戏中问题的灵活性。
此外,与计算机视觉或自然语言处理等领域不同,如果神经网络学习了生命游戏的规则,它将达到 100% 的准确率。“没有歧义。如果网络甚至出现一次故障,那么它就没有正确地学习规则,”斯普林格说。
在他们的工作中,研究人员首先创建了一个小型卷积神经网络并手动调整其参数,以便能够预测生命游戏网格单元的变化顺序。这证明了有一个最小的神经网络可以代表生命游戏的规则。
然后,他们试图查看相同的神经网络在从头开始训练时是否可以达到最佳设置。他们将参数初始化为随机值,并在 100 万个随机生成的生命游戏示例上训练神经网络。神经网络可以达到 100% 准确度的唯一方法是收敛于手工制作的参数值。这意味着人工智能模型已经成功地将生命游戏的规则参数化。
但在大多数情况下,经过训练的神经网络并没有找到最优解,随着步数的增加,网络的性能甚至进一步下降。训练神经网络的结果很大程度上受所选的训练样本集以及初始参数的影响。
不幸的是,你永远不知道神经网络的初始权重应该是多少。最常见的做法是从正态分布中选择随机值,因此确定正确的初始权重是一种运气游戏。至于训练数据集,在许多情况下,不清楚哪些样本是正确的,而在其他情况下,没有太多选择。
“对于很多问题,你在数据集中没有太多选择;你得到了可以收集的数据,所以如果你的数据集有问题,你可能无法训练神经网络,”Springer 说。