OpenAI終于Open一回:DALL-E 3論文公布、上線ChatGPT,作者一半是華人
終于,「OpenAI 又 Open 了」。在看到 OpenAI 剛剛發(fā)布的 DALL?E 3 相關(guān)論文后,一位網(wǎng)友感嘆說(shuō)。
DALL?E 3 是 OpenAI 在 2023 年 9 月份發(fā)布的一個(gè)文生圖模型。與上一代模型 DALL?E 2 最大的區(qū)別在于,它可以利用 ChatGPT 生成提示(prompt),然后讓模型根據(jù)該提示生成圖像。對(duì)于不擅長(zhǎng)編寫(xiě)提示的普通人來(lái)說(shuō),這一改進(jìn)大大提高了 DALL?E 3 的使用效率。
此外,與 DALL?E 2 相比,DALL?E 3 生成的圖質(zhì)量也更高。
DALL?E 2 與 DALL?E 3 的生成效果對(duì)比。對(duì)于同樣的 prompt「一幅描繪籃球運(yùn)動(dòng)員扣籃的油畫(huà),并伴以爆炸的星云」,左圖 DALL?E 2 在細(xì)節(jié)、清晰度、明亮度等方面顯然遜于右圖 DALL?E 3。
即使與當(dāng)前最流行的文生圖應(yīng)用 Midjourney 相比,DALL?E 3 也能打個(gè)平手甚至超越 Midjourney。而且與 Midjourney 相比,DALL?E 3 不需要用戶自己掌握復(fù)雜的 Prompt 編寫(xiě)知識(shí),使用起來(lái)門(mén)檻更低。
DALL?E 3 vs. Midjourney 文生圖效果。prompt:這幅插畫(huà)描繪了一顆由半透明玻璃制成的人心,矗立在驚濤駭浪中的基座上。一縷陽(yáng)光穿透云層,照亮了心臟,揭示了其中的小宇宙。地平線上鐫刻著一行醒目的大字 「Find the universe within you」。
這一模型的發(fā)布引發(fā)了不小的轟動(dòng),也再次鞏固了 OpenAI 技術(shù)領(lǐng)頭羊的形象。一時(shí)間,所有人都很好奇,這么炸裂的效果是怎么做到的?不過(guò),令人失望的是,當(dāng)時(shí) OpenAI 并沒(méi)有透露技術(shù)細(xì)節(jié),就像之前發(fā)布 GPT-4 時(shí)一樣。
不過(guò),一個(gè)月后,OpenAI 還是給了大家一些驚喜。在一份篇幅達(dá) 22 頁(yè)的論文中,他們闡述了針對(duì) DALL?E 3 所做的改進(jìn)。論文要點(diǎn)包括:
- 模型能力的提升主要來(lái)自于詳盡的圖像文本描述(image captioning);
- 他們訓(xùn)練了一個(gè)圖像文本描述模型來(lái)生成簡(jiǎn)短而詳盡的文本;
- 他們使用了 T5 文本編碼器;
- 他們使用了 GPT-4 來(lái)完善用戶寫(xiě)出的簡(jiǎn)短提示;
- 他們訓(xùn)練了一個(gè) U-net 解碼器,并將其蒸餾成 2 個(gè)去噪步驟;
- 文本渲染仍然不可靠,他們認(rèn)為該模型很難將單詞 token 映射為圖像中的字母
除了論文之外,OpenAI 還公布了一個(gè)重要消息:DALL?E 3 已經(jīng)正式上線 ChatGPT,Plus 用戶和 Enterprise 用戶都可以使用。以下是機(jī)器之心的試用效果:
如果對(duì)結(jié)果不滿意,你還可以直接讓它在原圖的基礎(chǔ)上修改:
不過(guò),隨著對(duì)話長(zhǎng)度的增加,生成結(jié)果變得有些不穩(wěn)定:
在文字生成方面,DALL?E 3 已經(jīng)提升了不少:
不過(guò),在面對(duì)中文時(shí),它的表現(xiàn)仍然較差:
為了保證 DALL?E 3 輸出內(nèi)容的安全性和合規(guī)性,OpenAI 也做了一些努力,確保模型輸出的內(nèi)容是被檢查過(guò)的,而且不侵犯在世藝術(shù)家的版權(quán)。
當(dāng)然,要了解 DALL?E 3 背后的技術(shù),還是要詳細(xì)閱讀論文。以下是論文介紹:
論文概覽
OpenAI 發(fā)布的 DALL?E 3 相關(guān)論文總共有 19 頁(yè),作者共有 15 位,半數(shù)為華人,分別來(lái)自 OpenAI 和微軟。
論文地址:https://cdn.openai.com/papers/dall-e-3.pdf
論文提出了一種解決提示跟隨(prompt following)問(wèn)題的新方法:文本描述改進(jìn)(caption improvement)。本文假設(shè)現(xiàn)有的文本 - 圖像模型面臨的一個(gè)基本問(wèn)題是:訓(xùn)練數(shù)據(jù)集中的文本 - 圖像對(duì)的質(zhì)量較差,這一問(wèn)題在其他研究中也已經(jīng)被指出。本文建議通過(guò)為數(shù)據(jù)集中的圖像生成改進(jìn)的文本描述來(lái)解決這個(gè)問(wèn)題。
為了達(dá)到這一目標(biāo),該研究首先學(xué)習(xí)了一個(gè)具有穩(wěn)健性的圖像文本生成器,它可以生成詳細(xì)、準(zhǔn)確的圖像描述。然后,將此文本生成器應(yīng)用到數(shù)據(jù)集以生成更詳細(xì)的文本。最終在改進(jìn)的數(shù)據(jù)集上訓(xùn)練文本 - 圖像模型。
其實(shí),用合成數(shù)據(jù)進(jìn)行訓(xùn)練并不是一個(gè)全新的概念。本文的貢獻(xiàn)主要在于研究者構(gòu)建了一個(gè)新穎的具有描述性的圖像文本系統(tǒng),并對(duì)用合成文本訓(xùn)練生成的模型進(jìn)行了評(píng)估。該研究還為一系列評(píng)估建立了一個(gè)可重復(fù)的基準(zhǔn)性能概要文件,這些評(píng)估用于測(cè)量提示執(zhí)行的情況。
在接下來(lái)的章節(jié)中,第 2 節(jié)對(duì)訓(xùn)練圖像文本生成器的策略進(jìn)行了全面概述,第 3 節(jié)對(duì)在原始文本和生成文本上訓(xùn)練的文本到圖像模型進(jìn)行了評(píng)估,第 4 節(jié)對(duì) DALL-E 3 進(jìn)行了評(píng)估,第 5 節(jié)討論了限制和風(fēng)險(xiǎn)。
下面我們看看每個(gè)章節(jié)的具體內(nèi)容。
數(shù)據(jù)集重描述(Recaptioning)
OpenAI 的文本到圖像模型是在大量 (t, i) 對(duì)組成的數(shù)據(jù)集上進(jìn)行訓(xùn)練的,其中 i 是圖像,t 是描述圖像的文本。在大規(guī)模數(shù)據(jù)集中,t 通常源于人類(lèi)作者,他們主要對(duì)圖像中的對(duì)象進(jìn)行簡(jiǎn)單描述,而忽略圖像中的背景細(xì)節(jié)或常識(shí)關(guān)系。
更糟糕的是,在互聯(lián)網(wǎng)上找到的描述往往根本不正確或者描述與圖像不怎么相關(guān)的細(xì)節(jié)。OpenAI 認(rèn)為所有的缺陷都可以使用合成描述來(lái)解決。
- 構(gòu)建圖像描述生成器
圖像描述生成器與可以預(yù)測(cè)文本的傳統(tǒng)語(yǔ)言模型非常相似。因此,OpenAI 首先提供了語(yǔ)言模型的簡(jiǎn)單描述。這里先用分詞器(tokenizer)將字符串分解為離散的 token,以這種方式分解之后,語(yǔ)料庫(kù)的文本部分就表示為了序列 t = [t_1, t_2, . . . , t_n]。然后通過(guò)最大化以下似然函數(shù)來(lái)構(gòu)建文本語(yǔ)言模型。
接下來(lái)若想將該語(yǔ)言模型轉(zhuǎn)換為描述生成器,只需要對(duì)圖像進(jìn)行調(diào)整即可。因此給定一個(gè)預(yù)訓(xùn)練的 CLIP 圖像嵌入函數(shù) F (i),OpenAI 將語(yǔ)言模型目標(biāo)做了如下增強(qiáng)。
- 微調(diào)描述生成器
為了改進(jìn)在圖像生成數(shù)據(jù)集上的描述效果,OpenAI 希望使用描述生成器來(lái)生成圖像描述,這有助于學(xué)習(xí)文本到圖像模型。
在首次嘗試中,他們構(gòu)建了一個(gè)僅能描述圖像主對(duì)象的小規(guī)模描述數(shù)據(jù)集,然后繼續(xù)在這個(gè)數(shù)據(jù)集上訓(xùn)練自己的描述生成器。該過(guò)程誘導(dǎo)的更新到 θ 使得模型偏向于描述圖像的主對(duì)象。OpenAI 將這種微調(diào)生成的描述稱(chēng)為「短合成描述」。
OpenAI 做了第二次嘗試,創(chuàng)建了一個(gè)更長(zhǎng)的、描述更豐富的文本數(shù)據(jù)集,來(lái)描述微調(diào)數(shù)據(jù)集中每個(gè)圖像的內(nèi)容。這些描述包括圖像的主對(duì)象,以及周?chē)鷮?duì)象、背景、圖像中的文本、風(fēng)格、顏色。
他們?cè)谠摂?shù)據(jù)集上對(duì)基礎(chǔ)文本生成器進(jìn)行進(jìn)一步微調(diào),并將該文本生成器生成的文本稱(chēng)為「描述性合成描述」。下圖 3 展示了真值、短合成和描述性合成描述的示例。
評(píng)估重描述(re-captioned)數(shù)據(jù)集
OpenAI 利用重描述數(shù)據(jù)集,開(kāi)始評(píng)估訓(xùn)練模型對(duì)合成文本的影響。他們尤其試圖回答以下兩個(gè)問(wèn)題:
- 使用每種類(lèi)型的合成描述對(duì)性能有什么影響
- 合成描述與真值描述的最佳混合比例是多少?
- 合成與真值描述混合
像文本到圖像擴(kuò)散模型這樣的似然模型都有一個(gè)不好的傾向,即對(duì)數(shù)據(jù)集中的分布規(guī)律過(guò)擬合。當(dāng)說(shuō)到在合成描述上訓(xùn)練時(shí),則需要考慮這個(gè)問(wèn)題。
OpenAI 的描述生成器模型可能有很多難以檢測(cè)的模態(tài)行為,但如果該模型基于描述進(jìn)行訓(xùn)練,則這些行為將變成文本到圖像模型的偏差。
解決這一問(wèn)題的最佳方法是:將「輸入」正則化為更接近人類(lèi)可能使用的風(fēng)格和格式的文本分布。使用真值描述時(shí),你可以「自由」獲得,這是由于它們實(shí)際上是從人類(lèi)文本分布中提取的。此外,為了在使用合成描述時(shí)將正則化引入到自己的模型訓(xùn)練中,OpenAI 選擇將合成描述與真值描述混合使用。
混合操作在數(shù)據(jù)采樣時(shí)進(jìn)行,這時(shí) OpenAI 以固定的百分比隨機(jī)選擇真值或合成描述。
- 評(píng)估方法
在評(píng)估時(shí),OpenAI 在相同的圖像數(shù)據(jù)集上訓(xùn)練了相同的 T5-conditioned 圖像擴(kuò)散模型。所有的模型均以 2048 的 batch 大小訓(xùn)練了 500000 步,相當(dāng)于 1B 張訓(xùn)練圖像。
訓(xùn)練完成后,OpenAI 使用評(píng)估數(shù)據(jù)集上的描述來(lái)為每個(gè)模型生成 50000 張圖像。接著使用 Hessel et al. (2022) 的 CLIP-S 評(píng)估指標(biāo)對(duì)這些生成的圖像進(jìn)行評(píng)估。他們選擇 CLIP 分?jǐn)?shù)作為指標(biāo),該指標(biāo)與文本圖像相似度有很強(qiáng)的相關(guān)性。
OpenAI 首先使用公共 CLIP ViT-B/32 圖像編碼器來(lái)生成一個(gè)圖像嵌入 z_i,然后使用文本編碼器來(lái)為圖像描述 z_t 創(chuàng)建一個(gè)文本嵌入,最后將 CLIP 分?jǐn)?shù)計(jì)算為余弦距離 C。
接下來(lái)針對(duì)為所有 50000 個(gè)文本 / 圖像對(duì)計(jì)算的余弦距離,OpenAI 執(zhí)行了平均操作,并做了 100 倍重縮放(rescale)。
在計(jì)算 CLIP 分?jǐn)?shù),選擇使用哪個(gè)描述非常重要。對(duì)于 OpenAI 的測(cè)試,他們要么使用真值描述,要么使用描述性合成描述。同時(shí),每次評(píng)估時(shí)都注明使用了哪個(gè)描述。
- 描述類(lèi)型結(jié)果
OpenAI 首先分析了基于三類(lèi)描述訓(xùn)練的模型之間的性能差異,為此訓(xùn)練了以下三個(gè)模型:
- 僅在真值描述上訓(xùn)練的文本到圖像模型
- 在 95% 短合成描述上訓(xùn)練的文本到圖像模型
- 在 95% 描述性合成描述上訓(xùn)練的文本到圖像模型
OpenAI 進(jìn)行了兩次評(píng)估,一次使用根據(jù)真值描述計(jì)算的 z_t,一次使用根據(jù)描述性合成描述計(jì)算的 z_t。這里沒(méi)有選擇短合成描述的原因是,它們與本次評(píng)估中的真值情況非常相似。
結(jié)果如下圖 4 所示,其中在合成描述上訓(xùn)練的模型會(huì)得到比在真值描述上評(píng)估的基線模型好一些的 CLIP 分?jǐn)?shù)性能,并且在描述性合成描述上評(píng)估時(shí)性能會(huì)明顯更好。這表明在訓(xùn)練文本到圖像模型時(shí)使用合成描述沒(méi)有缺陷。
- 描述混合比例
為了評(píng)估描述混合比例,OpenAI 使用不同混合比例的描述性合成描述,訓(xùn)練了四個(gè)圖像生成模型。他們分別選擇了 65%、80%、90% 和 95% 的合成描述混合比例。他們發(fā)現(xiàn),實(shí)驗(yàn)進(jìn)行到一半時(shí),65% 的混合比例在所有評(píng)估中遠(yuǎn)遠(yuǎn)落后于其他比例,因此放棄不用。
下圖 5 中的結(jié)果表明,合成描述混合比例越高,CLIP 分?jǐn)?shù)往往越高,兩者呈正比關(guān)系。
DALL-E 3
為了大規(guī)模測(cè)試合成文本,本文對(duì) DALL-E 3 進(jìn)行了訓(xùn)練。訓(xùn)練過(guò)程中,本文混合使用了 95% 的合成文本和 5% 的真實(shí)文本。比較模型包括 DALL-E 2 以及 Stable Diffusion XL 1.0。
在 CLIP 得分評(píng)估中,DALL-E 3 優(yōu)于 DALL-E 2 和 Stable Diffusion XL;在 Drawbench 基準(zhǔn)評(píng)估中,DALL-E 3 同樣優(yōu)于 DALL-E 2 和 Stable Diffusion XL。
本文還將 DALL-E 3 生成的樣例與其他模型生成的結(jié)果進(jìn)行了對(duì)比。他們通過(guò)向人類(lèi)評(píng)分員展示由相同描述生成的兩張并排的圖像進(jìn)行評(píng)分,評(píng)分中包括三個(gè)方面:提示跟隨(Prompt following) 、風(fēng)格(Style)、連貫性( Coherence )。
- 提示跟隨:給評(píng)分 yuan 提供完整的圖像描述內(nèi)容,要求評(píng)分員選擇更符合文本描述的圖像;
- 風(fēng)格:讓評(píng)分員想象一下自己正在借助一些工具根據(jù)文本生成圖像。如果你自己正在使用此工具,請(qǐng)選擇你希望看到的圖像;
- 連貫性:讓評(píng)分員選擇哪張圖像包含更連貫的對(duì)象,例如從人的身體部位、面部和姿勢(shì)、對(duì)象的位置等方面做出判斷。
結(jié)果顯示,DALL-E 3 在所有三個(gè)方面,尤其是在提示跟隨方面,DALL-E 3 生成的圖像在大多數(shù)情況下都比所有競(jìng)爭(zhēng)對(duì)手更受人類(lèi)評(píng)分者的青睞。
限制與風(fēng)險(xiǎn)
本文的最后一章是大家比較關(guān)心的關(guān)于限制與風(fēng)險(xiǎn)的問(wèn)題。雖然 DALL-E 3 在 prompt 跟隨方面表現(xiàn)出色,但它仍然在空間感知等方面表現(xiàn)不佳。例如,DALL-E 3 不能很好的理解左邊、下面、后面等表示方位的詞語(yǔ)。
此外,在構(gòu)建文本描述生成器時(shí),本文著重考慮了一些突出的引導(dǎo)詞(prominent words),這些引導(dǎo)詞存在于原本圖像以及生成的描述中。因此,DALL-E 3 可以在出現(xiàn) prompt 時(shí)生成文本。在測(cè)試過(guò)程中,本文注意到此功能并不可靠。本文懷疑這可能與使用 T5 文本編碼器有關(guān):當(dāng)模型遇到 prompt 中的文本時(shí),它實(shí)際上會(huì)看到代表整個(gè)單詞的 token,并且將它們映射到圖像中出現(xiàn)的文本。在未來(lái)的工作中,本文希望進(jìn)一步探索字符級(jí)語(yǔ)言模型,以幫助改善 DALL-E 3 面臨的這種限制。
最后,本文還觀察到,合成的文本還會(huì)讓生成的圖片在重要細(xì)節(jié)上產(chǎn)生幻覺(jué)。這對(duì)下游任務(wù)產(chǎn)生了一定的影響,本文也表示,DALL-E 3 在為特定術(shù)語(yǔ)生成圖像方面并不可靠。不過(guò),該研究相信,對(duì)圖像文本描述的完善能進(jìn)一步改進(jìn) DALL-E 3 的生成結(jié)果。