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

Stable Diffusion之核心基礎(chǔ)知識(shí)和網(wǎng)絡(luò)結(jié)構(gòu)解析

這篇具有很好參考價(jià)值的文章主要介紹了Stable Diffusion之核心基礎(chǔ)知識(shí)和網(wǎng)絡(luò)結(jié)構(gòu)解析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一. Stable Diffusion核心基礎(chǔ)知識(shí)

1.1 Stable Diffusion模型工作流程

1. 文生圖(txt2img)

文生圖任務(wù)是指將一段文本輸入到SD模型中,經(jīng)過一定的迭代次數(shù),SD模型輸出一張符合輸入文本描述的圖片。

步驟一: 使用CLIP Text Encode模型將輸入的人類文本信息進(jìn)行編碼,生成與文本信息對(duì)應(yīng)的Text Embeddings特征矩陣;
步驟二: 輸入文本信息,再用random函數(shù)生成一個(gè)高斯噪聲矩陣 作為L(zhǎng)atent Feature(隱空間特征)的“替代” 輸入到SD模型的 “圖像優(yōu)化模塊” 中;
步驟三: 首先圖像優(yōu)化模塊是由U-Net網(wǎng)絡(luò)和Schedule算法 組成,將圖像優(yōu)化模塊進(jìn)行優(yōu)化迭代后的Latent Feature輸入到 圖像解碼器 (VAE Decoder) 中,將Latent Feature重建成像素級(jí)圖。

stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能

2. 圖生圖

圖生圖任務(wù)在輸入本文的基礎(chǔ)上,再輸入一張圖片,SD模型將根據(jù)文本的提示,將輸入圖片進(jìn)行重繪以更加符合文本的描述。

步驟一: 使用 CLIP Text Encode 模型將輸入的人類文本信息進(jìn)行編碼,生成與文本信息對(duì)應(yīng)的Text Embeddings特征矩陣;同時(shí),將原圖片通過圖像編碼器(VAE Encoder)生成Latent Feature(隱空間特征)
步驟二: 將上述信息輸入到圖像優(yōu)化模塊;
步驟三: 將圖像優(yōu)化模塊進(jìn)行優(yōu)化迭代后的Latent Feature輸入到 圖像解碼器 (VAE Decoder) 中,將Latent Feature重建成像素級(jí)圖。

stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能

3. 圖像優(yōu)化模塊

  • 首先,“圖像優(yōu)化模塊”是由一個(gè)U-Net網(wǎng)絡(luò)和一個(gè)Schedule算法共同組成,U-Net網(wǎng)絡(luò)負(fù)責(zé)預(yù)測(cè)噪聲,不斷優(yōu)化生成過程,在預(yù)測(cè)噪聲的同時(shí)不斷注入文本語義信息。
  • schedule算法對(duì)每次U-Net預(yù)測(cè)的噪聲進(jìn)行優(yōu)化處理(動(dòng)態(tài)調(diào)整預(yù)測(cè)的噪聲,控制U-Net預(yù)測(cè)噪聲的強(qiáng)度),從而統(tǒng)籌生成過程的進(jìn)度。
  • 在SD中,U-Net的迭代優(yōu)化步數(shù)(Timesteps)大概是50或者100次,在這個(gè)過程中Latent Feature的質(zhì)量不斷的變好(純?cè)肼暅p少,圖像語義信息增加,文本語義信息增加)。
    stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能

總結(jié):不管是文生圖還是圖生圖,核心模型都是圖像優(yōu)化模塊,圖像優(yōu)化模塊的輸入都是文字+圖片,輸出都是一張經(jīng)過優(yōu)化后的圖片。只不過文生圖任務(wù)中圖像優(yōu)化模塊的輸入是一張隨機(jī)生成的噪聲圖。模型對(duì)文字的編碼采用CLIP Text Encoder模型,對(duì)于圖片的編碼采用VAE Encoder。

1.2 Stable Diffusion模型核心基礎(chǔ)原理

與GAN等生成式模型一致的是,SD模型同樣學(xué)習(xí)擬合訓(xùn)練集分布,并能夠生成與訓(xùn)練集分布相似的輸出結(jié)果,但與GAN相比,SD模型訓(xùn)練過程更穩(wěn)定,而且具備更強(qiáng)的泛化性能。這些都?xì)w功于擴(kuò)散模型中核心的 前向擴(kuò)散過程(Forward Diffusion Process)反向擴(kuò)散過程(Reverse Diffusion Process)。
在前向擴(kuò)散過程中,SD模型持續(xù)對(duì)一張圖像添加高斯噪聲直至變成隨機(jī)噪聲矩陣。而在反向擴(kuò)散過程中,SD模型進(jìn)行去噪聲過程,將一個(gè)隨機(jī)噪聲矩陣逐漸去噪聲直至生成一張圖像。

  • 前向擴(kuò)散過程(Forward Diffusion Process)
    圖片中持續(xù)添加噪聲
  • 反向擴(kuò)散過程(Reverse Diffusion Process)
    持續(xù)去除圖片中的噪聲

1. 擴(kuò)散模型的基本原理

在Stable Diffusion這個(gè)擴(kuò)散模型中,無論是前向擴(kuò)散過程還是反向擴(kuò)散過程都是一個(gè)參數(shù)化的馬爾可夫鏈(Markov chain),如下圖所示:
stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能

2. 前向擴(kuò)散過程詳解

  • 前向擴(kuò)散過程,其實(shí)是一個(gè)不斷加噪聲的過程。
  • 對(duì)于初始數(shù)據(jù),我們?cè)O(shè)置K步的擴(kuò)散步數(shù),每一步增加一定的噪聲,如果我們?cè)O(shè)置的K足夠大,那么我們就能夠?qū)⒊跏紨?shù)據(jù)轉(zhuǎn)化成隨機(jī)噪音矩陣。
  • 一般來說,擴(kuò)散過程是固定的,由上節(jié)中提到的Schedule算法進(jìn)行統(tǒng)籌控制。同時(shí)擴(kuò)散過程也有一個(gè)重要的性質(zhì):我們可以基于初始數(shù)據(jù) X 0 X_0 X0?和任意的擴(kuò)散步數(shù) K i K_i Ki? ,采樣得到對(duì)應(yīng)的數(shù)據(jù) X i X_i Xi?。

3. 反向擴(kuò)散過程詳解

  • 反向擴(kuò)散過程和前向擴(kuò)散過程正好相反,是一個(gè)不斷去噪的過程。將隨機(jī)高斯噪聲矩陣通過擴(kuò)散模型的Inference過程,預(yù)測(cè)噪聲并逐步去噪,最后生成一個(gè)有效圖片。
  • 其中每一步預(yù)測(cè)并去除的噪聲分布,都需要擴(kuò)散模型在訓(xùn)練中學(xué)習(xí)。

擴(kuò)散模型的前向擴(kuò)散過程和反向擴(kuò)散過程,他們的目的都是服務(wù)于擴(kuò)散模型的訓(xùn)練,訓(xùn)練目標(biāo)也非常簡(jiǎn)單:擴(kuò)散模型每次預(yù)測(cè)出的噪聲和每次實(shí)際加入的噪聲做回歸,讓擴(kuò)散模型能夠準(zhǔn)確的預(yù)測(cè)出每次實(shí)際加入的真實(shí)噪聲。
下面是SD反向擴(kuò)散過程的完整圖解:
stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能

4. 引入Latent思想

  • 首先,我們已經(jīng)知道了擴(kuò)散模型會(huì)設(shè)置一個(gè)迭代次數(shù),并不會(huì)像GAN網(wǎng)絡(luò)那樣一次輸入一次輸出,雖然這樣輸出效果會(huì)更好更穩(wěn)定,但是會(huì)導(dǎo)致生成過程耗時(shí)的增加。

  • 再者,Stable Diffusion出現(xiàn)之前的Diffusion模型雖然已經(jīng)有非常強(qiáng)的生成能力與生成泛化性能,但缺點(diǎn)是不管是前向擴(kuò)散過程還是反向擴(kuò)散過程,都需要在完整像素級(jí)的圖像上進(jìn)行,當(dāng)圖像分辨率和Timesteps很大時(shí),不管是訓(xùn)練還是前向推理,都非常的耗時(shí)。

  • 而基于Latent的擴(kuò)散模型可以將這些過程壓縮在低維的Latent隱空間,這樣一來大大降低了顯存占用和計(jì)算復(fù)雜性,這是常規(guī)擴(kuò)散模型和基于Latent的擴(kuò)散模型之間的主要區(qū)別,也是SD模型火爆出圈的關(guān)鍵一招。
    我們舉個(gè)形象的例子理解一下,如果SD模型將輸入數(shù)據(jù)壓縮的倍數(shù)設(shè)為8,那么原本尺寸為 [ 3 , 512 , 512 ] [3, 512, 512] [3,512,512]
    的數(shù)據(jù)就會(huì)進(jìn)入 [ 3 , 64 , 64 ] [3, 64, 64] [3,64,64]的Latent隱空間中,顯存和計(jì)算量直接縮小64倍,整體效率大大提升。

總結(jié):

  1. SD模型是生成式模型,輸入可以是圖片,文本以及兩者的結(jié)合,輸出是生成的圖片。
  2. SD模型屬于擴(kuò)散模型,擴(kuò)散模型的整體邏輯的特點(diǎn)是過程分步化與可迭代,這給整個(gè)生成過程引入更多約束與優(yōu)化提供了可能。
  3. SD模型是基于Latent的擴(kuò)散模型,將輸入數(shù)據(jù)壓縮到Latent隱空間中,比起常規(guī)擴(kuò)散模型,大幅提高計(jì)算效率的同時(shí),降低了顯存占用,成為了SD模型破圈的關(guān)鍵一招。

1.3 Stable Diffusion訓(xùn)練全過程

1. 訓(xùn)練過程簡(jiǎn)介

Stable Diffusion的整個(gè)訓(xùn)練過程在最高維度上可以看成是如何加噪聲和如何去噪聲的過程,并在針對(duì)噪聲的“對(duì)抗與攻防”中學(xué)習(xí)到生成圖片的能力。

  1. 從數(shù)據(jù)集中隨機(jī)選擇一個(gè)訓(xùn)練樣本
  2. 從K個(gè)噪聲量級(jí)隨機(jī)抽樣一個(gè)timestep t t t
  3. 將timestep t t t對(duì)應(yīng)的高斯噪聲添加到圖片中
  4. 將加噪圖片輸入U(xiǎn)-Net中預(yù)測(cè)噪聲
  5. 計(jì)算真實(shí)噪聲和預(yù)測(cè)噪聲的L2損失
  6. 計(jì)算梯度并更新SD模型參數(shù)

2. SD訓(xùn)練集加入噪聲

  • SD模型訓(xùn)練時(shí),我們需要把加噪的數(shù)據(jù)集輸入模型中,每一次迭代我們用random函數(shù)生成從強(qiáng)到弱各個(gè)強(qiáng)度的噪聲,通常來說會(huì)生成0-1000一共1001種不同的噪聲強(qiáng)度,通過Time Embedding嵌入到SD的訓(xùn)練過程中。

  • Time Embedding由Timesteps(時(shí)間步長(zhǎng))編碼而來,引入Timesteps能夠模擬一個(gè)隨時(shí)間逐漸向圖像加入噪聲擾動(dòng)的過程。每個(gè)Timestep代表一個(gè)噪聲強(qiáng)度(較小的Timestep代表較弱的噪聲擾動(dòng),而較大的Timestep代表較強(qiáng)的噪聲擾動(dòng)),通過多次增加噪聲來逐漸改變干凈圖像的特征分布。

舉個(gè)例子,可以幫助大家更好地理解SD訓(xùn)練時(shí)數(shù)據(jù)是如何加噪聲的。
首先從數(shù)據(jù)集中選擇一張干凈樣本,然后再用random函數(shù)生成0-3一共4種強(qiáng)度的噪聲,然后每次迭代中隨機(jī)一種強(qiáng)度的噪聲,增加到干凈圖片上,完成圖片的加噪流程。

3. SD訓(xùn)練中加噪與去噪

  • 在訓(xùn)練過程中,我們首先對(duì)干凈樣本進(jìn)行加噪處理,采用多次逐步增加噪聲的方式,直至干凈樣本轉(zhuǎn)變成為純?cè)肼暋?/li>
  • 接著,讓SD模型學(xué)習(xí)去噪過程,最后抽象出一個(gè)高維函數(shù),這個(gè)函數(shù)能在純?cè)肼曋胁粩唷皟?yōu)化”噪聲,得到一個(gè)干凈樣本。

去噪過程是使用U-Net預(yù)測(cè)噪聲,并結(jié)合Schedule算法實(shí)現(xiàn)逐步去噪。
加噪和去噪過程都是逐步進(jìn)行的,我們假設(shè)進(jìn)行 K K K步,那么每一步,SD都要去預(yù)測(cè)噪聲.
那么怎么讓網(wǎng)絡(luò)知道目前處于 K K K的哪一步呢?本來SD模型其實(shí)需要K個(gè)噪聲預(yù)測(cè)模型,這時(shí)我們可以增加一個(gè)Time Embedding(類似Positional embeddings)進(jìn)行處理,通過將timestep編碼進(jìn)網(wǎng)絡(luò)中,從而只需要訓(xùn)練一個(gè)共享的U-Net模型,就讓網(wǎng)絡(luò)知道現(xiàn)在處于哪一步。
總結(jié)
SD訓(xùn)練的具體過程就是對(duì)每個(gè)加噪和去噪過程進(jìn)行計(jì)算,從而優(yōu)化SD模型參數(shù),如下圖所示分為四個(gè)步驟:

  1. 從訓(xùn)練集中選取一張加噪過的圖片和噪聲強(qiáng)度(timestep)
  2. 然后將其輸入到U-Net中,讓U-Net預(yù)測(cè)噪聲(下圖中的Unet Prediction),
  3. 接著再計(jì)算預(yù)測(cè)噪聲與真實(shí)噪聲的誤差(loss),
  4. 最后通過反向傳播更新U-Net的參數(shù)。

4. 語義信息對(duì)圖片生成的控制

SD模型在生成圖片時(shí),需要輸入prompt,那么這些語義信息是如何影響圖片的生成呢?

答案非常簡(jiǎn)單:注意力機(jī)制。

在SD模型的訓(xùn)練中,每個(gè)訓(xùn)練樣本都會(huì)對(duì)應(yīng)一個(gè)標(biāo)簽,我們將對(duì)應(yīng)標(biāo)簽通過CLIP Text Encoder輸出Text Embeddings,并將Text Embeddings以Cross Attention的形式與U-Net結(jié)構(gòu)耦合,使得每次輸入的圖片信息與文字信息進(jìn)行融合訓(xùn)練。

5. SD模型訓(xùn)練時(shí)的輸入

小結(jié)一下SD模型訓(xùn)練時(shí)的輸入,一共有三個(gè)部分組成:圖片,文本,噪聲強(qiáng)度。其中圖片和文本是固定的,而噪聲強(qiáng)度在每一次訓(xùn)練參數(shù)更新時(shí)都會(huì)隨機(jī)選擇一個(gè)進(jìn)行疊加。

二. SD模型核心網(wǎng)絡(luò)結(jié)構(gòu)解析

2.1 SD模型整體架構(gòu)初識(shí)

Stable Diffusion模型整體上是一個(gè)End-to-End模型,主要由以下三個(gè)核心組件構(gòu)成。

  1. VAE(變分自編碼器,Variational Auto-Encoder),
  2. U-Net
  3. CLIP Text Encoder

stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能Stable Diffusion整體架構(gòu)圖

2.2 VAE模型

在Stable Diffusion中,VAE(變分自編碼器,Variational Auto-Encoder)是基于Encoder-Decoder架構(gòu)的生成模型。VAE的Encoder(編碼器)結(jié)構(gòu)能將輸入圖像轉(zhuǎn)換為低維Latent特征,并作為U-Net的輸入。VAE的Decoder(解碼器)結(jié)構(gòu)能將低維Latent特征重建還原成像素級(jí)圖像。

1. Stable Diffusion中VAE的核心作用

總的來說,在Stable Diffusion中,VAE模型主要起到了圖像壓縮和圖像重建的作用。
為什么VAE可以將圖像壓縮到一個(gè)非常小的Latent space(潛空間)后能再次對(duì)圖像進(jìn)行像素級(jí)重建呢?

因?yàn)殡m然VAE對(duì)圖像的壓縮與重建過程是一個(gè)有損壓縮與重建過程,但圖像全圖級(jí)特征關(guān)聯(lián)并不是隨機(jī)的,它們的分布具有很強(qiáng)的規(guī)律性:比如人臉的眼睛、鼻子、臉頰和嘴巴之間遵循特定的空間關(guān)系,又比如一只貓有四條腿,并且這是一個(gè)特定的生物結(jié)構(gòu)特征。

2. Stable Diffusion中VAE的高階作用

與此同時(shí),VAE模型除了能進(jìn)行圖像壓縮和圖像重建的工作外,如果我們?cè)赟D系列模型中切換不同微調(diào)訓(xùn)練版本的VAE模型,能夠發(fā)現(xiàn)生成圖片的細(xì)節(jié)與整體顏色也會(huì)隨之改變(更改生成圖像的顏色表現(xiàn),類似于色彩濾鏡)。

3. Stable Diffusion中VAE模型的完整結(jié)構(gòu)圖

stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能
SD VAE模型中有三個(gè)基礎(chǔ)組件:

  1. GSC組件:GroupNorm+Swish+Conv
  2. Downsample組件:Padding+Conv
  3. Upsample組件:Interpolate+Conv
  • 同時(shí)SD VAE模型還有兩個(gè)核心組件:ResNetBlock模塊和SelfAttention模型,兩個(gè)模塊的結(jié)構(gòu)如上圖所示。

  • SD VAE Encoder部分包含了三個(gè)DownBlock模塊、一個(gè)ResNetBlock模塊以及一個(gè)MidBlock模塊,將輸入圖像壓縮到Latent空間,轉(zhuǎn)換成為Gaussian Distribution。

  • 而VAE Decoder部分正好相反,其輸入Latent空間特征,并重建成為像素級(jí)圖像作為輸出。其包含了三個(gè)UpBlock模塊、一個(gè)ResNetBlock模塊以及一個(gè)MidBlock模塊。

4. Stable Diffusion中VAE的訓(xùn)練過程與損失函數(shù)

在Stable Diffusion中,需要對(duì)VAE模型進(jìn)行微調(diào)訓(xùn)練,主要采用了L1回歸損失和感知損失(perceptual loss,Learned Perceptual Image Patch Similarity,LPIPS)作為損失函數(shù),同時(shí)使用了基于patch的對(duì)抗訓(xùn)練策略。

2.3 U-Net模型

1. Stable Diffusion中U-Net的核心作用

在Stable Diffusion中,U-Net模型是一個(gè)關(guān)鍵核心部分,能夠預(yù)測(cè)噪聲殘差,并結(jié)合Sampling method(調(diào)度算法:PNDM,DDIM,K-LMS等)對(duì)輸入的特征矩陣進(jìn)行重構(gòu),逐步將其從隨機(jī)高斯噪聲轉(zhuǎn)化成圖片的Latent Feature

具體來說,在前向推理過程中,SD模型通過反復(fù)調(diào)用 U-Net,將預(yù)測(cè)出的噪聲殘差從原噪聲矩陣中去除,得到逐步去噪后的圖像Latent Feature,再通過VAE的Decoder結(jié)構(gòu)將Latent Feature重建成像素級(jí)圖像。

2. Stable Diffusion中U-Net模型的完整結(jié)構(gòu)圖

Stable Diffusion中的U-Net,在傳統(tǒng)深度學(xué)習(xí)時(shí)代的Encoder-Decoder結(jié)構(gòu)的基礎(chǔ)上,增加了ResNetBlock(包含Time Embedding)模塊,Spatial Transformer(SelfAttention + CrossAttention + FeedForward)模塊以及CrossAttnDownBlock,CrossAttnUpBlock和CrossAttnMidBlock模塊
stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能
上圖中包含Stable Diffusion U-Net的十四個(gè)基本模塊:

1. GSC模塊:Stable Diffusion U-Net中的最小組件之一,由GroupNorm+SiLU+Conv三者組成。
2. DownSample模塊:Stable Diffusion U-Net中的下采樣組件,使用了Conv(kernel_size=(3, 3), stride=(2, 2), padding=(1, 1))進(jìn)行采下采樣。
3. UpSample模塊:Stable Diffusion U-Net中的上采樣組件,由插值算法(nearest)+Conv組成。
4. ResNetBlock模塊:借鑒ResNet模型的“殘差結(jié)構(gòu)”,讓網(wǎng)絡(luò)能夠構(gòu)建的更深的同時(shí),將Time Embedding信息嵌入模型。
5. CrossAttention模塊:將文本的語義信息與圖像的語義信息進(jìn)行Attention機(jī)制,增強(qiáng)輸入文本Prompt對(duì)生成圖片的控制。
6. SelfAttention模塊:SelfAttention模塊的整體結(jié)構(gòu)與CrossAttention模塊相同,這是輸入全部都是圖像信息,不再輸入文本信息。
7. FeedForward模塊:Attention機(jī)制中的經(jīng)典模塊,由GeGlU+Dropout+Linear組成。
8. BasicTransformer Block模塊:由LayerNorm+SelfAttention+CrossAttention+FeedForward組成,是多重Attention機(jī)制的級(jí)聯(lián),并且也借鑒ResNet模型的“殘差結(jié)構(gòu)”。通過加深網(wǎng)絡(luò)和多Attention機(jī)制,大幅增強(qiáng)模型的學(xué)習(xí)能力與圖文的匹配能力。
9. Spatial Transformer模塊:由GroupNorm+Conv+BasicTransformer Block+Conv構(gòu)成,ResNet模型的“殘差結(jié)構(gòu)”依舊沒有缺席。
10. DownBlock模塊:由兩個(gè)ResNetBlock模塊組成。
11. UpBlock_X模塊:由X個(gè)ResNetBlock模塊和一個(gè)UpSample模塊組成。
12. CrossAttnDownBlock_X模塊:是Stable Diffusion U-Net中Encoder部分的主要模塊,由X個(gè)(ResNetBlock模塊+Spatial Transformer模塊)+DownSample模塊組成。
13. CrossAttnUpBlock_X模塊:是Stable Diffusion U-Net中Decoder部分的主要模塊,由X個(gè)(ResNetBlock模塊+Spatial Transformer模塊)+UpSample模塊組成。
14. CrossAttnMidBlock模塊:是Stable Diffusion U-Net中Encoder和ecoder連接的部分,由ResNetBlock+Spatial Transformer+ResNetBlock組成。

2.4 CLIP Text Encoder模型

1. CLIP模型介紹

CLIP模型是一個(gè)基于對(duì)比學(xué)習(xí)的多模態(tài)模型,主要包含Text Encoder和Image Encoder兩個(gè)模型。
其中Text Encoder用來提取文本的特征,可以使用NLP中常用的text transformer模型作為Text Encoder;
而Image Encoder主要用來提取圖像的特征,可以使用CNN/vision transformer模型(ResNet和ViT)作為Image Encoder。
與此同時(shí),他直接使用4億個(gè)圖片與標(biāo)簽文本對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,來學(xué)習(xí)圖片與本文內(nèi)容的對(duì)應(yīng)關(guān)系。

CLIP如何訓(xùn)練
CLIP在訓(xùn)練時(shí),從訓(xùn)練集中隨機(jī)取出一張圖片和標(biāo)簽文本。CLIP模型的任務(wù)主要是通過Text Encoder和Image Encoder分別將標(biāo)簽文本和圖片提取embedding向量,然后用余弦相似度(cosine similarity)來比較兩個(gè)embedding向量的相似性,以判斷隨機(jī)抽取的標(biāo)簽文本和圖片是否匹配,并進(jìn)行梯度反向傳播,不斷進(jìn)行優(yōu)化訓(xùn)練。

2. CLIP在Stable Diffusion中的使用

在Stable Diffusion中主要使用了Text Encoder模型。CLIP Text Encoder模型將輸入的文本Prompt進(jìn)行編碼,轉(zhuǎn)換成Text Embeddings(文本的語義信息),通過U-Net網(wǎng)絡(luò)中的CrossAttention模塊嵌入Stable Diffusion中作為Condition,對(duì)生成圖像的內(nèi)容進(jìn)行一定程度上的控制與引導(dǎo)。
stable diffusion 網(wǎng)絡(luò) 結(jié)構(gòu),stable diffusion,stable diffusion,人工智能
特此感謝
https://zhuanlan.zhihu.com/p/632809634
https://blog.csdn.net/weixin_47748259/article/details/135502977
https://zhuanlan.zhihu.com/p/679152891文章來源地址http://www.zghlxwxcb.cn/news/detail-851754.html

到了這里,關(guān)于Stable Diffusion之核心基礎(chǔ)知識(shí)和網(wǎng)絡(luò)結(jié)構(gòu)解析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • YOLOv5基礎(chǔ)知識(shí)入門(2)— YOLOv5核心基礎(chǔ)知識(shí)講解

    YOLOv5基礎(chǔ)知識(shí)入門(2)— YOLOv5核心基礎(chǔ)知識(shí)講解

    前言: Hello大家好,我是小哥談。 YOLOV4出現(xiàn)之后不久,YOLOv5橫空出世。YOLOv5在YOLOv4算法的基礎(chǔ)上做了進(jìn)一步的改進(jìn),使檢測(cè)性能得到更進(jìn)一步的提升。YOLOv5算法作為目前工業(yè)界使用的最普遍的檢測(cè)算法,存在著很多可以學(xué)習(xí)的地方。本文將對(duì)YOLOv5檢測(cè)算法的核心基礎(chǔ)知識(shí)進(jìn)行

    2024年02月14日
    瀏覽(24)
  • CSS 基礎(chǔ)拾遺(核心知識(shí)、常見需求)

    CSS 基礎(chǔ)拾遺(核心知識(shí)、常見需求)

    本篇文章圍繞了 CSS 的核心知識(shí)點(diǎn)和項(xiàng)目中常見的需求來展開。雖然行文偏長(zhǎng),但較基礎(chǔ),適合初級(jí)中級(jí)前端閱讀,閱讀的時(shí)候請(qǐng)適當(dāng)跳過已經(jīng)掌握的部分。 這篇文章斷斷續(xù)續(xù)寫了比較久,也參考了許多優(yōu)秀的文章,但或許文章里還是存在不好或不對(duì)的地方,請(qǐng)多多指教,可

    2023年04月21日
    瀏覽(26)
  • JavaSE核心基礎(chǔ)-循環(huán)-知識(shí)點(diǎn)

    1.循環(huán)概念 循環(huán)是在滿足條件的情況下,反復(fù)的做同一件事。 Java語言中的循環(huán)語句有三種,分別是for語句、while語句和do-while語句。程序中需要循環(huán)處理時(shí),程序員要根據(jù)實(shí)際問題,選擇適當(dāng)?shù)难h(huán)語句。解決循環(huán)問題時(shí)一定要找到循環(huán)條件和循環(huán)操作。 2.for循環(huán)語句格式

    2024年02月22日
    瀏覽(33)
  • MyBatis基礎(chǔ)知識(shí)和快速入門、MyBatis核心配置文件講解

    MyBatis基礎(chǔ)知識(shí)和快速入門、MyBatis核心配置文件講解

    什么是Mybatis MyBatis 是一個(gè)優(yōu)秀的基于java的 持久層框架 ,它內(nèi)部封裝了jdbc,使開發(fā)者只需要關(guān)注sql語句本身,而不需要花費(fèi)精力去處理加載驅(qū)動(dòng)、創(chuàng)建連接、創(chuàng)建statement等繁雜的過程。 mybatis通過xml或注解的方式將要執(zhí)行的各種 statement配置起來,并通過java對(duì)象和statement中

    2024年02月04日
    瀏覽(86)
  • 深入淺出解析LoRA完整核心基礎(chǔ)知識(shí) | 【算法兵器譜】

    深入淺出解析LoRA完整核心基礎(chǔ)知識(shí) | 【算法兵器譜】

    Rocky Ding 公眾號(hào):WeThinkIn 【算法兵器譜】欄目專注分享AI行業(yè)中的前沿/經(jīng)典/必備的模型論文,并對(duì)具備劃時(shí)代意義的模型論文進(jìn)行全方位系統(tǒng)的解析,比如Rocky之前出品的爆款文章Make YOLO Great Again系列。也歡迎大家提出寶貴的優(yōu)化建議,一起交流學(xué)習(xí)?? 大家好,我是Rocky。

    2024年02月11日
    瀏覽(27)
  • AIGC內(nèi)容分享(二十):「AI視頻生成」技術(shù)核心基礎(chǔ)知識(shí)和模型應(yīng)用

    AIGC內(nèi)容分享(二十):「AI視頻生成」技術(shù)核心基礎(chǔ)知識(shí)和模型應(yīng)用

    目錄 何為AI視頻? 一、技術(shù)發(fā)展概況 二、代表模型及應(yīng)用??????? 三、仍存在許多技術(shù)難點(diǎn) 「 AI 視頻」 通常指的是由人工智能(AI)技術(shù)生成或處理的視頻。這可能包括使用深度學(xué)習(xí)、計(jì)算機(jī)視覺和其他相關(guān)技術(shù)來改善視頻的質(zhì)量、內(nèi)容或生成全新的視頻內(nèi)容。一

    2024年01月18日
    瀏覽(25)
  • 實(shí)時(shí)AI繪畫模型SDXL Turbo核心基礎(chǔ)知識(shí)詳解 | 【算法兵器譜】

    實(shí)時(shí)AI繪畫模型SDXL Turbo核心基礎(chǔ)知識(shí)詳解 | 【算法兵器譜】

    Rocky Ding 公眾號(hào):WeThinkIn 【算法兵器譜】欄目專注分享AI行業(yè)中的前沿/經(jīng)典/必備的模型論文,并對(duì)具備劃時(shí)代意義的模型論文進(jìn)行全方位系統(tǒng)的解析。也歡迎大家提出寶貴的優(yōu)化建議,一起交流學(xué)習(xí)?? 大家好,我是Rocky。 如果說2022年,Stable Diffusion橫空出世,成為AI行業(yè)從傳

    2024年01月16日
    瀏覽(89)
  • 【Java程序員面試專欄 專業(yè)技能篇】MySQL核心面試指引(一):基礎(chǔ)知識(shí)考察

    【Java程序員面試專欄 專業(yè)技能篇】MySQL核心面試指引(一):基礎(chǔ)知識(shí)考察

    關(guān)于MySQL部分的核心知識(shí)進(jìn)行一網(wǎng)打盡,包括三部分: 基礎(chǔ)知識(shí)考察、核心機(jī)制策略、性能優(yōu)化策略 ,通過一篇文章串聯(lián)面試重點(diǎn),并且?guī)椭訌?qiáng)日?;A(chǔ)知識(shí)的理解,全局思維導(dǎo)圖如下所示 本篇Blog為第一部分:基礎(chǔ)知識(shí)考察,子節(jié)點(diǎn)表示追問或同級(jí)提問 包括一些核心問題

    2024年01月22日
    瀏覽(20)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(三十八)——log、thunk、applyMiddleware中間件的核心代碼

    利用Monkey Patching,修改原有的程序邏輯,在調(diào)用dispatch的過程中,通過dispatchAndLog實(shí)現(xiàn)日志打印功能 redux中利用中間件 redux-thunk 可以讓dispatch不不僅能處理對(duì)象,還能處理函數(shù) 單個(gè)調(diào)用函數(shù)來應(yīng)用中間件,非常不方便,封裝一個(gè)函數(shù)來合并中間件 在store/index.js中應(yīng)用上面三個(gè)

    2024年02月14日
    瀏覽(46)
  • AIGC內(nèi)容分享(五十三):AIGC|深入淺出一個(gè)完整的視頻生成系統(tǒng)「VGen」核心基礎(chǔ)知識(shí)

    AIGC內(nèi)容分享(五十三):AIGC|深入淺出一個(gè)完整的視頻生成系統(tǒng)「VGen」核心基礎(chǔ)知識(shí)

    目錄 一、VGen整體架構(gòu) 二、VGen核心基礎(chǔ)內(nèi)容 三、快速上手使用VGen進(jìn)行視頻生成 四、VGen與SVD的比較 「VGen」 是一個(gè)基于擴(kuò)散模型的視頻生成系統(tǒng),提供以視頻生成擴(kuò)散模型為中心的強(qiáng)大代碼庫,具有先進(jìn)的視頻生成模型。VGen的整體架構(gòu)主要圍繞三個(gè)關(guān)鍵領(lǐng)域: 基本模型、創(chuàng)

    2024年01月21日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包