AI畫(huà)材質(zhì)里采樣算法的選擇

我之前基本實(shí)現(xiàn)了使用AI生成MC風(fēng)格的貼圖,方塊和物品都實(shí)現(xiàn)了,盡管模型可以在調(diào)參后優(yōu)化,但那是之后的事,工作量很大。因此,最近我決定先研究一下生成時(shí)的參數(shù)。
其中一個(gè)參數(shù)是sampler,也就是具體使用哪種采樣算法。說(shuō)實(shí)話,我完全不知道這些算法都是啥,我只知道a代表非線性,可能步數(shù)多了之后反而變崩。
既然如此,那就全都試用一遍。所幸SD里的XYplot能很方便地實(shí)現(xiàn)這個(gè)功能,掛幾個(gè)小時(shí)就能生成一張這樣的網(wǎng)格圖。第一題我們先來(lái)個(gè)簡(jiǎn)單的開(kāi)卷考試:鉆石塊。訓(xùn)練集里是有鉆石塊的,因此按理說(shuō)diamond block它不應(yīng)該生成的很爛,至少不會(huì)毫無(wú)概念。那么,結(jié)果如下。

從上到下的算法是Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS, UniPC。
橫軸是步數(shù)為2、4、6、8……40的結(jié)果。
可以看到,
第三行的LMS差得要命,根本生成不出能看的鉆石塊貼圖。
倒數(shù)第二行的PLMS也是相當(dāng)糟糕。中間的DPM?adaptive非常穩(wěn)定,自始至終毫無(wú)變化。
DPM Fast,開(kāi)局先是一團(tuán)亂麻,之后經(jīng)過(guò)很長(zhǎng)的一段轉(zhuǎn)變才穩(wěn)定。
DPM++ 2S a Karras和DPM++ SDE Karras則是在不到20步就進(jìn)入了穩(wěn)定態(tài)。
訓(xùn)練集就有鉆石塊,那么AI面對(duì)陌生的環(huán)境表現(xiàn)如何呢?我們讓他來(lái)個(gè)閉卷考試,紅寶石塊(ruby, block)。


我試了幾個(gè)不同的種子。DPM Fast有時(shí)候能成功生成,有時(shí)候則不行。
基本上,各個(gè)算法給出的最終答案都是具有十字紋路的塊,雖然我也不知道是為什么。少部分算法在過(guò)程中生成了一些沒(méi)有紋路的塊,但之后就放棄了這個(gè)解。說(shuō)實(shí)話,我覺(jué)得這個(gè)沒(méi)有紋路的才應(yīng)該是正解。LMS Karras是少數(shù)自始至終都維持了這個(gè)解的算法。

幾輪測(cè)試下來(lái),我認(rèn)為在生成MC AI貼圖的問(wèn)題上,如果不想去在步數(shù)上反復(fù)調(diào)試,直接DPM Adaptive是最舒服的。它與步數(shù)無(wú)關(guān),即使step設(shè)為2也沒(méi)有問(wèn)題,而且高度穩(wěn)定,基本不會(huì)出現(xiàn)噪點(diǎn)。