转载:本文来自微信公众号“量子位”(ID: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]
cantonese.live 足跡 粵字翻譯
2021-04-15 19:35:23
请登录之后再进行评论