子豪 发自 凹非寺
量子位 报道 | 公众号 QbitAI

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

图源:Science Magazine

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

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

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

图源:Science Magazine

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

图源:Science Magazine

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


(咦~有画面感了)

这是怎么做到的?

神经元细胞自动机的应用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

效果如何?

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

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

归一化IOU/结构性损失

归一化总损失

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

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

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

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

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

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

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

图源:Science Magazine

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

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

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

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

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

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

参考链接:
[1]https://arxiv.org/abs/2103.08737
[2]https://www.sciencemag.org/news/2021/03/watch-artificial-intelligence-grow-walking-caterpillar-minecraft
[3]https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life
[4]https://twitter.com/risi1979/status/1372158321256456198
[5]https://www.reddit.com/r/MachineLearning/comments/m70b2p/r_growing_3d_artefacts_and_functional_machines/

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展

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

  1. 把「我的世界」马赛克变成逼真大片,英伟达又出黑科技

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 先来看一 ...

  2. 我的世界JAVA会支持光追吗_光线追踪改变了「我的世界」,华硕ROG2060S显卡的光追体验...

    说起<我的世界>这款游戏,相信很多小伙伴都耳熟能详.自2009首次亮相,<我的世界>发布已超十年,在全球售出超过1.2亿份,是目前最火爆的沙盒游戏,并且它完全没有衰退的迹象,现 ...

  3. 用「我的世界」自动生成「现实世界」:英伟达展示AI脑补新技术

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来自:机器之心 Minecraft 里面自建像素风世界不够过瘾?英伟达:那就让 AI ...

  4. 腾讯AI Lab「王者绝悟」亮相世界人工智能大会,展现「AI+游戏」全新可能

    感谢阅读腾讯AI Lab微信号第126篇文章.本文将介绍"王者绝悟"亮相2021世界人工智能大会. 7月8日,腾讯"王者绝悟"亮相2021世界人工智能大会,该产 ...

  5. 现学现用!学完计组后,我马上在「我的世界」造了台显示器

    作者 | 小林coding 来源 | 小林coding(ID:CodingLin) 前言 今天的主题十分有趣,我们将在我的世界(Minecraft)这个游戏里,靠一个个逻辑门来组合实现一个简单的七段显 ...

  6. 如何利用TensorFlow.js部署简单AI版「你画我猜」

    选自Medium,作者:Zaid Alyafeai,机器之心编译,参与:Geek AI.路. 本文创建了一个简单的工具来识别手绘图像,并且输出当前图像的名称.该应用无需安装任何额外的插件,可直接在浏览 ...

  7. 学完计组后,我马上在「我的世界」造了台显示器,你敢信?

    前言 今天的主题十分有趣,我们将在我的世界(Minecraft)这个游戏里,靠一个个逻辑门来组合实现一个简单的七段显示器,可以实现将选择的数字输出在显示器上. 演示视频在下面,来看看这个宏大的工程: ...

  8. 剑指 S11,我在「我的世界」造了台显示器

    前前言 昨天下午我早早的打扫好卫生,煮好饭菜,iPad 充满电,给了老婆一笔购物基金打发出去shopping,准备见证 LPL 的三连冠,但没想到,技不如人,再一次在主场丢失了冠军,气的我又又又又又又 ...

  9. 如何利用TensorFlow.js部署简单的AI版「你画我猜」图像识别应用

    选自Medium,作者:Zaid Alyafeai,机器之心编译,参与:Geek AI.路. 本文创建了一个简单的工具来识别手绘图像,并且输出当前图像的名称.该应用无需安装任何额外的插件,可直接在浏览 ...

最新文章

  1. Poisson Image Editing 泊松融合 matlab代码完整
  2. java11正式发布了,让java代码更完美
  3. 适用于 deno 的多版本管理工具 dvm 发布
  4. jqGrid细节备注—pager文字的设置,更改默认的提交方式
  5. Linux主机通过直连线直连,【IT基础】网线的直连线与交叉线之间的区别
  6. 压力测试和负载测试区别_性能测试vs压力测试vs负载测试
  7. 华三交换机配置access命令_H3C交换机配置基本命令详解
  8. 傅里叶级数与积分方程
  9. 超详细wordPress主题制作教程
  10. raw格式镜像文件转vmdk
  11. 在线评判系统java代码_sojV1.0 Online Judge System 在线评判系统是一个 联合开发网 - pudn.com...
  12. Android-GIF图片显示
  13. jdk+apache+jboss +mod_jk+openssl--从零开始搭建Linux测试环境
  14. 利用计算机解决古代数学问题鸡兔同笼,古代人是怎样解决“鸡兔同笼”得问提的?...
  15. .NET的前景如何?你的问题答案都在这里-2017
  16. hdu6060 RXD and dividing
  17. 经典面试题之Vue生命周期
  18. 《我和我的儿女们》:是否所有的不可理喻都情有可原?
  19. 写给程序员的Flutter详细教程,实战解析
  20. 什么因素让唐僧是一个领导,而孙悟空只是一个打工者呢?

热门文章

  1. 使用curl从HTTP POST仅获取响应标头
  2. PHP随机字符串生成器
  3. 自动化运维系列之Cobbler (资源)
  4. Google Inc.:Google APIs:23' 解决方案
  5. k-means算法的理解与实现
  6. Sqlserver数据库类型介绍,可作为参考书
  7. 无法安装gem包RMagick解决办法
  8. pods install 无法安装库
  9. 加密连接工具Cryptcat
  10. Playmaker Input篇教程之PlayMaker菜单概述