国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大模型 Dalle2 學(xué)習(xí)三部曲(一)Latent Diffusion Models學(xué)習(xí)

這篇具有很好參考價值的文章主要介紹了大模型 Dalle2 學(xué)習(xí)三部曲(一)Latent Diffusion Models學(xué)習(xí)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言

Diffusion?model大獲成功,但是它的短板也很明顯,需要大量的計(jì)算資源,并且推理速度比較慢。如何才能提升Diffusion?model的計(jì)算效率。業(yè)界有各種各樣的改進(jìn),無疑Latent?Diffusion?Models(潛在擴(kuò)散模型,LDMs)是比較成功的一篇,那就來學(xué)習(xí)一下LDMS是怎么做的吧


論文貢獻(xiàn)

1,與基于變換的方法相比,論文的方法在處理更高維度數(shù)據(jù),可以高效地應(yīng)用于高分辨率圖像的合成,具體措施如下

  1. )使用潛在空間進(jìn)行訓(xùn)練:作者在空間而不是像素空間上訓(xùn)練擴(kuò)散模型。這使得模型可以在更高分辨率的圖像上實(shí)現(xiàn)高效的圖像合成,同時降低計(jì)算復(fù)雜性。
  2. )訓(xùn)練自動編碼器:首先,作者訓(xùn)練了一個自動編碼器,它提供了一個低維(因此高效)的表示空間,該空間在感知上等價于數(shù)據(jù)空間。這種表示空間使得模型可以更好地處理高維數(shù)據(jù),同時保留了圖像的細(xì)節(jié)。
  3. )在潛在空間中訓(xùn)練擴(kuò)散模型:在自動編碼器的潛在空間上訓(xùn)練擴(kuò)散模型,使得模型可以在更高分辨率的圖像上實(shí)現(xiàn)高效的圖像合成和條件生成。這種方法在降低計(jì)算復(fù)雜性的同時,保留了擴(kuò)散模型的高質(zhì)量和靈活性。

2,論文在多個任務(wù)(無條件圖像合成、修復(fù)、隨機(jī)超分辨率)和數(shù)據(jù)集上實(shí)現(xiàn)了競爭性的性能,同時顯著降低了計(jì)算成本。與基于像素的擴(kuò)散方法相比,論文還顯著降低了推斷成本。

3,論文發(fā)現(xiàn),與先前同時學(xué)習(xí)編碼器/解碼器架構(gòu)的方法相比,論文的方法不需要精細(xì)權(quán)衡重建和生成能力。這確保了極其準(zhǔn)確的重建,并且對潛在空間的正則化要求非常低。

4,此外,論文設(shè)計(jì)了一種基于交叉注意力的通用條件機(jī)制,實(shí)現(xiàn)了多模態(tài)訓(xùn)練。

  1. )引入交叉注意力層:作者在模型架構(gòu)中引入了交叉注意力層,使得潛在擴(kuò)散模型(LDMs)能夠處理各種條件輸入,例如文本或邊界框。
  2. )條件潛在擴(kuò)散模型:作者將交叉注意力層與?UNet?結(jié)合,以實(shí)現(xiàn)條件圖像生成。這使得模型可以在各種條件圖像合成任務(wù)中實(shí)現(xiàn)高效的圖像生成。
  3. )文本到圖像合成:作者在?LAION-400M?數(shù)據(jù)集上訓(xùn)練了一個基于文本提示的條件?LDM。他們使用?BERT-tokenizer?對文本進(jìn)行編碼,并實(shí)現(xiàn)?τθ?作為?Transformer,以從文本中推斷出潛在編碼,然后通過(多頭)交叉注意力將其映射到?UNet。
  4. )多模態(tài)訓(xùn)練:作者在多個數(shù)據(jù)集上訓(xùn)練了模型,以實(shí)現(xiàn)類別條件、文本到圖像和布局到圖像的生成。這種方法可以在不同的任務(wù)上獲得高度競爭性的性能,而無需針對特定任務(wù)的架構(gòu)。

5,最后,論文在https://github.com/CompVis/latent-diffusion上發(fā)布了預(yù)訓(xùn)練的潛在擴(kuò)散和自編碼模型。

具體方法

sd如何訓(xùn)練一個latent-diffusion大模型,DALL·E 2,學(xué)習(xí),深度學(xué)習(xí)

1,結(jié)構(gòu)整體理解

Latent?Diffusion?Models整體框架如圖,分為左中右三個部分,左邊是一個訓(xùn)練好自編碼模型(AutoEncoder,包括一個編碼器?E?和一個解碼器?D?),中間是個Diffusion?Models,右邊是個condition模塊。

首先為什么要加入左邊紅色這個模塊,我們可以這么想,Diffusion?Models的問題在于耗時和耗費(fèi)資源,那么最耗資源的部分是哪里,肯定是從清晰圖像到相對模糊的這部分,因?yàn)檫@時候要從圖像的每個像素點(diǎn)開始計(jì)算,占用了大量的資源和時間,

解決的方法也很直觀,我們先把像素點(diǎn)壓縮合并一下,大圖像變小圖像,然后從小圖像開始做diffusion,因?yàn)閴嚎s和解壓縮的這個過程遠(yuǎn)比diffusion過程來的快和節(jié)省資源,所以整個過程也就一下子壓縮節(jié)省了大量資源和時間。

同理我們把像素點(diǎn)壓縮的方法替換成編碼器和解碼器,小圖片理解成隱空間,對這就是Latent?Diffusion?Models的做法了。

其實(shí)到上一步Latent?Diffusion?Models主體工作已經(jīng)可以完成,不過作者覺得可以無條件擴(kuò)散生成,也可以有條件引導(dǎo)模型進(jìn)行更好的擴(kuò)散。如圖1右邊部分。通過使用交叉注意力機(jī)制將DM的底層UNet骨干增強(qiáng)為更靈活的條件圖像生成器,整體是不是很自然的一個思路。

好那讓我們再具體看看Latent?Diffusion?Models是怎么做的。對應(yīng)圖左中右三部分,分別為圖片感知壓縮(Perceptual?Image?Compression),潛在擴(kuò)散模型(Latent?Diffusion?Models),條件機(jī)制(Conditioning Mechanisms)

2,圖片感知壓縮(Perceptual?Image?Compression)對應(yīng)圖最左邊AutoEncoder部分

感知壓縮的擴(kuò)散模型的訓(xùn)練本質(zhì)上是一個兩階段訓(xùn)練的過程的第一階段,第一階段訓(xùn)練一個自編碼器

在第一階段訓(xùn)練自編碼器時,為了避免潛在表示空間出現(xiàn)高度的異化,作者使用了兩種正則化方法,一種是KL-reg,另一種是VQ-reg。

具體地說,給定一個在RGB空間中的圖像x∈R?H×W×3,編碼器E將x編碼為一個潛在表示z?=?E(x)?編碼圖像,解碼器?D?從潛在空間重構(gòu)圖像,得到?x??=?D(z)?=?D(E(x)),其中?z?∈?R^(h×w×c)

3,潛在擴(kuò)散模型(Latent?Diffusion?Models)對應(yīng)圖1中間部分

潛在擴(kuò)散模型對應(yīng)的是兩階段訓(xùn)練的過程的階段針對第一階段得到的隱空間進(jìn)行diffusion操作

回憶一下Diffusion?Models的公式

LDM?=?Ex,ε~N(0,1),th?[?(ε?-?εθ(xt,?t))^2?/?2?]

我們把編碼器?E?和一個解碼器?D代入公式得到

LDM?=?E[x,?ε?~?N(0,1),?t]((ε?-?ε_θ(z_t,?t))^2?/?2)

好我們就得到了LDM的訓(xùn)練公式了

4,條件機(jī)制(Conditioning?Mechanisms)對應(yīng)圖1右邊部分

具體來說,引入一個特定領(lǐng)域的編碼器τθ,該編碼器將y投影到中間表示τθ(y)∈RM×dτ,然后通過交叉注意力層將其映射到UNet的中間層,該層算法實(shí)現(xiàn)如下

Attention(Q,?K,?V)?=?softmax??QKT?√?d??·?V,

其中

Q?=?W?(i)?Q?·??i(zt),

K?=?W?(i)?K?·?τθ(y),

V?=?W?(i)?V?·?τθ(y)

好,到這里L(fēng)DM的算法部分就結(jié)束了,是不是還挺直觀的。文章來源地址http://www.zghlxwxcb.cn/news/detail-801786.html

到了這里,關(guān)于大模型 Dalle2 學(xué)習(xí)三部曲(一)Latent Diffusion Models學(xué)習(xí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 人臉識別三部曲

    人臉識別三部曲

    引用文121本 開始運(yùn)行時,輸入待錄入的人臉姓名。 按下s鍵后,開始錄入人臉圖像,錄入兩百張后,結(jié)束程序。

    2024年02月07日
    瀏覽(29)
  • JavaCV人臉識別三部曲之二:訓(xùn)練

    JavaCV人臉識別三部曲之二:訓(xùn)練

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 本文是《JavaCV人臉識別三部曲》的第二篇,前文《視頻中的人臉保存為圖片》咱們借助攝像頭為兩位群眾演員生成大量人臉照片,如下圖,群眾演員A的照片保存在 E:temp20211218\\001 man ,B的照片保存

    2024年02月11日
    瀏覽(22)
  • Java版人臉跟蹤三部曲之三:編碼實(shí)戰(zhàn)

    Java版人臉跟蹤三部曲之三:編碼實(shí)戰(zhàn)

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 作為《Java版人臉跟蹤三部曲》系列的終篇,本文會與大家一起寫出完整的人臉跟蹤應(yīng)用代碼 前文《開發(fā)設(shè)計(jì)》中,已經(jīng)對人臉跟蹤的核心技術(shù)、應(yīng)用主流程、異常處理等方方面面做了詳細(xì)設(shè)計(jì),建

    2024年02月12日
    瀏覽(24)
  • JavaCV人臉識別三部曲之三:識別和預(yù)覽

    JavaCV人臉識別三部曲之三:識別和預(yù)覽

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 《視頻中的人臉保存為圖片》 《訓(xùn)練》 《識別和預(yù)覽》 作為《JavaCV人臉識別三部曲》的終篇,今天咱們要開發(fā)一個實(shí)用的功能:有人出現(xiàn)在攝像頭中時,應(yīng)用程序在預(yù)覽窗口標(biāo)注出此人的身份,效

    2024年02月11日
    瀏覽(21)
  • Go語言基準(zhǔn)測試(benchmark)三部曲之一:基礎(chǔ)篇

    Go語言基準(zhǔn)測試(benchmark)三部曲之一:基礎(chǔ)篇

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos Go的標(biāo)準(zhǔn)庫內(nèi)置的testing框架提供了基準(zhǔn)測試(benchmark)功能,可以用來驗(yàn)證本地方法在串行或者并行執(zhí)行時的基準(zhǔn)表現(xiàn),幫助開發(fā)者了解代碼的真實(shí)性能情況,例如一個方法執(zhí)行一次的平均耗時,還能

    2024年02月06日
    瀏覽(54)
  • vscode上的git三部曲+git pull操作

    vscode上的git三部曲+git pull操作

    git三部曲:git add .、git commit -m \\\'\\\'、git push,命令在連接遠(yuǎn)程倉庫的本地倉庫路徑下的終端執(zhí)行。 vscode上的可視化操作如下: ?1、對倉庫里的文件做更改,讓倉庫操作的地方有變化。 2、 點(diǎn)擊+號,讓文件進(jìn)入緩存,此步驟相當(dāng)于終端執(zhí)行命令git add . ?3、在這里輸入信息并點(diǎn)擊

    2024年02月11日
    瀏覽(21)
  • Java版人臉跟蹤三部曲之二:開發(fā)設(shè)計(jì)

    Java版人臉跟蹤三部曲之二:開發(fā)設(shè)計(jì)

    如何開發(fā)Java版人臉跟蹤應(yīng)用?本篇給出了設(shè)計(jì)大綱,并解釋了相關(guān)的重要知識點(diǎn) 這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 本篇是《Java版人臉跟蹤三部曲》系列的第二篇,前文體驗(yàn)了人臉跟蹤的效果,想要編碼實(shí)現(xiàn)這樣的效果,咱們需要做

    2024年02月12日
    瀏覽(45)
  • 【C++系列P4】‘類與對象‘-三部曲——[類](2/3)

    【C++系列P4】‘類與對象‘-三部曲——[類](2/3)

    ?前言 大家好吖,歡迎來到 YY 滴 C++系列 ,熱烈歡迎! 【 \\\'類與對象\\\'-三部曲】的大綱主要內(nèi)容如下 : 如標(biāo)題所示,本章是【 \\\'類與對象\\\'-三部曲】三章中的第二章節(jié)—— 類章節(jié) ,主要內(nèi)容如下: 目錄 一.類 1.類的組成與計(jì)算類的大小(含結(jié)構(gòu)體內(nèi)存對齊規(guī)則) 二. 空類的大小

    2024年02月08日
    瀏覽(20)
  • Go語言基準(zhǔn)測試(benchmark)三部曲之三:提高篇

    Go語言基準(zhǔn)測試(benchmark)三部曲之三:提高篇

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos -《Go語言基準(zhǔn)測試(benchmark)三部曲》已近尾聲,經(jīng)歷了《基礎(chǔ)篇》和《內(nèi)存篇》的實(shí)戰(zhàn)演練,相信您已熟練掌握了基準(zhǔn)測試的常規(guī)操作以及各種參數(shù)的用法,現(xiàn)在可以學(xué)習(xí)一些進(jìn)階版的技能了,在面

    2024年02月06日
    瀏覽(18)
  • 數(shù)據(jù)結(jié)構(gòu):堆的三部曲(二)top K問題

    數(shù)據(jù)結(jié)構(gòu):堆的三部曲(二)top K問題

    top k問題解決的是獲取前幾個最值的問題。 我們知道 堆的功能主要是選數(shù),選出最大值或者最小值 。那么我們每次獲取堆頂元素后,再將剩余元素調(diào)整成堆,就可以選出次大的數(shù),如果我們只想要前k個最大值或者最小值,就只需要獲取堆頂元素k次,調(diào)整k次。比如王者榮耀

    2024年02月02日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包