AI 101
Co je Deep Learning?
Deep learning je jeden z nejvlivnějších a nejrychleji rostoucích oborů v oblasti umělé inteligence. Nicméně, získat intuitivní pochopení deep learningu může být obtížné, protože termín deep learning pokrývá různé algoritmy a techniky. Deep learning je také subdisciplínou machine learningu obecně, takže je důležité pochopit, co je machine learning, aby bylo možné pochopit deep learning.
Co je Machine Learning?
Deep learning je rozšířením některých konceptů, které pocházejí z machine learningu, takže z tohoto důvodu, pojďme si vysvětlit, co je machine learning.
Jednoduše řečeno, machine learning je metoda, která umožňuje počítačům provádět specifické úkoly bez explicitního kódování každého řádku algoritmů, které se používají k provedení těchto úkolů. Existuje mnoho různých algoritmů machine learningu, ale jedním z nejčastěji používaných algoritmů je multilayer perceptron. Multilayer perceptron se také nazývá neuronová síť a skládá se z řady uzlů/neuronů propojených вместе. Existují tři různé vrstvy v multilayer perceptronu: vstupní vrstva, skrytá vrstva a výstupní vrstva.
Vstupní vrstva přijímá data do sítě, kde jsou data manipulována uzly ve střední/skryté vrstvě. Uzly ve skryté vrstvě jsou matematické funkce, které mohou manipulovat data přicházející z vstupní vrstvy, extrahovat relevantní vzory z vstupních dat. Tímto způsobem neuronová síť “učí”. Neuronové sítě získávají své jméno z toho, že jsou inspirovány strukturou a funkcí lidského mozku.
Spojení mezi uzly v síti mají hodnoty nazývané váhy. Tyto hodnoty jsou vlastně předpoklady o tom, jak jsou data v jedné vrstvě související s daty v následující vrstvě. Jak síť trénuje, váhy se upravují a cílem je, aby váhy/předpoklady o datech nakonec konvergovaly na hodnoty, které přesně reprezentují významné vzory v datech.
Aktivační funkce jsou přítomny v uzlech sítě a tyto aktivační funkce transformují data nelineárním způsobem, umožňují síti učit se komplexní reprezentace dat. Aktivační funkce násobí vstupní hodnoty váhovými hodnotami a přidávají bias termín.
Co je Deep Learning?
Deep learning je termín, který se používá pro architektury machine learningu, které spojují mnoho multilayer perceptronů, takže není pouze jedna skrytá vrstva, ale mnoho skrytých vrstev. “Hlubší”, že je deep neuronová síť, tím sofistikovanější vzory síť může naučit.
Hluboké sítě složené z neuronů se někdy nazývají plně propojené sítě nebo plně propojené vrstvy, odkazující na fakt, že daný neuron udržuje spojení se všemi okolními neurony. Plně propojené sítě lze kombinovat s jinými funkcemi machine learningu, aby se vytvořily různé architektury deep learningu.
Různé Typy Deep Learning
Existuje řada architektur deep learningu, které používají výzkumníci a inženýři, a každá z těchto architektur má své vlastní specializované použití.
Convolutional Neural Networks
Convolutional neuronové sítě, nebo CNN, jsou architektura neuronové sítě, která se běžně používá při vytváření počítačových vizuálních systémů. Struktura convolutional neuronových sítí umožňuje jim interpretovat obrazová data, převádět je na čísla, která může plně propojená síť interpretovat. CNN má čtyři hlavní komponenty:
- Convolutional vrstvy
- Subsampling/pooling vrstvy
- Aktivační funkce
- Plně propojené vrstvy
Convolutional vrstvy jsou to, co přijímá obrazová data jako vstupy do sítě, analyzují obrazová data a získávají hodnoty pixelů. Subsampling nebo pooling je místo, kde se obrazová data konvertují/snižují, aby se zjednodušila reprezentace obrazů a snížila citlivost obrazových filtrů na šum. Aktivační funkce kontrolují, jak data proudí z jedné vrstvy do další vrstvy, a plně propojené vrstvy jsou to, co analyzují hodnoty, které reprezentují obraz, a učí se vzory obsažené v těchto hodnotách.
RNNs/LSTMs
Recurrent neuronové sítě, nebo RNN, jsou populární pro úkoly, kde pořadí dat matters, kde síť musí naučit sekvenci dat. RNN se běžně aplikují na problémy, jako je zpracování přirozeného jazyka, protože pořadí slov matters při dekódování významu věty. “Recurrent” část termínu Recurrent Neuronová Síť pochází z faktu, že výstup pro daný prvek v sekvenci závisí na předchozím výpočtu, stejně jako na aktuálním výpočtu. Na rozdíl od jiných forem deep neuronových sítí, RNN mají “paměť”, a informace vypočtené v různých časových krocích sekvence se používají k výpočtu konečných hodnot.
Existuje několik typů RNN, včetně bidirectional RNN, které berou v úvahu budoucí položky v sekvenci, kromě předchozích položek, při výpočtu hodnoty položky. Další typ RNN je Long Short-Term Memory, nebo LSTM, síť. LSTMs jsou typy RNN, které mohou zpracovat dlouhé řetězce dat. Pravidelné RNN mohou trpět problémem “explodující gradient”, který nastává, když řetězec vstupních dat становится extrémně dlouhý, ale LSTMs mají techniky, které tento problém řeší.
Autoencoders
Většina architektur deep learningu, které byly dosud zmíněny, se aplikuje na problémy supervizovaného učení, spíše než na úkoly nesupervizovaného učení. Autoencoders mohou transformovat nesupervizovaná data do supervizovaného formátu, umožňující neuronovým sítím být použity na problém.
Autoencoders se často používají k detekci anomálií v datech, což je příklad nesupervizovaného učení, protože povaha anomálie není známa. Takové příklady detekce anomálií zahrnují detekci podvodů pro finanční instituce. V tomto kontextu je účelem autoencoderu určit základnu běžných vzorů v datech a identifikovat anomálie nebo outliers.
Struktura autoencoderu je často symetrická, se skrytými vrstvami uspořádanými tak, aby výstup sítě připomínal vstup. Čtyři typy autoencoderů, které se často používají, jsou:
- Pravidelné/autoencoders
- Multilayer encoders
- Convolutional encoders
- Regularized encoders
Pravidelné/autoencoders jsou prostě neuronové sítě s jednou skrytou vrstvou, zatímco multilayer autoencoders jsou hluboké sítě s více než jednou skrytou vrstvou. Convolutional autoencoders používají convolutional vrstvy místo, nebo kromě, plně propojených vrstev. Regularized autoencoders používají speciální typ loss funkce, který umožňuje neuronové síti provádět komplexnější funkce, funkce, které nejsou pouze kopírováním vstupů do výstupů.
Generative Adversarial Networks
Generative Adversarial Networks (GANs) jsou ve skutečnosti více deep neuronových sítí, než pouze jedna síť. Dvě deep learning modely se trénují současně a jejich výstupy se používají jako vstupy pro druhou síť. Sítě jsou ve hře proti sobě a protože mají přístup k výstupním datům druhé sítě, obě sítě se učí z těchto dat a zlepšují se. Sítě jsou vlastně ve hře padělatelství a detekce, kde generativní model se snaží vytvořit nové instance, které budou oklamat detekční model/diskriminátor. GANs se staly populárními v oblasti počítačového vidění.
Shrnutí Deep Learning
Deep learning rozšiřuje principy neuronových sítí, aby vytvořil sofistikované modely, které mohou naučit se komplexní vzory a generalizovat tyto vzory na budoucí datové sady. Convolutional neuronové sítě se používají k interpretaci obrazů, zatímco RNNs/LSTMs se používají k interpretaci sekvencí dat. Autoencoders mohou transformovat nesupervizovaná úkoly učení do supervizovaných úkolů učení. Nakonec, GANs jsou více sítí, které jsou proti sobě, a jsou zvláště užitečné pro úkoly počítačového vidění.












