最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

AIGC: Null-Text Inversion 筆記

2023-09-12 09:18 作者:剎那-Ksana-  | 我要投稿

谷歌的論文真的是惜墨如金啊 Σ(っ °Д °;)っ

回顧 Prompt-to-Prompt

之前其實已經(jīng)簡單介紹過了,?prompt-to-prompt?的思路很簡單——生成圖片的?attention map 和輸入的指令(prompt)之間有很大的聯(lián)系。我們替換、更改?attention maps 中的某一部分的 map,其他的 map 維持不變,那么我們就可以保持生成圖片的其他部分不變,而只更改我們想要變更的那一部分。

這里是我們可以對 attention maps 進行的三種操作——文字替換(即替換一部分 attention map), 加入新的文字(即加入新的 attention map),調(diào)整側(cè)重點(即調(diào)整不同 attention map 的比重)
實際的一個示意圖,我們把 bicycle 對應(yīng)的 attention map 替換成 car 的 attention map, 然后保持輸入的噪音和其他 attention map 不變,那么我們就得到了如上的替換。

Pivotal Tuning

基于以上的設(shè)定再進一步,如果我們想要編輯我們自己的圖像呢?那么我們必須要得到我們原圖像所對應(yīng)的指令?%5Cmathcal%7BP%7D(思路可以參考?textual inversion), 所以在這里我們需要做一個逆映射(inversion),即把我們的原圖片?%5Cmathcal%7BI%7D?轉(zhuǎn)換為指令?%5Cmathcal%7BP%7D

假設(shè)現(xiàn)在我們有一個無條件的(unconditional)?GAN.?一般來說,我們進行逆映射時,我們會在 GAN 的每一個 latent 層,找到能還原原圖?%5Cmathcal%7BI%7D?的最佳編碼;如果相同的道理套用到去噪擴散模型上的話,那就是針對每一個時間點,選取最佳的編碼。

這種方式雖然能夠得到不錯的結(jié)果,但是很明顯,非常低效率。

所以這里,我們使用 Piviotal Tuning(2106.05744)的方式。具體來說,我們先使用?perceptual loss(1801.03924):

w_p%2Cn%3D%5Carg%5Cmin_%7Bw%2Cn%7D%20%5Cmathcal%7BL%7D_%7BLPIPS%7D(x%2CG_%7B%5Ctheta%7D(w%2Cn))%2B%5Clambda_n%20%5Cmathcal%7BL%7D_n(n)

噪聲 n 只在優(yōu)化過程中起作用,我們的目的是獲得 latent 編碼?w_p. 但僅利用?latent 編碼?w_p?生成的圖像將會和原圖有一些差別。所以下一步我們調(diào)整生成器(generator) G 的權(quán)重 %5Ctheta , 讓它生成的圖片?x%5Ep%20%3D%20G_%7B%5Ctheta%7D(w_p) 和原圖像?x 盡可能地接近。(如果改變不了自己,就改變世界).

DDIM Inversion

DDIM 的逆映射(2105.05233)的迭代公式其實很簡單,其實就是:

x_%7Bt%2B1%7D-x_t%3D%5Csqrt%7B%5Cbar%7B%5Calpha%7D_%7Bt%2B1%7D%7D%20%5Cleft(%20(%5Csqrt%7B1%2F%5Cbar%7B%5Calpha%7D_%7Bt%7D%7D-%5Csqrt%7B1%2F%5Cbar%7B%5Calpha%7D_%7Bt%2B1%7D%7D)x_t%2B%20(%5Csqrt%7B1%2F%5Cbar%7B%5Calpha%7D_%7Bt%2B1%7D-1%7D-%5Csqrt%7B1%2F%5Cbar%7B%5Calpha%7D_%7Bt%7D-1%7D)%5Cepsilon_%7B%5Ctheta%7D(x_t)%20%5Cright)

有趣的是,在 classifier-free guidance 的框架下,我們的 guidance scale w(反映 prompt 對合成圖片的影響程度)通常是一個很大的數(shù)值。

而只有在很小的?guidance scale 下,我們逆映射的編碼才能有很高的還原程度,以及很高的可編輯性(editability, 意味著編碼 z%5ET?的分布與高斯分布的接近程度)。

橫坐標是 guidance scale w, 左側(cè)是 w 和可編輯性的關(guān)系(log似然,越高越好),右側(cè)是 w 和圖像還原度的關(guān)系(峰值信噪比,越高越好)

這個時候,我們先考慮圖像的還原準確度,所以將?guidance scale 設(shè)置為 1, 然后獲得一個還原程度比較高的編碼 z%5E*_T. 以及所有的中間步驟?z%5E*_%7BT-1%7D%2Cz%5E*_%7BT-2%7D%2C...%20z%5E*_1??

接下來,我們把?z%5E*_%7BT-1%7D%2Cz%5E*_%7BT-2%7D%2C...%20z%5E*_1?作為一個參照目標,我們將 ?guidance scale 設(shè)置為一個比較大的數(shù)值(比如說 7.5),然后對于每一個中間步驟 t%3D1%2C...%2CT 我們最小化編碼?z_%7Bt-1%7D?和?z_%7Bt-1%7D%5E*?之間的距離。即?%5Cmin%20%7B%5Cvert%20%5Cvert%20%7Bz_%7Bt-1%7D%5E*-z_%7Bt-1%7D%7D%20%5Cvert%20%5Cvert%20%7D%5E2_2

Null Text Optimization

以上的方法有一個很大的問題,就是我們針對每一個圖片都要進行如上的 fune-tuning, 而調(diào)整去噪擴散模型是一個非常昂貴的過程。

這里論文里面用了一個很聰明的辦法——針對每一個圖片,我們把優(yōu)化整個去噪擴散模型的目標,轉(zhuǎn)變?yōu)閮?yōu)化我們的指令(prompt),而且只優(yōu)化無條件的部分(即 null-text)——因為無條件的部分對于圖片合成的影響較大。

所以我們用 null-text embedding 初始化我們的無條件文本?%5C%7B%5Cvarnothing%5C%7D_%7Bt%3D1%7D%5E%7BT%7D, 然后我們每一步預(yù)測的噪聲為%5Ctilde%7B%5Cepsilon%7D_%5Ctheta(z_t%2Ct%2C%5Cmathcal%7BC%7D%2C%5Cvarnothing_t)%20%3D%20w%20%5Ccdot%20%5Cepsilon_%5Ctheta(z_t%2Ct%2C%5Cmathcal%7BC%7D)%20%2B%20(1-w)%20%5C%20%5Ccdot%20%5Cepsilon_%5Ctheta(z_t%2Ct%2C%5Cvarnothing_t),?

將這個預(yù)測結(jié)果帶入到上一節(jié)的迭代公式中,然后最小化我們的目標,即?%5Cmin_%7B%5Cvarnothing_t%7D%20%7B%5Cvert%20%5Cvert%20%7Bz_%7Bt-1%7D%5E*-z_%7Bt-1%7D%7D%20%5Cvert%20%5Cvert%20%7D%5E2_2.

流程示意圖,這里我們只對 null-text 所對應(yīng)的 ??進行優(yōu)化

以上的方法屬于針對每一步優(yōu)化相應(yīng)的 null-text %5C%7B%5Cvarnothing%5C%7D_%7Bt%3D1%7D%5E%7BT%7D, 我們還可以采用另外一種辦法,就是去優(yōu)化一個全局的 null-text %5Cvarnothing(也就是每一步優(yōu)化的時候,對象都是同一個?%5Cvarnothing. 這種方法雖然算力要求低,但是收斂的速度慢。

完。

B站的公式編輯器經(jīng)常抽風(fēng),如果遇到類似于 tex parse error 之類的異常時,一般刷新一下頁面就可以解決。


AIGC: Null-Text Inversion 筆記的評論 (共 條)

分享到微博請遵守國家法律
得荣县| 固阳县| 大宁县| 政和县| 扶风县| 荥经县| 耿马| 临武县| 石狮市| 齐河县| 吉木萨尔县| 辛集市| 龙山县| 德保县| 永川市| 丘北县| 陵水| 建宁县| 开原市| 紫阳县| 东源县| 浮山县| 广丰县| 东城区| 隆德县| 滁州市| 嘉兴市| 康定县| 文昌市| 富川| 葵青区| 延庆县| 永靖县| 庆安县| 临武县| 西吉县| 榆社县| 天峻县| 肇州县| 新沂市| 古浪县|