前言
如果你對(duì)這篇文章感興趣,可以點(diǎn)擊「【訪客必讀 - 指引頁(yè)】一文囊括主頁(yè)內(nèi)所有高質(zhì)量博客」,查看完整博客分類與對(duì)應(yīng)鏈接。
框架
這些生成式 AI 的整體功能為:輸入「文字」,返回「圖像」,即 Text-to-image Generator:
生成器的內(nèi)部框架如下所示:
- 第一部分:Text Encoder,輸出 Text,返回對(duì)應(yīng)的 Embedding(向量);
- 第二部分:Generation Model,輸入為 Text 的 Embedding 與一個(gè)隨機(jī)生成的 Embedding(用于后續(xù)的 Diffusion 過(guò)程),返回中間產(chǎn)物(可以是圖片的壓縮版本,也可以是 Latent Representation);
- 第三部分:Decoder,輸入為圖片的壓縮版本,返回最終的圖片。
三個(gè)模塊通常是分開訓(xùn)練,再組合起來(lái),得到 Text-to-image Generator。
上述框架為通用框架,即均包含上述三個(gè)模塊,例如 Stable Diffusion:
DALL-E series:
Imagen:
文字 Encoder
GPT、Bert 均可當(dāng)作文字 Encoder,其對(duì)最終結(jié)果的影響非常大。如下圖所示(來(lái)自 Imagen 論文實(shí)驗(yàn)圖):
- 圖(a):曲線越接近框內(nèi)右下角越好,Encoder 越大效果越好,即 Encoder 見(jiàn)過(guò)的數(shù)據(jù)量越多;
- 圖(b):Generation Model 的大小對(duì)結(jié)果影響不大。
FID (Fréchet Inception Distance)
上述結(jié)果中的 FID 用于衡量生成圖片的好壞,即利用一個(gè) CNN 網(wǎng)絡(luò) (Inception Network),得到一系列原始圖像 (x) 與其對(duì)應(yīng)生成圖像 (g) 的特征表示,并假設(shè)該特征表示服從高斯分布,因此可以得到原始圖像的高斯分布
N
(
μ
x
,
Σ
x
)
\mathcal{N}(\mu_x,\Sigma_x)
N(μx?,Σx?) 與生成圖像的高斯分布
N
(
μ
g
,
Σ
g
)
\mathcal{N}(\mu_g,\Sigma_g)
N(μg?,Σg?),并將兩個(gè)分布之間的 Fréchet distance 作為最終的 FID 結(jié)果(越小越好),即:
FID
(
x
,
g
)
=
∥
μ
x
?
μ
g
∥
2
2
+
Tr
?
(
Σ
x
+
Σ
g
?
2
(
Σ
x
Σ
g
)
1
2
)
.
\text{FID}(x,g)=\|\mu_x-\mu_g\|_2^2 + \operatorname{Tr}\left(\Sigma_x+\Sigma_g-2\left(\Sigma_x \Sigma_g\right)^{\frac{1}{2}}\right).
FID(x,g)=∥μx??μg?∥22?+Tr(Σx?+Σg??2(Σx?Σg?)21?).
上述的 FID-10K 表示采樣 10K 張圖片后,計(jì)算 FID,因此 FID 的計(jì)算需要大量圖片。
CLIP (Contrastive Language-Image Pre-Training)
CLIP 是一個(gè)使用了 400 million image-text paris 訓(xùn)練得到的模型,該模型可以用于給 (Text, Generated Image) 打分,即將 Text, Image 分別丟進(jìn) Text Encoder 和 Image Encoder 中,其產(chǎn)生的 Embedding 越相近,CLIP Score 越高。
Decoder
Generation Model 的訓(xùn)練需要 (Text, Image) 成對(duì)的數(shù)據(jù),但 Decoder 的訓(xùn)練不需要文字資料,因此可供其訓(xùn)練的數(shù)據(jù)是更多的。
如果 Decoder 的輸入是圖片的壓縮版本,即小圖(例如 Imagen),則其訓(xùn)練過(guò)程為:將任意一張圖片降采樣得到一張小圖,隨后使用(小圖,原圖)的 pair 進(jìn)行訓(xùn)練,如下所示:
如果 Decoder 的輸入 Latent Representation(例如 Stable Diffusion 與 DALL-E),則訓(xùn)練過(guò)程為:訓(xùn)練一個(gè) Auto-encoder,并將其中的 Decoder 作為框架中的模塊。
Auto-encoder 的訓(xùn)練過(guò)程也非常直接,其 Encoder 負(fù)責(zé)得到圖片的 Latent Representation,Decoder 負(fù)責(zé)根據(jù) Latent Representation 生成對(duì)應(yīng)圖片,訓(xùn)練目標(biāo)是原始圖片與生成的圖片越接近越好。
通常來(lái)說(shuō)原圖尺寸為 (H, W, 3),Latent Representation 的大小為 (h, w, c),其中 h 與 w 分別小于 H 和 W。
Generation Model
在 Diffusion Model 中,我們不斷地在圖片上加噪音,得到一張隨機(jī)圖后,再逐步地去噪,最終訓(xùn)練出去噪的模型,如下所示:
而在 Generation Model 中,噪聲不是加在圖片上,而是加在中間產(chǎn)物上,即 Decoder 的輸入 Latent Representation 上,如下所示:
隨后訓(xùn)練一個(gè) Noise Predictor,輸入為「第 x 步 + 第 x 步對(duì)應(yīng)的加噪結(jié)果 + Text Embedding」,輸出為第 x 步所加的噪聲。
最后在生成圖片時(shí),輸入為「Text Embedding + 隨機(jī)高斯噪聲」,每次識(shí)別出具體的噪聲,再一步一步執(zhí)行去噪,即可得到最終的 Latent Representation,再輸入至 Decoder 即可。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-482655.html
此處需要注意,去噪的過(guò)程是「隨機(jī)高斯噪音」逐步變成「最終 Latent Representation」的過(guò)程,該過(guò)程中的每一步的 Embedding,丟進(jìn) Decoder 均可得到圖片,對(duì)應(yīng)于圖片生成時(shí),圖片逐步變清晰的過(guò)程。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-482655.html
參考資料
- Hung-yi Lee - 生成式 AI
- Stable Diffusion: High-Resolution Image Synthesis with Latent Diffusion Models
- DALL-E series: Zero-Shot Text-to-Image Generation
- DALL-E series: Hierarchical Text-Conditional Image Generation with CLIP Latents
- Imagen: website
- Imagen: Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding
到了這里,關(guān)于生成式 AI 背后的共同框架:Stable Diffusion、DALL-E、Imagen的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!