Co je machine learning?
V češtině se pro machine learning používá překlad strojové učení, který toho sám o sobě hodně napovídá. Jde o postupy, umožňující strojům učit se nové věci. Učením však nemáme na mysli memorování, ale schopnost naučit se zobecňovat získané informace.
Uvedu konkrétní příklad. Malé děti se učí rozpoznávat zvířata tak, že jim rodiče nebo učitelé ukazují příklady jednotlivých druhů. Zpočátku se dětem možná pletou kočky a psi, protože jsou si vizuálně i velikostí podobní, ale s přibývajícím množstvím příkladů si začnou všímat detailů, až je jsou schopné odlišit velice bezpečně.
Důležité je, že si zapamatují obecné vlastnosti, které konkrétní druh sdílí – například, že pes štěká a kočka mňouká. Později tak díky schopnosti generalizace dokážou rozhodnout, zda jde o kočku nebo psa i u konkrétního zvířete, které nikdy předtím neviděly.
Velice podobně to funguje i u strojového učení. Pokud chceme naučit počítač odlišit kočku od psa, musíme mu nejprve předložit trénovací příklady. To budou v našem případě příklady zvířat, popsané pomocí nějakých atributů (např. počet nohou, barva očí, výška v kohoutku, počet zubů, apod.). Algoritmus strojového učení je potom schopný se naučit, že mu počet nohou pro rozlišení kočky a psa příliš nepomůže, zatímco počet zubů je celkem spolehlivý indikátor. Pokud algoritmu předložíme nový příklad, který v trénovacích datech obsažený nebyl, dokáže jen na základě atributů určit, o jaký druh zvířete nejspíš jde.
Co je deep learning?
Jedním z populárních nástrojů pro strojové učení jsou umělé neuronové sítě. V zásadě matematický model lidského mozku – tedy síť vzájemně propojených neuronů. Na rozdíl od mozku, kde jsou jednotlivé neurony propojeny velmi složitým způsobem, se v umělých neuronových sítí typicky používá vrstvená architektura. To znamená, že každá vrstva neuronů je propojená pouze se sousedními vrstvami.
V minulosti se z důvodu velké výpočetní náročnosti trénování používalo takových vrstev jen velmi málo. Až v posledních letech, především díky rozmachu výkonných grafických karet, bylo umožněno pracovat s desítkami až stovkami vrstev, čímž se schopnosti umělých neuronových sítí výrazně zlepšily. Sítím s velkým množstvím vrstev se říká hluboké, proto pojem deep learning. Vysvětlení tohoto názvu existuje více, ale v žádném případně nejde o nějakou konkrétní technologii a je to tedy typický buzzword.
Jak pozná neuronová síť porno?
Pro zpracování obrazových informací se nejvíce osvědčily hluboké konvoluční neuronové sítě. Konvoluční síť se nesnaží pochopit obrázek rovnou jako celek, ale pracuje po částech, které postupně dává dohromady.
První vrstva takové sítě se tak například naučí rozpoznávat hrany, další vrstva potom spojuje hrany do jednoduchých obrazců. Poslední vrstvy už jsou schopny rozpoznávat třeba i obličeje jednotlivých lidí. Rozpoznávač lechtivého obsahu funguje stejně.
Neuronové síti je třeba předložit ukázky pornografických i nepornografických obrázků a ona se postupně naučí, jaké objekty a nebo detaily obrázku jsou pro kterou kategorii specifické. Neuronové sítě jsou dnes ve zpracování obrázků tak dobré, že není problém natrénovat sít, která přirozeným jazykem přesně popíše, co se na obrázku nachází.
Autor je podnikatel a investor v oblasti e-commerce a technologií