衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

擴散模型和其在文本生成圖像任務上的應用

深度學習自然語言處理 ? 來源:RUC AI Box ? 作者:楊錦霞 ? 2022-08-03 15:34 ? 次閱讀

本文主要介紹擴散模型和其在文本生成圖像任務上的應用,從擴散模型的理論知識開始,再到不同的指導技巧,最后介紹文本生成圖像的應用,帶讀者初探擴散模型的究竟。如有遺漏或錯誤,歡迎大家指正。

引言:擴散模型是一類生成模型,通過迭代去噪過程將高斯噪聲轉換為已知數據分布的樣本,生成的圖片具有較好的多樣性和寫實性。文本生成圖像是多模態的任務之一,目前該任務的很多工作也是基于擴散模型進行構建的,如GLIDE、DALL·E2、Imagen等,生成的圖片讓人驚嘆。本文從介紹擴散模型的理論部分開始,主要介紹DDPM一文中涉及到的數學公式,然后介紹擴散模型中常用到的指導技巧,最后會介紹文本生成圖像的一些應用。 1. 擴散模型

8d166234-0f27-11ed-ba43-dac502259ad0.png

上圖展示了擴散模型的兩個過程。其中,從右到左(從到)表示正向過程或擴散過程,從左到右(從到)表示的是逆向過程。擴散過程逐步向原始圖像添加高斯噪聲,是一個固定的馬爾科夫鏈過程,最后圖像也被漸進變換為一個高斯噪聲。而逆向過程則通過去噪一步步恢復原始圖像,從而實現圖像的生成。下面形式化介紹擴散過程、逆擴散過程和目標函數,主要參考DDPM[1]論文和What are Diffusion Models?[2]博客內容。1.1 擴散過程設原始圖像,擴散過程進行步,每一步都向數據中添加方差為每一步都向數據中添加方差為,最終。所以,由馬爾科夫鏈的無記憶性,可對擴散過程進行如下定義:

8d2bf996-0f27-11ed-ba43-dac502259ad0.png

所以,擴散過程的均值和方差是已知的,其均值為,方差為。 擴散過程有一個顯著特性,我們可以對任意 進行采樣。為了證明該性質需要使用參數重整化技巧:假設要從高斯分布中采樣時,可以先從采樣出 ,然后計算 ,這樣可以解決梯度無法回傳問題。 所以首先將進行重參數化:設, 故: 設,: 其中 ,第三行到第四行進行了兩個正態分布的相加。所以,重整化后 ,即 1.2 逆擴散過程 逆擴散過程是從給定的高斯噪聲中恢復原始數據,也是一個馬爾可夫鏈過程,但每個時刻 的均值和方差需要我們去學習,所以,我們可以構建生成模型 : 1.3 目標函數擴散模型使用負對數似然最小化的思想,采用近似的技術等價地要求負對數似然最小化。同時,由于KL散度具有非負性,因而將和的KL散度添加至負對數似然函數中,形成新的上界。 對于全部的訓練數據,添加上式兩邊同乘 ,即:對上式進行化簡:上式中第四行到第五行,利用了馬爾可夫鏈的無記憶性和貝葉斯公式:第六行到第七行是第二個求和符號展開并化簡的結果。 上述過程在DDPM論文中的附錄部分也有展示。 觀察可知,項的兩個分布均已知,同時DDPM文中將項設置為一個特殊的高斯分布。故最后的目標只和有關。 同時,雖然無法直接給出,但當我們加入作為條件時,設 類似上面的處理,根據貝葉斯公式和馬爾可夫性質,可知 然后由公式(1)(4)可知: 由于高斯分布的概率密度函數是: 將上面兩個式子進行一一對應,可以得到均值: 所以,由高斯分布的KL散度計算式可知,可化為: 因此,我們可以直觀地看到其目標含義是模型預測的均值要盡可能和接近。然后,由公式 可知,輸入 不含參數,則在給定時,若 能夠預測出,則也能夠計算出均值,所以同樣進行參數重整化,可得: 所以: DDPM論文中最終的簡化目標為: 所以可以看出,從預測均值變為了直接預測噪聲,加快了推理速度。 2. Guided Diffusion DDPM論文提出之后,擴散模型就可以生成質量比較高的圖片,具有較強的多樣性,但是在具體的指標數值上沒有超過GAN。同時,在協助用戶進行藝術創作和設計時,對生成的圖像進行細粒度控制也是一個重要的考慮因素。所以之后嘗試將一些具體的指導融入擴散模型中去。 2.1 Classifier Guidance 用于圖像生成的GAN的相關工作大量使用了類標簽,而我們也希望生成的圖片更加寫實,所以有必要探索在類標簽上調整擴散模型。具體來說,Diffusion Models Beat GANs[3]一文中使用了額外的分類器,在前面我們描述的無條件的逆向過程的基礎上,將類別作為條件進行生成,具體公式如下:

8d3bc394-0f27-11ed-ba43-dac502259ad0.png

上式的含義是加入類別作為條件進行生成,可以看作無條件的生成和分類兩者的結合。具體而言,用分類模型對生成的圖片進行分類,得到預測與目標類別的交叉熵,從而使用梯度幫助模型的采樣和生成。 實際中,分類器是在噪聲數據上訓練的。 采樣過程的算法如下:

8d4b8f90-0f27-11ed-ba43-dac502259ad0.png

可以看到該過程中同時學習均值和方差,然后加入分類器的梯度引導采樣過程。 2.2 Semantic Diffusion Guidance (SDG) 看到分類器指導的圖像生成的有效性后,自然而然可以想到:是否可以將圖像類別信息換為其他不同類型的指導呢?比如使用CLIP模型作為圖像和文本之間的橋梁,實現文本指導的圖像生成。 Semantic Diffusion Guidance(SDG)[4]是一個統一的文本引導和圖像引導框架,通過使用引導函數來注入語義輸入,以指導無條件擴散模型的采樣過程,這使得擴散模型中的生成更加可控,并為語言和圖像引導提供了統一的公式。

8d5e1dae-0f27-11ed-ba43-dac502259ad0.png

8d6cffcc-0f27-11ed-ba43-dac502259ad0.png

從采樣過程可以看出,不同的引導其實就是中的不同,可以是文本、圖像,也可以是兩者的結合。 2.3 Classifier-Free Guidance 以上方法都是使用了額外的模型,成本比較高,而且須在噪聲數據上進行訓練,無法使用預訓練好的分類器。Classifier-Free Guidance[5]一文提出在沒有分類器的情況下,純生成模型可以進行引導:共同訓練有條件和無條件擴散模型,并發現將兩者進行組合,可以得到樣本質量和多樣性之間的權衡。 原來分類器指導的式子如下,表示條件,和含義類似:

8d77242a-0f27-11ed-ba43-dac502259ad0.png

Classifier-Free Guidance方法將模型的輸入分為兩種,一種是無條件的 ,另一種是有條件的,使用一個神經網絡來參數化兩個模型,對于無條件模型,我們可以在預測分數時簡單地為類標識符設為零,即。我們聯合訓練無條件和條件模型,只需將隨機設置為無條件類標識符即可。然后,使用以下有條件和無條件分數估計的線性組合進行抽樣:

8d893034-0f27-11ed-ba43-dac502259ad0.png

3. 應用

3.1 GLIDE OpenAI的GLIDE[6]將擴散模型和Classifier-Free Guidance進行結合去生成圖像。同時文中比較了兩種不同的引導策略:CLIP Guidance和Classifier-Free Guidance,然后發現Classifier-Free Guidance在照片寫實等方面更受人類評估者的青睞,并且通常會產生很逼真的樣本,并能實現圖像編輯。其中,Classifier-Free Guidance中的條件是文本。

8d977284-0f27-11ed-ba43-dac502259ad0.png

下表是GLIDE在MS-COCO上的實驗結果。

8dae878a-0f27-11ed-ba43-dac502259ad0.png

除了零樣本生成之外,GLIDE還具有編輯功能,允許迭代地改進模型樣本。 3.2 DALL·E 2 DALL·E2[7]利用CLIP來生成圖像,提出了一個兩階段模型:一個先驗prior網絡用于生成一個給定文本下的 CLIP 圖像嵌入,一個解碼器decoder在給定圖像編碼的情況下生成圖像。DALL·E2對解碼器使用擴散模型,并對先驗網絡使用自回歸模型和擴散模型進行實驗,發現后者在計算上更高效,并產生更高質量的樣本。 具體來說:

prior :在給定文本條件下生成CLIP圖像的編碼,并且文中探索了兩種實現方式:自回歸和擴散,均使用classifier-free guidance,并且發現擴散模型的效果更好:

8dbaafec-0f27-11ed-ba43-dac502259ad0.png

注意此處目標和前面有所不同,prior直接去預測圖像特征,而不是預測噪聲

decoder:在圖像編碼(和可選的文本標題)條件下生成圖像;使用擴散模型并利用classifier-free guidance和CLIP guidance在給定CLIP圖像編碼的情況下生成圖像。為了生成高分辨率圖像,訓練了兩個擴散上采樣模型,分別用于將圖像從64*64上采樣到256*256、進一步上采樣到1024*1024。

將這兩個部分疊加起來會得到一個生成模型可以在給定標題下生成圖像:。第一個等號是由于和是一對一的關系。

所以DALL·E2可以先用prior采樣出,然后用decoder得到;

DALL·E2能夠生成高分辨率、風格多樣的圖片,并且能夠給定一張圖,生成許多風格類似的圖片;可以進行兩張圖片的插值,實現風格的融合等,在具體數值上也超越了GLIDE。

8dc9dd32-0f27-11ed-ba43-dac502259ad0.png

3.3 Imagen 下圖是谷歌提出的Imagen[8]的模型架構:

8dd80f56-0f27-11ed-ba43-dac502259ad0.png

Imagen由一個文本編碼器和一連串條件擴散模型組成。

預訓練文本編碼器:語言模型是在文本語料庫上訓練的,該語料庫比配對的圖像-文本數據要大得多,因此可以接觸到非常豐富和廣泛的文本分布。文中使用Frozen Text Encoder進行文本的編碼

擴散模型和classifier-free guidance:使用前面提到的classifier-free guidance,將文本編碼作為條件,進行圖像的生成。同樣,后面也有兩個擴散模型進行分辨率的提升,最終可以生成1024*1024分辨率的圖像。文本到圖像擴散模型使用改進的U-Net 架構,生成64*64 圖像,后面兩個擴散模型使用本文提出Efficient U-Net,可以更節省內存和時間。

我們使用FID分數在COCO驗證集上評估Imagen,下表展示了結果。Imagen在COCO上實現了最好的zero-shot效果,其FID為7.27,優于前面的一系列工作。

8dee950a-0f27-11ed-ba43-dac502259ad0.png

8dfa7da2-0f27-11ed-ba43-dac502259ad0.png

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像
    +關注

    關注

    2

    文章

    1089

    瀏覽量

    40572
  • 模型
    +關注

    關注

    1

    文章

    3305

    瀏覽量

    49220
  • 擴散模型
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5568

原文標題:文本生成 | 擴散模型與其在文本生成圖像領域的應用

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【「基于大模型的RAG應用開發與優化」閱讀體驗】+Embedding技術解讀

    生成回答。特定領域或任務中,可以通過微調Embedding模型來提高檢索的相關性和準確性。Embedding
    發表于 01-17 19:53

    #新年新氣象,大家新年快樂!#AIGC入門及鴻蒙入門

    。 2. 實踐操作: 使用Python進行實踐,通過transformers庫加載預訓練的文本生成模型。 學習圖像生成算法,如生成對抗網絡(
    發表于 01-13 10:46

    AIGC入門及鴻蒙入門

    開發的語言模型工具,支持文本生成、代碼編寫等。 MidJourney:一個用于圖像生成的工具,允許用戶輸入文本描述以
    發表于 01-13 10:32

    借助谷歌Gemini和Imagen模型生成高質量圖像

    快速發展的生成式 AI 領域,結合不同模型的優勢可以帶來顯著的成果。通過利用谷歌的 Gemini 模型來制作詳細且富有創意的提示,然后使用 Imagen 3
    的頭像 發表于 01-03 10:38 ?403次閱讀
    借助谷歌Gemini和Imagen<b class='flag-5'>模型</b><b class='flag-5'>生成</b>高質量<b class='flag-5'>圖像</b>

    擴散模型的理論基礎

    擴散模型的迅速崛起是過去幾年機器學習領域最大的發展之一。在這本簡單易懂的指南中,學習你需要知道的關于擴散模型的一切。
    的頭像 發表于 10-28 09:30 ?693次閱讀
    <b class='flag-5'>擴散</b><b class='flag-5'>模型</b>的理論基礎

    如何使用 Llama 3 進行文本生成

    使用LLaMA 3(Large Language Model Family of AI Alignment)進行文本生成,可以通過以下幾種方式實現,取決于你是否愿意在本地運行模型或者使用現成的API
    的頭像 發表于 10-27 14:21 ?541次閱讀

    如何評估AI大模型的效果

    、SuperGLUE、SQuAD等。這些數據集提供了不同任務的基準評估,使得不同模型同一任務
    的頭像 發表于 10-23 15:21 ?1513次閱讀

    AI大模型自然語言處理中的應用

    AI大模型自然語言處理(NLP)中的應用廣泛且深入,強大的語義理解和生成能力為NLP任務帶來了顯著的性能提升。以下是對AI大
    的頭像 發表于 10-23 14:38 ?649次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    、機器翻譯、文本生成等領域具有廣泛應用。它們能夠基于用戶的提問或描述生成相關的答案或執行指令,極大地提升了信息檢索和利用的效率。 2. 局限性 盡管大語言模型自然語言理解方面取得了顯
    發表于 08-02 11:03

    Transformer語言模型簡介與實現過程

    任務,隨后迅速擴展到其他NLP任務中,如文本生成、語言理解、問答系統等。本文將詳細介紹Transformer語言模型的原理、特點、優勢以及實現過程。
    的頭像 發表于 07-10 11:48 ?2066次閱讀

    llm模型和chatGPT的區別

    LLM(Large Language Model)是指大型語言模型,它們是一類使用深度學習技術構建的自然語言處理(NLP)模型。LLM模型可以處理各種語言任務,如
    的頭像 發表于 07-09 09:55 ?1324次閱讀

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    能力,使其能夠應對更復雜和抽象的語言任務。神經網絡的前向傳播和反向傳播算法是核心技術。前向傳播中,模型根據輸入文本的上下文和先前知識生成
    發表于 05-04 23:55

    OpenVINO?協同Semantic Kernel:優化大模型應用性能新路徑

    作為主要面向 RAG 任務方向的框架,Semantic Kernel 可以簡化大模型應用開發過程,而在 RAG 任務中最常用的深度學習模型就是 Embedding 和 Text com
    的頭像 發表于 03-08 10:41 ?815次閱讀
    OpenVINO?協同Semantic Kernel:優化大<b class='flag-5'>模型</b>應用性能新路徑

    KOALA人工智能圖像生成模型問世

    近日,韓國科學團隊宣布研發出名為 KOALA 的新型人工智能圖像生成模型,該模型速度和質量
    的頭像 發表于 03-05 10:46 ?840次閱讀

    Stability AI試圖通過新的圖像生成人工智能模型保持領先地位

    Stability AI的最新圖像生成模型Stable Cascade承諾比業界領先的前身Stable Diffusion更快、更強大,而Stable Diffusion是許多其他
    的頭像 發表于 02-19 16:03 ?995次閱讀
    Stability AI試圖通過新的<b class='flag-5'>圖像</b><b class='flag-5'>生成</b>人工智能<b class='flag-5'>模型</b>保持領先地位
    大发888娱乐客户端真钱| 街机水果机游戏下载| 百家乐官网那里信誉好| 百家乐官网长路投注法| 大发888在线娱乐城合作伙伴| 百家乐投注很好| 百家乐官网便利| 百家乐官网最新心得| 德州扑克攻略| 百家乐大赌场娱乐网规则| 百家乐如何玩法| 真人百家乐官网软件云南景| 密云县| 大发娱乐场下载| 威尼斯人娱乐城真人赌博| 希尔顿百家乐试玩| 永利百家乐现金网| 巴黎人百家乐官网的玩法技巧和规则 | 澳门百家乐官网技巧| 南部县| 博彩旅游业| 大发888游戏充值| 百家乐局部| 百家乐游戏软件开发| 摩纳哥百家乐官网的玩法技巧和规则| 广州百家乐官网酒店用品制造有限公司 | 百家乐珠盘路| 百家乐色子玩法| 仕達屋百家乐官网的玩法技巧和规则 | 网上百家乐官网记牌软件| 大世界百家乐官网娱乐城| 张家港市| 皇冠网小说网站网址| 现金百家乐| 大发888开户送58| 威尼斯人娱乐场注册| 蓝盾百家乐代理打| 澳门百家乐职业赌客| 川宜百家乐破解版| 百家乐技术方式| 电子百家乐官网技巧|