通过细胞自动机,AI在「我的世界」学会了盖房子

新闻 人工智能
许多研究采用了更为复杂的神经网络规则,被称为神经元细胞自动机(NCA)。但是其应用大多局限于2D结构,或是只能生成简单的3D结构。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

了解游戏「我的世界(MineCraft)」的读者,一定很熟悉这样的画面。 

△图源:Science Magazine

 

但是,如果盖房子的不是人,而是AI呢?

这是来自哥本哈根信息技术大学、约克大学和上海大学的学者,利用3D神经元细胞自动机(NCA)完成的新研究。

不仅能生成静态结构,当然不仅是公寓,树木、城堡也可以:

通过细胞自动机,AI在「我的世界」学会了盖房子

通过细胞自动机,AI在「我的世界」学会了盖房子

△图源:Science Magazine

还能生成功能性机器,比如爬行的毛毛虫:

通过细胞自动机,AI在「我的世界」学会了盖房子

△图源:Science Magazine

把它一切两段,还会玩再生术,成功分身……

通过细胞自动机,AI在「我的世界」学会了盖房子

(咦~有画面感了)

这是怎么做到的?

神经元细胞自动机的应用

研究者其实是受到「生命游戏」中元胞自动机(CA) 的启发,在2D基础上开发了3D神经元细胞自动机(NCA)

「生命游戏」就是基于元胞自动机的原理制作的,也可以说是元胞自动机的一个展示。

它是由英国数学家约翰·康威在1970年发明的。在网格中,每个方格居住着一个细胞,其状态由其周围的8个细胞决定,以黑色代表细胞存活。

通过细胞自动机,AI在「我的世界」学会了盖房子

之后,许多研究采用了更为复杂的神经网络规则,被称为神经元细胞自动机(NCA)。但是其应用大多局限于2D结构,或是只能生成简单的3D结构。

为了提高NCA在实际应用中的通用性,研究团队开发了3D NCA

它利用3D卷积捕捉周围更多的细胞,以生成复杂的3D结构,并且具有更多类型的建造单元。

通过细胞自动机,AI在「我的世界」学会了盖房子

△3D神经元细胞自动机更新规则

研究人员试图利用NCA从单个活细胞生成目标实体,利用监督学习对重建损失进行优化。

并且,将「我的世界」中的实体作为3D网格中的细胞,其状态向量包含:块类型、存活状态、隐藏状态。

但是,由于每个单元是单一的块类型,于是他们将结构重建任务视为一个多类分类问题,预测给定单元的类型。

利用Pytorch提供的LogSoftmax和NLLLoss方法组合,以实现是在目标与预测的细胞结构之间,最小的交叉熵损失

这种损失导致性能不稳定**,并且模型展现出对“空气”块的偏好。

在训练中,“空气”块通常占据了所选结构的大部分,因此,训练数据不平衡可能会导致模型过度预测。

为解决这一问题,研究人员根据是否归类为“空气 ”块,将损失计算划分为两部分,并且增加了一个交叉重叠(IOU)成本,测量非“空气”块与实体之间的绝对差,以此提升精度。

效果如何?

针对模型在静态结构和动态功能机器的重构性能,研究人员进行了评估,并记录了各项参数。

结果显示,NCA的重构能力具有鲁棒性

通过细胞自动机,AI在「我的世界」学会了盖房子

△归一化IOU/结构性损失

通过细胞自动机,AI在「我的世界」学会了盖房子

△归一化总损失

不过,NCA对于构建较大的实体(比如:教堂)仍具有挑战性,因为模型经常陷入局部极小值,需要更长的时间来训练。

尽管大教堂模型比一些实体的损失更低,但有许多随机生成的结构,因此没有其他实体自然。目标结构与生成效果的对比:

通过细胞自动机,AI在「我的世界」学会了盖房子

此外,在生成自然界中更随机的实体(比如:橡树)时,也更加困难。

正如前文提到的,NCA能生成静态结构,并且可以很好地增加单个块类型的数量,生成多样化和复杂的内饰,比如公寓楼内部:

通过细胞自动机,AI在「我的世界」学会了盖房子

令人意外的是,在丛林神庙中,NCA甚至生成了一个箭陷阱。

通过细胞自动机,AI在「我的世界」学会了盖房子

在生成功能性机器时,研究人员发现,不同结构的生成模式也不同

一些结构是从小细胞渐渐扩大到最终形态;而毛毛虫则是先快速生成,然后再淘汰细胞形成最终的结构。

通过细胞自动机,AI在「我的世界」学会了盖房子

△图源:Science Magazine

此外,NCA的再生特性也是一大亮点,除了从单个细胞中生长出复杂的结构外,这些局部更新规则还允许再生或修复损伤

即使未经训练,它仍然能恢复某些受损的结构,比如树:

通过细胞自动机,AI在「我的世界」学会了盖房子

不过,研究人员在对比测试后发现:

在未经过再生训练时,模型的再生率仅有30%;而进行再生训练后,生成率能达到99%。

3D NCA引起了网友的广泛关注,reddit上还有网友提到:

NCA在物理学上的应用也值得探索,比如:它可以用来模拟晶体形成。

通过细胞自动机,AI在「我的世界」学会了盖房子
 

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2013-02-18 09:36:33

写程序程序员编程设计

2021-02-28 19:32:50

Wi-Fi无线局域网WLAN)

2022-09-22 15:23:27

3D打印技术

2024-07-08 09:46:19

2020-03-30 08:00:38

Nginx彻底搞懂

2023-02-22 07:04:05

自动机原理优化实践

2024-05-29 07:47:30

SpringJava@Resource

2023-10-23 07:13:04

2023-02-20 07:46:45

机器学习AI 技术

2023-01-13 14:04:14

AI

2022-05-23 10:04:27

人工智能智能家居

2022-05-27 09:50:54

智能家居人工智能AI

2022-03-23 09:14:02

虚拟眼睛AI人工智能

2014-10-09 12:51:15

房屋

2024-03-05 18:10:47

事务SQL目录

2018-06-08 10:56:04

AI歧视数据算法

2018-07-03 15:20:36

Promise函数借钱

2022-09-08 08:03:30

RocketMQ线程技巧

2017-07-27 10:46:44

神经网络机器学习强化学习
点赞
收藏

51CTO技术栈公众号