U-Net

U-Net je neurónová sieťová architektúra navrhnutá na „presné vystrihovanie" objektov z obrázka na úrovni pixelov (segmentáciu). Pôvodne sa preslávila v medicínskych snímkach, ale dnes ju v rôznych obmenách nájdeš v satelitných dátach, pri autonómnom videní a dokonca ako jadro mnohých diffusion generátorov obrázkov. V roku 2026 ostáva U-Net jednou z mála architektúr, ktoré prežili takmer desaťročie relatívne nezmenené v jadre — čo samo osebe hovorí o sile jej základnej myšlienky.


1. Čo to je (definícia + analógia)

  • Segmentácia pixel po pixeli: U-Net nehovorí len „na obrázku je auto", ale označí ktoré presne pixely patria autu, ceste, oblohe atď.

  • Mapa namiesto štítku: Výstupom je typicky „maska" (obrázok rovnakej veľkosti), kde každému pixelu priradí triedu alebo pravdepodobnosť.

  • Analógia s fotografom a šablónou: Predstav si, že máš fotografiu a chceš vyrezať postavu úplne presne. Najprv si spravíš hrubý náčrt (kde približne je postava), potom sa vraciaš k detailom (hrany vlasov, prsty). U-Net robí podobné „hrubé → jemné" spresňovanie, pričom si medzivýsledky z každej fázy starostlivo uchováva.

  • Odkiaľ meno pochádza: Keď kreslíš blokovú schému architektúry, tvar siete pripomína písmeno „U". Ľavá vetva je encoder (zmenšovanie), pravá vetva je decoder (zväčšovanie) a spojenia naprieč oboma vetvami tvoria charakteristické horizontálne prepojenia.


2. Ako to funguje (krok za krokom)

  • Encoder (zmenšovanie):

    • Znižovanie rozlíšenia: Sieť postupne zmenšuje obraz (napr. pooling/strided convolutions), aby zachytila globálny kontext.
    • Rast počtu kanálov: Ako sa obraz zmenšuje, pribúdajú „kanály" (feature mapy) — sieť si ukladá bohatšie popisy s menšou priestorovou presnosťou.
    • Zmysel: Vieš rozpoznať čo tam je a približne kde, ale strácaš jemné okraje a presné kontúry.
  • Bottleneck (stred):

    • Najhustejšia reprezentácia: Najmenšie rozlíšenie, najviac „informácie na pixel".
    • Zmysel: Kombinuje širší kontext — napríklad, že svetlá škvrna je orgán a nie šum, alebo že daná textúra patrí nádoru a nie zdravému tkanivo.
  • Decoder (zväčšovanie):

    • Up-sampling: Sieť postupne vracia rozlíšenie späť (transposed conv / bilineárny upsampling + conv).
    • Spresňovanie hraníc: Pri návrate do vyššieho rozlíšenia sa učí „vymaľovať" presné okraje objektov.
  • Skip connections (to je ten „U" trik):

    • Preskoky z encoderu do decoderu: Z vyšších rozlíšení v encodéri berie detaily a pripája ich k dekodéru cez konkatenáciu kanálov.
    • Prečo sú kľúčové: Decoder má kontext, encoder má detaily. Spojením dostaneš presné kontúry bez toho, aby sa informácia pri zmenšovaní úplne stratila.

3. Prečo je to dôležité a kde sa používa

  • Medicína (odkiaľ U-Net vyšlo):

    • Orgány a lézie: Segmentácia orgánov v CT/MRI, nádory, cievy, bunky v mikroskopii. Medicínska segmentácia ostáva doménou, kde U-Net (a jeho varianty) dominuje aj v roku 2026.
    • Málo dát: U-Net sa historicky dobre uplatnil aj tam, kde anotácie sú drahé — lekár musí ručne kresliť masky, čo je časovo náročné.
    • Regulácia a interpretovateľnosť: V medicínskych systémoch sú dôležité nielen výsledky, ale aj možnosť vysvetliť, čo sieť „videla". Masky sú prirodzene vizualizovateľné.
  • Satelitné a mapové dáta:

    • Budovy, cesty, polia: Potrebuješ presnú plochu, nie len „niekde je budova".
    • Zmeny v čase: Porovnávanie masiek (napr. odlesňovanie, záplavy) je často jednoduchšie než porovnávanie celých obrázkov. Organizácie ako ESA a NASA používajú U-Net varianty v rutinnej analýze satelitných snímok.
  • Priemysel a kontrola kvality:

    • Defekty: Škrabance, praskliny, póry — drobné chyby sú „tenká línia" a potrebuješ pixelovú presnosť pri detekcii aj lokalizácii súčasne.
  • Generovanie obrázkov (diffusion modely):

    • Denoising jadro: V mnohých diffusion systémoch hrá U-Net rolu siete, ktorá predikuje šum alebo „čo odšumiť" v každom kroku. Stable Diffusion 1.x a 2.x stavia priamo na U-Net backbone.
    • Posun smerom k transformerom: Od roku 2023 nové generácie modelov (Stable Diffusion 3, FLUX, DiT-based systémy) nahrádzajú U-Net za Diffusion Transformers (DiT). U-Net však ostáva základom obrovského množstva nasadených systémov a ľahkých modelov, kde pamäťová efektivita rozhoduje.
    • Multi-scale pochopenie: Pri generovaní potrebuješ naraz riešiť kompozíciu (globálne) aj textúry (lokálne) — U-Net to prirodzene podporuje cez viac mierok a skip connections.

4. Výhody a obmedzenia

  • Výhody:

    • Presnosť hraníc: Skip connections dávajú dekodéru priamy prístup k detailom z rôznych mierok.
    • Multi-scale myslenie: Sieť vidí scénu naraz v hrubej aj jemnej mierke.
    • Flexibilita: Ľahko sa upravuje na 2D, 3D, viac tried, viac kanálov vstupu (napr. CT + PET).
    • Efektivita pri malých datasetoch: V porovnaní s plne transformerovými architektúrami vyžaduje menej trénovacích dát na dosiahnutie dobrých výsledkov.
  • Obmedzenia:

    • Pamäťová náročnosť: Skipy držia veľa feature máp; pri veľkých rozlíšeniach (napr. 2048×2048 satelitné snímky) rastie spotreba VRAM kvadraticky s rozlíšením.
    • Citlivosť na anotácie: Segmentácia je taká dobrá, ako dobré sú masky — nekonzistentné značkovanie sieť „naučí chaos".
    • Malé objekty vs. kontext: Keď sú objekty extrémne malé, treba doplniť tréningové triky (vyváženie tried, vyššie rozlíšenie, špeciálne loss funkcie).
    • Obmedzený globálny kontext: Klasický U-Net pracuje s lokálnymi receptívnymi poľami; transformerové varianty (Swin U-Net) tento problém riešia za cenu vyšších nárokov na pamäť.
Oblasť Čo U-Net typicky zvláda dobre Na čo si dať pozor
Hranice objektov Ostré kontúry, jemné detaily cez skip connections Rozmazanie pri agresívnom downsamplingu
Viac tried Súčasná segmentácia viacerých kategórií Nevyvážené triedy (pozadie dominuje pixelový počet)
Veľké rozlíšenia Dobrý výsledok pri patchovaní (tile-based inference) VRAM, švy medzi patchmi, artefakty na hraniciach
Malé datasety Dobrá generalizácia aj so stovkami obrázkov Preučenie bez augmentácie
Globálny kontext Bottleneck zachytáva hrubé vzťahy Dlhé závislosti riešia lepšie transformery

5. Varianty a modernizácie (stav 2026)

Základný U-Net z roku 2015 bol len začiatok. V praxi stretneš množstvo špecializovaných verzií:

  • 3D U-Net: Rozširuje operácie do tretej dimenzie — nevyhnutné pre volumetrické dáta (CT/MRI), kde každý „rez" nie je nezávislý.

  • Attention U-Net: Pridáva mechanizmus pozornosti na skip connections — sieť sa aktívne rozhoduje, ktoré detaily z encodera sú relevantné pre konkrétnu oblasť dekódovania. Redukuje šum z irelevantných štruktúr.

  • U-Net++ (nested U-Net): Hustejšie prepojenia medzi enkóderom a dekóderom, viac „medzivrstiev" — stabilnejšie učenie, lepšia segmentácia objektov s variabilnou veľkosťou.

  • ResUNet / U-Net s reziduálnymi blokmi: Výmena konvolučných blokov za reziduálne (ResNet-štýl) — hlbšie siete bez problému s vanishing gradientom.

  • Swin U-Net / TransUNet: Výmena konvolúcií za Swin Transformer bloky — lepší globálny kontext, ale vyššie nároky na dáta a pamäť. Vhodné pri veľkých datasetoch (napr. celý dataset MICCAI).

  • nnU-Net (skôr systém než jedna sieť): Automaticky nastaví architektúru, predspracovanie a tréning na základe vlastností datasetov. Ostáva de-facto štandardom pre medicínske segmentačné súťaže aj v roku 2026 — vyhralo desiatky benchmarkov bez manuálneho ladenia.

  • SAM-adaptované U-Net modely: Po vydaní Segment Anything Model (SAM a SAM 2) vznikli hybridné prístupy, kde U-Net funguje ako promptovací encoder alebo dolaďovací modul na doménovo špecifické segmentácie.

Variant Hlavný prínos Typická doména
3D U-Net Volumetrická segmentácia CT, MRI, mikroskopia
Attention U-Net Selektívne skip connections Medicína, satelitné snímky
U-Net++ Hustejšie prepojenia, jemnejšie výsledky Variabilné veľkosti objektov
ResUNet Stabilnejšie trénovanie hlbokých sietí Všeobecná segmentácia
Swin U-Net Globálny kontext cez transformery Veľké datasety, komplexné scény
nnU-Net Automatizované nastavenie celého pipeline Medicínske benchmarky

6. Loss funkcie a metriky (čo nie je jedno)

Výber loss funkcie a metriky nie je technický detail — rozhoduje o tom, čo sieť skutočne optimalizuje:

  • Pixel-wise cross-entropy: Základná voľba, ale zlyháva pri nevyvážených triedach (pozadie tvorí 99 % pixelov → sieť sa naučí „vždy predikuj pozadie").

  • Dice loss: Priamo optimalizuje Dice koeficient (F1 skóre na úrovni pixelov). Odolnejší voči nevyváženiu. Štandardná voľba v medicínskej segmentácii.

  • IoU loss (Jaccard loss): Podobný Dice lossu, priamo optimalizuje Intersection over Union — metriku, ktorou sa segmentácia bežne hodnotí.

  • Kombinácia Dice + cross-entropy: Veľmi bežná hybridná voľba v praxi — cross-entropy dáva stabilný gradient na začiatku, Dice dolaďuje presnosť.

  • Focal loss: Pôvodne z detekcie objektov, ale funguje aj pri segmentácii — penalizuje ľahké príklady viac ako ťažké, čo pomáha pri nevyvážených triedach.

  • Tversky loss: Generalizácia Dice lossu, kde môžeš nastaviť, či viac penalizuješ false positives alebo false negatives — užitočné napr. keď chceš radšej preznačiť viac pixelov ako premeškať nádor.


7. Praktické použitie: čo to znamená pre teba

  • Keď používaš AI nástroje na segmentáciu:

    • Masky v editoroch: Výber oblohy, vlasov, objektu v moderných foto editoroch — často je pod tým U-Net alebo jeho potomok.
    • Kvalita okrajov: Ak vidíš zubaté hrany, problém je zvyčajne v rozlíšení, tréningových dátach alebo postprocessingu — nie v „slabom AI".
  • Keď chceš U-Net trénovať alebo nasadiť (aj v malom tíme):

    • Dataset je kráľ: Lepšie je mať menej dát, ale konzistentne anotovaných, než veľa nekvalitných masiek. Nekonzistencia v anotáciách je väčší problém než malý dataset.
    • Vyber si vhodnú metriku: IoU/Dice zodpovedajú „prekryvu" oveľa lepšie než obyčajná pixelová presnosť — pri nevyvážených triedach je accuracy zavádzajúca.
    • Augmentácia nad gold: Rotácie, prevráteniny, farebné posuny, elastické deformácie (pre medicínske dáta) — U-Net je na augmentáciu citlivý v pozitívnom zmysle, tréning vždy zlepší.
    • Pozor na nevyvážené triedy: Malý defekt môže tvoriť 0,1 % pixelov. Bez vyváženia (weighted loss, oversampling patchov s triedou záujmu) sieť ignoruje presne to, čo potrebuješ detekovať.
  • Bežné tréningové triky (2026):

    • Mixed precision (FP16/BF16): Redukuje pamäťové nároky skip connections takmer na polovicu.
    • Gradient checkpointing: Prepočíta aktivácie namiesto ich ukladania — ešte väčšia úspora VRAM za cenu pomalšieho tréningu.
    • Test-Time Augmentation (TTA): Predikuj s viacerými augmentáciami a priemieruji výsledky — jednoduchý spôsob ako zlepšiť výsledky bez dotrénenia.

8. Skip connection v kóde (skrátene)

Celé „U" stojí na tom, že decoder dostane späť detaily z encodera cez konkatenáciu:

# encoder uloží medzivýstupy, decoder ich „prilepí" späť
e1 = enc1(x);            p1 = pool(e1)
e2 = enc2(p1);           p2 = pool(e2)
b  = bottleneck(p2)
d2 = dec2(cat(up(b),  e2))   # skip: detaily z e2
d1 = dec1(cat(up(d2), e1))   # skip: detaily z e1
mask = head(d1)              # výstupná maska v pôvodnom rozlíšení

Bez cat(..., e_i) by sieť pri zmenšovaní „rozmazala" hrany — skip ich vráti. Všimni si, že decoder nikdy nepracuje len s up-samplovanou verziou bottlenecku, vždy má k dispozícii aj pôvodné detaily z príslušnej hĺbky encodera.


9. U-Net vs. novšie prístupy (kontext 2026)

Vývoj v segmentácii a generovaní obrázkov prináša nových konkurentov:

  • Diffusion Transformers (DiT): FLUX, Stable Diffusion 3 a ďalšie generatívne modely z rokov 2024–2026 nahradili U-Net za DiT — transformerové bloky pracujú na patchoch latentu namiesto hierarchickej U-Net štruktúry. V generatívnom AI sa teda U-Net čiastočne sťahuje, ale v segmentácii si drží pozíciu.

  • Segment Anything Model (SAM / SAM 2): Meta vydala SAM ako univerzálny segmentačný model s promptovaním. SAM 2 (2024) pridáva video. Tieto modely sú silné pre interaktívnu segmentáciu, ale pre automatickú doménovo špecifickú segmentáciu (napr. CT nádory) stále dominujú U-Net varianty dotrénované na doméne.

  • SegFormer / Mask2Former: Čisto transformerové architektúry pre sémantickú segmentáciu v prirodzených scénach. Lepšie na veľkých datasetoch (Cityscapes, ADE20K), ale U-Net víťazí na malých medicínskych a priemyselných datasetoch.

Záver kontextu: U-Net nie je zastaraný — je to overená, efektívna a dobre pochopiteľná architektúra. Transformerové varianty sú silnejšie pri bohatých dátach a globálnom kontexte, U-Net ostáva lepšou voľbou pri obmedzených dátach, pamäťových limitoch a doménach, kde presnosť hraníc rozhoduje.


10. Ako si U-Net predstaviť ako proces (mentálny model)

  1. Zmenšujem, aby som pochopil scénu: „Čo je kde približne?"
  2. Držím si detaily bokom: „Tieto hrany sa mi ešte zídu — uložím ich."
  3. Zväčšujem a spresňujem: „Teraz vymaľujem presne, pixel po pixeli."
  4. Prilepím späť detaily: „A tu sú hrany z pôvodného rozlíšenia, aby to sedelo."

Toto je dôvod, prečo U-Net funguje tak dobre aj v situáciách, kde je dôležité byť presný na hraniciach — a zároveň nestratiť kontext celej scény. Hrubé pochopenie a jemné detaily spolupracujú namiesto toho, aby si konkurovali.


11. Súvislosti

  • Diffusion models: U-Net je klasické denoising jadro difúznych generátorov; novšie DiT architektúry ho v generatívnom AI čiastočne nahrádzajú.
  • Deep Learning: Je to konvolučná architektúra trénovaná gradientovým zostupom so štandardnými optimalizátormi (Adam, AdamW).
  • Attention: Attention U-Net pridáva pozornosť na relevantné oblasti; Swin U-Net nahrádza konvolúcie za transformerové bloky.
  • Overfitting: Pri málo anotovaných maskách hrozí preučenie — pomáha augmentácia a Dice loss ako regularizácia cez priame metrické optimalizovanie.
  • Transfer learning: Encoder U-Netu sa dá inicializovať predtrénovanými váhami (napr. ImageNet ResNet) — skráti čas trénovania a zlepší výsledky pri malom datasete.

Zhrnutie

  • U-Net je architektúra pre segmentáciu — pre úlohy, kde potrebuješ presne určiť, ktoré pixely patria ktorému objektu.
  • Kľúčový nápad sú skip connections, ktoré spájajú „globálne pochopenie" (encoder) s „jemnými detailmi" (decoder) na každej mierke.
  • Používa sa od medicíny po satelitné mapy a v rôznych obmenách fungoval ako jadro denoisingu v diffusion generovaní — kde ho v najnovších modeloch čiastočne nahrádzajú Diffusion Transformers.
  • V roku 2026 ostáva U-Net relevantný najmä v medicíne, priemysle a ľubovoľnej doméne s obmedzeným množstvom anotovaných dát — kde je efektivita, interpretovateľnosť a presnosť hraníc prioritou.
  • V praxi rozhodujú dáta, loss funkcia a nastavenie tréningu: konzistentné anotácie, práca s nevyváženými triedami a rozumné metriky (Dice/IoU) spravia väčší rozdiel než výmena jednej varianty U-Netu za inú.