Neurální čip pro mobily  
Mezi vymoženosti současné techniky patří věci, které nám ulehčují život, jako je třeba rozpoznání řeči nebo obrazu. Málokdo ale ví, že to funguje díky umělým neuronovým sítím.

 

Jednoduchý perceptron s n vstupy x (jimž přísluší váhy wi), jedním výstupem z a prahem citlivosti neuronu theta. Kredit: Wikipedia. https://cs.wikipedia.org/wiki/Perceptron
Jednoduchý perceptron s n vstupy x (jimž přísluší váhy wi), jedním výstupem z a prahem citlivosti neuronu theta. Kredit: Wikipedia.

Umělé neuronové sítě šikovně kopírují činnosti, ve kterých náš mozek vyniká. Ale zatímco v mozku probíhají všechny přenosy simultálně, najednou, počítač takto pracovat neumí. Musí si vzít jednu buňku, spočítat pro ni výsledky na vstupu a nastavit výsledek pro výstup. A potom druhou buňku, třetí, atd. Pokaždé se zapojí procesor a paměť. Při dnešních výpočetních výkonech to už ale není takový problém, nicméně pořád platí, že neuronové sítě jsou pořádný žrout výkonu a tím i energie.
V centru výzkumu je věc, které se říká několikavrstvý perceptron. Ve své podstatě to je několik vrstev neuronů za sebou. První vrstva slouží jako vstup, v dalších vrstvách doje k vyhodnocení a poslední vrstva zobrazí výstup. Každý neuron a proto i každý model neuronu v počítači má přitom mnoho vstupů (dendritů) a jeden výstup (axon). Perceptron je potom uspořádán tak, že každý neuron následující vrstvy má spojení s každým neuronem předchozí vrstvy. Přenos informace na vstup neuronu, tedy po vlákně dendritu, většinu představuje nějaká nelineární funkce, jejíž výsledky mohou být od -1 do +1. Na začátku jsou hodnoty pro jednotlivá vlákna (říkáme tomu váhy) nastavena náhodně a síť je potřeba učit. Na vstup se posílají různá data a po každém průchodu těchto dat se nastavení jednotlivých vláken podle sofistikovaného algoritmu mění, aby bylo dosaženo požadovaného výstupu. Předností vícevrstvého perceptronu je to, že si po naučení dokáže poradit i s „pozměněnými" daty na vstupu a správně určit, jaký má být výstup. Něco jako když vidíte třeba auto v hustém dešti, mlze nebo šeru a přesto poznáte, že je to auto, jako když ho vidíte za jasného dne.

 


Strojové učení a dolování dat využívá převodu nelineárních funkcí do lineárních.
Strojové učení a dolování dat využívá převodu nelineárních funkcí do lineárních.

Pojďme se nyní podívat, jak můžeme optimalizovat tento na výpočty náročný proces pro mobilní zařízení. První cestou je přesunout výpočet na server, mobil pouze zajistí vstupní data a jejich přenos přes internet na server, kde dojde k vyhodnocení a odeslání výsledku zpět do mobilu. To je dnes nejpoužívanější řešení.

 


Druhou cestou může být obvod, který tak trochu simuluje neuron, že má tedy několik vstupů a jeden výstup a především, spočítání všech vstupu probíhá paralelně. Navíc místo digitálního výpočtu to uděláme analogově, ve své podstatě je každé takové vlákno malý násobič napětí, v neuronu se sečte celkový výsledek a ten se potom převede do digitální formy. Touto cestou se vydali výzkumníci z MIT a dokáží speciálním procesorem snížit energetickou náročnost celého výpočtu o 95%. Navíc používají ještě jeden fígl, váhy mohou být pouze -1 nebo +1. Sice tím dojde k určité ztrátě přesnosti, ale jenom malé, do 2 %. Umělé neuronové sítě, stejně jako biologické, se tedy dokáží dost dobře vypořádat s poškozením, jímž je vlastně omezení vah na pouhé dvě hodnoty.


Tak uvidíme, kdy se dočkáme integrace této architektury do procesorů pro mobilní zařízení. Řada věcí by potom mohla fungovat i bez připojení k internetu.

 

Zdroje

Larry Hardesty.: Neural networks everywhere,  MIT News, February 13, 2018

Perceptron https://cs.wikipedia.org/wiki/Perceptron

Neuron https://cs.wikipedia.org/wiki/Neuron

MLP  https://en.wikipedia.org/wiki/Multilayer_perceptron

Autor: Martin Tůma
Datum: 15.02.2018
Tisk článku


Diskuze:


Diskuze je otevřená pouze 7dní od zvěřejnění příspěvku nebo na povolení redakce








Zásady ochrany osobních údajů webu osel.cz