DALL·E 是 OpenAI 開發的 AI 繪圖模型,專門用於生成 AI 圖像以填補 ChatGPT 中只能輸入及生成文字的限制。 DALL·E 能夠通過文字指令的描述來生成、編輯並修改各種圖像。本文將帶您深入了解 DALL·E 的功能和應用,介紹 DALL·E 背後的運作原理及各種常見問題。
DALL·E 採用了和 ChatGPT 一樣 Transformer 神經網絡算法作為該 AI 繪圖工具的核心結構。這種架構下的機器學習(Machine Learning)將用家輸入的文字描述進行分析和編碼,然後生成對應的圖像。不同於 ChatGPT 只處理文本的限制,DALL·E 的 Transformer 結構透過特定的訓練理解文字和圖像之間的關連來實現文字到圖像的轉換和生成。除了生成圖像外,用家可以在 DALL·E 裏上傳圖像,DALL·E 可以根據輸入的指令(prompt)生成超出原本圖像邊界的繪圖,甚至可以在圖像中添加陰影和修改細節。
DALL·E 1 模型利用 Discree Variational Auto-Encoder (dVAE)以生成 256×256 的圖像。dVAE 從 VQ-VAE(Vector Quantization Variational Auto-Encoder)進化而成,是生成模型(Generative Models)在利用離散潛在表示(Discrete Latent Representations)上的一大改進。原生的VQ-VAE通過結合VAE框架及向量量化(Vector Quantization)來解決後驅崩潰(Posterior collapse)等問題,並可以更有效地利用潛在空間(Latent Space)來捕捉有較意義的特徵。
source : Van den Oord et al. 2017
dVAE通過對編碼和解碼過程進行了改進,並引入更複雜的方法來編碼圖像和生成離散表示來改進模型。DALL·E1的模型訓練步驟為
圖像編碼器(Image Encoder)將輸入的圖像轉變為32x32的嵌入網格(Embeddings)來代表視覺特徵。這些嵌入被量化為8000個代碼詞並形成視覺代碼簿(Visual Codebook)
將已編碼的Text Token和Image Token串接成單一數組(Array)
進行預測並從前面的Text Token中預測下一個 Image Token。
其後在預測過程中,dVAE通過學習的編碼本預測 Image Token,然後使用dVAE解碼器解碼Image Token,並使用CLIP模型評級器選擇最佳圖像。
Source: vaclavkosar.com
CLIP 是一個由 OpenAI 推出的模型,其功用為將圖像和文本編碼成相似的嵌入向量。該模型的訓練數據集來自 WebImageText,數據包含從互聯網獲取的各種圖像和其相關標題文本,總數約 4億條。CLIP 模型使用對比學習(Constrative Learning)進行訓練,通過最大化相對應圖像和文本之間的餘弦相似度(Cosine Similarity)來編碼圖像和文本的嵌入向量。
Source: vaclavkosar.com
在 DALL·E 2 的模型訓練中,首先模型會為文本直接生成一個 CLIP 模型的文本嵌入,接著將文本嵌入生成為圖像嵌入,最後擴散解碼器(Diffusion Decoder)通過圖像嵌入生成圖像。此方法可以在保留文本嵌入中的風格和語義的情況下變化圖像。
Source: vaclavkosar.com
比較 DALL·E 1 及 DALL·E 2 生成圖像
DALL·E 的主要功能分為兩個部分,以文字生成圖像(Generate)及上傳並編輯圖像(Edit) 、填補空白(Out-painting)和重製變化版 (Variations)。相較於其他的AI繪圖工具,DALL·E 的界面亦相對比較簡單易用,用家可以較易上手。以下Preface為你詳細介紹DALL·E的主要功能:
與其他AI繪圖工具一樣,DALL·E的第一個功能為以文字生成圖像。用家只需要在輸入欄輸入指令(Prompt),DALL·E便可以為你生成對應的AI圖像。你亦可以使用「Surpries Me」來指示DALL·E生成隨機的指令。按下「Generate」後AI會根據指令生成六張圖像,按下其中一張你便可以得到一張1024x1024像素的圖像。要得到更細膩的圖像你便需要輸入更詳盡的指令,Preface為你解構AI繪圖指令技巧。
當你使用文字生成圖像後,你可以選擇任何一像圖像並重製變化版。按下界面上的「Variations」按鍵後,DALL·E會根據你的選項再生成五張額外的圖像變化。除了使用由AI為你生成的圖像重製變化版外,你亦可以上傳自選的圖像進行變化重製。首先在界面上選擇「Upload an image to edit」,上傳後選擇「Generate Varations」,DALL·E便會為你生成自選圖像的變化版。要注意的是,用家並不可以使用額外的文字指令來指示DALL·E如何為你的圖像重製變化。
雖然重製變化版並不能夠使用文字指令,DALL·E的編輯圖像功能容許用家並用文字指令。上傳圖片後選擇「Edit Image」並選擇橡膠圖案「Eraser」,輸入指令指示你希望DALL·E如何重製你擦去的空白位,AI便可以為你生成不同變化的圖像細節。以下為Dallery.Gallery的重製示範。
DALL·E不單可以為你生成圖像內的空白位變化版外,其一功能「填補空白」可以生成圖像以外的圖像填充。
source: Zapier
您需要有 OpenAI 的帳户來使用 DALL·E。 Preface 爲你介紹如何在香港地區開設OpenAI帳户。
進入 DALL·E 的網站 (https://labs.openai.com/)並根據本文上述的功能概覽簡介開始使用 DALL·E。
現時 DALL·E 並未有提供免費試用,想使用 DALL·E 的用家需要購買 credit 來生成圖像。
現時 DALL·E 收費為每 115 credit 約 15美元。 DALL·E 會根據圖像的解像度來決定圖像生成需要使用的 credit 數量。以下為各解像度的美元收費
256×256 需要 $0.016
512×512 需要 $0.018
1024×1024 需要 $0.02
在每23.5小時的使用窗口中,你只可以輸入50個指令及生成500張圖像
OpenAI有明確的內容政策,禁止有關政治和爭議議題的圖像。生成的圖像亦不可以用於製造虛假新聞或構成騷擾
不能使用公眾人物創建指令
不能上傳你沒有使用權限的圖像
不能上傳任何人類面孔的圖像
DALL·E 只爲在 2023年4月6日前創建的帳户提供每月免費 credit。每月的免費 credit 都會在該月後失效。除此以外,新用家需要購買 credit 使用 DALL·E。