?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-502633.html
一、導(dǎo)讀
論文信息
- 論文標(biāo)題: 《Hierarchical Text-Conditional Image Generation with CLIP Latents》
- 作者/單位:Aditya Ramesh et al. / Open AI
- 論文鏈接:?http://arxiv.org/abs/2204.06125
- 論文中文對(duì)照版:論文筆記:DALL-E2:Hierarchical Text-ConditionalImage Generation with CLIP Latents詳解_nocol.的博客-CSDN博客
- 代碼鏈接: 非官方實(shí)現(xiàn)?https://github.com/lucidrains/DALLE2-pytorch?(OpenAI官方實(shí)現(xiàn)待更新)
- 項(xiàng)目主頁(yè): 待更新
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-502633.html
CLIP(打通文本-圖像模型)相關(guān)講解:
- 詳解CLIP (一) | 打通文本-圖像預(yù)訓(xùn)練實(shí)現(xiàn)ImageNet的zero-shot分類(lèi),比肩全監(jiān)督訓(xùn)練的ResNet50/101
- 詳解CLIP (二) | 簡(jiǎn)易使用CLIP-PyTorch預(yù)訓(xùn)練模型進(jìn)行圖像預(yù)測(cè)
- 小小將:神器CLIP:連接文本和圖像,打造可遷移的視覺(jué)模型
- 徐土豆:CLIP-對(duì)比圖文多模態(tài)預(yù)訓(xùn)練的讀后感
- 如何評(píng)價(jià)OpenAI最新的工作CLIP:連接文本和圖像,zero shot效果堪比ResNet50?
?
?論文筆記:CLIP:Learning Transferable Visual Models From Natural Language Supervision詳解_nocol.的博客-CSDN博客
clip預(yù)訓(xùn)練模型綜述_nocol.的博客-CSDN博客
?
擴(kuò)散模型Diffusion Model相關(guān)講解:
- Jonathan Ho et al.“Denoising diffusion probabilistic models.” arxiv Preprint arxiv:2006.11239 (2020).
- xjtupanda:DDPM:Denoising Diffusion Probabiblistic Model 去噪擴(kuò)散概率模型學(xué)習(xí)筆記
- 理想主義者:生成模型(四):擴(kuò)散模型
通俗理解DDPM:生成擴(kuò)散模型_nocol.的博客-CSDN博客
二、DALL·E 2 模型解讀
?
DALL·E 2 模型總覽
DALL·E 2 這個(gè)模型的任務(wù)很簡(jiǎn)單:輸入文本text,生成與文本高度對(duì)應(yīng)的圖片。
它主要包括三個(gè)部分:CLIP,先驗(yàn)?zāi)Kprior和img decoder。其中CLIP又包含text encoder和img encoder。(在看DALL·E 2之前強(qiáng)烈建議先搞懂CLIP模型的訓(xùn)練和運(yùn)作機(jī)制)
?
DALL·E 2 訓(xùn)練過(guò)程
DALL·E 2是將其子模塊分開(kāi)訓(xùn)練的,最后將這些訓(xùn)練好的子模塊拼接在一起,最后實(shí)現(xiàn)由文本生成圖像的功能。
1. 訓(xùn)練CLIP,使其能夠編碼文本和對(duì)應(yīng)圖像
這一步是與CLIP模型的訓(xùn)練方式完全一樣的,目的是能夠得到訓(xùn)練好的text encoder和img encoder。這么一來(lái),文本和圖像都可以被編碼到相應(yīng)的特征空間。對(duì)應(yīng)上圖中的虛線以上部分。
2. 訓(xùn)練prior,使文本編碼可以轉(zhuǎn)換為圖像編碼
論文中對(duì)于該步驟作用的解釋為:
A prior?P(zi|y)?that produces CLIP image embeddings?zi?conditioned on captions?y?.
?
實(shí)際的訓(xùn)練過(guò)程為:將CLIP中訓(xùn)練好的text encoder拿出來(lái),輸入文本y,得到文本編碼zt。同樣的,將CLIP中訓(xùn)練好的img encoder拿出來(lái),輸入圖像?x?得到圖像編碼zi。我們希望prior能從zt獲取相對(duì)應(yīng)的zi。假設(shè)zt經(jīng)過(guò)prior輸出的特征為zi′,那么我們自然希望zi′與zi越接近越好,這樣來(lái)更新我們的prior模塊。最終訓(xùn)練好的prior,將與CLIP的text encoder串聯(lián)起來(lái),它們可以根據(jù)我們的輸入文本y生成對(duì)應(yīng)的圖像編碼特征zi了。關(guān)于具體如何訓(xùn)練prior,有興趣的小伙伴可以精度一下原文,作者使用了主成分分析法PCA來(lái)提升訓(xùn)練的穩(wěn)定性。
?
在DALL·E 2 模型中,作者團(tuán)隊(duì)嘗試了兩種先驗(yàn)?zāi)P停鹤曰貧w式Autoregressive (AR) prior 和擴(kuò)散模型Diffusion prior [1]。實(shí)驗(yàn)效果上發(fā)現(xiàn)兩種模型的性能相似,而因?yàn)閿U(kuò)散模型效率較高,因此最終選擇了擴(kuò)散模型作為prior模塊。本文不具體解釋擴(kuò)散模型,大家可以查閱參考博文,或者我后期再整理相關(guān)知識(shí)。
3. 訓(xùn)練decoder生成最終的圖像
論文中對(duì)于該步驟作用的解釋為:
A decoder?P(x|zi,y)?that produces images?x?conditioned on CLIP image embeddingszi?(and optionally text captions?y?).
?
也就是說(shuō)我們要訓(xùn)練decoder模塊,從圖像特征zi還原出真實(shí)的圖像?x?,如下圖左邊所示。這個(gè)過(guò)程與自編碼器類(lèi)似,從中間特征層還原出輸入圖像,但又不完全一樣。我們需要生成出的圖像,只需要保持原始圖像的顯著特征就可以了,這樣以便于多樣化生成,例如下圖右邊的示例。
?
?
?
左:訓(xùn)練decoder的過(guò)程。右:圖像經(jīng)過(guò)img encoder再經(jīng)decoder得到重建圖像。頂部圖像為輸入。
DALL-E 2使用的是改進(jìn)的GLIDE模型 [2]。這個(gè)模型可以根據(jù)CLIP圖像編碼的zi,還原出具有相同與?x?有相同語(yǔ)義,而又不是與?x?完全一致的圖像。
?
?
DALL·E 2 推理過(guò)程(由文本生成圖像過(guò)程)
經(jīng)過(guò)以上三個(gè)步驟的訓(xùn)練,已經(jīng)可以完成DALL·E 2預(yù)訓(xùn)練模型的搭建了。我們這事丟掉CLIP中的img encoder,留下CLIP中的text encoder,以及新訓(xùn)練好的prior和decoder。這么一來(lái)流程自然很清晰了:由text encoder將文本進(jìn)行編碼,再由prior將文本編碼轉(zhuǎn)換為圖像編碼,最后由decoder進(jìn)行解碼生成圖像。
?
DALL·E 2 推理過(guò)程?
三、DALL·E 2實(shí)驗(yàn)效果和不足之處
實(shí)驗(yàn)效果
看下DALL·E 2 在MS-COCO prompts上的生成效果:
?
不足之處
本文作者提到了DALL·E 2的三個(gè)不足之處:
- DALL·E 2 容易將物體和屬性混淆,比如下圖 DALL·E 2(unCLIP) 與GLIDE的對(duì)比。提示的文字為:“a red cube on top of a blue cube”。
?
DALL·E 2與GLIDE由“a red cube on top of a blue cube”生成的圖像
DALL·E 2 不容易將紅色和藍(lán)色分辨出來(lái)。這可能來(lái)源于CLIP的embedding過(guò)程沒(méi)有將屬性綁定到物體上;并且decoder的重建過(guò)程也經(jīng)?;煜龑傩院臀矬w,如下圖所示,例如中間的柯基圖片,有的重建結(jié)果將其帽子和領(lǐng)結(jié)的顏色搞反了。
?
decoder經(jīng)?;煜龑傩院臀矬w
2. DALL·E 2對(duì)于將文本放入圖像中的能力不足,如下圖所示,我們希望得到一個(gè)寫(xiě)著deep learning的標(biāo)志,而標(biāo)志卻將單詞/詞組拼寫(xiě)得很離譜。這個(gè)問(wèn)題可能來(lái)源于CLIP embedding不能精確地從輸入地文本提取出“拼寫(xiě)”信息。
?
DALL·E 2由“A sign that says deep learning.”生成的圖像
3.DALL·E 2 在生成復(fù)雜場(chǎng)景圖片時(shí),對(duì)細(xì)節(jié)處理有缺陷,如下圖所示生成Times Square的高質(zhì)量圖片。這個(gè)可能來(lái)源于decoder的分層(hierarchy)結(jié)構(gòu),先生成64 × 64的圖像,再逐步上采樣得到最終結(jié)果的。如果將decoder先生成的圖像分辨率提高,比如從64 × 64提升到128 × 128,那么這個(gè)問(wèn)題可能可以緩解,但要付出更大計(jì)算量和訓(xùn)練成本的代價(jià)。
?
?
DALL·E 2由“A high quality photo of Times Square.”生成的圖像
待更新內(nèi)容:代碼實(shí)現(xiàn)以及上手使用(OpenAI仍未開(kāi)源,目前可先使用非官方實(shí)現(xiàn)代碼)
?原文鏈接:DALL·E 2 解讀 | 結(jié)合預(yù)訓(xùn)練CLIP和擴(kuò)散模型實(shí)現(xiàn)文本-圖像生成-pudn.com
?
?
?
到了這里,關(guān)于DALL·E 2 解讀 | 結(jié)合預(yù)訓(xùn)練CLIP和擴(kuò)散模型實(shí)現(xiàn)文本-圖像生成的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!