“文生圖”,或者AI繪畫,最近異?;鸨?,輸入一些描述性的語句,AI就能夠生成相應的畫作。甚至引發(fā)了一個問題:AI會不會替代原畫師?AI通過學習和分析大量的數(shù)據(jù),學習到各種各樣的繪畫技巧和風格,相比于人類,花費更短的時間和更低的成本,就能創(chuàng)作出很優(yōu)秀的作品。
僅從文本描述中就能夠創(chuàng)作出非凡的視覺圖像,這已清晰地表明人類創(chuàng)作藝術的方式發(fā)生了轉變。Stable Diffusion的發(fā)布是此發(fā)展歷程中的一個里程碑事件,它為大眾提供了一個高性能的模型。
國外大牛JayAlamma 的博文 [The Illustrated Stable Diffusion](The Illustrated Stable Diffusion)形象地描述了AI圖像到底是如何被生成的,形象地解釋了什么是stable diffusion,什么是diffusion。學習完大牛的博文后,我用自己的理解向大家介紹一下Stable Diffusion的原理。
Stable Diffusion的組成
Stable Diffusion不是一個整體模型,它由幾個組件和模型組成。首先是文本理解組件
(text-understanding component ),將文本信息轉換成數(shù)字表示,以捕捉文本中的想法。其次是圖像生成器
(image generator),圖像生成器包括兩步,圖像信息創(chuàng)建者( Image information creator)和圖像解碼器(Image Decoder)。
圖像信息創(chuàng)建者這一組件運行多步以生成對象,這是stable diffusion接口和庫中的步長參數(shù),通常默認為50或者100。圖像信息創(chuàng)建者完全在圖像信息空間(隱藏空間)中工作,此特性比在像素空間中工作的擴散模型更快。
圖像解碼器根據(jù)從圖像信息創(chuàng)建者哪里獲得信息繪制圖片,它僅僅在生成最終圖像的結束階段運行一次。
上圖是stable diffusion的一個流程圖,包含了上述描述的三個組件,每個組件都有相應的神經網絡。
- **文本理解組件:**Clip Text為文本編碼器。以77 token為輸入,輸出為77 token 嵌入向量,每個向量有768維度
- **圖像信息創(chuàng)建者:**UNet+Scheduler,在潛在空間中逐步處理擴散信息。以文本嵌入向量和由噪聲組成的起始多維數(shù)組為輸入,輸出處理的信息數(shù)組。
- **圖像解碼器:**自動編碼解碼器,使用處理后的信息數(shù)組繪制最終的圖像。以處理后的維度為 4 × 64 × 64 4 \times 64 \times 64 4×64×64的信息數(shù)組為輸入,輸出尺寸為 3 × 512 × 512 3 \times 512 \times 512 3×512×512的圖像。
什么是擴散
上述我們描述過“圖像信息創(chuàng)建者”組件的功能,它以文本嵌入向量和由噪聲組成的起始多維輸入為輸出,輸出圖像解碼器用于繪制最終圖像的信息陣列。擴散是發(fā)生在下圖粉紅色“圖像信息創(chuàng)建者”組件內部的過程。
擴散這個過程是循序漸進的,每一步都會添加更多相關信息。擴散發(fā)生在多個步驟,每一步作用于一個輸入latents array,生成另一個latents array,該數(shù)組能夠更好類比輸入文本和模型從訓練模型中的所有圖像中獲取的所有視覺信息。下圖將每一步生成的latents array作為圖像解碼器的輸入,可視化了每一步中添加了什么信息。下圖的diffusion迭代了50次,隨著迭代步數(shù)的增加,latents array解碼的圖像越來越清晰。
擴散是如何工作的
擴散模型生成圖像的主要思路基于業(yè)內已有強大的計算機視覺模型這一基礎上。只要數(shù)據(jù)集夠大,模型就可以學習到更復雜的邏輯。
假設有一張照片,有一些隨機生成的噪聲,然后隨機選擇一個噪聲添加到此圖像上,這樣構成一條訓練樣本。用相同的方式可以生成大量的訓練樣本組成訓練集,然后使用這份訓練數(shù)據(jù)集,訓練噪聲預測器(UNet)。訓練結束后將會得到一個高性能的噪聲預測器,在特定配置下運行時創(chuàng)建圖像。
去噪聲繪制圖像
基于上述描述構建的噪聲訓練集訓練得到一個噪聲預測器,噪聲預測器可以產生一個噪聲圖像,如果我們從圖像中減去此生成的噪聲圖像,那么就能夠得到與模型訓練樣本盡可能接近的圖像,這個接近是指分布上的接近,比如天空通常是藍色的,人類有兩個眼等。生成圖像的風格傾向于訓練樣本存在的風格。
將文本信息添加到圖像生成器中
上述描述的擴散生成圖像并不包括任何文本圖像,但是圖像生成器的輸入包括文本嵌入向量和由噪聲組成的起始多維數(shù)組,所以調整噪聲生成器來適配文本。這樣基于大量訓練數(shù)據(jù)訓練后既可以得到圖像生成器?;谶x擇的文本編碼器加上訓練后的圖像生成器,就構成了整個stable diffusion模型。可以給定一些描述性的語句,整個stable diffusion模型就能夠生成相應的畫作。文章來源:http://www.zghlxwxcb.cn/news/detail-501474.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-501474.html
參考
- [The Illustrated Stable Diffusion](The Illustrated Stable Diffusion)
到了這里,關于【文生圖系列】Stable Diffusion原理篇的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!