iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0
AI & Data

圖像生成 AI 的原理與應用系列 第 27

[Day 27] 簡介 Stable Diffusion、DALL·E 和 Imagen 的模型架構

  • 分享至 

  • xImage
  •  

之前玩了好幾天的文字生成影像服務~但這些熱門服務是如何達到那麼好的影像生成效果呢?今天的文章就是要簡單介紹這些服務背後的 AI 模型架構。/images/emoticon/emoticon08.gif

Stable Diffusion、DALL·E 系列和 Imagen 這三種模型都有發表 paper,基本上這些模型都由三個部分組成:

  1. 文字編碼器(text encoder):將輸入文字壓縮並轉成生成模型看得懂的資訊/向量(通常稱為 latent representation,隱含的表徵)
  2. 生成模型(generation model):依照文字壓縮向量產生影像壓縮向量。值得注意的是,模型不是直接產生影像喔!它輸出的影像壓縮向量,可以是一張解析度低的小圖,也可以是人看不懂但帶有影像資訊的向量。而生成模型可以是我們之前認識的 GAN、VAE、flow-based model、diffusion model 任一種,不過通常還是選用 diffusion model
  3. 解碼器(decoder):從影像的壓縮向量還原出影像

以上三個部分會分開訓練再組合起來。

Stable Diffusion

https://ithelp.ithome.com.tw/upload/images/20231006/201625222yB9NKOXIS.jpg
(圖片來源:High-Resolution Image Synthesis with Latent Diffusion Models

Stable Diffusion 如前面概述所提到的,也可以分為三個部分。

最右邊 "Conditioning" 的部分可以將條件壓縮為 latent representation,而且依照架構圖,它不只能處理文字條件的輸入,也能處理影像、表徵等其他條件。

中間 "Latent Space" 呈現的是利用 diffusion model 產生影像的 latent representation(也就是前面提到的壓縮向量),而條件的 latent representation 會在每一個 step 也一起輸入到 denoise 模組中,引導影像 latent representation 的生成。而由於這個 diffusion model 生成的是影像的 latent representation,因此被稱為 latent diffusion model。

最左邊的 "Pixel Space" 呈現的則是將影像的 latent representation 重建/解碼為影像的過程,通過這個步驟我們就可以獲得精美的影像了~~/images/emoticon/emoticon07.gif

DALL·E 系列

https://ithelp.ithome.com.tw/upload/images/20231006/20162522z0Hr2gQKwY.jpg
(圖片來源:Hierarchical Text-Conditional Image Generation with CLIP Latents

DALL·E 系列基本上也是一樣的道理。上圖的虛線以上呈現的是模型的訓練過程,虛線以下則是實際生成影像的過程。

如同先前描述的,DALL·E 首先有一個 text encoder 來處理文字條件/prompt,得到壓縮的語意向量,接著通過 diffusion model 或 autoregressive model 得到和文字對應的影像 latent representation。最後,影像 latent representation 輸入到 decoder 就可以得到完整的影像了!而 DALL·E 使用的 decoder 其實也是 diffusion model。

Imagen

https://ithelp.ithome.com.tw/upload/images/20231006/201625226qajqPT8mO.jpg
(圖片來源:Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding

Imagen 生成影像的流程圖其實蠻清楚的,一樣是用 text encoder 來將文字 prompt 壓縮成 text embedding(也就是先前提到的壓縮向量或 latent representation),接著用 diffusion model 得到和文字對應的 64x64 的小圖。和前面模型不同的是,Imagen 的生成模型產生出來的東西是人看得懂的影像,只是解析度較低。最後會再用兩個 diffusion models 將生成的小圖逐漸放大,就可以得到我們期望的高解析度影像了!


上一篇
[Day 26] 我要成為詠唱大師!AI 繪圖詠唱技巧整理
下一篇
[Day 28] Stable Diffusion 的兩三事:速覽 Stable Diffusion paper
系列文
圖像生成 AI 的原理與應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言