△图源:Science Magazine
把它一切两段,还会玩再生术,成功分身……
(咦~有画面感了)
这是怎么做到的?
神经元细胞自动机的应用研究者其实是受到「生命游戏」中元胞自动机(CA) 的启发,在2D基础上开发了3D神经元细胞自动机(NCA)。
「生命游戏」就是基于元胞自动机的原理制作的,也可以说是元胞自动机的一个展示。
它是由英国数学家约翰·康威在1970年发明的。在网格中,每个方格居住着一个细胞,其状态由其周围的8个细胞决定,以黑色代表细胞存活。
之后,许多研究采用了更为复杂的神经网络规则,被称为神经元细胞自动机(NCA)。但是其应用大多局限于2D结构,或是只能生成简单的3D结构。
为了提高NCA在实际应用中的通用性,研究团队开发了3D NCA。
它利用3D卷积捕捉周围更多的细胞,以生成复杂的3D结构,并且具有更多类型的建造单元。
△3D神经元细胞自动机更新规则
研究人员试图利用NCA从单个活细胞生成目标实体,利用监督学习对重建损失进行优化。
并且,将「我的世界」中的实体作为3D网格中的细胞,其状态向量包含:块类型、存活状态、隐藏状态。
但是,由于每个单元是单一的块类型,于是他们将结构重建任务视为一个多类分类问题,预测给定单元的类型。
利用Pytorch提供的LogSoftmax和NLLLoss方法组合,以实现是在目标与预测的细胞结构之间,最小的交叉熵损失。
这种损失导致性能不稳定**,并且模型展现出对“空气”块的偏好。
在训练中,“空气”块通常占据了所选结构的大部分,因此,训练数据不平衡可能会导致模型过度预测。
为解决这一问题,研究人员根据是否归类为“空气 ”块,将损失计算划分为两部分,并且增加了一个交叉重叠(IOU)成本,测量非“空气”块与实体之间的绝对差,以此提升精度。
效果如何?针对模型在静态结构和动态功能机器的重构性能,研究人员进行了评估,并记录了各项参数。
结果显示,NCA的重构能力具有鲁棒性: