Základní snahou umělé inteligence je umožnit strojům dívat se na svět stejně jako lidé, vnímat jej podobným způsobem a využívat znalosti pro celou řadu úkolů, jako je rozpoznávání obrazu a videa, analýza a klasifikace obrazu atd. Pokroky v počítačovém vidění s technologií tzv. Deep Learning jsou neustále zdokonalovány, a to především prostřednictvím jednoho konkrétního algoritmu – konvoluční neuronové sítě (CNN).
Jde o specializovaný typ umělé neuronové sítě, který zhruba napodobuje systém lidského vidění. Konvoluční neuronové sítě se skládají z několika vrstev umělých neuronů. Umělé neurony, hrubá napodobenina jejich biologických protějšků, jsou matematické funkce, které počítají vážený součet více vstupů a výstupů s aktivační hodnotou. Operace vynásobení hodnot pixelů váhami a jejich sčítání se nazývá „konvoluce“ (odtud název konvoluční neuronová síť).
Když zadáte obrázek do konvoluční sítě, každá z jeho vrstev vygeneruje několik aktivačních map. Aktivační mapy zvýrazňují relevantní vlastnosti obrázku. Každý z neuronů vezme jako vstup část pixelů, vynásobí své barevné hodnoty váhami, sečte je a provede je aktivační funkcí. První (nebo spodní) vrstva sítě obvykle detekuje základní prvky, jako jsou vodorovné, svislé a úhlopříčné okraje. Výstup první vrstvy se přivádí jako vstup další vrstvy, která extrahuje složitější funkce, jako jsou rohy a kombinace hran. Jak se budete pohybovat hlouběji do konvoluční neuronové sítě, vrstvy začnou detekovat prvky na vyšší úrovni, jako jsou objekty, tváře a další prvky.
Jednou z velkých výzev při vývoji CNN je úprava vah jednotlivých neuronů, aby se ze snímků získaly správné rysy. Proces úpravy těchto vah se nazývá „trénink“ neuronové sítě. Na začátku začíná CNN s náhodnými váhami. Během tréninku vývojáři poskytují neuronové síti velký soubor dat obrázků s poznámkami s odpovídajícími třídami (kočka, pes, kůň atd.). Síť zpracuje každý obrázek s jeho náhodnými hodnotami a poté porovná jeho výstup se správným štítkem obrázku. Pokud výstup sítě neodpovídá označení – což je pravděpodobně případ na začátku tréninkového procesu – provede malou úpravu vah svých neuronů, aby příště viděl stejný obraz, jeho výstup bude trochu blíž ke správné odpovědi.
Navzdory své složitosti jsou konvoluční neuronové sítě v zásadě stroji pro rozpoznávání vzorů. Mohou využívat obrovské výpočetní zdroje k dohledání drobných a nenápadných vizuálních vzorů, které by pro lidské oko mohly zůstat nepovšimnuté. Ale pokud jde o pochopení významu obsahu obrázků, fungují špatně. Konvoluční neuronové sítě jsou nyní například široce používány ke sledování obsahu sociálních médií. Díky rozsáhlým úložištím obrázků a videí, na která jsou vyškoleni, se snaží detekovat a blokovat nevhodný obsah. Samozřejmě i zde má CNN své nežádoucí dopady. V jednom případě zakázala umělá inteligence společnosti Facebook na fotografii 30 000 let staré sochy jako nahotu.
Dnes se CNN používají v mnoha aplikacích počítačového vidění. V některých oblastech, jako je lékařské zpracování obrazu, mohou dobře vyškolené neuronové sítě dokonce překonat lidské odborníky při detekci nemocí. V České republice začala pro svůj chytrý monitoring médií jako první používat konvoluční neuronové sítě společnost TOXIN. „Snažíme se vždy jít na samotnou hranu technologických možností. Proto se také již 2 roky zabýváme zapojením CNN do našich systémů pro rozpoznávání obličejů, vyhledávání subjektů a čtení textových informací v pohybujícím se obrazu,“ uvedl Ladislav Procházka, ředitel společnosti TOXIN.
Jak ukazují pokroky v konvolučních neuronových sítích, naše úspěchy jsou pozoruhodné a užitečné, ale stále máme velmi daleko od nahrazení klíčových složek lidské inteligence.
@RadekVyskovsky