Úvod do algoritmů hlubokého učení
Hluboké učení je krokem k přiblížení se k Umělé inteligenci, která by mohla přijímat rozhodnutí jako lidské mozky, tj. Mít schopnost učit se pomocí pokusů a omylů stejně jako lidé. Lidský mozek má miliardy neuronů (přibližně 86 miliard; zdroj: Wikipedia). U umělých neuronů pomáhá hluboké učení napodobovat lidskou mysl. Pro zpracování informací a rozhodnutí pomocí umělých neuronových sítí existují některé algoritmy, nazývané algoritmy hlubokého učení. Algoritmy se v každé vrstvě učí postupně; další hodnota je přidána z funkcí v další vrstvě. Hluboký model učení může přeplnit, pokud jsou data malá, neúplná nebo příliš jednoduchá. Algoritmy hlubokého učení jsou účinné, pokud jsou data obrovská.
Algoritmy hlubokého učení
Chcete-li vytvořit hluboký model učení, musíte napsat několik algoritmů, smíchat je dohromady a vytvořit síť neuronů. Hluboké učení má vysoké výpočetní náklady. Abychom pomohli modelům hlubokého učení, existují hluboké vzdělávací platformy jako tok Tensor, Py-Torch, Chainer, Keras atd. V hlubokém učení jsme se pokusili replikovat lidskou neurální síť umělou neurální sítí, lidský neuron se v perceptronu nazývá perceptron hluboký model učení. Tyto perceptronové jednotky spojujeme dohromady, abychom vytvořili neuronovou síť, má 3 sekce:
- Vstupní vrstva
- Skryté vrstvy
- Výstupní vrstva
Perceptron má vstupní uzly (dendrity v lidském mozku), spouštěcí funkci pro malé rozhodnutí a výstupní uzly (axon v lidském mozku). Uvidíme, jak jeden perceptron funguje, jejich vzájemné propojení vytvoří hluboký model učení. Vstupním informacím (počet vstupních proměnných / funkcí) se přiřazuje určitá hmotnost a přivádí se do ovládací funkce. Ovládací funkce se rozhodne a odešle výstup. Výstup tohoto perceptronu bude vstupem do dalších neuronů. Jakmile je šarže zpracována, vypočítává se chyba backpropagace u každého neuronu pomocí nákladové funkce / křížové entropie. Tímto způsobem se znovu přidělí vstupní váhy a celý proces pokračuje, dokud podmínka nevyhovuje křížová entropie.
Máme malé ovládací funkce, jako jsou sigmoidní funkce, hyperbolická tangensová funkce, rektifikovaná lineární jednotka (ReLU), abychom učinili malé rozhodnutí. Hluboký model učení potřebuje obrovské množství dat k vytvoření dobrého modelu. Obecně je model s více než 3 skrytými vrstvami považován za hlubokou neuronovou síť. Deep learning je v podstatě sada neuronů s množstvím parametrů definovaných pro každou vrstvu. Pro vytvoření modelu hlubokého učení jsou populární architektury RNN, CNN atd.
Architektonické metody pro hluboké učení algoritmů
K vytvoření této architektury se používají následující algoritmy:
1. Propagace zpět
V tomto algoritmu počítáme dílčí deriváty. Obecně se pro každou iteraci počítá metoda gradientu sestupu pro optimalizaci, deriváty (gradienty). V hlubokém učení nejsou funkce jednoduché, jsou složením různých funkcí. V tomto případě je obtížné vypočítat gradienty, takže pro výpočet derivátů používáme přibližnou diferenciaci. Čím více parametrů, tím dražší přibližná diferenciace bude.
2. Stochastické klesání
V gradientu sestupu je cílem najít globální minima nebo optimální řešení. Abychom to však dokázali, musíme zvážit také řešení lokálních minim (není žádoucí). Pokud je objektivní funkce konvexní funkce, je snadné najít globální minima. Počáteční hodnota funkce a rychlost učení jsou rozhodující parametry pro nalezení globálních minim. To lze snadno pochopit uvážením řeky, která vychází z vrcholu hory a hledá podhůří (globální minima). Ale mimochodem, budou existovat nějaké vzestupy a pády (lokální minima), kterým je třeba se vyhnout. Výchozí bod a rychlost řeky (v našem případě počáteční hodnota a rychlost učení) jsou rozhodujícími faktory pro nalezení globálních minim.
3. Míra učení
Míra učení je jako rychlost řeky, může zkrátit dobu tréninku a zvýšit výkon. Obecně platí, že pokud se chcete naučit jakékoli technice / sportu, je na začátku rychlost učení relativně vysoká, než na konci, když ji máme zvládnout. Po střední fázi bude učení pomalé, důraz bude kladen na jemné doladění. Totéž platí pro hluboké učení, příliš velké změny jsou řešeny vyšší mírou učení a pomalým snižováním rychlosti učení později pro jemné doladění.
4. Dávková normalizace
V hlubokém učení počáteční hodnota váhy (náhodně zvolené) a učení je rychlost definována pro minidávku. Na začátku by bylo mnoho odlehlých hodnot a během backpropagace musí být tyto odlehlé hodnoty kompenzovány, aby se vypočítala hmotnost, aby se získal výstup. Tato kompenzace má za následek další epochy. Abychom tomu zabránili, používáme dávkovou normalizaci.
5. Vypadni
Při hlubokém učení se obvykle setkáváme s problémem nadměrného vybavení. Přetěžování ve velkých sítích několika parametry ztěžuje předpovídání testovacích dat. Abychom se tomu vyhnuli, používáme metodu výpadku, která během tréninku vypouští náhodné jednotky vytvářením různých „ztenčených sítí“. Při testování těchto ztenčených sítí se průměrují předpovědi, což pomáhá vyhnout se přeplnění.
6. Pytel slov
Pro předpovídání dalšího slova používáme souvislý sáček slov. Například v e-mailu píšeme, autosuggestion pro dokončení věty je součástí NLP. To se provádí zvážením mnoha vět a pro konkrétní slovo obklopující slova, která jsou zachycena. Tato konkrétní slova a okolní slova jsou přiváděna do neuronové sítě. Po tréninkovém modelu může předpovídat konkrétní slovo na základě okolních slov.
7. Dlouhá krátkodobá paměť
LSTM je velmi užitečný při řešení problémů s predikcí sekvencí, jako je překlad jazyka, predikce prodeje a nalezení ceny akcií. LSTM má výhodu oproti jiným technikám, protože je schopen zvážit předchozí data. LSTM provádí modifikaci mechanismem buněčných stavů. Pamatuje si zapomenout na věci. Díky 3 hlavním aspektům LSTM se odlišuje od ostatních technik hlubokého učení. První je, když by měl neuron mít vstup, druhý, kdy si pamatovat předchozí data a co zapomenout, a třetí je, když předat výstup.
Závěr
Hluboký model učení je krokem k replikaci lidské mysli. Místo biologických neuronů používá hluboké učení umělou neuronovou síť. Hluboké učení má vysoké výpočetní náklady, které lze snížit použitím rámců hlubokého učení, jako je tok Tensor a Py-Torch atd. RNN, CNN jsou architektonické metody pro hluboké modely učení. V tomto článku jsou popsány různé algoritmy Deep learning, které se používají v těchto architekturách.
Doporučené články
Toto je průvodce Deep Learning Algorithms. Zde diskutujeme architektonické metody pro algoritmy hlubokého učení spolu s vrstvami. Další informace naleznete také v dalších navrhovaných článcích -
- Úvod do algoritmů strojového učení
- 14 hlavních aplikací strojového učení
- Umělá inteligence vs Machine Learning vs Deep Learning
- Top 13 užitečných otázek a odpovědí na hluboké učení