通過細(xì)胞自動機,AI在「我的世界」學(xué)會了蓋房子
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
了解游戲「我的世界(MineCraft)」的讀者,一定很熟悉這樣的畫面。
△圖源:Science Magazine
但是,如果蓋房子的不是人,而是AI呢?
這是來自哥本哈根信息技術(shù)大學(xué)、約克大學(xué)和上海大學(xué)的學(xué)者,利用3D神經(jīng)元細(xì)胞自動機(NCA)完成的新研究。
不僅能生成靜態(tài)結(jié)構(gòu),當(dāng)然不僅是公寓,樹木、城堡也可以:

△圖源:Science Magazine
還能生成功能性機器,比如爬行的毛毛蟲:
△圖源:Science Magazine
把它一切兩段,還會玩再生術(shù),成功分身……
(咦~有畫面感了)
這是怎么做到的?
神經(jīng)元細(xì)胞自動機的應(yīng)用
研究者其實是受到「生命游戲」中元胞自動機(CA) 的啟發(fā),在2D基礎(chǔ)上開發(fā)了3D神經(jīng)元細(xì)胞自動機(NCA)。
「生命游戲」就是基于元胞自動機的原理制作的,也可以說是元胞自動機的一個展示。
它是由英國數(shù)學(xué)家約翰·康威在1970年發(fā)明的。在網(wǎng)格中,每個方格居住著一個細(xì)胞,其狀態(tài)由其周圍的8個細(xì)胞決定,以黑色代表細(xì)胞存活。

之后,許多研究采用了更為復(fù)雜的神經(jīng)網(wǎng)絡(luò)規(guī)則,被稱為神經(jīng)元細(xì)胞自動機(NCA)。但是其應(yīng)用大多局限于2D結(jié)構(gòu),或是只能生成簡單的3D結(jié)構(gòu)。
為了提高NCA在實際應(yīng)用中的通用性,研究團隊開發(fā)了3D NCA。
它利用3D卷積捕捉周圍更多的細(xì)胞,以生成復(fù)雜的3D結(jié)構(gòu),并且具有更多類型的建造單元。
△3D神經(jīng)元細(xì)胞自動機更新規(guī)則
研究人員試圖利用NCA從單個活細(xì)胞生成目標(biāo)實體,利用監(jiān)督學(xué)習(xí)對重建損失進(jìn)行優(yōu)化。
并且,將「我的世界」中的實體作為3D網(wǎng)格中的細(xì)胞,其狀態(tài)向量包含:塊類型、存活狀態(tài)、隱藏狀態(tài)。
但是,由于每個單元是單一的塊類型,于是他們將結(jié)構(gòu)重建任務(wù)視為一個多類分類問題,預(yù)測給定單元的類型。
利用Pytorch提供的LogSoftmax和NLLLoss方法組合,以實現(xiàn)是在目標(biāo)與預(yù)測的細(xì)胞結(jié)構(gòu)之間,最小的交叉熵?fù)p失。
這種損失導(dǎo)致性能不穩(wěn)定**,并且模型展現(xiàn)出對“空氣”塊的偏好。
在訓(xùn)練中,“空氣”塊通常占據(jù)了所選結(jié)構(gòu)的大部分,因此,訓(xùn)練數(shù)據(jù)不平衡可能會導(dǎo)致模型過度預(yù)測。
為解決這一問題,研究人員根據(jù)是否歸類為“空氣 ”塊,將損失計算劃分為兩部分,并且增加了一個交叉重疊(IOU)成本,測量非“空氣”塊與實體之間的絕對差,以此提升精度。
效果如何?
針對模型在靜態(tài)結(jié)構(gòu)和動態(tài)功能機器的重構(gòu)性能,研究人員進(jìn)行了評估,并記錄了各項參數(shù)。
結(jié)果顯示,NCA的重構(gòu)能力具有魯棒性:
△歸一化IOU/結(jié)構(gòu)性損失
△歸一化總損失
不過,NCA對于構(gòu)建較大的實體(比如:教堂)仍具有挑戰(zhàn)性,因為模型經(jīng)常陷入局部極小值,需要更長的時間來訓(xùn)練。
盡管大教堂模型比一些實體的損失更低,但有許多隨機生成的結(jié)構(gòu),因此沒有其他實體自然。目標(biāo)結(jié)構(gòu)與生成效果的對比:

此外,在生成自然界中更隨機的實體(比如:橡樹)時,也更加困難。
正如前文提到的,NCA能生成靜態(tài)結(jié)構(gòu),并且可以很好地增加單個塊類型的數(shù)量,生成多樣化和復(fù)雜的內(nèi)飾,比如公寓樓內(nèi)部:

令人意外的是,在叢林神廟中,NCA甚至生成了一個箭陷阱。

在生成功能性機器時,研究人員發(fā)現(xiàn),不同結(jié)構(gòu)的生成模式也不同:
一些結(jié)構(gòu)是從小細(xì)胞漸漸擴大到最終形態(tài);而毛毛蟲則是先快速生成,然后再淘汰細(xì)胞形成最終的結(jié)構(gòu)。
△圖源:Science Magazine
此外,NCA的再生特性也是一大亮點,除了從單個細(xì)胞中生長出復(fù)雜的結(jié)構(gòu)外,這些局部更新規(guī)則還允許再生或修復(fù)損傷。
即使未經(jīng)訓(xùn)練,它仍然能恢復(fù)某些受損的結(jié)構(gòu),比如樹:

不過,研究人員在對比測試后發(fā)現(xiàn):
在未經(jīng)過再生訓(xùn)練時,模型的再生率僅有30%;而進(jìn)行再生訓(xùn)練后,生成率能達(dá)到99%。
3D NCA引起了網(wǎng)友的廣泛關(guān)注,reddit上還有網(wǎng)友提到:
NCA在物理學(xué)上的應(yīng)用也值得探索,比如:它可以用來模擬晶體形成。
