Umělá inteligence
Obsah Soubory
markdown

Topologie-a-uceni-siti.md

6.1 kB 99 řádků Změněno Zobrazit na GitHubu Stáhnout
markdown
# Topologie sítí a druhy učení Otázka „jakou neuronovou síť mám použít" má v drtivé většině případů odpověď, která vyplyne z jediné věci: **jaký tvar mají tvoje data.** Obrázek, sekvence, tabulka. Nic jiného rozhodovat nemusíš, protože pro každý z těch tvarů existuje topologie, která na něj sedí. Druhá otázka - „jak se to učí" - má tři odpovědi a rozhoduje o ní jiná věc: **co k datům máš.** Označení, nic, nebo odměnu za chování. Tahle stránka je rozcestník. Předpokládá to [umělý neuron](Neuron-a-perceptron) a je dobré mít přečtené [MLP](MLP-a-backpropagation), protože dopředná síť je referenční bod pro všechno ostatní. Konkrétní architektury mají vlastní stránky. ## Pět topologií **Dopředná síť (feed-forward).** Signál postupuje pouze vpřed, mezi vrstvami. Nejběžnější topologie - patří sem [perceptron](Neuron-a-perceptron) i [MLP](MLP-a-backpropagation). Nemá žádnou paměť: tentýž vstup dá vždycky tentýž výstup, bez ohledu na to, co bylo předtím. **Rekurentní síť (recurrent).** Obsahuje **zpětné vazby**, takže výstup neuronu se vrací zpátky na vstup. Vhodná pro zpracování sekvencí - text, řeč, časové řady. Příkladem je **Hopfieldova síť** (symetrické váhy `wij = wji`) nebo **Boltzmannův stroj** (pravděpodobnostní přechody stavů). Podrobně u [rekurentních sítí a LSTM](Rekurentni-site-a-LSTM). **Síť s pevnými váhami.** LAM, BAM, Hopfield. Asociativní paměti, které se **neučí** - váhy se spočítají jednorázově ze vzorů, které si má síť pamatovat. Dnes historická kategorie, ale ukazuje, že „neuronová síť" nemusí znamenat „trénování". **Konvoluční síť (CNN).** Specializovaná dopředná síť pro obrazová data. Viz [konvoluční sítě](Konvolucni-site). **LSTM a GRU.** Rekurentní sítě s **hradlovacím mechanizmem**, který řeší problém dlouhodobých závislostí. Viz [rekurentní sítě a LSTM](Rekurentni-site-a-LSTM). Souhrn i s tím, jak se která učí: | Skupina | Topologie | Učení ||---|---|---|| Pevné váhy | LAM, Hopfield, BAM | bez učení || S učitelem | Perceptron, MLP, TDNN | supervised || Bez učitele | ART1/2, Kohonen (SOM) | unsupervised || Obrazová data | CNN, ResNet | supervised || Sekvence | RNN, LSTM, GRU | supervised | **Ta tabulka je nejužitečnější věc na stránce**, protože z ní jde přečíst rozhodnutí. Máš obrázky a označení? Řádek CNN. Máš sekvenci a označení? Řádek LSTM. Nemáš označení? Řádek Kohonen. ## Tři druhy učení Učení znamená **nastavení vah tak, aby síť dávala na trénovacích datech správné výstupy**. **Učení s učitelem (supervised).** Ke každému vstupu je znám požadovaný výstup. Příklady: [perceptron](Neuron-a-perceptron), [MLP](MLP-a-backpropagation), [CNN](Konvolucni-site). **Učení bez učitele (unsupervised).** Síť hledá strukturu v datech samostatně. Příklady: [Kohonenovy mapy](Kohonenovy-mapy), ART. **Posilované učení (reinforcement).** Síť je odměňována nebo trestána za své akce v prostředí. Tohle je přesně rámec [učícího se agenta](Inteligentni-agenti#učící-se-agent) - odměna je výstup **kritiky**, ne senzoru. **Rozdíl mezi těmi třemi je v tom, co dostaneš zpátky:** | Druh učení | Zpětná vazba | Kdy ji dostaneš ||---|---|---|| S učitelem | správná odpověď | ke každému vzorku hned || Bez učitele | žádná | nikdy || Posilované | číslo (odměna) | často se zpožděním, po mnoha akcích | To zpoždění u posilovaného učení je celý jeho problém. Když prohraješ šachovou partii, víš, že jsi něco zkazil, ale ne který ze čtyřiceti tahů to byl. Tomu se říká **problém přiřazení zásluh** a je to důvod, proč je posilované učení výrazně těžší než ostatní dva druhy. ## Hebbovo pravidlo Nejjednodušší pravidlo učení bez učitele (Hebb, 1949): **posiluje spojení mezi neurony, které jsou aktivní současně.** ```wij(t + 1) = wij(t) + α · yi · yj``` kde `α` je rychlost učení a `yi`, `yj` aktivity propojených neuronů. Ve vzorci **není požadovaný výstup** a to je definiční znak učení bez učitele. Pravidlo nesleduje správnost, jen souběžnost. Podrobněji je Hebbovo pravidlo u [umělého neuronu](Neuron-a-perceptron#hebbovo-pravidlo). ## Jak si vybrat | Data | Máš označení | Topologie ||---|---|---|| Tabulka čísel | ano | MLP, nebo rovnou [klasické metody](Priznakove-metody) || Obrázky | ano | [CNN](Konvolucni-site) || Text, řeč, časová řada | ano | [LSTM/GRU](Rekurentni-site-a-LSTM), dnes spíš Transformer || Cokoliv | ne | [SOM](Kohonenovy-mapy), shlukování || Prostředí, ve kterém agent jedná | odměna | posilované učení | **Jedno doporučení, které se běžně neříká, ale platí:** u tabulkových dat zkus nejdřív [náhodný les nebo gradient boosting](Priznakove-metody#klasifikační-a-regresní-strom-cart), ne neuronovou síť. Na strukturovaných tabulkách je porážejí konzistentně a jsou rychlejší a interpretovatelnější. Neuronové sítě vyhrávají tam, kde jsou data nestrukturovaná - obraz, zvuk, text. ## Co si odnést **Topologii určuje tvar dat.** Obrázek → CNN, sekvence → LSTM, tabulka → MLP. **Druh učení určuje to, co k datům máš.** Označení, nic, nebo odměnu. **Dopředná síť nemá paměť.** Tentýž vstup dá vždycky tentýž výstup. **Rekurentní síť má zpětnou vazbu**, a proto umí sekvence. **Sítě s pevnými váhami se neučí.** Váhy se spočítají jednou ze vzorů. **Posilované učení má zpožděnou odměnu** a s ní problém přiřazení zásluh. ## Kam dál - **[MLP a backpropagation](MLP-a-backpropagation)** - jak se učí ta nejběžnější topologie- **[Konvoluční sítě](Konvolucni-site)** - pro obrazová data- **[Rekurentní sítě a LSTM](Rekurentni-site-a-LSTM)** - pro sekvence- **[Kohonenovy mapy](Kohonenovy-mapy)** - učení bez učitele se zachováním topologie- **[Inteligentní agenti](Inteligentni-agenti)** - rámec, do kterého patří posilované učení