InvokeAI官方視頻 - AI創(chuàng)造圖像的底層邏輯

InvokeAI官方視頻 - AI創(chuàng)造圖像的底層邏輯
InvokeAI官方視頻 - AI創(chuàng)造圖像的底層邏輯
要理解diffusion以及如何用它創(chuàng)造新內(nèi)容,我們首先要明白機(jī)器是如何在訓(xùn)練集上學(xué)習(xí)圖像的。在訓(xùn)練過程中,機(jī)器會(huì)獲得一個(gè)帶有描述的圖像,例如“紅色椅子前的帽子”。然后,它們會(huì)觀察圖像如何通過添加噪聲而轉(zhuǎn)變,直到圖像完全變得不可理解。接著,機(jī)器會(huì)從噪聲開始,反向生成圖像,盡量接近原始圖像。通過反復(fù)這樣做,機(jī)器變得非常擅長(zhǎng)根據(jù)文本描述從噪聲中生成圖像。我們稱這個(gè)過程為去噪,即從噪聲輸入轉(zhuǎn)化為圖像。
當(dāng)模型在訓(xùn)練時(shí),一個(gè)圖像和一個(gè)文本描述被傳入,機(jī)器觀察潛在的圖像變成噪聲,然后模型的任務(wù)是從產(chǎn)生的噪聲中重新創(chuàng)建那個(gè)圖像。通過在廣泛的訓(xùn)練數(shù)據(jù)上這樣做,模型開始像字典一樣理解每張圖片中的每個(gè)詞,并開始為圖像中的每個(gè)詞定義含義。
當(dāng)我們考慮如何使用這些模型開發(fā)新圖片時(shí),我們傳入一個(gè)文本提示,模型根據(jù)對(duì)這些詞的理解,將噪聲轉(zhuǎn)化為結(jié)果圖像。去噪過程不是一次性完成的,而是通過一系列稱為去噪步驟的步驟完成的。這些步驟是由一個(gè)調(diào)度器組織和指導(dǎo)的,它決定如何執(zhí)行這些步驟,如何在去噪時(shí)間線上安排這些步驟,以及如何將噪聲解釋為結(jié)果圖像。
使用diffusion模型時(shí),重要的是要理解提示和模型是如何互動(dòng)的。許多流行的圖像生成服務(wù),如Dolly和mid-journey,會(huì)為你修改提示,幫助你得到一個(gè)美觀的結(jié)果圖像。但這實(shí)際上限制了你控制提示模型的能力。Invoke和許多其他穩(wěn)定的diffusion界面不會(huì)在傳遞給模型之前修改你的提示,所以真正理解如何從系統(tǒng)中獲得你想要的主題和風(fēng)格是很重要的。
這是一個(gè)有用的框架,可以幫助你開發(fā)一個(gè)強(qiáng)大的提示。但我建議你查看社區(qū)內(nèi)容,學(xué)習(xí)特定的術(shù)語和提示結(jié)構(gòu),以獲得你想要的結(jié)果圖像。在這種情況下,我創(chuàng)建了一個(gè)由類別、質(zhì)量修飾符和一般美學(xué)或組成術(shù)語組成的主題和風(fēng)格的提示。我們可以看到這個(gè)提示生成的幾個(gè)圖像。重要的是要理解,如果你使用相同的設(shè)置和相同的噪聲,你通常會(huì)得到相同的圖片。這意味著,如果我們想通過添加新的術(shù)語或向系統(tǒng)添加負(fù)提示(告訴模型我們不想看到什么)來實(shí)驗(yàn),我們可以更好地理解單個(gè)術(shù)語對(duì)我們圖像的影響。
在這種情況下,我添加了“joyful”這個(gè)術(shù)語,并添加了一個(gè)負(fù)提示,說我們不想要任何陰郁或神秘的東西。結(jié)果,圖像看起來更加明亮和歡慶。如果我們比較原始圖像和新圖像,如果我們追求一個(gè)更快樂的美學(xué),新圖像肯定更符合這一點(diǎn)。再次,我們生成的圖像之間的結(jié)構(gòu)相似性的原因是因?yàn)槲覀儽3至讼嗤脑肼?。在diffusion中,這是由一個(gè)稱為種子的數(shù)字控制的。如果你使用相同的種子,將生成相同的噪聲,你將能夠復(fù)制或?qū)嶒?yàn)?zāi)愕膱D像。
當(dāng)我們考慮去噪時(shí)間線時(shí),我們可以考慮從1到0的倒計(jì)時(shí)。這是一個(gè)重要的概念,當(dāng)我們談?wù)撓駡D像到圖像這樣的事情時(shí),它允許我們?cè)谌ピ脒^程中傳入一個(gè)額外的提示,但這個(gè)提示不是一個(gè)基于文本的提示,而是一個(gè)圖像提示或一個(gè)初始圖像。圖像到圖像的過程將我們的噪聲和初始圖像合并成一個(gè)噪聲圖像,然后在其上進(jìn)行去噪過程。
如果你在時(shí)間線上查看這個(gè),我們的原始提示照片,例如一輛車上的向日葵,將在一系列步驟中生成我們的原始圖片。這沒有任何類型的圖像提示,它只是標(biāo)準(zhǔn)的去噪過程。但是,如果我們添加一個(gè)圖像提示,我們將被提供一個(gè)新的選項(xiàng),稱為去噪強(qiáng)度。去噪強(qiáng)度
決定了在噪聲損壞中留下多少噪聲,以及在去噪過程中還剩下多少步驟來獲得結(jié)果圖像。換句話說,去噪強(qiáng)度決定了結(jié)果圖像應(yīng)該看起來多像你提供的原始圖像提示。如果你有一個(gè)高的去噪強(qiáng)度,你將在去噪過程的早期提供它,機(jī)器學(xué)習(xí)模型將有更多的時(shí)間和更多的噪聲來生成圖像中的新內(nèi)容。如果去噪強(qiáng)度低,這意味著在這個(gè)圖表的右側(cè)更多,我們將給模型更少的時(shí)間和更少的噪聲來生成新的圖像,這意味著它看起來更接近我們的圖像提示。
舉個(gè)例子,我使用相同的種子、提示和圖像提示生成了下面的四個(gè)圖像。當(dāng)我們有一個(gè)非常高的去噪強(qiáng)度時(shí),這意味著我們?cè)谶^程的早期注入圖像,有很多噪聲,機(jī)器學(xué)習(xí)模型生成的東西看起來與我們的輸入相當(dāng)不同。然而,當(dāng)我們?cè)谌ピ霃?qiáng)度上越來越低時(shí),我們的圖像提示看起來越來越接近我們的結(jié)果圖像。
我不能強(qiáng)調(diào)理解這個(gè)概念有多重要,因?yàn)樗谠S多高級(jí)技術(shù)中都被使用,如in painting和out painting,以及控制適配器,我接下來會(huì)談到。
隨著控制適配器的發(fā)布,如control net,我們現(xiàn)在有能力用額外的信息,如結(jié)構(gòu)、深度或風(fēng)格,來調(diào)節(jié)去噪過程,這些都對(duì)去噪過程產(chǎn)生了巨大的影響。每個(gè)控制適配器都有一個(gè)設(shè)置,允許你定義去噪過程中調(diào)節(jié)開始和結(jié)束的時(shí)間點(diǎn)。
我馬上就會(huì)跳到Invoke中來展示這是如何工作的,但重要的是要理解,早期應(yīng)用到生成過程的控制適配器將對(duì)圖像的整體結(jié)構(gòu)和組成產(chǎn)生更大的影響,而在生成過程結(jié)束時(shí)應(yīng)用的控制適配器將更多地影響圖像的具體細(xì)節(jié)。
讓我們看看當(dāng)我們添加一個(gè)控制適配器到這個(gè)機(jī)器人生成時(shí)會(huì)發(fā)生什么。你會(huì)注意到,我已經(jīng)創(chuàng)建了一個(gè)可愛的外星機(jī)器人提示,并使用相同的噪聲生成這張圖片。我已經(jīng)關(guān)閉了隨機(jī)設(shè)置,但我會(huì)保留其他所有的設(shè)置。我們?cè)谖业目刂七m配器部分要做的是啟用我的control net,并使用soft Edge模型。我已經(jīng)傳入了一個(gè)我之前使用的生成,我使用它作為soft Edge的靈感??刂七m配器正在做的是將這個(gè)轉(zhuǎn)換成一個(gè)可以在去噪過程中作為調(diào)節(jié)信息使用的預(yù)處理圖像。
當(dāng)我生成這個(gè)圖像時(shí),它將根據(jù)我設(shè)置的開始和結(jié)束步驟百分比應(yīng)用到去噪過程中。對(duì)于這個(gè)生成,我會(huì)讓它在整個(gè)去噪過程中生成。這將傳入這個(gè)控制適配器來調(diào)節(jié)去噪,并定義結(jié)果圖像的結(jié)構(gòu)和細(xì)節(jié)。讓我們?cè)囋嚳?,你?huì)看到,它生成了一個(gè)新的圖像,映射到預(yù)處理圖像中識(shí)別的許多soft edges。你甚至?xí)⒁獾?,臉上的一些奇特的線條被解釋為這個(gè)機(jī)器人盔甲上的裂縫。
所以,如果我們把InStep百分比降低到,比如說,60%,我們?cè)谌ピ脒^程的最后步驟中使用了更少的控制適配器。讓我們看看這會(huì)得到什么。我們看到,控制適配器的很多結(jié)構(gòu)都在結(jié)果圖像中,但一些奇怪的細(xì)節(jié),如盔甲上的裂縫,實(shí)際上已經(jīng)被重新解釋成了一些更加連貫的東西。我們給了機(jī)器學(xué)習(xí)模型更多的靈活性來解釋圖像,并在沒有應(yīng)用調(diào)節(jié)信息的情況下完成圖像。從去噪過程的最后一系列步驟中移除控制適配器可以給你更多的靈活性和自由,這是你可以玩的東西,看看如何獲得你想要的圖像。
現(xiàn)在,如果我們對(duì)開始步驟做同樣的事情,比如說,移除前25%的步驟,我們實(shí)際上并沒有為圖像的初始組成提供控制適配器調(diào)節(jié)。通常,除非你知道你在做什么,否則這可能是不可取的,我們馬上就會(huì)看到為什么。這將對(duì)圖像的整體組成產(chǎn)生很大的影響,因?yàn)樗谠缙谑褂昧嗽嫉姆N子和原始的圖像結(jié)構(gòu),然后在后面加入了這個(gè)控制適配器,這可能與它一直在生成的結(jié)構(gòu)或組成不匹配。讓我們看看會(huì)發(fā)生什么。你可以明顯地看到,這有一些奇怪的問題。在生成周期的早期,你可以看到它開始生成我們?cè)紙D像的這種組成。所以,這種突然的變化現(xiàn)在意味著,我們?cè)诓徽嬲c我們傳入的控制適配器調(diào)節(jié)匹配的區(qū)域中得到
了高光和陰影,導(dǎo)致了一個(gè)比我們可能想要的更低質(zhì)量的圖像。
現(xiàn)在,你可以復(fù)制一個(gè)控制適配器,然后我們可以在生成的中間有更多的靈活性。我們將開始生成,并允許結(jié)構(gòu)由我們的調(diào)節(jié)來定義,我們將在中間給予它很多的自由,然后我們將用一些調(diào)節(jié)來完成它,讓我們看看這對(duì)我們有什么用。因?yàn)槲覀冎豢刂屏巳ピ脒^程的前25%,很多那些早期的結(jié)構(gòu)步驟都沒有被調(diào)節(jié),結(jié)果圖像與我們?cè)嫉目刂七m配器圖像有很大的不同。它的質(zhì)量比我們根本沒有提供任何早期調(diào)節(jié)的時(shí)候高得多。所以,如果我們?cè)黾拥娇赡苁?5%,我們?cè)谥虚g給予更多的自由,我們可能會(huì)發(fā)現(xiàn)一個(gè)更接近我們?cè)伎刂七m配器圖像的圖像。
正如你所看到的,理解你的文本提示、圖像提示和控制適配器是如何在去噪時(shí)間線上使用的,可以讓你更好地理解如何結(jié)構(gòu)你傳入系統(tǒng)的內(nèi)容,以獲得與你的創(chuàng)意愿景和需求相一致的輸出。
我希望這是一個(gè)有助于你了解diffusion基本原理的簡(jiǎn)介。我鼓勵(lì)你給我反饋。這是太技術(shù)性了嗎?還是不夠技術(shù)性?還有更多你想學(xué)習(xí)但我們沒有涉及的內(nèi)容嗎?無論是什么,都讓我們知道。我們有更多的內(nèi)容即將推出,幫助你更好地理解和利用所有正在被納入Invoke的高級(jí)技術(shù)。在此之前,祝你去噪愉快!