Aditya Ramesh講DALL·E 2基本原理 原創
DALL·E 2是由Aditya Ramesh和OpenAI的合著者們開發的一種文本到圖像生成系統。當系統接收到一個標題時,它會嘗試從頭開始生成一幅與之匹配的新穎圖像。它還具備以下額外功能:
- 修復:使用語言對圖像進行編輯;
- 變異(圖1):生成新圖像,這些圖像與給定參考圖像具有相同的本質,但在細節的組合方式上有所不同;
- 文本差異(圖4):使用語言轉換圖像的任何方面。

圖1:雷·潘在黑板涂鴉上的DALL·E 2變異。中間是原始涂鴉,周圍顯示生成的變異。
DALL·E 2的工作原理是基于兩種關鍵技術:CLIP和擴散。CLIP是一種模型,通過自然語言監督有效地學習視覺概念。它由文本編碼器和圖像編碼器組成,通過在大量不同的圖像-文本對上進行訓練,將輸入映射到共享的概念空間。訓練過程中,CLIP接收一組圖像列表和相應的描述,形成匹配對和不匹配對。編碼器的訓練目標是將匹配對映射到相近的點,將不匹配對映射到較遠的點。這樣的訓練目標鼓勵CLIP學習關于圖像的各種特征,比如對象、風格、顏色等。
擴散模型用于生成新圖像。它是一種通過逐步撤銷一系列固定程度的損壞步驟來逐漸完善生成圖像的技術。擴散模型允許生成具有廣泛視覺概念的高質量圖像。
總之,DALL·E 2將CLIP學習從文本中獲取視覺概念的能力與擴散模型生成多樣化且高質量圖像的能力相結合。
DALL·E 2的基礎系統稱為unCLIP,它基于兩項關鍵技術:CLIP和擴散。正如博客中所述,CLIP是一種“通過自然語言監督有效地學習視覺概念”的模型。擴散是一種通過學習逆轉一系列固定損壞步驟的生成模型的技術。接下來講簡要描述這兩種技術。

圖2:對CLIP的對比訓練目標進行說明。在每個訓練步驟中,CLIP接收到N=32,786個圖像及其對應的標題。從中,形成了N個匹配的圖像-標題對(對應于圖示中矩陣的對角元素),以及N(N?1)個不匹配的標題和圖像對(對應于圖示中非對角元素)。
CLIP由兩個神經網絡組成——文本編碼器和圖像編碼器,它們在大量多樣化的圖像-文本對上進行訓練。每個編碼器將其輸入映射到一個球體上的一個點(稱為嵌入),該球體作為兩種模態共享的“概念空間”。在每個訓練步驟中,CLIP接收到一組圖像和相應的描述它們的標題。利用這些數據,可以形成兩種類型的圖像-文本對:匹配對,其中圖像與其對應的標題配對,以及不匹配對,其中圖像與任何其他標題配對。編碼器被訓練以將匹配對映射到球體上的相鄰點,而將不匹配對映射到較遠的點。
這個簡單的訓練目標在機器學習中被稱為“對比訓練”。它鼓勵CLIP學習關于人們在網上可能寫的圖像的所有特征。這些特征包括物體的存在、審美風格、使用的顏色和材料等。相比之下,CLIP通常不被激勵去保留關于物體的相對位置或哪些屬性適用于哪些物體的信息。因此,CLIP很難區分一個紅色立方體放在藍色立方體上的圖像與兩個物體位置交換的另一個圖像。原因在于CLIP訓練目標的性質:CLIP只被激勵學習圖像的特征,以使其能夠與正確的標題(而不是列表中的其他標題)匹配。除非它收到一個反例(即提到藍色立方體放在紅色立方體上的標題),否則CLIP不會學習保留關于物體相對位置的信息。
擴散模型通過學習逆轉一系列固定損壞步驟來訓練。損壞過程的每個步驟向圖像中添加一小部分噪音(具體來說是高斯噪音),從而擦除其中的一些信息。經過最后一步,圖像變得與純噪音無法區分。擴散模型經過訓練以逆轉這個過程,并通過這樣做學會在每個步驟中重新生成可能被擦除的內容。為了從頭開始生成圖像,從純噪音開始,并假設它是應用于真實圖像的損壞過程的最終結果。然后,重復應用模型來逆轉這個假設的損壞過程的每一步。這逐漸使圖像變得越來越真實,最終生成一個原始、無噪音的圖像。
DALL·E 2以兩個階段的過程生成圖像,首先生成圖像的“概要”,然后填充剩余的細節以獲得逼真的圖像。在第一階段,稱為prior的模型從給定的標題生成CLIP圖像嵌入(用于描述圖像的“概要”)。有人可能會問為什么需要這個prior模型:既然CLIP文本編碼器訓練得到的輸出與圖像編碼器相匹配,為什么不使用文本編碼器的輸出作為圖像的“概要”?答案是一個給定標題可能與無數個圖像一致,因此這兩個編碼器的輸出不會完全一致。因此,需要一個單獨的prior模型來“翻譯”文本嵌入,使其能夠與之相匹配的圖像嵌入。在第二階段稱為unCLIP的擴散模型從這個嵌入中生成圖像本身。在訓練的每個步驟中,unCLIP接收到待重構的圖像的損壞版本,以及干凈圖像的CLIP圖像嵌入。這個模型被稱為unCLIP,因為它有效地逆轉了CLIP圖像編碼器所學到的映射。由于unCLIP訓練以“填充細節”以產生逼真圖像的方式,它將學會建模所有CLIP認為與其訓練目標無關且因此丟棄的信息。

圖3:Alex Nichol創建的用于生成具有擴散模型的新圖像的過程的示意圖。
有幾個原因使得使用這種兩階段采樣過程具有優勢,在這里討論其中的兩個。論文進一步討論了兩階段采樣過程的其他優點。首先可以優先模擬使圖像對人類有意義的高級語義,而不是其他細節。圖像包含了大量信息,其中大部分用于描述細微的、難以察覺的細節。只有其中相對較少的一部分信息對于使圖像在視覺上連貫且有意義至關重要,而CLIP圖像嵌入捕捉了其中很多信息。直接在CLIP圖像嵌入上訓練模型能夠首先專注于模擬這些顯著特征,然后再在第二階段填充細節,以合成逼真的圖像。

圖4:使用文本差異動畫將維多利亞式房屋轉變為現代房屋。轉變由標題“維多利亞式房屋”和“現代房屋”決定,前者描述了房屋的建筑風格,后者描述了房屋的建筑風格應如何改變。
第二個原因是CLIP的多模態嵌入空間能夠使用一種稱為文本差異的技術對圖像應用“前后”轉換。在2013年,word2vec展示了可以獲得一個對文本進行向量計算可解釋的“概念空間”。例如,word2vec將詞語“queen”映射到與計算“woman” + “king” - “man”結果接近的位置,這使得可以完成類似于標準化測試中遇到的類比問題。CLIP進一步擴展了這一點,允許在文本和圖像上進行算術運算,例如
(維多利亞式房屋的圖像)+“現代房屋”-“維多利亞式房屋”。
使用unCLIP,可以將CLIP概念空間中的點轉化回圖像,并在將圖像的嵌入沿著“前”標題(“維多利亞式房屋”)和“后”標題(“現代房屋”)指定的方向移動時,對正在發生的變化進行視覺檢查。動畫展示了這個軌跡,并提供了直觀上期待的證據,即開始的維多利亞式房屋圖像確實正在被“現代化”。當然,文本差異不僅限于建筑:轉換可以是任何可以用語言表達的“前后”的概念,這使得它成為一種多功能且強大的工具。
譯自(有刪改):http://adityaramesh.com/posts/dalle2/dalle2.html
本文轉載自公眾號AIGC最前線
原文鏈接:??https://mp.weixin.qq.com/s/EOqQ2XiA05GDSCh3KbyBmw??

















