跳至主要內容
OpenAI

2021年1月5日

里程碑

DALL·E:根據文字生成圖片

我們訓練出一套名為 DALL·E 的神經網路,可根據說明文字生成圖片,涵蓋自然語言能表達的各種概念。

DALL·E

插圖: Justin Jay Wang

載入中…

DALL·E 是一個具有 120 億參數的 GPT‑3(在新視窗中開啟) 版本,經過含有文字與圖像對應的資料集訓練,能根據文字描述產生圖片。我們發現它功能豐富,能創造擬人化的動物或物體、巧妙結合不相關的概念、把文字融入圖像,甚至修改現有圖片。

另請參閱: DALL·E 2,此模型可生成更寫實準確的圖片,且解析度提高 4 倍。

載入中...

GPT‑3 證明了可透過語言指引大型神經網路執行各種文字生成任務, Image GPT 則證明同類型的神經網路也能用來生成細節逼真的圖片。我們延伸這些研究結果,證實以語言操控視覺概念的技術已觸手可及。

概覽

如同 GPT‑3,DALL·E 也是採用 Transformer 架構的語言模型,它可透過單一資料序列同時接收文字與圖片資訊 (最多 1280 個 token),並以最大概似法逐步生成每個 token。A

這樣的訓練程序讓 DALL·E 不僅能從零生成圖片,也能根據文字提示,重新生成現有圖片中任意矩形區域的內容,並往右下角延伸。

我們深知生成式模型的相關應用可能對社會造成重大且廣泛的影響。未來我們打算分析 DALL·E 這類模型與社會議題的關聯性,例如對某些工作流程和職業的經濟影響、模型輸出可能存在的偏見,以及這項科技帶來的長期倫理挑戰。

功能

我們發現,DALL·E 能理解刻意測試語言組成結構的各種句子,並生成合理的圖片。下一節將運用一系列互動圖像來說明這一點。針對每段說明文字展示的圖片樣本,都是先由 CLIP 重新排序 512 張,再從中篩選出最符合描述的前 32 張,唯有顯示在外部的縮圖和獨立圖片是人工選出。B

控制屬性

我們測試了 DALL·E 修改多項物體屬性的能力,以及物體出現的次數。

載入中...

繪製多個物體

要同時控制多個物體、各自的屬性和彼此的空間關係,是一項全新挑戰。例如,假設提示句是「身著紅色帽子、黃色手套、藍色襯衫和綠色長褲的刺蝟」,若要正確解釋這句話,DALL·E 不只須正確地將每項衣物與動物組合在一起,還得建立關聯性 (帽子,紅色)、(手套,黃色)、(襯衫,藍色) 和 (長褲,綠色) 並確保不會混淆C

 針對這項能力,我們測試了 DALL·E 在判斷相對位置、堆疊物體和控制多個屬性方面的表現。

載入中...

雖然 DALL·E 在控制少數物體的屬性和位置方面已有一定能力,但成功率仍然取決於說明文字的表達方式。涉及的物體越多,DALL·E 就越容易混淆物體之間的關聯和各自的顏色,成功率也會大幅下降。我們也注意到,在這些情況下,DALL·E 對「換句話說」的處理還不穩定,如果替換成語意相同的不同措辭,通常就會生成不符合描述的圖片。

視覺化觀點和立體感

我們還發現 DALL·E 能夠控制場景的視角,以及場景呈現出的 3D 風格。

載入中...

為了進一步測試這項能力,我們讓 DALL·E 連續以固定間隔的角度反覆繪製同一個名人的頭部,結果發現可以製作成流暢的轉頭動畫。

載入中...

DALL·E 似乎能對場景套用某些類型的光學變形效果,像是用「魚眼鏡頭」和「360 度全景相機」拍出來的影像。這項發現激起我們的好奇心,想探討它生成反射效果的能力。

載入中...

視覺化內外部結構

透過「大特寫」和「X 光」風格的樣本,我們進一步探索了 DALL·E 在描繪剖面圖和以微距攝影方式呈現外部結構的表現。

載入中...

推斷情境細節

將文字轉成圖片的這項任務本身的定義並不明確,一段說明文字通常可以對應無數張合理的圖片,因此並不存在唯一的正確答案。舉例來說,如果說明文字是「一隻水豚坐在日落田野間的畫作」,根據水豚面對的方向,可能必須畫出陰影,不過提示中絕對不會明確提到這項細節。我們針對三個情境,探討 DALL·E 應對定義不夠明確情況的能力:改變風格、場景和時間;繪製不同情況下的相同物體;以及生成帶有特定文字的物體圖片。

載入中...

DALL·E 可透過自然語言使用 3D 渲染引擎的部分功能,不過表現尚不穩定。它可以獨立控制少量物體的屬性,以及在有限程度上控制物體數量和彼此的相對位置。此外,還能控制從哪個位置和視角呈現場景,以及依照指定的角度與光線條件精確生成已知物體。

3D 渲染引擎必須指定明確的輸入內容並提供完整細節;而 DALL·E 的不同之處在於,當說明文字僅暗示圖片中需要包含某項細節卻未明確描述時,DALL·E 通常也能理解並合理補全畫面。

應用上述能力

接下來,我們將上述能力運用在時尚和室內設計領域。

載入中...

結合不相關的概念

語言具有組合的特性,使我們能夠拼湊出各種概念,不僅可以描述現實中的事物,也能表達想像中的東西。我們發現 DALL·E 也能將彼此無關的概念結合起來,生成全新的物體,其中有些甚至在現實世界中不可能存在。我們透過兩個例子探討這項能力:其一是把不同概念的特質轉移到動物上,其二則是以毫不相關的概念為靈感來設計產品。

載入中...

動物插圖

在前一節中,我們探討了 DALL·E 結合不相關概念來生成真實物體圖片的能力。以下我們將探討這項能力在藝術情境中的表現,並透過三種類型的插圖來呈現:擬人化的動物與物體、動物嵌合體,以及表情符號。

載入中...

零樣本 (Zero-shot) 視覺推理

GPT‑3 可單純根據描述和提示執行各種任務,不需要進行任何額外訓練,就能仿照提示中的答案範例來生成答案。舉例來說,如果提示為「以下是『一個男人在公園裡遛狗』這句話的法文翻譯:」,GPT‑3 的答案就會是「un homme qui promène son chien dans le parc」。這項功能稱為零樣本推理。 我們發現 DALL·E 能將這項能力延伸至視覺領域,只要提供適當的提示,它便能執行各種圖片轉換任務。

載入中...

我們並未對神經網路或訓練流程做任何修改來催生這項能力,會出現這項能力完全在我們的意料之外。受到先前測試結果的啟發,我們希望評估 DALL·E 解決類比推理問題的能力,因此採用瑞文氏圖形推理測驗 (一種在 20 世紀廣泛使用的視覺智力測驗) 進行測試。

載入中...

地理知識

我們發現 DALL·E 對地理知識、著名景點和各種社區已有一定了解,但是對這些概念的理解,某些部分出乎意料地準確,有些地方卻還不盡理想。

載入中...

時間知識

除了探討 DALL·E 對隨空間而改變的概念知識,我們也研究了它對時間變化概念的理解。

載入中...

研究方法和過往研究摘要

DALL·E 模型僅使用 Transformer 架構中的解碼器,能透過單一資料序列同時接收文字與圖片資訊 (共 1280 個 token,其中 256 個來自文字,1024 個來自圖片),並以自回歸方式依序建模這些 token。DALL·E 共有 64 個自注意力層,每層的注意力遮罩都允許每個圖片 token 自由參照所有文字 token。DALL·E 對文字 token 採用標準因果遮罩,處理圖像 token 時則結合稀疏注意力,並依層而定採用列、行或卷積注意力模式。如需更多有關架構和訓練流程的詳細資訊,請參閱我們的研究論文(在新視窗中開啟)

Reed 等人1利用條件式生成對抗網路 (GAN),根據文字向量 (embedding) 生成圖片。自從這項開創性的研究成果發表以來,文字轉圖片便成為熱門的研究領域。產生這些向量的編碼器受過預先訓練,訓練方法採用類似 CLIP 的對比損失函數。StackGAN3 與 StackGAN++4 採用多階段 GAN,逐步提高圖片的解析度和真實感。AttnGAN5 在文字與圖片特徵之間引入注意力機制,並提出圖文特徵對比損失函數作為模型的輔助訓練目標。我們的 CLIP 是在離線狀態下處理重新排序作業,與這套做法形成有趣對比。另一項研究267在訓練過程中加入額外的監督訊號,目的是提升圖片品質。最後,Nguyen 等人8和 Cho 等人9探討了以取樣為基礎的圖片生成策略,並運用預先訓練好的多模態判別模型。

類似 VQVAE-2(在新視窗中開啟) 採用的拒絕取樣法,我們使用 CLIP 來針對每段說明文字重新排序 512 個樣本,篩選出最符合描述的前 32 張圖片,運用在互動式視覺介面中,這套流程也可視為某種語言引導式搜尋16,而且能顯著提高樣本品質。

載入中...

註腳

  1. A

    token 指的是指定離散詞彙表中的一個符號;對人類來說,每個英文字母就是 26 個字母中的一個 token。DALL·E 的詞彙表同時包含文字和圖片概念的 token。具體來說,每段圖片說明文字最多會用 256 個經過 BPE 編碼的 token 來表示 (詞彙表共有 16384 個詞彙);而圖片則會轉換成 1024 個 token (詞彙表中共 8192 個詞彙)。

訓練時是以 256x256 解析度預先處理圖片。類似於 VQVAE,我們使用連續鬆弛方法預先訓練的離散 VAE,將每張圖片壓縮成 32x32 格狀隱藏碼。我們發現,透過這種鬆弛訓練方法,不需要明確的編碼簿、指數移動平均 (EMA) 損失函數或無作用程式碼復活等技巧,便能擴大詞彙表規模。

  1. B

    進一步詳細資訊請參閱後續章節

  2. 17

    這個做法稱為「變數繫結」,在學術文獻中已有廣泛研究。

參考資料

  1. 1

    Reed, S., Akata, Z., Yan, X., Logeswaran, L., Schiele, B., Lee, H.(2016).“Generative adversarial text to image synthesis(在新視窗中開啟)”.In ICML 2016.

  2. 2

    Reed, S., Akata, Z., Mohan, S., Tenka, S., Schiele, B., Lee, H.(2016).“Learning what and where to draw(在新視窗中開啟)”.In NIPS 2016.

  3. 3

    Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang X., Metaxas, D.(2016).“StackGAN:Text to photo-realistic image synthesis with stacked generative adversarial networks(在新視窗中開啟)”.In ICCY 2017.

  4. 4

    Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X., Metaxas, D.(2017).“StackGAN++: realistic image synthesis with stacked generative adversarial networks(在新視窗中開啟)”.In IEEE TPAMI 2018.

  5. 5
  6. 6

    Li, W., Zhang, P., Zhang, L., Huang, Q., He, X., Lyu, S., Gao, J.(2019).“Object-driven text-to-image synthesis via adversarial training(在新視窗中開啟)”.In CVPR 2019.

  7. 7

    Koh, J. Y., Baldridge, J., Lee, H., Yang, Y.(2020).“Text-to-image generation grounded by fine-grained user attention(在新視窗中開啟)”.In WACV 2021.

  8. 8
  9. 9

    Cho, J., Lu, J., Schwen, D., Hajishirzi, H., Kembhavi, A.(2020).“X-LXMERT:Paint, caption, and answer questions with multi-modal transformers(在新視窗中開啟)”.EMNLP 2020.

  10. 10

    Kingma, Diederik P., and Max Welling.“Auto-encoding variational bayes(在新視窗中開啟).” arXiv preprint (2013).

  11. 11

    Rezende, Danilo Jimenez, Shakir Mohamed, and Daan Wierstra.“Stochastic backpropagation and approximate inference in deep generative models(在新視窗中開啟).” arXiv preprint (2014).

  12. 12
  13. 13
  14. 14

    van den Oord, A., Vinyals, O., Kavukcuoglu, K.(2017).“Neural discrete representation learning(在新視窗中開啟)”.

  15. 15

    Razavi, A., van der Oord, A., Vinyals, O.(2019).“Generating diverse high-fidelity images with VQ-VAE-2(在新視窗中開啟)”.

  16. 16

    Andreas, J., Klein, D., Levine, S.(2017).“Learning with Latent Language(在新視窗中開啟)”.

  17. 17
  18. 18
  19. 19
  20. 20

主要作者

Aditya Ramesh、Mikhail Pavlov、Gabriel Goh和Scott Gray

參與作者

Mark Chen、Rewon Child、Vedant Misra、Pamela Mishkin、Gretchen Krueger、Sandhini Agarwal和Ilya Sutskever