当前位置: 首页 > 科技观察

通过元胞自动机,AI在《我的世界》中学会了盖房子

时间:2023-03-20 19:50:34 科技观察

熟悉游戏《我的世界(Minecraft)》的读者一定对这样的画面不陌生。△来源:ScienceMagazine但是如果房子不是人类建造的,而是AI建造的呢?这是哥本哈根信息技术大学、约克大学和上海大学的学者利用三维神经元元胞自动机(NCA)所做的一项新研究。不仅可以生成静态结构,当然不仅可以生成公寓,还可以生成树木和城堡:△来源:ScienceMagazine还可以生成功能性机器,比如爬行的毛毛虫:△来源:ScienceMagazine把它分成两部分,它会玩再生术,克隆成功……(嘿嘿~我有画面感)这是怎么回事?受《生命游戏》中元胞自动机(CA)的启发,神经元元胞自动机应用研究人员在2D的基础上开发了3D神经元元胞自动机(NCA)。《生命游戏》以元胞自动机原理为基础,也可以说是元胞自动机的一次演示。它是由英国数学家约翰·康威于1970年发明的。在网格中,每个方格中都有一个单元格,它的状态由它周围的8个单元格决定。黑色代表细胞存活。从那时起,许多研究采用了更复杂的神经网络规则,称为神经元元胞自动机(NCA)。然而,其应用大多局限于2D结构,或只能生成简单的3D结构。为了提高NCA在实际应用中的通用性,研究团队开发了3DNCA。它利用3D卷积来捕获更多周围的细胞,以生成具有更多类型构建单元的复杂3D结构。△3DNeuronalCellularAutomataUpdateRules研究人员尝试使用NCA从单个活细胞生成目标实体,使用监督学习优化重建损失。而且,《我的世界》中的实体被视为3D网格中的单元格,它们的状态向量包括:方块类型、生存状态、隐藏状态。然而,由于每个单元都是单一的块类型,他们将结构重建任务视为多类分类问题,预测给定单元的类型。结合Pytorch提供的LogSoftmax和NLLLoss方法,实现目标和预测细胞结构之间的交叉熵损失最小。这种损失导致性能不稳定**,并且该模型表现出对“空气”块的偏好。在训练过程中,“空气”块通常会占据所选结构的大部分,因此,训练数据不平衡可能会导致模型过度预测。为了解决这个问题,研究人员根据它们是否被归类为“空气”块将损失计算分为两部分,并添加了交叉重叠(IOU)成本,它衡量非“空气”块和实体之间的绝对差异,从而提高准确性。效果如何?研究人员评估并记录了模型在静态结构和动态功能机器上的重建性能参数。结果表明NCA的重建能力是稳健的:△NormalizedIOU/StructuralLoss△NormalizedTotalLoss然而,NCA在构建更大的实体(如:教堂)方面仍然具有挑战性,因为模型经常陷入局部极小值训练时间更长。虽然大教堂模型的损失比某些实体低,但是有很多随机生成的结构,所以没有其他实体是自然的。目标结构与生成效果:此外,在自然界中生成更多随机实体(例如橡树)更加困难。如前所述,NCA生成静态结构并很好地增加了单个块类型的数量,生成了多样化和复杂的内部结构,例如公寓楼的内部结构:令人惊讶的是,在丛林神庙中,NCA甚至生成了箭头陷阱.在生产功能机器时,研究人员发现不同的结构有不同的生产模式:一些结构从小细胞逐渐扩展到最终形式;而毛毛虫先是快速生产,然后消灭细胞,形成最终的结构。△来源:ScienceMagazine此外,NCA的再生特性也是一大亮点。除了从单个细胞生长复杂结构外,这些局部更新规则还允许再生或修复损伤。即使没有训练,它仍然可以恢复一些受损的结构,比如树木:但是,经过对比测试,研究人员发现,在没有进行再生训练的情况下,模型的再生率只有30%;,生成率可达99%。3DNCA引起了网友的广泛关注。reddit上有网友提到,NCA在物理上的应用也很值得探索,比如:可以用来模拟晶体的形成。