生成式視覺:擴散與文生圖

去雜訊 U-Net

去雜訊 U-Net 是幾乎每個擴散模型內部實際負責預測的那個神經網路——這匹主力馬在給定一張雜訊影像與一個時間步後,輸出對「該移除的雜訊」的估計。U-Net 的形狀(因其類似字母 U 的示意圖而得名)先透過一個下採樣編碼器把影像縮小成一個小而抽象的瓶頸,再透過一個上採樣解碼器把它放大回去,並以跳接(skip connection)把編碼器中對應解析度的特徵直接交給每一層解碼器。這個形狀對去雜訊而言堪稱理想,因為移除雜訊既需要全域脈絡(這是一張什麼的影像?),也需要像素級精確的局部細節(這條邊緣到底在哪?),而 U-Net 兩者兼具。

兩個額外的輸入使它成為擴散 U-Net,而非普通的影像對影像 U-Net。第一,時間步 t 被編碼(通常透過正弦嵌入,類似位置編碼),並注入每一個殘差區塊,讓網路知道它面對多少雜訊,從而在高雜訊與低雜訊下表現不同。第二,條件——文字嵌入、類別標籤或其他引導——被注入進來,對文字而言通常是透過與卷積區塊交錯的交叉注意力層,由影像特徵去查詢文字。位於較低解析度層的自注意力層則讓影像中相距遙遠的部分得以協調(例如,讓生成的臉孔保持對稱)。

自 DDPM 以來,去雜訊 U-Net 一直是標準骨幹,但它並非唯一選項:擴散 Transformer(DiT)以一個作用於潛在區塊(patch)上的純 Transformer 取代卷積式 U-Net,在非常大的規模下擴展得更好,在較新的系統中日益受青睞。無論骨幹為何,它的契約都相同——單一個網路,在每個反向步驟重複使用,輸入(雜訊潛在張量、時間步、條件),回傳一個雜訊(或速度、或分數)的預測。它的容量、以及條件如何接入其中,在很大程度上決定了模型的保真度與遵循提示詞的能力。

又稱
diffusion U-Netnoise-prediction networkepsilon network