Hluboké učení () je disciplína spadající do kategorie strojového učení. Zabývá se vývojem a aplikací algoritmů pro učení umělých neuronových sítí s hierarchickou reprezentací vlastností (angl. features). Učení může probíhat tzv. s učitelem (angl. supervised), bez učitele (angl. unsupervised), nebo může jít o kombinaci obojího (angl. semi-supervised).

Hluboké učení umožňuje extrakci komplexních vlastností (angl. features) z neupravených dat. Například při zpracování obrazu nižší vrstvy modelu identifikují hrany v obrazových datech sousedících pixelů, zatímco vyšší vrstvy pracují s obecnějšími koncepty bližšími lidskému chápání, jako jsou číslice, písmena nebo tváře.

Mělké učení může dosáhnout podobných výsledků s méně prostředky, takže existuje i ekologičtější přístup.

Různé varianty hlubokého učení jsou využívány v oborech počítačového vidění, rozpoznávání řeči, zpracování přirozeného jazyka, strojového překladu, bioinformatiky, návrhu léčiv, analýzy lékařských snímků, výzkumu klimatu a hraní deskových her (kde tyto metody dosáhly srovnatelných nebo lepších výsledků než profesionální hráči).

Definice náhled|Míra změn vah po jednotlivých vrstvách, daná tlumením zpětného šíření chyby, tj. první tři vrstvy se neučí prakticky vůbec, smysluplně se učí pouze poslední tři.

Pojem „hluboké“ se vztahuje k počtu vrstev neuronů, ve kterých probíhá transformace dat. Přesněji řečeno jde o počet transformací dat cestou ze vstupu (vstupní vrstva) na výstup (výstupní vrstva). Pro dopředné neuronové sítě je hloubka sítě dána jako počet mezilehlých skrytých vrstev. Neexistuje proto obecně platná hranice, která by oddělovala hluboké učení od ne-hlubokého učení. Hloubka sítě musí být minimálně 1, neboť tehdy je již síť schopna aproximovat libovolnou vektorovou funkci. Přidávání dalších vrstev nezlepšuje aproximační schopnosti sítě, ale umožňuje extrahovat z dat komplexnější vlastnosti. Větší počet vrstev tak zefektivňuje proces učení. U rekurentních neuronových sítí může signál putovat každou vrstvou několikrát.

Pro odhad parametrů sítě (trénování) se obvykle používá algoritmus zpětného šíření chyby. Trénování probíhá ve dvou fázích, tj. nejprve předučení sítě dopředným směrem např. pomocí autoenkodérů (samoučení) a poté doučení sítě zpětným směrem (učení s učitelem). Eliminuje se tak tlumení zpětného šíření chyby.

Historie Hlavní dopad hlubokého učení nastal po roce 2000. Podle Yanna LeCunaYann LeCun (2016). Slides on Deep Learning Online již tehdy zpracovávaly dopředné konvoluční sítě 10% až 20% objemu všech šeků vypsaných ve Spojených státech. Využití hlubokého učení pro zpracování řeči začalo ve větším měřítku kolem roku 2010.

Dalšímu zájmu o hluboké učení napomohly pokroky v oblasti hardwaru. Společnost Nvidia napomohla v roce 2009 tzv. "velkému třesku" hlubokého učení, které probíhalo tréninkem neuronových sítích na GPU. Andrew Ng toho roku odhadl, že díky GPU se může rychlost systémů hlubokého učení zvýšit až 100krát. To zejména díky optimalizaci GPU pro práci s vektory a maticemi, jichž se ve strojovém učení užívá."A Survey of Techniques for Optimizing Deep Learning on GPUs ", S. Mittal and S. Vaishay, Journal of Systems Architecture, 2019

Revoluce hlubokého učení V roce 2012 tým vedený Georgem E. Dahlem využil víceúlohovou hlubokou neuronovou síť k předpovědi biologického cíle konkrétního léku. V roce 2014 Hochreiterova skupina využila hluboké učení k detekci nežádoucích účinků chemikálií obsažených ve výživě, výrobcích pro domácnost a lécích na životní prostředí."Toxicology in the 21st century Data Challenge"

Další významné pokroky v oblasti rozpoznávání obrazu proběhly v letech 2011 a 2012. Rychlé konvoluční neuronové sítě využívající pro svůj běh GPU přinesly důležitý pokrok v oblasti počítačového vidění.LeCun et al., "Backpropagation Applied to Handwritten Zip Code Recognition," Neural Computation, 1, pp. 541–551, 1989. V roce 2011 tento přístup poprvé vedl k překonání lidských schopností v rozpoznávání obrazových vzorů. Vedl rovněž k vítězství v soutěži rozpoznávání rukou psaného čínského písma. V říjnu roku 2012 podobný systém s převahou zvítězil v soutěži projektu ImageNet. V listopadu téhož roku další z těchto systémů zvítězil v ICPR soutěži v analýze lékařských snímků pro detekci rakoviny. V letech 2013 a 2014 se chybovost systémů v úloze ImageNet dále snižovala, podobný trend zaznamenalo rovněž odvětví rozpoznávání řeči.

Dle některých výzkumníků bylo vítězství v ImageNet základem tzv. „revoluce hlubokého učení“ (angl. deep learning revolution), která transformovala celé odvětví umělé inteligence.

V březnu 2019 byli Yoshua Bengio, Geoffrey Hinton a Yann LeCun vyznamenání Turingovou cenou za konceptuální a inženýrský průlom, který ustavil hluboké neuronové sítě jako stěžejní pilíř výpočetních věd.

Hardware Během dekády 2010-2019 umožnily pokroky v učících algoritmech a počítačovém hardwaru značné zefektivnění práce s hlubokými neuronovými sítěmi charakteristickými vysokým počtem skrytých vrstev a širokou výstupní vrstvou. V roce 2019 už GPU s modifikacemi pro AI výpočty nahradily CPU v roli dominantního prostředku pro trénink komerčně využívané AI v cloudovém prostředí. Společnost OpenAI odhadla odstup ve výkonu hardwaru využitého pro projekt hlubokého učení AlexNet z roku 2012 a pro projekt AlphaZero z roku 2017 a zjistila 300tisícinásobné navýšení výpočetního výkonu, tedy zdvojnásobení výkonu každého 3,4 měsíce (pro srovnání Moorův zákon přisuzuje pokroku v hardwaru zdvojnásobování výpočetního výkonu každé 2 roky).

Pro akceleraci výpočtů souvisejících s hlubokým učením byly vyvinuty specializované výpočetní obvody – NPU (angl. neural processing unit) v mobilních zařízeních a TPU (angl. tensor processing unit) pro výpočetní servery v rámci Google Cloud Platform. Společnost Cerebras Systems vyvinula dedikovaný systém pro práci s modely hlubokého učení, nazvaný CS-2, založený na největším procesoru vůbec, druhé generaci WSE-2 (Wafer Scale Engine).

V roce 2021 J. Feldmann a kolektiv navrhli pro účely konvolučního zpracování integrovaný fotonický hardwarový akcelerátor. Autoři uvádějí dvě klíčové výhody fotonického řešení ve srovnání s klasickým elektronickým: (1) masivně paralelní zpracování dat díky multiplexu v rámci vlnových délek, (2) extrémně rychlou datovou modulaci. Jejich systém dokáže provádět bilióny operací za sekundu, čímž vykazuje značný potenciál fotoniky pro budoucí využití v systémech spoléhajících na AI.

Optimální hardwarová implementace provádění výpočtů umožňuje značně urychlit nalezení výsledku. Používají se různé způsoby:

Tensor Processing Unit (TPU) Google developers: Machine Learning Glossary od Google jsou specializované integrované obvody ve formě čipů implementovaných v zařízení TPU (An application-specific integrated circuit (ASIC)), který optimalizuje výpočetní výkon strojového učení.

Graphics Processing Unit (GPU) je systém procesorů implementovaných na grafické kartě, původně určený především pro běh počítačových her, kladoucích velké nároky na výpočetní výkon. Na rozdíl od CPU majících k dispozici maximálně 8 nebo 16 výpočetních vláken, GPU jich může využívat až např. 2 048. Pro algoritmizaci učení se pak může užít tzv. CUDA platforma, umožňující programovat v jazycích C++ resp. Fortran, která umožní díky velkému počtu dostupných výpočetních vláken vysoký stupeň paralelizace výpočtu, čímž zvýší výpočetní výkon strojového učení.

Využití Rozpoznávání obrazu Rozpoznávání obrazu založené na hlubokém učení již překonalo schopnosti člověka. Poprvé se tak stalo v roce 2011 při rozpoznávání dopravního značení, poté v roce 2014 v rozpoznávání lidských tváří. Vozidla využívající hluboké učení dnes analyzují 360° kamerové záběry v reálném čase.Nvidia Demos a Car Computer Trained with "Deep Learning" (6 January 2015), David Talbot, MIT Technology Review

Pro rozpoznávání obrazu se dnes užívají Konvoluční neuronové sítě (CNN), které jsou specializovaným typem umělých neuronových sítí, které alespoň v jedné ze svých vrstev používají matematickou operaci zvanou konvoluce namísto obecného násobení matic. Jsou speciálně navrženy pro zpracování pixelových dat a používají se při rozpoznávání a zpracování obrazu.

V porovnání s jinými algoritmy klasifikace obrazu používají CNN relativně málo předzpracování. To znamená, že síť se učí optimalizovat filtry (nebo jádra) prostřednictvím automatického učení, zatímco v tradičních algoritmech jsou tyto filtry vytvářeny ručně. Tato nezávislost na předchozích znalostech a lidských zásazích do extrakce příznaků je velkou výhodou.

Pro klasifikaci ručně psaných číslic se běžně využívá datový soubor MNIST. Jde o vzorník ručně psaných číslic obsahující 60 tisíc trénovacích položek a 10 tisíc testovacích položek. Relativně malý datový objem umožňuje testovat různé konfigurace systému pro rozpoznávání.

Automatické rozpoznávání řeči Automatické rozpoznávání řeči je nejočividnější aplikací hlubokého učení s širokým využitím. Rekurentní neuronové sítě jsou schopné zpracovávat i „velmi hluboké úlohy“, které obsahují intervaly několika sekund trvající mluvené řeči oddělené několika tisíci diskrétních časových kroků, kde jeden krok odpovídá zhruba 10 ms.

Počátečního úspěchu v rozpoznávání řeči bylo dosaženo na úlohách malého rozsahu založených na TIMIT (vzorník mluvené americké angličtiny od různých mluvčích doplněný transkripcí). Tato data obsahují po deseti větách od 630 mluvčích hovořících v osmi hlavních dialektech americké angličtiny.TIMIT Acoustic-Phonetic Continuous Speech Corpus Linguistic Data Consortium, Philadelphia.

Všechny dnes komerčně široce využívané systémy pro rozpoznávání řeči (Microsoft Cortana, Amazon Alexa, Google Now, Apple Siri a další) jsou založeny na hlubokém učení.

Zpracování přirozeného jazyka Klíčovou technikou v tomto oboru je vnoření slov (angl. word embedding). Tento přístup reprezentuje každé jednotlivé slovo jako pozici ve vícerozměrném prostoru relativně vůči dalším slovům obsaženým v datovém souboru. Využití vnoření slov na vstupní vrstvě umožňuje rekurentním neuronovým sítím provádět rozbor vět a frází efektivní vektorovou gramatikou. Rekurzivní autoenkodéry umožňují posoudit příbuznost vět a detekovat parafráze.

Nedávné pokroky zobecnily vnoření slov na vnoření celých vět (angl. sentence embedding).

Překladač Google a Google Neural Machine Translation využívají techniky hlubokého učení. Překladač Google díky tomu překládá významy vět namísto překladu jednotlivých frází. Podporuje přes sto jazyků a využívá angličtinu jako prostředníka pro překlad mezi libovolnými dvěma jazyky.

Analýza lékařských snímků Hluboké učení prokázalo konkurenceschopnost v medicínských aplikacích, jako je klasifikace rakovinných buněk, detekce lézí, vylepšení obrazu a dalších. Moderní nástroje využívající hluboké učení prokazují vysokou přesnost v detekci různých chorob a jejich využití dovoluje odborníkům zvyšovat efektivitu diagnóz.

Rekonstrukce obrazu Jde o rekonstrukci obrazu na základě podkladových dat, která se k obrazu vážou, jako je například spektroskopické zobrazování nebo ultrazvukové zobrazování. Několik prací na toto téma demonstrovalo lepší výkon systémů využívajících hluboké učení ve srovnání s uvedenými metodami.

Detekce finančních podvodů Hluboké učení se úspěšně uplatňuje v detekci finančních podvodů, detekci daňových úniků a praní špinavých peněz.

Zpracování uměleckých děl Úzce spjaté s obecným rozpoznáváním obrazu je využití hlubokého učení pro různé typy zadání týkající se uměleckých děl. Hluboké neuronové sítě se prokázaly schopnými např.:

identifikovat období vzniku malby

zachytit výtvarný styl daného díla a poté ho aplikovat na libovolnou fotografii či video

generovat obrazy založené na náhodných vstupech (např. software DeepDream společnosti Google)

Kritika Hluboké učení na sebe strhlo vlnu kritiky, a to nejen z okruhu počítačových věd.

Teoretické pozadí