蘋果開源高清擴散模型MDM,能在多個分辨率下同時去噪
擴散模型已經成為文本生成圖像、視頻的主要框架之一,其基本原理是通過逐步引入噪聲并在反向過程中去除噪聲來生成數據。但在生成2K、4K高分辨率時,面臨巨大的算力需求和時間消耗。
為了解決這一難題,蘋果的研究人員開源了高清擴散模型Matryoshka Diffusion Models(簡稱“MDM”), 通過引入一種特殊的擴散過程可在多個分辨率下同時進行去噪,并使用NestedUNet架構,將小尺度輸入的特征和參數嵌套在大尺度的結構中,允許模型在不同分辨率間共享信息,從而提高訓練效率和生成質量。
開源地址:https://github.com/apple/ml-mdm?tab=readme-ov-file
傳統的擴散模型通常在單一分辨率下進行去噪操作,而MDM引入了多分辨率擴散過程,將不同分辨率的潛在變量聯合起來進行處理。
例如,當生成一張圖像時,MDM不僅考慮最終的高分辨率輸出,還同時關注中間的低分辨率信息。這就好比在制作一幅精美的刺繡作品時,不僅要關注整體的圖案設計,還要注重每一針每一線的細節,而低分辨率信息就像是刺繡中的底層線條,為高分辨率的呈現提供了基礎。
在這個擴展空間中,MDM為數據點定義了時間相關的潛在變量,包含了多個不同分辨率的潛在變量。每個都有其特定的分布,并且與其他分辨率的潛在變量相互關聯。
這種多分辨率的聯合處理使得模型能夠更好地捕捉數據的內在結構和特征,豐富了模型對數據分布的建模能力。由于在推理過程中關注了多個分辨率的信息,MDM可以將中間分辨率視為額外的隱藏變量,這些隱藏變量有助于模型更好地理解和生成高分辨率的輸出
MDM使用的NestedUNet架構類似于傳統的UNet架構,但在處理多分辨率輸入時有一些區別。傳統的UNet架構通過跳過連接和計算塊來保留細粒度輸入信息,而NestedUNet架構在此基礎上,進一步將所有分辨率的潛在變量分組在一個去噪函數中形成嵌套結構。
這種嵌套結構使得低分辨率潛在變量的計算能夠自然地為高分辨率潛在變量的計算提供有益的信息,就像套娃游戲一樣,小的套娃嵌套在大的套娃中,彼此相互關聯共同構成一個完整的整體。
在圖像生成任務中,當模型處理不同分辨率的圖像時,NestedUNet架構能夠有效地整合這些信息。低分辨率的圖像特征會被逐漸傳遞到高分辨率的部分,為高分辨率圖像的生成提供重要的線索和指導。
例如,我們想生成一幅“海灘日落”的高分辨率圖像。在MDM生成過程中會從一幅低分辨率的草圖開始。這幅草圖捕捉了海灘日落的基本元素,如天空、海面和太陽的大致輪廓。
隨后,模型會在這一草圖的基礎上逐步增加細節,比如太陽的光輝、海浪的波紋和沙灘上的紋理。在每一級分辨率的提升過程中,模型都會利用NestedUNet架構中的特征共享機制,確保生成的圖像在細節上的連貫性和一致性。
漸進式多階段訓練是MDM的另外一大優勢。在傳統的訓練方法中,模型往往需要一次性處理所有分辨率的數據,這在高分辨率情況下會導致巨大的計算負擔。
MDM則通過漸進式訓練,先從低分辨率開始訓練,逐步增加分辨率,直至達到所需的高分辨率輸出。
這種方法不僅減輕了訓練初期的計算壓力,還有助于模型更好地學習到不同分辨率之間的關聯和轉換規則。
本文轉自 AIGC開放社區 ,作者:AIGC開放社區
