výhonek Co je hluboké učení? (2024) - Unite.AI
Spojte se s námi
Mistrovská třída AI:

AI 101

Co je hluboké učení?

mm
aktualizováno on

Hluboké učení je jednou z nejvlivnějších a nejrychleji rostoucích oblastí umělé inteligence. Získání intuitivního porozumění hlubokému učení však může být obtížné, protože termín hluboké učení zahrnuje řadu různých algoritmů a technik. Hluboké učení je také poddisciplínou strojového učení obecně, takže je důležité pochopit, co strojové učení je, abychom porozuměli hlubokému učení.

Co je strojové učení?

Hluboké učení je rozšířením některých pojmů pocházejících ze strojového učení, takže z tohoto důvodu si na chvilku vysvětlíme, co je strojové učení.

Zjednodušeně řečeno, strojové učení je metoda, která umožňuje počítačům provádět specifické úkoly bez explicitního kódování každého řádku algoritmů používaných k provádění těchto úkolů. Existuje mnoho různých algoritmů strojového učení, ale jedním z nejčastěji používaných algoritmů je vícevrstvý perceptron. Vícevrstvý perceptron je také označován jako neuronová síť a skládá se ze série uzlů/neuronů spojených dohromady. Ve vícevrstvém perceptronu jsou tři různé vrstvy: vstupní vrstva, skrytá vrstva a výstupní vrstva.

Vstupní vrstva přenáší data do sítě, kde s nimi manipulují uzly ve střední/skryté vrstvě. Uzly ve skryté vrstvě jsou matematické funkce, které mohou manipulovat s daty přicházejícími ze vstupní vrstvy a extrahovat relevantní vzory ze vstupních dat. Neuronová síť se takto „učí“. Neuronové sítě dostaly svůj název podle toho, že jsou inspirovány strukturou a funkcí lidského mozku.

Spojení mezi uzly v síti mají hodnoty zvané váhy. Tyto hodnoty jsou v podstatě předpoklady o tom, jak data v jedné vrstvě souvisí s daty v další vrstvě. Jak se síť trénuje, váhy se upravují a cílem je, aby se váhy/předpoklady o datech nakonec sblížily s hodnotami, které přesně reprezentují smysluplné vzorce v datech.

Aktivační funkce jsou přítomny v uzlech sítě a tyto aktivační funkce transformují data nelineárním způsobem, což umožňuje síti naučit se komplexní reprezentace dat. Aktivační funkce vynásobí vstupní hodnoty hodnotami hmotnosti a přidají člen zkreslení.

Co je hluboké učení?

Hluboké učení je termín používaný pro architektury strojového učení, které spojují mnoho vícevrstvých perceptronů dohromady, takže neexistuje pouze jedna skrytá vrstva, ale mnoho skrytých vrstev. Čím „hlouběji“ je hluboká neuronová síť, tím sofistikovanější vzory se síť může naučit.

Sítě hlubokých vrstev složené z neuronů se někdy označují jako plně propojené sítě nebo plně propojené vrstvy, což odkazuje na skutečnost, že daný neuron udržuje spojení se všemi neurony, které jej obklopují. Plně propojené sítě lze kombinovat s dalšími funkcemi strojového učení a vytvářet různé architektury hlubokého učení.

Různé typy hlubokého učení

Výzkumníci a inženýři používají různé architektury hlubokého učení a každá z různých architektur má svůj vlastní speciální případ použití.

Konvoluční neuronové sítě

Konvoluční neuronové sítě, nebo CNN, jsou architektura neuronové sítě běžně používaná při vytváření systémů počítačového vidění. Struktura konvolučních neuronových sítí jim umožňuje interpretovat obrazová data a převádět je na čísla, která může interpretovat plně propojená síť. CNN má čtyři hlavní složky:

  • Konvoluční vrstvy
  • Podvzorkování/sdružování vrstev
  • Aktivační funkce
  • Plně propojené vrstvy

Konvoluční vrstvy jsou to, co přijímá obrázky jako vstupy do sítě, analyzuje obrázky a získává hodnoty pixelů. Podvzorkování nebo sdružování je místo, kde se hodnoty obrazu převádějí/zmenšují, aby se zjednodušila reprezentace obrazů a snížila se citlivost obrazových filtrů na šum. Aktivační funkce řídí, jak data proudí z jedné vrstvy do další vrstvy, a plně propojené vrstvy jsou tím, co analyzuje hodnoty, které představují obraz, a učí se vzory obsažené v těchto hodnotách.

RNN/LSTM

Rekurentní neuronové sítě, nebo RNN, jsou oblíbené pro úlohy, kde záleží na pořadí dat, kdy se síť musí dozvědět o sekvenci dat. RNN se běžně používají na problémy, jako je zpracování přirozeného jazyka, protože při dekódování významu věty záleží na pořadí slov. „Rekurentní“ část pojmu Rekurentní neuronová síť vychází ze skutečnosti, že výstup pro daný prvek v sekvenci závisí na předchozím výpočtu i na aktuálním výpočtu. Na rozdíl od jiných forem hlubokých neuronových sítí mají RNN „paměti“ a informace vypočítané v různých časových krocích v sekvenci se používají k výpočtu konečných hodnot.

Existuje několik typů RNN, včetně obousměrných RNN, které při výpočtu hodnoty položky berou v úvahu kromě předchozích položek i budoucí položky v sekvenci. Dalším typem RNN je a Long Short-Term Memory neboli LSTM, síť. LSTM jsou typy RNN, které dokážou zpracovat dlouhé řetězce dat. Běžné RNN se mohou stát obětí něčeho, čemu se říká „problém explodujícího gradientu“. K tomuto problému dochází, když se řetězec vstupních dat extrémně prodlouží, ale LSTM mají techniky pro boj s tímto problémem.

Autokodéry

Většina dosud zmíněných architektur hlubokého učení se používá na problémy s učením pod dohledem, spíše než na úkoly učení bez dozoru. Autokodéry jsou schopny transformovat data bez dozoru do kontrolovaného formátu, což umožňuje použití neuronových sítí k řešení problému.

Autokodéry se často používají k detekci anomálií v souborech dat, což je příklad učení bez dozoru, protože povaha anomálie není známa. Mezi takové příklady detekce anomálií patří detekce podvodů pro finanční instituce. V tomto kontextu je účelem autokodéru určit základní linii pravidelných vzorů v datech a identifikovat anomálie nebo odlehlé hodnoty.

Struktura autokodéru je často symetrická se skrytými vrstvami uspořádanými tak, že výstup sítě připomíná vstup. Čtyři typy automatických kodérů, které se často používají, jsou:

  • Běžné/prosté automatické kodéry
  • Vícevrstvé kodéry
  • Konvoluční kodéry
  • Regulované kodéry

Běžné/prosté autokodéry jsou pouze neuronové sítě s jednou skrytou vrstvou, zatímco vícevrstvé autokodéry jsou hluboké sítě s více než jednou skrytou vrstvou. Konvoluční autokodéry používají konvoluční vrstvy místo plně propojených vrstev nebo navíc k nim. Regulované autokodéry používají specifický druh ztrátové funkce, která umožňuje neuronové síti provádět složitější funkce, funkce jiné než jen kopírování vstupů na výstupy.

Generativní Adversarial Networks

Generative Adversarial Networks (GAN) jsou ve skutečnosti více hlubokých neuronových sítí namísto pouze jedné sítě. Současně jsou trénovány dva modely hlubokého učení a jejich výstupy jsou přiváděny do druhé sítě. Sítě si navzájem konkurují, a protože se vzájemně dostanou k výstupním datům, oba se z těchto dat učí a zlepšují se. Tyto dvě sítě v podstatě hrají hru na padělky a detekci, kde se generativní model snaží vytvořit nové instance, které oklamou detektivní model/diskriminátor. GAN se staly populární v oblasti počítačového vidění.

Shrnutí hlubokého učení

Hluboké učení rozšiřuje principy neuronových sítí a vytváří sofistikované modely, které se mohou naučit složité vzorce a zobecnit tyto vzorce na budoucí datové sady. Konvoluční neuronové sítě se používají k interpretaci obrázků, zatímco RNN/LSTM se používají k interpretaci sekvenčních dat. Autokodéry dokážou přeměnit výukové úlohy bez dohledu na výukové úlohy pod dohledem. A konečně, GAN jsou vícenásobné sítě postavené proti sobě, které jsou zvláště užitečné pro úlohy počítačového vidění.

Blogerka a programátorka se specializací v Strojové učení a Hluboké učení témata. Daniel doufá, že pomůže ostatním využívat sílu AI pro společenské dobro.