
Autor: Steven Wang
"Co nedokážu vytvořit, tomu nerozumím." -
Richard Feynman
Předmluva
Vytvářejte nádherné obrázky se Stable Diffusion a MidJourney na vaší straně.
Jste zkušení v používání ChatGPT a LLaMa k vytvoření elegantního textu.
Přepínáte tam a zpět mezi MuseNet a MuseGAN a vytváříte hudbu hor a tekoucí vody.
Není pochyb o tom, že nejunikátnější schopností lidských bytostí je tvoření, ale dnes s rychlým rozvojem technologií tvoříme stroje! Stroje mohou kreslit originální umělecká díla v daném stylu (kreslit), napsat dlouhý souvislý článek (psát), vytvářet krásnou hudbu (skládat) a vyvíjet vítězné strategie pro složité hry (hrát). Tato technologie je generativní umělá inteligence (GenAI). Nyní je teprve začátek revoluce GenAI Nyní je nejlepší čas naučit se GenAI.
1. Generování a rozlišování modelů
GenAI je módní slovo a jeho podstatou je generativní model, což je odvětví strojového učení. Cílem je vytrénovat model, aby generoval nová data podobná dané sadě dat.
Řekněme, že máme datovou sadu koní. Nejprve můžeme na této datové sadě trénovat generativní model, abychom zachytili pravidla, která řídí složité vztahy mezi pixely v obrázcích koní. Z tohoto modelu pak vytvoříte realistické obrázky koní, které nejsou přítomny v původním souboru dat, jak je znázorněno níže.

Abychom skutečně pochopili cíle a význam generativních modelů, je nutné je porovnat s modely diskriminačními. Ve skutečnosti je většina problémů ve strojovém učení řešena diskriminačními modely. Viz následující příklady.
Předpokládejme, že máme soubor obrazů, některé namaloval Van Gogh a některé namalovali jiní umělci. S dostatkem dat můžeme trénovat diskriminační model, abychom předpověděli, zda daný obraz namaloval Van Gogh, jak je znázorněno na obrázku níže.

Při použití diskriminačního modelu má každý příklad v trénovací sadě štítek Pro výše uvedený problém se dvěma klasifikacemi je obvykle štítek obrazů Van Gogha 1 a štítek obrazů jiných než Van Gogha je 0. Poslední předpovězená pravděpodobnost modelu na obrázku výše je 0,83, takže je velmi pravděpodobné, že jej vytvořil Van Gogh. Na rozdíl od diskriminačního modelu generativní model nevyžaduje, aby příklady obsahovaly štítky, protože jeho cílem je spíše generovat nová data než předpovídat štítky pro data.
Po přečtení příkladu použijeme matematický zápis k přesné definici generativního modelu a diskriminačního modelu:
Diskriminační model modeluje P(y|x), odhaduje podmíněnou pravděpodobnost označení y daného znaku x.
Generativní modely modelují P(x), přímo odhadují pravděpodobnost rysu x a na základě tohoto rozdělení pravděpodobnosti generují nové rysy.
Je důležité poznamenat, že i kdybychom byli schopni sestavit diskriminační model, který by dokázal dokonale identifikovat Van Goghovy malby, stále bychom nevěděli, jak vytvořit obraz, který by vypadal jako Van Gogh byla od Van Gogha možnost ruky. Je vidět, že generování modelů je mnohem obtížnější než rozlišování modelů.
2. Rámec pro generování modelů
Než pochopíme rámec generativního modelu, zahrajeme si hru. Předpokládejme, že body na obrázku níže jsou generovány určitým pravidlem, říkejme tomuto pravidlu Pdata, a nyní vygenerujte jiné x = (x1, x2), aby se tento bod zdál být generován stejným pravidlem Pdata.

Jak byste vytvořili tento bod? Dané body můžete použít ke generování modelu Pmodel ve vaší mysli a pozice obsazené tímto modelem mohou generovat body, které chcete. Je vidět, že model Pmodel je odhadem Pdat. Pak je nejjednodušší model Pmodel jako oranžový rámeček na obrázku níže. Body lze generovat pouze uvnitř rámečku, ale ne mimo rámeček.

Pro generování nových bodů můžeme náhodně vybrat bod v rámečku, nebo přesněji řečeno vzorek z modelového rozdělení Pmodel. Jedná se o minimalistický generativní model. Z tréninkových dat (černé body) vytvoříte model (oranžový rámeček) a poté vzorkujete z modelu v naději, že výsledné body budou vypadat podobně jako body v tréninkové sadě.
Nyní můžeme formálně navrhnout rámec pro generativní učení.

Pojďme nyní odhalit skutečnou distribuci generování dat Pdata a uvidíme, jak aplikovat výše uvedený rámec na tento příklad. Z obrázku níže vidíme, že pravidlem generování dat Pdata je, že body jsou pouze rovnoměrně rozmístěny na pevnině a neobjevují se v oceánu.

Je zřejmé, že náš model Pmodel je zjednodušením pravidla Pdata. Kontrola bodů A, B a C na výše uvedeném obrázku nám může pomoci pochopit, zda model Pmodel úspěšně napodobuje pravidlo Pdata.
Bod A nevyhovuje pravidlu Pdata, protože se vyskytuje v moři, ale může být generován modelem Pmodel, protože se vyskytuje v oranžovém rámečku.
Bod B nemůže být generován modelem Pmodel, protože se objevuje mimo oranžový rámeček, ale odpovídá pravidlu Pdata, protože se vyskytuje na zemi.
Bod C je generován modelem Pmodel a odpovídá pravidlu Pdata.
Tento příklad demonstruje základní koncepty generativního modelování Přestože je použití generativních modelů ve skutečnosti mnohem složitější, základní rámec je stejný.
3. První generativní model
Předpokládejme, že jste hlavní módní ředitel (CFO) společnosti a vaším úkolem je vytvářet nové módní oblečení. Tento rok obdržíte 50 datových sad o módních kombinacích (jak je uvedeno níže) a musíte vytvořit 10 nových módních kombinací.

I když jste hlavní módní ředitel, jste také datovým vědcem, takže se rozhodnete tento problém vyřešit pomocí generativního modelu. Po přečtení 50 obrázků výše se rozhodnete využít pět funkcí, typ doplňků (typ příslušenství), barvu oblečení (barva oblečení), typ oblečení (typ oblečení), barvu vlasů (barva vlasů) a typ vlasů (typ vlasů), abyste Popište módní oblečení.
Top 10 funkcí obrazových dat je následujících.

Každý prvek má také jiný počet vlastních hodnot:
3 typy přístupů:
Prázdné, kulaté, sluneční brýle
8 barev oblečení:
Černá, modrá01, šedá01, pastelově zelená, pastelově oranžová, růžová, červená, bílá
4 druhy oblečení:
Mikina, overal, ShirtScoopNeck, ShirtVNeck
6 barev na vlasy:
Černá, blond, hnědá, pastelově růžová, červená, stříbrnošedá
7 typů vlasů:
NoHair, LongHairBun, LongHair Curly, LongHairStraight, ShortHairShortWaved, ShortHairShortFlat, ShortHairFrizzle
Existuje 3 * 8 * 4 * 6 * 7 = 4032 kombinací funkcí, takže si lze představit, že vzorový prostor obsahuje 4032 bodů. Z uvedených 50 datových bodů vidíme, že Pdata upřednostňuje určité hodnoty vlastností pro různé funkce. Z výše uvedené tabulky vidíme, že na snímcích je více bílých barev oblečení a stříbrno-šedých barev vlasů. Protože neznáme skutečná Pdata, můžeme těchto 50 dat použít pouze k vytvoření modelu P, aby se mohl blížit Pdata.
3.1 Minimalistický model
Jednou z nejjednodušších metod je přiřazení parametru pravděpodobnosti každému bodu v kombinacích 4032 prvků, pak model obsahuje 4031 parametrů, protože všechny parametry pravděpodobnosti se dají dohromady 1. Nyní zkontrolujeme 50 dat jeden po druhém a poté aktualizujeme parametry modelu (θ1, θ2,…, θ4031).

Mezi nimi N je počet pozorovaných dat, což je 50, a nj je počet j-tých kombinací znaků objevujících se v 50 datech.
Například kombinace funkcí (nazývaná kombinace 1) (Dlouhé VlasyRovné, Červená, Kulatá, KošileScoopNeck, Bílá) se objeví dvakrát, pak

Například kombinace funkcí (nazývaná kombinace 2) (LongHairStraight, Red, Round, ShirtScoopNeck, Blue01) se nezobrazí, pak

Podle výše uvedených pravidel vypočítáme hodnotu θ pro všech 4031 kombinací Není těžké zjistit, že mnoho hodnot θ je 0. Horší je, že nemůžeme generovat nové neviditelné obrázky (θ = 0 znamená z Žádné obrázky). s touto kombinací vlastností byly pozorovány). Chcete-li tento problém vyřešit, stačí přidat celkový počet vlastností d do jmenovatele a 1 do čitatele, trik zvaný Laplaceovo vyhlazování.

Nyní má každá kombinace (včetně těch, které nejsou v původním souboru dat) nenulovou pravděpodobnost vzorkování, ale stále to není uspokojivý generativní model, protože pravděpodobnost bodu, který není v původním souboru dat, je konstanta. Pokud se pokusíme použít takový model k vytvoření Van Goghova obrazu, bude fungovat na obou obrazech se stejnou pravděpodobností:
Reprodukce původní Van Goghovy malby (není v původním datovém souboru)
Malování náhodnými pixely (není v původní datové sadě)
Toto zjevně není generativní model, který chceme, chceme, aby se naučil nějakou vlastní strukturu z dat a byl tak schopen zvýšit pravděpodobnostní váhy regionů v prostoru vzorku, které považuje za pravděpodobnější, místo aby do nich vkládal všechny pravděpodobnostní váhy. bod existence souboru dat.
3.2 Model sekundární jednoduchosti
Model Naive Bayes může výrazně snížit počet kombinací výše uvedených prvků. Podle jeho modelu se předpokládá, že každý prvek je na sobě nezávislý. Vrátíme-li se k výše uvedeným údajům, neexistuje žádná souvislost mezi barvou vlasů člověka (rys xj) a barvou jeho oblečení (rys xk).
p(xj | xk) = p(xk)
S tímto předpokladem můžeme počítat

Naivní Bayesův model zjednodušuje původní problém „vytvoření odhadu pravděpodobnosti pro každou kombinaci prvků“ na „vytvoření odhadu pravděpodobnosti pro každý prvek“. Původně jsme nyní potřebovali použít 4031 (3 * 8 * 4 * 6 * 7) parametrů Je vyžadováno pouze 23 (3 + 8 + 4 + 6 + 7) parametrů a výraz každého parametru je:

Mezi nimi N je počet pozorovaných dat, což je 50, a nkl je počet l-tých vlastních hodnot pro k-tý prvek.
Po započtení 50 dat udává následující tabulka hodnoty parametrů modelu Naive Bayes.

Chcete-li vypočítat pravděpodobnost, že model generuje určitý datový prvek, stačí vynásobit pravděpodobnosti v tabulce, například:

Výše uvedená kombinace se v původní sadě dat nevyskytuje, ale model jí stále přiřazuje nenulovou pravděpodobnost, takže ji může model stále generovat. Proto je model Naive Bayes schopen se z dat naučit určitou strukturu a použít ji ke generování nových příkladů, které nebyly v původní sadě dat vidět. Na obrázku níže je obrázek 10 nových módních kombinací generovaných modelem.

V tomto problému patří pouze 5 prvků k nízkorozměrným datům. Pro naivní Bayesův model je rozumné předpokládat, že jsou na sobě nezávislé, takže výsledky generované modelem nejsou špatné kolaps.
4. Obtíže při generování modelů
4.1 Vysokorozměrná data
Jako hlavní módní důstojník jste úspěšně vytvořili 10 nových módních outfitů pomocí Naive Bayes. Jste extrémně sebevědomí a máte pocit, že váš model je neporazitelný, dokud nenarazíte na následující soubor dat.

Tato datová sada již není reprezentována pěti prvky, ale 32*32 = 1024 pixelů Každá hodnota pixelu může být od 0 do 255, přičemž 0 představuje bílou a 255 představuje černou. Následující tabulka uvádí prvních 10 hodnot obrazových pixelů 1 až 5.

Použijte stejný model k vygenerování 10 nových sad módy. Následující jsou výsledky vytvořené modelem.

Za prvé, protože model Naive Bayes vzorkuje pixely nezávisle, sousední pixely jsou ve skutečnosti velmi podobné. U oblečení by pixely měly být ve skutečnosti zhruba stejné, ale model náhodně vzorkuje, takže oblečení na obrázku výše je celé barevné. Za druhé, ve vysokorozměrném vzorovém prostoru je příliš mnoho možností, z nichž jen malá část je identifikovatelná. Pokud model Naive Bayes pracuje přímo s takovými vysoce korelovanými hodnotami pixelů, šance, že najde uspokojivou kombinaci hodnot, je velmi malá.
Abychom to shrnuli, pro nízkorozměrný vzorkový prostor s nízkou korelací prvků je naivní Bayesův efekt velmi dobrý díky nezávislému vzorkování, ale pro vysokorozměrný vzorkový prostor s vysokou korelací prvků je efektivní účinek zjištěn nezávislým vzorkováním pixelů Lidské tváře jsou téměř nemožné.
Tento příklad ukazuje dvě obtíže, které musí generativní modely překonat, pokud mají být úspěšné:
Jak model zpracovává podmíněné závislosti mezi vysokorozměrnými prvky?
Jak model najde velmi malý podíl pozorování, která splňují podmínky z vysokorozměrného vzorkového prostoru?
Pokud chtějí generativní modely uspět ve vzorovém prostoru s velkými rozměry a vysoce korelovanými vlastnostmi, musí využívat modely hlubokého učení. Potřebujeme model, který dokáže odvodit příslušnou strukturu z dat, místo aby nám bylo předem řečeno, jaké předpoklady máme učinit. Hluboké učení může tvořit své vlastní rysy v nízkorozměrném prostoru, a to je forma učení reprezentace.
4.2 Učení se reprezentací
Reprezentační učení znamená učení reprezentací vysokorozměrných dat.
Předpokládejme, že se setkáte s online přítelem, kterého jste nikdy předtím nepotkali. Když dorazíte na místo setkání, je tam tolik lidí, že ji nemůžete najít, abyste jí popsali svůj vzhled. Věřím, že byste neřekli, že barva pixelu 1 na vašem obrázku je černá, barva pixelu 2 je světle černá, barva pixelu 3 je šedá atd. Naopak byste si mysleli, že síťoví lidé obecně chápou vzhled obyčejných lidí, a pak toto porozumění použijte k popisu vlastností skupiny pixelů, například máte krátké černé vlasy a nosíte třpytivé brýle atd. Obvykle s ne více než 10 takovými popisy si netizen může vytvořit obrázek o vás ve své mysli. Obrázek může být hrubý, ale nebrání to netizenovi, aby vás našel mezi stovkami lidí, i když se s vámi nikdy nesetkal.
Toto je základní myšlenka učení reprezentace Místo toho, abychom se snažili přímo modelovat vysokorozměrný prostor vzorku, používáme k popisu každé položky v trénovací sadě nějaký nízkorozměrný latentní prostor bod v latentním prostoru a mapuje jej do původního vzorového prostoru. Jinými slovy, každý bod v latentním prostoru představuje charakteristiky vysokorozměrných dat.
Pokud výše uvedenému není snadné porozumět, podívejte se prosím na cvičnou sadu níže, která se skládá z několika obrázků sklenic ve stupních šedi.

Není těžké vidět, že tyto sklenice lze popsat pouze dvěma vlastnostmi: výškou a šířkou. Proto můžeme převést vysokorozměrný prostor pixelů obrázku na dvourozměrný latentní prostor, jak je znázorněno na obrázku níže. Takto můžeme vzorkovat z latentního prostoru (modré tečky) a pomocí mapovací funkce f jej převést na obrázek.

Rozpoznat, že původní soubor dat může být reprezentován jednodušším latentním prostorem, není pro stroj snadné Nejprve musí stroj určit, že výška a šířka jsou dva rozměry latentního prostoru, které nejlépe popisují soubor dat, a poté se naučit mapování. $$f$$ může vzít bod v tomto prostoru a namapovat jej na mapu ve stupních šedi. Hluboké učení nám umožňuje trénovat stroje k nalezení těchto složitých vztahů bez lidského vedení.
5. Klasifikace generativních modelů
Všechny typy generativních modelů mají v konečném důsledku za cíl vyřešit stejný úkol, ale všechny modelují funkci hustoty mírně odlišným způsobem. Obecně řečeno, spadají do dvou kategorií:
Explicitní modelování funkce hustoty,
Ale nějakým způsobem omezte model, aby bylo možné vypočítat funkci hustoty, jako je normalizační model FLOW
Ale aproximace funkce hustoty, jako je variační autoenkodér (VAE) a difúzní model (difúzní model)
Implicitní modelování funkce hustoty stochastickým procesem, který přímo generuje data. Například generativní adversariální síť (GAN)

Shrnout
Generativní umělá inteligence (GenAI) je typ umělé inteligence, kterou lze použít k vytváření nového obsahu a nápadů, včetně textu, obrázků, videí a hudby. Jako každá umělá inteligence je GenAI velmi rozsáhlý model předem trénovaný modelem hlubokého učení založeným na velkém množství dat, často nazývaným základní model (FM). S GenAI můžeme kreslit chladnější obrázky, psát krásnější text a skládat dojemnější hudbu, ale první krok vyžaduje, abychom pochopili, jak GenAI vytváří nové věci, jak řekl šéf článku Richard Feynman o „Nebudu“ Nechápu, co nedokážu vytvořit."

