Hluboké učení
Author
Albert FloresHluboké učení (Deep Learning) 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. +more 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
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). +more 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. +more nejprve předučení sítě dopředným směrem např. pomocí autoenkodérů (učení bez učitele) 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 LeCuna již tehdy zpracovávaly dopředné konvoluční sítě 10% až 20% objemu všech šeků vypsaných ve Spojených státech. +more 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. +more "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á.
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. +more 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í.
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í. +more 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. +more "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čicí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í. +more 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. +more 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. +more 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) 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ř. +more 2 048. Pro algoritmizaci učení se pak může užít tzv. CUDA platforma, umožňující programovat v jazicí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áří. +more Vozidla využívající hluboké učení dnes analyzují 360° kamerové záběry v reálném čase.
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ě. +more 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. +more 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.
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). +more 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í. +more 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ř. +more:.
* 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í
Hlavní kritika hlubokého učení se týká nedostatku teoretického pozadí jeho některých metod. V nejběžnějších případech je učení implementováno pomocí dobře prozkoumané gradientní metody. +more Jiné metody však takto dobře vysvětleny nejsou. Často je na ně nahlíženo jako na černou skříňku, kde je většina závěrů o fungování modelu utvářena na základě empirických výsledků, ne teorie.
Chybná funkce
Některé systémy hlubokého učení vykazují problematické chování, jako je například zařazování objektivně nerozpoznatelných obrázků do známých kategorií nebo naopak nesprávné zařazování obrázků na základě pouze drobných změn. Goertzel se domnívá, že toto chování může být způsobeno limitací vnitřní reprezentace.
Kybernetická hrozba
S tím, jak se hluboké učení postupně dostává do běžného užívání, výzkum a zkušenosti ukazují, že jsou umělé neuronové sítě zranitelné podvratným jednáním. Útočník může například pomocí analýzy vnitřního fungování systému upravit hledaný obrázek tak, že síť nalezne shodu, přestože z lidského hlediska jde o zcela nesouvisející obrázky.
V roce 2016 výzkumníci využili jednu neuronovou síť k takovéto záměrné úpravě obrázků. Identifikovali vzory chování druhé sítě a pak byli schopni vygenerovat obrázky, které dokázaly tuto síť zmást. +more Upravené obrázky vypadaly pro lidské oko nerozlišitelně. Jiná skupina ukázala, že i vytištěné upravené obrázky jsou následně chybně zařazovány. Jedna z forem obrany proti takovému postupu by mohla souviset s využitím zpětného vyhledávání obrázků (angl. reverse image search, kde je podezřelý obrázek nejprve uploadován do služby jako např. TinEye, kde lze vyhledat ostatní jeho výskyty. Vylepšením může být vyhledávání pouze částí obrázku.
Umělé neuronové sítě mohou být nicméně trénovány k rozpoznávání případů takového napadení. To může ve výsledku vést k závodům ve zbrojení podobným malwarové scéně.
Existuje rovněž technika "otravy dat" (angl. data poisoning), kdy jsou podvržená data propašována do tréninkového datového souboru, což učícímu se systému znemožňuje dosahovat přesných výsledků.
Reference
Literatura
Externí odkazy
[url=http://www.datamind.cz/cz/blog/hluboke-uceni-neuronove-site]Blog o hlubokém učení (Jan Matoušek)[/url]