Encoder składa się z kilku poziomów; każdy poziom to dwie konwolucje 3×3 + ReLU + BatchNorm/GroupNorm, po których następuje 2× downsampling (max-pool lub stride-2). Liczba kanałów się podwaja na każdym poziomie (64 → 128 → 256 → 512 → 1024 w oryginale). Bottleneck na dnie U łączy ścieżki. Decoder upsampluje (transposed conv lub interpolacja + conv) i KONKATENUJE wynik z aktywacją z odpowiadającego poziomu encodera (skip connection), po czym następują dwie konwolucje. Wyjście to convolution 1×1 mapująca na liczbę klas (segmentacja) lub kanałów (regresja, predykcja szumu). W modelach dyfuzyjnych U-Net jest dodatkowo warunkowany na: (a) embedding kroku t (sinusoidalny, dodawany do każdego bloku), (b) embedding warunku c przez cross-attention. Self-attention działa w blokach o niskiej rozdzielczości (8×8, 16×16, 32×32) gdzie koszt N² jest opłacalny.
Klasyczne CNN do klasyfikacji tracą precyzję przestrzenną poprzez głębokie poolingi. Czyste sieci dekodujące bez bezpośredniego dostępu do wczesnych aktywacji nie potrafią odtworzyć dokładnych granic obiektów. U-Net rozwiązuje to przez skip connections, które dostarczają „świeże" lokalne informacje z encodera bezpośrednio do decodera, umożliwiając pixel-perfect predykcję na obrazach o oryginalnej rozdzielczości.
Sekwencja bloków konwolucyjnych z downsamplingiem. Każdy poziom kompresuje przestrzennie i podwaja kanały, ekstrahując coraz bardziej globalne cechy.
Symetryczna ścieżka upsamplingu (transposed conv lub interpolacja + conv) odtwarzająca oryginalny rozmiar i redukująca kanały.
Aktywacje encodera są konkatenowane z odpowiadającymi aktywacjami decodera na tym samym poziomie rozdzielczości. Kluczowe dla precyzji granic.
Bloki konwolucyjne (i często attention) operujące na najmniejszej rozdzielczości i największej liczbie kanałów; zawiera najbardziej globalny kontekst.
Sinusoidalny embedding t przepuszczany przez MLP i dodawany jako bias do każdego bloku rezydualnego. Specyficzne dla U-Net w dyfuzji.
Oficjalna
Q z aktywacji U-Net, K/V z embeddingu warunku c (np. CLIP). Dodawane w blokach attention na różnych rozdzielczościach.
Oficjalna
Transposed conv z niewłaściwym kernelem produkuje regularne wzorce szachownicy widoczne zwłaszcza w generacji.
Niezgodność rozdzielczości encoder-decoder przy nieparzystych rozmiarach lub złym paddingu uniemożliwia konkatenację.
Trójwymiarowe wolumeny medyczne kosztują O(D·H·W·C) pamięci — łatwo przekroczyć VRAM nawet na A100.
Statystyki batchu zależą od rozkładu szumu i są niestabilne przy zmiennych krokach t.
Ronneberger, Fischer & Brox publikują U-Net dla segmentacji biomedycznej; wygrywa ISBI cell tracking challenge.
Rozszerzenie na trójwymiarowe wolumeny medyczne (Çiçek i in., Milletari i in.).
Isensee i in. tworzą generyczny framework U-Net automatycznie dostrajający hiperparametry per dataset.
Ho i in. używają U-Net z attention i timestep embedding jako standardowego ε_θ w dyfuzji.
Latent Diffusion (Rombach i in.) wprowadza U-Net z cross-attention warunkowanym tekstem; szkielet SD 1.x/2.x/SDXL.
SDXL skaluje U-Net do 2.6B parametrów z dwustopniowym refinementem dla 1024 px natywnie.
Zhang & Agrawala dodają równoległą zamrożoną kopię U-Net dla precyzyjnej kontroli (depth, pose, edges).
Diffusion Transformer (Peebles & Xie) i SD3 zastępują U-Net architekturą czystego Transformera; U-Net pozostaje jednak dominująca w wielu pipeline'ach.
Liczba poziomów piramidy (typowo 4-5 w segmentacji, 4-6 w dyfuzji).
Liczba kanałów na pierwszym poziomie (64 w oryginale, 128-320 w SD/SDXL).
Mnożniki kanałów per poziom (np. [1,2,4,4] w SD).
Rozdzielczości, na których działają self/cross-attention (np. 32×32, 16×16, 8×8).
BatchNorm (oryginalna), GroupNorm (DDPM/SD), LayerNorm. GroupNorm jest standardem w dyfuzji.
Transposed conv vs interpolation + conv (mniej artefaktów szachownicy).
Cała sieć jest aktywna na każdy obraz / krok dyfuzji.
Wszystkie konwolucje, skip connections i attention są w pełni równoległe w batchu i przestrzennie. Brak wewnętrznej rekurencji.
Konwolucje, attention i upsampling są idealnie dopasowane do tensor cores. Cała rodzina U-Net działa szczytowo na GPU NVIDIA/AMD.
TPU obsługuje konwolucje 2D bardzo dobrze; trening Imagen i innych dyfuzji odbywa się na TPU.
Mała U-Net dla segmentacji medycznej działa na CPU z AVX2/AVX-512, ale dyfuzyjna inferencja jest praktycznie niedostępna.