0
本文作者: 我在思考中 | 2022-09-30 15:56 |
作者 | 李梅、施方圓
編輯 | 陳彩嫻
作為一個(gè)強(qiáng)大、公開(kāi)且足夠簡(jiǎn)單的模型,最近大火的 Stable Diffusion 在文本生成圖像之外,給了大家無(wú)限的創(chuàng)作可能性。
最近,來(lái)自 Lambda Labs 的機(jī)器學(xué)習(xí)研究員 Justin Pinkney 對(duì)該模型進(jìn)行了微調(diào),構(gòu)建了一個(gè)神奇寶貝生成器!
來(lái)看一些有趣的例子~
下圖是輸入名字后生成的一些神奇寶貝:戴珍珠耳環(huán)的少女、奧巴馬、特朗普、鮑里斯·約翰遜、龍貓、Hello Kitty。
Lady Gaga、鮑里斯·約翰遜、普京、默克爾、特朗普、柏拉圖:
耶穌基督:
除了現(xiàn)有的角色和公共人物,你還可以輸入一個(gè)描述來(lái)生成自己想象的神奇寶貝:骷髏祭司
你也可以輸入自己的姓名或網(wǎng)名,生成屬于自己的神奇寶貝形象。這可太酷了,推特上的網(wǎng)友紛紛用自己的名字展開(kāi)創(chuàng)作,看看自己如果變成神奇寶貝會(huì)是什么樣子。
圖注:網(wǎng)友 Elizabeth Holmes 的神奇寶貝形象
圖注:網(wǎng)友 Upbeatblue 的神奇寶貝形象
圖注:網(wǎng)友 Onion-sama 的神奇寶貝形象
輸入一些漫畫(huà)角色的名字也可以獲得相匹配的神奇寶貝:
而那些陪伴人們童年的神奇寶貝在這個(gè)生成器中也有了新的樣貌:皮卡丘、妙蛙種子、噴火龍、樹(shù)才怪、路卡利歐、夢(mèng)幻。
Pinkney 在推特上展示了這個(gè)神奇寶貝生成器的訓(xùn)練過(guò)程。
他表示,Stable Diffusion 是一個(gè)很好的通用模型,但要獲得特定風(fēng)格的輸出不是件容易的事,這通常需要做大量枯燥的工作,制作復(fù)雜的文本提示庫(kù),或者你也可以偷懶只對(duì)圖像生成模型進(jìn)行微調(diào)。
Pinkney 在神奇寶貝圖像的數(shù)據(jù)集上對(duì)初始的 Stable Diffusion 進(jìn)行了微調(diào)。
首先是構(gòu)建一個(gè)數(shù)據(jù)集。數(shù)據(jù)集包含神奇寶貝圖像和對(duì)應(yīng)的文本描述,比如妙蛙種子被描述成“一個(gè)紅眼睛的綠色神奇寶貝圖像”,綠毛蟲(chóng)則被描述為“一個(gè)長(zhǎng)著紅鼻子的綠黃兩色玩具”。
圖注:神奇寶貝數(shù)據(jù)集
當(dāng)然,這些描述不是人工完成的,而是使用了神經(jīng)網(wǎng)絡(luò)來(lái)代勞,即圖像描述模型 BLIP。雖然這些描述還不是十分完美,但也足夠用了。
然后,他在 A6000 上只花費(fèi)了幾個(gè)小時(shí)對(duì) AI 模型進(jìn)行訓(xùn)練,讓模型學(xué)習(xí)以神奇寶貝的風(fēng)格來(lái)生成圖像,但將先前的知識(shí)保留一段時(shí)間,最終對(duì)數(shù)據(jù)集產(chǎn)生過(guò)擬合。
開(kāi)始時(shí),樣本是正常圖像的樣子,然后逐漸獲得神奇寶貝的風(fēng)格,隨著訓(xùn)練的繼續(xù),最終呈現(xiàn)一個(gè)與原始提示不同的神奇寶貝圖像:
這是一種很簡(jiǎn)單的微調(diào),但它運(yùn)行得非常好。有了這樣一個(gè)微調(diào)后的模型,無(wú)論你給它什么提示,它都會(huì)生成神奇寶貝。所以不必再煞費(fèi)苦心地想提示語(yǔ)了。
在創(chuàng)建神奇寶貝時(shí),你可以選擇輸出多個(gè):
圖注:帶翅膀的機(jī)械貓
Pinkney 表示,歡迎大家用更復(fù)雜的方式把這個(gè)模型專門(mén)地用在新領(lǐng)域。像這樣的小工具就是 Stable Diffusion 這類 AI 模型開(kāi)源好處的體現(xiàn)。
這個(gè)模型在網(wǎng)上引起創(chuàng)作熱潮后,Pinkney 又發(fā)布了一篇博客補(bǔ)充了一些額外的工作細(xì)節(jié)。
他發(fā)現(xiàn),令人驚訝的是,這個(gè)模型竟然設(shè)法記住了初始 Stable Diffusion 的一些通用知識(shí),而它只是在一個(gè)有限的數(shù)據(jù)集上訓(xùn)練了幾千步。但是,對(duì)神奇寶貝進(jìn)行微調(diào)時(shí),模型實(shí)際上很快就會(huì)開(kāi)始過(guò)度擬合,如果只是以一種簡(jiǎn)單的方式從中采樣,模型就會(huì)為新的提示生成胡言亂語(yǔ)式的神奇寶貝,也就是說(shuō),它已經(jīng)災(zāi)難性地遺忘了它所訓(xùn)練的原始數(shù)據(jù))。但是 Stable Diffusion 在訓(xùn)練期間保持模型的指數(shù)移動(dòng)平均 (EMA) 版本,通常用于推理。
因此,如果使用 EMA 權(quán)重,我們實(shí)際上是在使用原始模型和微調(diào)模型的平均值。事實(shí)證明,這對(duì)于生成神奇寶貝而言是必不可少的。此外,你還可以通過(guò)直接將新模型與初始模型的權(quán)重進(jìn)行平均來(lái)微調(diào)效果,以控制生成神奇寶貝的數(shù)量。微調(diào)和對(duì)模型進(jìn)行平均的操作可以將原始內(nèi)容與微調(diào)后的風(fēng)格有效混合。
圖注:左邊是完全微調(diào)的模型,右邊是只微調(diào)注意力層的模型。
另外,你也可以凍結(jié)模型的不同部分來(lái)進(jìn)行微調(diào),比如上圖是兩種微調(diào)方式的生成效果,可以看到,只微調(diào)了注意力層的模型可以生成更正常的 Yoda,但并不太擅長(zhǎng)制作神奇寶貝。
參考鏈接:https://www.justinpinkney.com/pokemon-generator/
雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng))
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。