Existuje mnoho technologií umělé inteligence a metod pro napodobení (nebo lépe vytváření) inteligence (některé jsou uvedeny níže). Umělá neuronová síť (Artificial Neural Network, ANN) je jedním příkladem těchto (vcelku úžasných) technologií. Ale co přesně je ANN a proč je tak úžasná? Podívejte se na našeho praktického průvodce a úvod do ANN a jejich praktických aplikací. Doufáme, že to pro Vás bude příjemné čtení!
Co je umělá neuronová síť?
Začněme od základů! ANN je výpočetní systém inspirovaný biologickými neuronovými sítěmi, které tvoří lidské mozky (jinými slovy soubor jednoduchých výpočetních jednotek, které zpracovávají data, vzájemně komunikují a pracují paralelně). Název „umělé neuronové sítě“ někdy odkazuje také na obor, který se zabývá konstrukcí a studiem těchto sítí. Jednoduché sítě se již dlouho používají v oblastech jako je rozpoznávání rukopisu.
ANN je založena na souboru propojených jednotek, umělých neuronů, které volně modelují biologické neurony, které vypadají takto:
Princip, na kterém pracuje umělý neuron, je samozřejmě nepatrně odlišný – umělý neuron je jednoduchá výpočetní jednotka (matematická funkce), která zpracovává signály, komunikuje a spolupracuje s jinými podobnými jednotkami. První umělý neuron vyrobili v roce 1943 neurofyziolog Warren McCulloch a logik Walter Pits. Nejjednodušší neuronová síť, složená z jednoho nebo několika nezávislých McCulloch-Pitts neuronů (modelů biologických neuronů), se nazývá perceptron.
Proč používat neuronové sítě?
Přesné fungování lidského mozku je stále záhadou. Přesto jsou některé aspekty tohoto úžasného procesu známé a ANN napodobuje řadu těchto překvapivých rysů mozku:
- vysoký stupeň paralelních přenosových impulzů
- schopnost řešit neúplné, nekonzistentní, nebo „hlučné“ informace (? „noisy“ information)
- malá velikost a nízká spotřeba energie
- flexibilita činnosti – učení přizpůsobením se měnícím se podmínkám bez programování jednání
- vysoká odolnost proti poškození a smrti některých buněk
Tyto funkce ANN poskytují řadu výhod:
- schopnost učit se z příkladů, stejně jako se člověk učí ze zkušeností a opakováním
- schopnost generalizovat (klasifikovat) jevy, např. dělení poškození transformátoru na typy
- schopnost interpretovat závislosti a jevy obsahující nekompletní/chybné informace, např. v problému aproximace křivek s danými energetickými charakteristikami
- paralelní zpracování informací – zvláště důležité pro zpracování informací v reálném čase, např. Mitsubishi „neuropočítač“ používaný pro rozpoznání řeči a zpracování obrazu
- nízké stavební náklady v porovnání s rychlostí zpracování informací – velký počet jednoduchých (a levných) procesorů
- odolnost proti poškození systému – díky velkému počtu neuronů nebude vždy po ztrátě některých z nich pracovat ANN chybně
Podívejme se také na srovnání mezi klasickým počítačem a „neuropočítačem“, který je chápán jako další krok ve vývoji ANN – počítač imitující biologickou neuronovou síť a napodobující základní nervové komponenty:
Uložení algoritmu
Klasický počítač: ROM/RAM
Neuropočítač: architektura
Doba učení
Klasický počítač: krátká, závislost na algoritmu
Neuropočítač: dlouhá, závisí na počtu komponent a připojení
Zpracování
Klasický počítač: sériové
Neuropočítač: paralelní
Aritmetické výpočty
Klasický počítač: efektivní
Neuropočítač: slabý
Heuristické schopnosti
Klasický počítač: slabé
Neuropočítač: velmi dobré
Rozpoznávání snímků
Klasický počítač: pomalé
Neuropočítač: rychlé, velmi dobré
Hledání datasetů
Klasický počítač: pomalé přiřazování, přesné
Neuropočítač: rychlé přiřazování, přibližné
Komprese/dekomprese
Klasický počítač: pomalá, bezztrátová
Neuropočítač: velmi rychlá, nepatrná ztráta
Různé typy umělých neuronových sítí
Společným rysem neuronových sítí je struktura složená z neuronů spojených synapsemi. Synapse jsou spojeny s váhami, tj. číselná hodnota, jejíž interpretace závisí na modelu.
S největší pravděpodobností nebude překvapením, že existuje několik typů neuronových sítí a že se ANN mohou lišit, například pokud jde o topologii (architekturu) nebo učební metody.
Architektura neuronových sítí:
Rekurentní neuronová síť (Recurrent neural network, RNN) –zpětnovazebná síť, kde spojení mezi uzly tvoří orientovaný graf podél sekvence. RNN mohou používat jejich interní stav (paměť) pro zpracování sekvencí vstupů. Příklady těchto typů sítí zahrnují: ART a BAM sítě, Hopfieldovy sítě nebo modifikaci Hopfieldovy sítě nazývanou „Boltzmannův stroj“.
Feed-forward síť – umožní signálu cestovat pouze jedním směrem. Zvláštním případem tohoto druhu sítí jsou vícevrstvé sítě, které jsou nejoblíbenější ANN architekturou.
Buněčná neuronová síť (Cellular neural networ, CNN) – v tomto typu sítě je komunikace povolena pouze mezi sousedními jednotkami. Typické aplikace CNN zahrnují zpracování v reálném čase (zejména obrázky).
Jak se přesně sítě učí?
S největší pravděpodobností právě možnost učení přitahuje největší zájem v oblasti neuronových sítí. Proces učení v ANN může být rozdělen do dvou obecných paradigmat:
Kontrolované učení („s externím učitelem“) – tento přístup využívá učebních setů, vstupních a výstupních dat. Během procesu učení upravuje síť váhy tak, aby omezila rozdíly mezi očekávanou a naučenou hodnotou.
Zde jsou příklady některých metod kontrolovaného učení:
- metoda Delta
- zpětná propagace (BP)
- metoda rychlého šíření (modifikace BP)
- LM metoda
- Metoda konjugovaného gradientu.
Nekontrolované učení („bez externího učitele“) – založené pouze na místních informacích, síť se učí modifikací svých parametrů přes analýzy reakcí na dosud neznámé podněty. V důsledku učení se síť rozděluje do tříd/kategorií.
Níže jsou příklady pravidel učení bez učitele:
- Hebbovo pravidlo
- Pravidlo vítěz bere vše (WTA = Winner-takes-all).
Co mohou ANN dělat?
ANN mají mnoho praktických aplikací a mnoho nových se pravděpodobně objeví v blízké budoucnosti (takže bychom se možná měli zeptat, co neuronové sítě nemohou dělat). Obecně platí, že neuronové sítě jsou nejvhodnější k identifikaci vzorů a trendů v datech.
Aplikace ANN lze rozdělit takto:
- sdružování dat (klasifikace) – přiřazení události ke specifické třídě
- analýza dat (detekce skupin) – například umožnění filtrace signálu
- extrakce funkcí – umožňuje snížit velikost dat (komprese)
- aproximace – ANN se učí tvar funkce na základě znalostí bodů
- předpověď
- optimalizace (včetně kombinačních problémů)
- řídící systémy – ANN může automaticky interpretovat situaci a reagovat na ni na základě vzorců reakcí na specifické podněty
- rozpoznání obrazu a reprodukce – rozpoznání obrazu a jeho přiřazení dané skupině, i v případě poměrně vysokého zkreslení
- paměť – možnost výběrového stahování ve velmi krátkém čase.
Neuronové sítě mají široké využití při skutečných obchodních a technických problémech. Podívejme se na několik příkladů z oblasti, která je nám blízká – energetický průmysl:
- optimalizace nastavených hodnot u kohoutů v distribuční síti
- optimalizace koncových bodů v distribuční síti v reálném čase
- prognóza špiček v poptávce a spotřebě elektrické energie u vybraných skupin spotřebitelů
- analýza vlivu faktorů jiné generace na kvalitu předpovědí spotřeby elektrické energie
- podpora analýz zkratu v energetické síti
- prognóza výroby elektřiny z OZE (projekt 4RES)
- diagnostika energetických zatížení, včetně transformátorů, turbínových setů, systému jaderných elektráren, diagnostiky úniků, prognózy poškození ve větrné turbíně.
ANN a předpovídání výroby z obnovitelných zdrojů energie
V závěru bychom rádi představili jeden příklad aplikace ANN v našich výzkumných a vývojových aktivitách: projekt 4RES.
Pro provozovatele OZE je velmi důležité předpovědět výrobu energie v různých časových obdobích a s různým časovým rozlišením. Pro zodpovězení těchto náročných úkolů vyvinul náš tým systém 4RES, který poskytuje prostředky pro předpověď výroby z OZE pomocí umělých neuronových sítí (přesné vrstvené sítě). Systém byl implementován u jednoho z obchodních operátorů, kde byla vyhodnocena a potvrzena jeho účinnost – míra chybovosti prognóz se ukázala jako uspokojivá, činila jen okolo 10 %.
4RES – forecasting generation from RES