Když jde učení do hloubky
| 4. 1. 2021V umělé inteligenci proběhla v minulých deseti letech revoluce, kterou způsobil nástup takzvaného hlubokého učení (deep learning). Metody hlubokého učení dnes představují nejúspěšnější algoritmy v mnoha oblastech od rozpoznávání obrazu přes překlad přirozeného jazyka až po hraní her. S technologiemi založenými na hlubokém učení se dnes běžně setkáváme při hledání na internetu, v chytrých telefonech a virtuálních asistentech, při řízení autonomních vozidel a dronů, ale i v biologických a chemických laboratořích.
Modely vytvořené hlubokým učením dokážou řešit řadu úloh na podobné úrovni jako člověk, a někdy ho dokonce překonávají. Překvapivé úspěchy jsou ale vykoupeny i některými zápory. Jelikož reprezentace znalostí v těchto modelech je distribuovaná v milionech parametrů, jsou pro nás černou skříňkou, takže například nemůžeme zaručit, že naučený model někdy neudělá chybu.
Proč hluboké?
Umělá inteligence se zabývá vývojem algoritmů řešících složité úlohy vyžadující (z našeho antropocentrického pohledu) určitou míru inteligence podobné té lidské. Obecná umělá inteligence se snaží modelovat lidské kognitivní procesy, a jednou by měla být schopna dosáhnout samostatnosti a úrovně uvažování člověka. To se nám zatím moc nedaří. Naopak velmi úspěšní jsme v tzv. specializované umělé inteligenci, která se zaměřuje na řešení konkrétních úloh.1)
Řešit složitou úlohu můžeme tak, že vymyslíme sofistikovaný specializovaný algoritmus. To byl třeba případ programu Deep Blue, který v roce 1995 porazil velmistra Kasparova v šachu. Jiným přístupem je vytvořit obecný program, který je schopen se na základě předložených dat samostatně učit. Téhle oblasti umělé inteligence se říká strojové učení a patří sem i hluboké učení, jinými slovy učení hlubokých umělých neuronových sítí.
Umělé neuronové sítě zná informatika už od roku 1957, kdy Frank Rosenblatt představil perceptron – matematický model nervové buňky, a zároveň i algoritmus, jak nastavit její synaptické váhy pomocí učení z dat (obr. 1 vlevo). Už na přelomu padesátých a šedesátých let byla síť s jednou vrstvou perceptronů realizována ve specializovaném počítači Mark 1 Perceptron pro klasifikaci obrazových dat. Z matematického hlediska představuje perceptron jednoduchý lineární model pro binární klasifikaci, takže jeho možnosti byly velmi omezené. Pokusy vytvořit silnější model, který by obsahoval více perceptronových vrstev, ale dlouho narážely na to, že nebylo jasné, jak takovou neuronovou síť učit.