申惠豐
申惠豐

給下一輪亂世魯蛇的末日備忘錄

白話解碼 Latent Diffusion Models

Latent Diffusion Models (LDMs) 是一種革新性的AI圖像生成技術,通過引入潛在空間(Latent Space)的概念,顯著提高了圖像生成的質量和效率。

在上一篇文章中,我們討論了Diffusion Model如何透過逐步去除雜訊的方式,生成令人驚艷的圖像,大大的推進了AI圖像生成的品質。但是,Diffusion Model 仍有個現實問題需要克服,就是它需要龐大的算力處理,導致計算成本高昂,而且圖像生成過程也不太容易控制。為了解決這個問題,一種更高效、更強大的模型—— Latent Diffusion Models(LDMs)——潛在擴散模型被提出,它是對Diffusion Model的一個重要革新,可以在保持高品質圖像生成效果的同時大幅提高運算效率和生成速度。成本的降低,也意味著讓AI圖像創作變得更加便捷與實惠,可以說,LDMs的提出,為AI圖像生成開闢了一條新的道路。

濃縮與還原--潛在空間的概念

Latent Diffusion Models 跟 Diffusion Model最大的差別在於「Latent」這個詞,我們可以白話翻譯為「潛在空間」(Latent Space),這個空間不同於我們可以直接觀察圖像的「像素空間」(Pixel Space)。在潛在空間中,圖像會被編碼成一個抽象、壓縮的「表示」,其中包含了圖像的核心語義信息,但會忽略了一些細節。

在深度學習中,「潛在表示」通常是一個高維向量或張量,這意味著,一個潛在表示實際上是一組數字,每個數字表示某種抽象特徵的強度或存在與否。舉例來說,我們要用潛在表示的方式來呈現一杯咖啡的特徵,那可能是[0.8, 0.3, 0.1, 0.2, 0.5]--這些數字可能分別代表著咖啡濃度0.8、糖量0.3、奶量0.1、香草風味0.2、焦糖風味0.5。這當然只是一個簡化的例子,在LDMs中,一個潛在表示也是類似的形式,只不過它的維度要高很多,而每個維度表示的就是圖像的某種抽象特徵。

所以,「Latent」(潛在)呈現了 LDMs 的一個關鍵的創新,它引入了一個中間的、抽象的「表示空間」。這個空間的引入,極大程度提高了擴散生成的效率和可控性。它允許我們在一個更加濃縮、更加本質性的層面上進行圖像生成和編輯,而不需要直接處理龐大的像素數據。這也是為什麼LDMs可以大量減少運算量的主要原因。

LDMs將高維度的像素空間(例如1024x1024x3的影像)壓縮到一個低維度的潛在空間(例如64x64x4)。 潛在空間的維度遠低於原始像素空間,大大減少模型需要處理的資料量。 較低的資料維度意味著更少的記憶體的使用、更快的梯度傳播和更輕量的模型參數,從而顯著提升了訓練和推理的計算效率。

編碼與解碼

為了更好理解LDMs的運作原理,我們用一個簡單的類比來說明,就用咖啡來舉例吧。請大家想像眼前有一杯濃縮的咖啡,這杯咖啡雖然體積小,但卻包含了一杯咖啡所有的精華--有著濃郁的香氣,醇厚的口感,以及高度的咖啡因。這杯濃縮咖啡,就像一張圖像在潛在空間中的表示--雖然體積小(維度低),但卻保留了圖像最本質與最關鍵的信息。

所以,當你需要一杯普通咖啡時,你只需要將濃縮咖啡倒入水中,稀釋、攪拌均勻,就能得到一杯完整的咖啡。這個過程,就像是LDMs中的解碼器,它將潛在空間中濃縮的圖像信息,解壓回原始的圖像空間,還原出一張完整的、高解析度的圖像。

在LDMs中,圖像生成的關鍵步驟發生在「潛在空間」中。這個過程可以類比為在濃縮咖啡中添加不同的配料,創造出獨特風味的咖啡。製作濃縮咖啡的過程,可以類比為 LDMs 中的編碼器。編碼器的任務,就是把一杯普通咖啡(原始圖像),提取出最精華的部分(關鍵語義信息),製成濃縮咖啡(潛在表示)。這個過程會去除一些不必要的細節(如水分),但卻能保留咖啡的本質特徵。

而在潛在空間中進行圖像生成和編輯,就像是在濃縮咖啡中添加不同的配料--例如糖、牛奶、肉桂等,創造出不同風味的咖啡。所以,你可以想像,你是一位咖啡師,任務是創造一杯獨特的濃縮咖啡。你面前有一杯基礎的濃縮咖啡,這就像是潛在空間中的一個起點。現在,你需要在這杯濃縮咖啡中添加不同的配料,直到得到你想要的味道。

LDMs 在壓縮後的低維潛在空間中應用擴散模型進行影像的去除雜訊。由於潛在空間維度較低,去雜訊過程所需的計算量大大減少。 此外,潛在空間濃縮了影像的語義資訊,去除了冗餘細節。模型在這個精簡空間中去除雜訊,可以更快速地產生高品質影像。

在LDMs中,這個添加配料的過程,就對應著擴散模型的迭代步驟。每一步迭代,模型都會在潛在表示中添加或去除一些信息,就像是在濃縮咖啡中添加或調整配料。這個過程是逐步的、循序漸進的,但每一步都會使潛在表示更接近於目標。具體來說,模型首先會在潛在表示中加入一些隨機雜訊,就像是在濃縮咖啡中加入一些未知的配料。然後模型會學習如何逐步去除這些雜訊,直到找到最佳的「配方」。這個去除雜訊的過程,就像不斷品嚐、不停調整的過程,直到這杯濃縮咖啡的味道達到理想的狀態。

這個過程之所以能夠更高效,是因為我們只需要針對一杯小小的濃縮咖啡(低維)進行操作,而不需要對一大杯普通咖啡(高維)進行改造。因此,當我們完成濃縮咖啡的調製,只需要將它倒入水中,就能得到一大杯具有獨特風味的咖啡。這就像是 LDMs 生成圖像的過程--先在「潛在空間」中高效地生成與編輯濃縮的圖像表示,然後通過解碼器將其還原為完整的圖像。

在LDMs中,解碼器負責將產生的潛在表示還原為高維度的影像。由於潛在空間的維度較低,解碼器的計算複雜度大大降低。較小的潛在表示也意味著解碼器的參數量減少,前向傳播和反向傳播的計算量也隨之降低。

條件生成的藝術--交叉注意力機制

LDMs 另一個強大之處在於,它能夠根據特定的條件,生成符合要求的圖像。

想像你是一位咖啡大師,你的任務是根據顧客的特定要求,創造出獨特的濃縮咖啡。這些要求可能是口味偏好(我喜歡甜一點的咖啡),或是風格描述(我想要一杯有熱帶風情的咖啡)。因此,在製作濃縮咖啡時,你便需要在創作過程中,將這些要求與條件考慮進去。

在LDMs中,這些條件可以是文字描述、類別標籤或者參考圖像等。它們就像是顧客給你的特殊要求,指導你創作濃縮咖啡的方向。LDMs 需要在生成圖像的過程中,將這些條件融入到潛在表示中,以確保生成的圖像符合要求。

為了實現這一功能,LDMs 引入了一種名為「交叉注意力」(cross-attention)的機制。這個機制允許模型在生成圖像的過程中,動態地關注和參考相關的條件信息。這就像是你在創作濃縮咖啡時,隨時隨地的參考顧客的要求清單,並根據清單上的內容調整咖啡的配方。

更具體的說,交叉注意力機制會將條件訊息編碼成一個向量(一串帶有抽象表示的複雜數字),然後將這個向量與潛在表示進行互動。在每一步的生成過程中,模型都會參考這個條件向量,並根據其中包含訊息來調整「潛在表示」。這可以讓生成的圖像,不僅符合一般的圖像特徵,也符合特定的條件要求。

舉例來說,如果我們給定的提示條件是「一隻可愛的小貓」,交叉注意力機制會在生成過程中不斷強調「可愛」和「小貓」 這兩個概念。它會引導模型在潛在空間中找到那些與「可愛小貓」相關的區域,確保生成的圖像呈現的是可愛小貓的特徵。這就像你在製作濃縮咖啡時,如果客戶要求一杯「有熱帶風情的咖啡」,你會特別關注那些與「熱帶」相關的配料,如椰子、鳳梨。這樣一來,你會確保這些配料在咖啡中佔有重要的位置,以便最終的咖啡能呈現出所謂的「熱帶風味」。

通過「交叉注意力」,LDMs可以將文字、標籤等不同形式的條件,與圖像的生成過程緊密結合。這使得 LDMs 能夠生成符合特定要求的圖像,為AI藝術創作提供了更大的靈活性和可控性。這就像是一個高級咖啡館,可以根據客戶的特定要求,創造出獨特的、個性化的濃縮咖啡。

結語

Latent Diffusion Models的核心思想,是將複雜的圖像生成問題,分解為兩個步驟,首先將圖像壓縮到一個信息濃縮的「潛在空間」,然後在這個「潛在空間」中進行高效、靈活的圖像生成和編輯,LDMs 的這種「分而治之」的策略,不僅提高了計算效率,也為創作提供了更高的自由度。同時,LDMs 也引入的「交叉注意力」機制,更讓條件生成變為可能,為AI藝術創作提供了更靈活更可控的能力。

參考資料:

Rombach, R., Blattmann, A., Lorenz, D., Esser, P., & Ommer, B. (2022). High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition (pp. 10684-10695).

論文下載:arXiv:2112.10752

CC BY-NC-ND 4.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论