Neurónové siete v skratke. Neurónové siete: typy, princípy fungovania a oblasti použitia

Neurálne siete

Schéma jednoduchej neurónovej siete. Označené zelenou farbou vstup prvky, žltá - deň voľna element

Umelé neurónové siete(ANN) - matematické modely, ako aj ich softvérové ​​alebo hardvérové ​​implementácie, postavené na princípe organizácie a fungovania biologických neurónových sietí - sietí nervových buniek živého organizmu. Tento koncept vznikol pri štúdiu procesov prebiehajúcich v mozgu počas myslenia a pri pokuse o modelovanie týchto procesov. Prvým takýmto modelom mozgu bol perceptrón. Následne sa tieto modely začali využívať na praktické účely, zvyčajne pri predpovedaní problémov.

Neurónové siete nie sú programovateľné v bežnom zmysle slova sa školia. Schopnosť učiť sa je jednou z hlavných výhod neurónových sietí oproti tradičným algoritmom. Technicky učenie pozostáva z hľadania koeficientov spojení medzi neurónmi. Počas tréningového procesu je neurónová sieť schopná identifikovať zložité závislosti medzi vstupnými dátami a výstupnými dátami, ako aj vykonávať zovšeobecňovanie. To znamená, že ak je trénovanie úspešné, sieť bude schopná vrátiť správny výsledok na základe údajov, ktoré v trénovacej sade chýbali.

Chronológia

Známe aplikácie

Zhlukovanie

Klastrovanie označuje rozdelenie množiny vstupných signálov do tried, napriek tomu, že nie je vopred známy ani počet, ani vlastnosti tried. Po zaškolení je takáto sieť schopná určiť, do ktorej triedy patrí. vstupný signál. Sieť môže signalizovať aj to, že vstupný signál nepatrí do žiadnej z vybraných tried – je to znak nových údajov, ktoré v trénovacej množine chýbajú. Teda taká sieť dokáže identifikovať nové, predtým neznáme triedy signálov. Korešpondencia medzi triedami identifikovanými sieťou a triedami existujúcimi v doméne je stanovená osobou. Klastrovanie je realizované napríklad Kohonenovymi neurónovými sieťami.

Experimentálny výber charakteristík siete

Po výbere všeobecná štruktúra musíte experimentálne vybrať parametre siete. Pre siete ako perceptrón to bude počet vrstiev, počet blokov v skrytých vrstvách (pre siete Word), prítomnosť alebo neprítomnosť premostených spojení, prenosové funkcie neuróny. Pri výbere počtu vrstiev a neurónov v nich treba vychádzať z toho Čím väčší je celkový počet spojení medzi neurónmi, tým vyššia je schopnosť siete zovšeobecňovať. Na druhej strane, počet spojení je vyššie limitovaný počtom záznamov v tréningových dátach.

Experimentálny výber tréningových parametrov

Po výbere konkrétnej topológie je potrebné zvoliť trénovacie parametre pre neurónovú sieť. Tento krok je obzvlášť dôležitý pre kontrolované vzdelávacie siete. Správny výber parametrov určuje nielen to, ako rýchlo sa budú odpovede siete približovať k správnym odpovediam. Napríklad výber nízkej rýchlosti učenia predĺži čas konvergencie, ale niekedy sa vyhnete paralýze siete. Zvýšenie momentu učenia môže viesť buď k zvýšeniu alebo zníženiu času konvergencie, v závislosti od tvaru povrchu chyby. Na základe takéhoto protichodného vplyvu parametrov môžeme konštatovať, že ich hodnoty musia byť zvolené experimentálne, riadené kritériom na dokončenie školenia (napríklad minimalizácia chýb alebo obmedzenie času školenia).

Vlastne tréning siete

Počas tréningového procesu sieť skúma tréningovú vzorku v určitom poradí. Poradie zobrazenia môže byť sekvenčné, náhodné atď. Niektoré siete učenia bez dozoru, ako napríklad siete Hopfield, skenujú vzorku iba raz. Iné, ako napríklad siete Kohonen a siete pod dohľadom, skenujú vzorku mnohokrát, pričom jeden úplný prechod cez vzorku sa nazýva éra učenia. Pri učení s učiteľom je súbor počiatočných údajov rozdelený na dve časti - skutočný tréningový súbor a testovacie údaje; princíp delenia môže byť ľubovoľný. Tréningové dáta sa privádzajú do siete na trénovanie a testovacie dáta sa používajú na výpočet chyby siete (testovacie dáta sa nikdy nepoužívajú na trénovanie siete). Ak sa teda chyba na testovacích údajoch zníži, sieť vlastne zovšeobecní. Ak sa chyba na tréningových údajoch naďalej znižuje a chyba na testovacích údajoch sa zvyšuje, potom sieť prestala zovšeobecňovať a jednoducho si „pamätá“ tréningové údaje. Tento jav sa nazýva rekvalifikácia siete alebo nadmerné vybavenie. V takýchto prípadoch sa tréning zvyčajne zastaví. Počas tréningového procesu sa môžu objaviť ďalšie problémy, ako napríklad paralýza alebo pád siete do lokálneho minima chybovej plochy. Nie je možné vopred predvídať prejav konkrétneho problému, ako aj poskytnúť jednoznačné odporúčania na ich riešenie.

Kontrola primeranosti školenia

Aj v prípade zdanlivo úspešného školenia sa sieť nie vždy naučí presne to, čo od nej tvorca chcel. Je známy prípad, keď bola sieť trénovaná na rozpoznávanie obrázkov tankov z fotografií, no neskôr sa ukázalo, že všetky tanky boli odfotografované na rovnakom pozadí. V dôsledku toho sa sieť „naučila“ rozpoznávať tento typ terénu, namiesto toho, aby sa „učila“ rozpoznávať tanky. Sieť teda „chápe“ nie to, čo sa od nej vyžadovalo, ale to, čo je najjednoduchšie zovšeobecniť.

Klasifikácia podľa typu vstupných informácií

  • Analógové neurónové siete (používajú informácie vo forme reálnych čísel);
  • Binárne neurónové siete (pracujú s informáciami prezentovanými v binárnej forme).

Klasifikácia podľa charakteru školenia

  • Riadené učenie - je známy priestor výstupného riešenia neurónovej siete;
  • Učenie bez dozoru – neurónová sieť generuje priestor výstupného riešenia len na základe vstupných vplyvov. Takéto siete sa nazývajú samoorganizujúce sa;
  • Posilňovacie učenie je systém prideľovania pokút a odmien z okolia.

Klasifikácia podľa povahy ladenia synapsií

Klasifikácia podľa času prenosu signálu

V mnohých neurónových sieťach môže aktivačná funkcia závisieť nielen od váhových koeficientov spojení w ij, ale aj na čase prenosu impulzu (signálu) komunikačnými kanálmi τ ij. Preto, vo všeobecnosti, aktivačná (vysielacia) komunikačná funkcia c ij z prvku u i k prvku u j má tvar: . Potom synchrónna sieť ij každé spojenie sa rovná buď nule alebo pevnej konštante τ. Asynchrónne je sieť, ktorej čas prenosu je τ ij pre každé spojenie medzi prvkami u i A u j svoje, ale aj trvalé.

Klasifikácia podľa povahy spojení

Dopredné siete

Všetky spojenia sú nasmerované striktne od vstupných neurónov k výstupným neurónom. Príkladmi takýchto sietí sú Rosenblatt perceptron, multilayer perceptron, Word siete.

Rekurentné neurónové siete

Signál z výstupných neurónov alebo neurónov skrytej vrstvy sa čiastočne prenáša späť na vstupy neurónov vstupnej vrstvy (spätná väzba). Rekurentná sieť, Hopfieldova sieť, „filtruje“ vstupné dáta, vracia sa do stabilného stavu a umožňuje tak riešiť problémy s kompresiou dát a budovaním asociatívnej pamäte. Špeciálnym prípadom rekurentných sietí sú obojsmerné siete. V takýchto sieťach existujú spojenia medzi vrstvami tak v smere od vstupnej vrstvy k výstupnej vrstve, ako aj v opačnom smere. Klasickým príkladom je Cosco Neural Network.

Radiálne bázové funkcie

Umelé neurónové siete, ktoré využívajú radiálne základné siete ako aktivačné funkcie (takéto siete sa označujú skratkou RBF siete). Všeobecná forma radiálna základná funkcia:

, Napríklad,

Kde X- vektor vstupných signálov neurónov, σ - šírka okna funkcie, φ( r) je klesajúca funkcia (najčastejšie sa rovná nule mimo určitého segmentu).

Radiálno-základná sieť sa vyznačuje tromi vlastnosťami:

1. Jedna skrytá vrstva

2. Iba neuróny skrytej vrstvy majú nelineárnu aktivačnú funkciu

3. Synaptické váhy spojení vstupnej a skrytej vrstvy sú rovné jednej

O tréningovom postupe - pozri literatúru

Samoorganizujúce sa mapy

Takéto siete sú konkurenčnou neurónovou sieťou bez dozoru, ktorá plní úlohu vizualizácie a klastrovania. Ide o metódu premietania viacrozmerného priestoru do priestoru s nižšou dimenziou (najčastejšie dvojrozmerný, využíva sa aj pri riešení problémov modelovania, predpovedania a pod. Je to jedna z verzií Kohonenovych neurónových sietí). Samoorganizujúce sa Kohonenove mapy slúžia predovšetkým na vizualizáciu a prvotnú („exploratívnu“) analýzu dát.

Signál v Kohonenovej sieti sa posiela do všetkých neurónov naraz, váhy zodpovedajúcich synapsií sa interpretujú ako súradnice polohy uzla a výstupný signál sa generuje podľa princípu „víťaz berie všetko“ - tj. , neurón najbližšie (v zmysle váh synapsií) k neurónu dodávanému na vstup má nenulový objekt výstupného signálu. Počas procesu učenia sa váhy synapsií upravujú tak, že mriežkové uzly sú „umiestnené“ v miestach lokálnej kondenzácie dát, to znamená, že na druhej strane opisujú zhlukovú štruktúru dátového cloudu spojenia medzi neurónmi zodpovedajú susedským vzťahom medzi zodpovedajúcimi zhlukmi v priestore znakov.

Je vhodné uvažovať o takýchto mapách ako o dvojrozmerných mriežkach uzlov umiestnených vo viacrozmernom priestore. Spočiatku je samoorganizujúca sa mapa mriežkou uzlov spojených odkazmi. Kohonen zvažoval dve možnosti spojenia uzlov - do obdĺžnikovej a šesťhrannej siete - rozdiel je v tom, že v obdĺžnikovej sieti je každý uzol spojený so 4 susednými uzlami a v šesťhrannej sieti so 6 najbližšími uzlami. Pri dvoch takýchto mriežkach sa proces konštrukcie Kohonenovy siete líši len v mieste, kde sa presúvajú susedia najbližšie k danému uzlu.

Počiatočné vloženie mriežky do dátového priestoru je zvolené ľubovoľne. Autorský balík SOM_PAK ponúka možnosti pre náhodné počiatočné umiestnenie uzlov v priestore a možnosť lokalizácie uzlov v rovine. Potom sa uzly začnú pohybovať v priestore podľa nasledujúceho algoritmu:

  1. Údajový bod sa vyberie náhodne X .
  2. Ten najbližší X uzol mapy (BMU - Best Matching Unit).
  3. Tento uzol posunie daný krok smerom k x. Nepohybuje sa však sám, ale nesie so sebou určitý počet blízkych uzlov z určitého susedstva na mape. Zo všetkých pohybujúcich sa uzlov sa centrálny – uzol najbližšie k dátovému bodu – premiestňuje najviac a ostatné zažívajú menšie posuny, čím ďalej sú od BMU. Pri nastavovaní karty existujú dve fázy – fáza objednávania a fáza jemného dolaďovania. V prvej fáze sa vyberú veľké hodnoty susedstiev a pohyb uzlov má kolektívny charakter - v dôsledku toho sa mapa „narovná“ a zhruba odráža štruktúru údajov; na javisku jemné ladenie polomer okolia je 1-2 a upravujú sa jednotlivé polohy uzlov. Okrem toho hodnota posunu klesá rovnomerne s časom, to znamená, že je veľká na začiatku každej fázy tréningu a na konci blízka nule.
  4. Algoritmus sa opakuje v určitom počte epoch (je jasné, že počet krokov sa môže značne líšiť v závislosti od úlohy).

Známe typy sietí

  • Hammingova sieť;
  • neocognitron;
  • Chaotická neurónová sieť;
  • Sieť proti šíreniu;
  • Sieť s radiálnou základňou (sieť RBF);
  • Generalizovaná regresná sieť;
  • Pravdepodobnostná sieť;
  • siamská neurónová sieť;
  • Adaptívne rezonančné siete.

Rozdiely od strojov s von Neumannovou architektúrou

Dlhé obdobie evolúcie dalo ľudskému mozgu mnohé vlastnosti, ktoré v strojoch s von Neumannovou architektúrou chýbajú:

  • masívny paralelizmus;
  • Distribuovaná reprezentácia informácií a výpočtov;
  • Schopnosť učiť sa a zovšeobecňovať;
  • Prispôsobivosť;
  • Vlastnosť spracovania kontextových informácií;
  • Tolerancia voči chybám;
  • Nízka spotreba energie.

Neurónové siete - univerzálne aproximátory

Neurónové siete sú univerzálne aproximátory a dokážu napodobniť akýkoľvek spojitý automat s akoukoľvek presnosťou. Dokázala sa zovšeobecnená aproximačná veta: pomocou lineárnych operácií a kaskádového spojenia je možné z ľubovoľného nelineárneho prvku získať zariadenie, ktoré vypočítava ľubovoľnú spojitú funkciu s akoukoľvek vopred určenou presnosťou. To znamená, že nelineárna charakteristika neurónu môže byť ľubovoľná: od sigmoidálnej po ľubovoľný vlnový paket alebo vlnku, sínus alebo polynóm. Zložitosť konkrétnej siete môže závisieť od výberu nelineárnej funkcie, ale pri akejkoľvek nelinearite zostáva sieť univerzálnym aproximátorom, aj keď urobiť správnu voľbuštruktúra môže aproximovať fungovanie akéhokoľvek kontinuálneho automatu tak presne, ako je požadované.

Vzorové aplikácie

Prognóza finančných časových radov

Vstupné údaje - skladová cena za r. Úlohou je určiť zajtrajší kurz. Uskutoční sa nasledujúca transformácia - kurz pre dnešok, včera, predvčerom a predvčerom je zoradený. Ďalší riadok sa posunie podľa dátumu o jeden deň atď. Pomocou výslednej množiny sa natrénuje sieť s 3 vstupmi a jedným výstupom - teda výstup: sadzba za dátum, vstupy: sadzba za dátum mínus 1 deň, mínus 2 dni, mínus 3 dni. Trénovanej sieti dodávame vstupnú rýchlosť pre dnešok, včerajšok a predvčerom a dostávame odpoveď na zajtra. Je ľahké vidieť, že v tomto prípade sieť jednoducho zobrazí závislosť jedného parametra od troch predchádzajúcich. Ak je žiaduce vziať do úvahy nejaký iný parameter (napríklad všeobecný index pre odvetvie), musí sa pridať ako vstup (a zahrnúť do príkladov), preškoliť sieť a získať nové výsledky. Pre čo najpresnejší tréning sa oplatí použiť metódu ORO, pretože je najpredvídateľnejšia a najjednoduchšie realizovateľná.

Psychodiagnostika

Séria prác M. G. Dorrera a spoluautorov sa venuje štúdiu možnosti rozvoja psychologickej intuície v expertných systémoch neurónových sietí. Získané výsledky poskytujú prístup k odhaleniu mechanizmu intuície neurónových sietí, ktorý sa prejavuje pri riešení psychodiagnostických problémov. Vytvorené neštandardné pre počítačové metódy intuitívne prístup k psychodiagnostike, ktorý spočíva v eliminácii konštrukcie opísaná realita. Umožňuje vám zredukovať a zjednodušiť prácu na psychodiagnostických technikách.

Chemoinformatika

Neurónové siete sú široko používané v chemickom a biochemickom výskume V súčasnosti sú neurónové siete jednou z najbežnejších metód chemoinformatiky na vyhľadávanie kvantitatívnych vzťahov medzi štruktúrou a vlastnosťami, vďaka čomu sa aktívne využívajú ako na predpovedanie fyzikálno-chemických vlastností, tak aj biologickej aktivity chemických látok. zlúčenín a na cielený návrh chemických zlúčenín a materiálov s vopred určenými vlastnosťami, a to aj pri vývoji nových liekov.

Poznámky

  1. McCulloch W.S., Pitts W.,Logický kalkulus myšlienok súvisiacich s nervovou činnosťou // V zborníku: “Automata”, ed. K. E. Shannon a J. McCarthy. - M.: Zahraničné vydavateľstvo. lit., 1956. - s. 363-384. (Preklad anglického článku z roku 1943)
  2. Rozpoznávanie vzorov a adaptívne ovládanie. BERNARD VDROW
  3. Widrow B., Stearns S.,Adaptívne spracovanie signálu. - M.: Rozhlas a komunikácia, 1989. - 440 s.
  4. Werbos P.J., Beyond regression: Nové nástroje na predikciu a analýzu v behaviorálnych vedách. Ph.D. Diplomová práca, Harvardská univerzita, Cambridge, MA, 1974.
  5. Galuškin A.I. Syntéza viacvrstvových systémov rozpoznávania vzorov. - M.: „Energia“, 1974.
  6. Rumelhart D.E., Hinton G.E., Williams R.J.,Učenie sa interných vyhlásení šírením chýb. In: Parallel Distributed Processing, roč. 1, str. 318-362. Cambridge, MA, MIT Press. 1986.
  7. Bartsev S.I., Okhonin V.A. Adaptívne siete na spracovanie informácií. Krasnojarsk: Fyzikálny ústav SB AN ZSSR, 1986. Predtlač N 59B. - 20 s
  8. BaseGroup Labs - Praktická aplikácia neurónových sietí v klasifikačných problémoch
  9. Tento typ kódovania sa niekedy nazýva kód „1 z N“.
  10. Otvorené systémy – úvod do neurónových sietí
  11. Mirkes E.M.,Logicky transparentné neurónové siete a produkcia explicitných znalostí z údajov, V knihe: Neuroinformatika / A. N. Gorban, V. L. Dunin-Barkovskij, A. N. Kirdin a ďalšie - Novosibirsk: Veda. Siberian Enterprise RAS, 1998. - 296 s ISBN 5020314102
  12. Zmienka o tomto príbehu v časopise Popular Mechanics
  13. http://www.intuit.ru/department/expert/neuro/10/ INTUIT.ru – Opakujúce sa siete ako asociatívne úložné zariadenia]
  14. Kohonen, T. (1989/1997/2001), Samoorganizujúce sa mapy, Berlín - New York: Springer-Verlag. Prvé vydanie 1989, druhé vydanie 1997, tretie rozšírené vydanie 2001, ISBN 0-387-51387-6, ISBN 3-540-67921-9
  15. Zinoviev A. Yu. Vizualizácia viacrozmerných údajov. - Krasnojarsk: Vydavateľstvo. Krasnojarská štátna technická univerzita, 2000. - 180 s.
  16. Gorban A. N., Všeobecná aproximačná teoréma a výpočtové schopnosti neurónových sietí, Siberian Journal of Computational Mathematics, 1998. Vol. 1, č. 1, s. 12-24.
  17. Gorban A.N., Rossijev D.A., Dorrer M.G., MultiNeuron – simulátor neurónových sietí pre medicínske, fyziologické a psychologické aplikácie, Wcnn'95, Washington, D.C.: World Congress on Neural Networks 1995 International Neural Network Society Annual Meeting: Renaissance Hotel, Washington, D.C., USA, 17.-21. 1995.
  18. Dorrer M.G., Psychologická intuícia umelých neurónových sietí, Diss. ... 1998. Ďalšie kópie online: ,
  19. Baskin I. I., Palyulin V. A., Zefirov N. S., Aplikácia umelých neurónových sietí v chemickom a biochemickom výskume, Vestn. Moskva Un-Ta. Ser. 2. Chémia. 1999. T.40. č. 5.
  20. Galbershtam N. M., Baskin I. I., Palyulin V. A., Zefirov N. S. Neurónové siete ako metóda na hľadanie vzťahov medzi štruktúrou a vlastnosťami organických zlúčenín // Pokroky v chémii. - 2003. - T. 72. - Č. 7. - S. 706-727.
  21. Baskin I.I., Palyulin V.A., Zefirov N.S. Viacvrstvové perceptróny pri štúdiu závislostí „štruktúra-vlastnosť“ pre organické zlúčeniny // Russian Chemical Journal (Časopis Ruskej chemickej spoločnosti pomenovaný po D.I. Mendelejevovi). - 2006. - T. 50. - S. 86-96.

Odkazy

  • Umelá neurónová sieť pre PHP 5.x – seriózny projekt vývoja neurónových sietí v programovacom jazyku PHP 5.X
  • Fórum venované neurónovým sieťam a genetickým algoritmom
  • Mirkes E.M.,

V poslednej dobe čoraz viac ľudí hovorí o takzvaných neurónových sieťach, hovoria, že sa čoskoro začnú aktívne využívať v robotike, strojárstve a mnohých ďalších oblastiach ľudskej činnosti, ale algoritmy vyhľadávačov, ako napríklad Google, sa už pomaly začínajú používať ich prácu. Aké sú tieto neurónové siete, ako fungujú, aké sú ich aplikácie a ako nám môžu byť užitočné Prečítajte si o tom všetkom ďalej.

Čo sú to neurónové siete

Jedným zo smerov sú neurónové siete vedecký výskum v oblasti tvorby umela inteligencia(AI), ktorý je založený na túžbe napodobniť ľudský nervový systém. Vrátane jeho (nervového systému) schopnosti opravovať chyby a sebaučenia. Toto všetko, aj keď trochu surovo, by nám malo umožniť simulovať fungovanie ľudského mozgu.

Biologické neurónové siete

Ale táto definícia v odseku vyššie je čisto technická, ak hovoríme jazykom biológie, potom je neurónová sieť ľudský nervový systém, tá zbierka neurónov v našom mozgu, vďaka ktorej myslíme, robíme určité rozhodnutia a vnímame; svet okolo nás.

Biologický neurón je špeciálna bunka pozostávajúca z jadra, tela a procesov a tiež má úzke spojenie s tisíckami ďalších neurónov. Prostredníctvom tohto spojenia sa neustále prenášajú elektrochemické impulzy, ktoré privádzajú celú neurónovú sieť do stavu vzrušenia alebo naopak pokoja. Napríklad nejaká príjemná a zároveň vzrušujúca udalosť (stretnutie s milovanou osobou, výhra v súťaži a pod.) vygeneruje v neurónovej sieti, ktorá sa nachádza v našej hlave, elektrochemický impulz, ktorý povedie k jej vybudeniu. Vďaka tomu bude neurónová sieť v našom mozgu prenášať svoje vzruchy do iných orgánov nášho tela a viesť k zrýchleniu srdcovej frekvencie, častejšiemu žmurkaniu očí atď.

Tu na obrázku je veľmi zjednodušený model biologickej neurónovej siete mozgu. Vidíme, že neurón pozostáva z bunkového tela a jadra, bunkové telo má zase veľa rozvetvených vlákien nazývaných dendrity. Dlhé dendrity sa nazývajú axóny a majú oveľa väčšiu dĺžku, ako je znázornené na tomto obrázku, prostredníctvom axónov prebieha komunikácia medzi neurónmi, vďaka ktorým funguje biologická neurónová sieť v našich hlavách.

História neurónových sietí

Aká je história vývoja neurónových sietí vo vede a technike? Vzniká s príchodom prvých počítačov alebo počítačov (elektronických počítačov), ako sa im v tých časoch hovorilo. Takže koncom 40-tych rokov minulého storočia istý Donald Hebb vyvinul mechanizmus neurónovej siete, ktorý stanovil pravidlá pre výučbu počítačov, týchto „protopočítačov“.

Ďalšia chronológia udalostí bola nasledovná:

  • V roku 1954 sa uskutočnilo prvé praktické využitie neurónových sietí v prevádzke počítača.
  • V roku 1958 Frank Rosenblatt vyvinul algoritmus rozpoznávania vzorov a matematickú anotáciu k nemu.
  • V 60. rokoch záujem o rozvoj neurónových sietí v dôsledku slabého počítačového výkonu tej doby trochu upadol.
  • A opäť bol oživený v 80. rokoch 20. storočia, práve v tomto období sa objavil systém s mechanizmom spätná väzba, vyvíjajú sa algoritmy samoučenia.
  • Do roku 2000 sa počítačový výkon natoľko rozrástol, že dokázal uskutočniť tie najdivokejšie sny vedcov z minulosti. V tejto dobe sa objavujú programy na rozpoznávanie hlasu, počítačové videnie a mnoho ďalšieho.

Umelé neurónové siete

Umelé neurónové siete sú bežne chápané ako výpočtových systémov ktorí majú schopnosť samostatne sa učiť a postupne zvyšovať svoju produktivitu. Hlavné prvky štruktúry neurónovej siete sú:

  • Umelé neuróny, čo sú elementárne, vzájomne prepojené jednotky.
  • Synapsia je spojenie, ktoré sa používa na odosielanie a prijímanie informácií medzi neurónmi.
  • Signál je skutočná informácia, ktorá sa má prenášať.

Aplikácia neurónových sietí

Rozsah umelých neurónových sietí sa každým rokom rozširuje, dnes sa používajú v takých oblastiach, ako sú:

  • Strojové učenie, čo je typ umelej inteligencie. Je založený na trénovaní AI na príklade miliónov podobných úloh. V súčasnosti sa strojové učenie aktívne implementuje vyhľadávače Google, Yandex, Bing, Baidu. Takže na základe miliónov vyhľadávacie dopyty, ktoré všetci zadávame do Google každý deň, sa ich algoritmy učia zobrazovať nám tie najrelevantnejšie výsledky, aby sme našli presne to, čo hľadáme.
  • V robotike sa neurónové siete používajú na vývoj mnohých algoritmov pre železné „mozgy“ robotov.
  • Architekti počítačové systémy použiť neurónové siete na vyriešenie problému paralelných výpočtov.
  • Pomocou neurónových sietí dokážu matematici riešiť rôzne zložité matematické problémy.

Typy neurónových sietí

Celkovo pre rôzne úlohy uplatniť rôzne druhy a typy neurónových sietí, medzi ktoré patria:

  • konvolučné neurónové siete,
  • opakujúce sa neurónové siete,
  • Hopfieldova neurónová sieť.

Konvolučné neurónové siete

Konvolučné siete sú jedným z najpopulárnejších typov umelých neurónových sietí. Dokázali teda svoju účinnosť pri vizuálnom rozpoznávaní vzorov (video a obrázky), systémoch odporúčaní a spracovaní jazyka.

  • Konvolučné neurónové siete sa dobre škálujú a možno ich použiť na rozpoznávanie obrazu s ľubovoľným vysokým rozlíšením.
  • Tieto siete využívajú 3D objemové neuróny. V rámci jednej vrstvy sú neuróny spojené len malým poľom, ktoré sa nazýva receptívna vrstva.
  • Neuróny susedných vrstiev sú spojené mechanizmom priestorovej lokalizácie. Činnosť mnohých takýchto vrstiev je zabezpečená špeciálnymi nelineárnymi filtrami, ktoré reagujú na všetky väčšie číslo pixelov.

Rekurentné neurónové siete

Rekurentné neurónové siete sú tie, ktorých spojenia medzi neurónmi tvoria indikatívny cyklus. Má nasledujúce vlastnosti:

  • Každé spojenie má svoju vlastnú váhu, ktorá sa nazýva aj priorita.
  • Uzly sa delia na dva typy, úvodné uzly a skryté uzly.
  • Informácie v rekurentnej neurónovej sieti sa prenášajú nielen v priamke, vrstva po vrstve, ale aj medzi samotnými neurónmi.
  • Dôležité charakteristický znak Rekurentná neurónová sieť je prítomnosť takzvanej „oblasti pozornosti“, keď stroj môže dostať určité údaje, ktoré si vyžadujú vylepšené spracovanie.

Rekurentné neurónové siete sa používajú na rozpoznávanie a spracovanie textových údajov (prekladač Google, algoritmus Yandex „Palekh“ atď.) hlasový asistent Apple Siri).

Neurónové siete, video

A na záver zaujímavé video o neurónových sieťach.

Ak sledujete novinky zo sveta vedy a techniky, určite ste už niečo počuli o pojme neurónové siete.

Napríklad v roku 2016 neurónová sieť Google AlphaGo porazila jedného z najlepších profesionálnych hráčov Counter-Strike: Global Offensive na svete so skóre 4:1. YouTube tiež oznámil, že budú používať neurónové siete na lepšie pochopenie svojich videí.

Ale čo je neurónová sieť? Ako to funguje? A prečo sú v strojovom spracovaní také obľúbené?

Počítač ako mozog

Moderní neurovedci často diskutujú o mozgu ako o type počítača. Neurónové siete majú za cieľ opak: postaviť počítač, ktorý funguje ako mozog.

Samozrejme, že extrémne chápeme len povrchne komplexné funkcie mozog, ale vytvorením zjednodušenej simulácie toho, ako mozog spracováva údaje, môžeme vytvoriť typ počítača, ktorý funguje úplne inak ako štandardný.

Počítačové procesory spracúvajú údaje postupne („v poradí“). Vykonávajú veľa operácií so súborom údajov, jeden po druhom. Paralelné spracovanie („spracovanie viacerých vlákien súčasne“) výrazne zrýchľuje počítač použitím viacerých procesorov v sérii.

Na obrázku nižšie si príklad paralelného spracovania vyžaduje päť rôznych procesorov:

Umelá neurónová sieť (takzvaná na odlíšenie od skutočných neurónových sietí v mozgu) má zásadne odlišnú štruktúru. Je to veľmi prepojené. To vám umožňuje veľmi rýchlo spracovávať údaje, učiť sa z nich a aktualizovať vlastnú internú štruktúru na zlepšenie výkonu.

Avšak vysoký stupeň vzájomná prepojenosť má niekoľko pozoruhodných dôsledkov. Neurónové siete sú napríklad veľmi dobré v rozpoznávaní nejasných dátových štruktúr.

Schopnosť učiť sa

Schopnosť neurónovej siete učiť sa je jej najväčšou silou. V štandardnej počítačovej architektúre musí programátor navrhnúť algoritmus, ktorý povie počítaču, čo má robiť s prichádzajúcimi údajmi, aby sa zabezpečilo, že počítač vytvorí správnu odpoveď.

Odpoveď na I/O môže byť jednoduchá ako „keď sa stlačí kláves A“, „na obrazovke sa zobrazí A“ alebo zložitejšia ako vykonávanie zložitých štatistík. Na druhej strane neurónové siete nevyžadujú rovnaké algoritmy. Prostredníctvom mechanizmov učenia môžu v podstate vyvinúť svoje vlastné algoritmy. Strojové algoritmy, aby ste sa uistili, že fungujú správne.

Je dôležité poznamenať, že keďže neurónové siete sú programy napísané na strojoch, ktoré používajú štandard Hardvér pre sekvenčné spracovanie má súčasná technológia stále obmedzenia. Vlastne vytvorenie hardvérovej verzie neurónovej siete je úplne iný problém.

Od neurónov po uzly

Teraz, keď sme položili základy fungovania neurónových sietí, môžeme sa začať zaoberať niektorými špecifikami. Základná štruktúra umelej neurónovej siete vyzerá takto:


Každý z kruhov sa nazýva „uzol“ a simuluje jeden neurón. Na ľavej strane sú vstupné uzly, v strede sú skryté uzly a napravo sú výstupné uzly.

V najzákladnejších podmienkach vstupné uzly akceptujú vstupné hodnoty, ktoré môžu byť binárne 1 alebo 0, časť hodnoty farby RGB, stav šachovej figúrky alebo čokoľvek iné. Tieto uzly predstavujú informácie vstupujúce do siete.

Každý vstupný uzol je spojený s niekoľkými skrytými uzlami (niekedy ku každému skrytému uzlu, inokedy k podmnožine). Vstupné uzly prevezmú informácie, ktoré dostanú, a odovzdajú ich skrytej vrstve.

Napríklad vstupný uzol môže poslať signál („oheň“ v jazyku neurovedy), ak dostane 1, a zostať nečinný, ak dostane nulu. Každý skrytý uzol má prah: ak všetky jeho sčítané vstupy dosiahnu určitú hodnotu, spustí sa.

Od synapsií po spojenia

Každé spojenie, ekvivalentné anatomickej synapsii, má tiež určitú váhu, ktorá umožňuje sieti venovať väčšiu pozornosť pôsobeniu konkrétneho uzla. Tu je príklad:


Ako vidíte, hmotnosť pripojenia "B" je vyššia ako hmotnosť pripojenia "A" a "C". Povedzme, že skrytý uzol „4“ sa spustí iba vtedy, ak prijme celkový vstup „2“ alebo viac. To znamená, že ak sa "1" alebo "3" spustí jednotlivo, potom "4" sa nespustí, ale "1" a "3" spolu spustia uzol. Uzol "2" môže tiež iniciovať samotný uzol cez spojenie "B".

Vezmime si počasie ako praktický príklad. Povedzme, že navrhujete jednoduchú neurónovú sieť, aby ste určili, či by malo platiť varovanie pred zimnou búrkou.

Pomocou vyššie uvedených pripojení a závaží sa uzol 4 môže spustiť iba vtedy, ak je teplota nižšia ako -18 C a vietor je nad 48 km/s, alebo sa spustí, ak je šanca na sneženie väčšia ako 70 percent. Teploty sa budú privádzať do uzla 1, vietor do uzla 3 a pravdepodobnosť sneženia do uzla 2. Teraz môže uzol 4 toto všetko vziať do úvahy pri určovaní toho, aký signál poslať do výstupnej vrstvy.

Lepšie ako jednoduchá logika

Samozrejme, táto funkcia môže byť jednoducho implementovaná pomocou jednoduchých brán AND/OR. Ale zložitejšie neurónové siete, ako sú tie nižšie, sú schopné oveľa zložitejších operácií.


Uzly výstupnej vrstvy fungujú rovnakým spôsobom ako skrytá vrstva: výstupné uzly sčítavajú vstupy zo skrytej vrstvy a ak dosiahnu určitú hodnotu, výstupné uzly spúšťajú a odosielajú špecifické signály. Na konci procesu odošle výstupná vrstva sadu signálov, ktoré indikujú výsledok vstupu.

Zatiaľ čo sieť zobrazená vyššie je jednoduchá, hlboké neurónové siete môžu mať veľa skryté vrstvy a stovky uzlov.


Oprava chyby

Tento proces je stále pomerne jednoduchý. Ale tam, kde sú neurónové siete skutočne potrebné, je učenie. Väčšina neurónových sietí používa proces spätného šírenia, ktorý posiela signály späť cez sieť.

Predtým, ako vývojári nasadia neurónovú sieť, prejdú ju tréningovou fázou, v ktorej dostane súbor vstupov so známymi výstupmi. Napríklad programátor môže naučiť neurónovú sieť rozpoznávať obrázky. Vstupom by mohol byť obrázok auta a správnym výstupom by bolo slovo „auto“.

Programátor poskytuje obraz ako vstup a vidí, čo vychádza z výstupných uzlov. Ak sieť odpovie "lietadlo", programátor oznámi počítaču, že je nesprávne.

Sieť potom upraví svoje vlastné spojenia a zmení váhu rôznych spojení medzi uzlami. Táto akcia je založená na špeciálnom vzdelávacom algoritme pridanom do siete. Sieť pokračuje v úprave hmotnosti pripojenia, kým nevytvorí správny výstup.

Ide o zjednodušenie, ale neurónové siete sa pomocou podobných princípov dokážu naučiť veľmi zložité operácie.

Neustále zlepšovanie

Dokonca aj po tréningu pokračuje backpropagation (tréning) – a to je miesto, kde sa neurónové siete skutočne, ale naozaj vydaria. Pokračujú v učení, keď sa používajú, integrujú nové informácie a menia hmotnosti rôznych zlúčenín, čím sa stávajú čoraz efektívnejšie pri úlohe, na ktorú sú navrhnuté.

Môže to byť také jednoduché ako rozpoznávanie vzorov alebo také zložité ako hranie CS:GO.

Neurónové siete sa teda neustále menia a zlepšujú. A to môže mať neočakávané dôsledky, ktoré vedú k sieťam, ktoré uprednostňujú veci, ktoré by programátor nepovažoval za prioritu.

Okrem vyššie opísaného procesu, ktorý sa nazýva učenie pod dohľadom, existuje ešte jedna metóda: učenie bez dozoru.

V tejto situácii neurónové siete berú vstupné dáta a pokúšajú sa ich znovu vytvoriť presne ako ich výstup, pričom využívajú spätné šírenie na aktualizáciu svojich spojení. Môže to znieť ako zbytočné cvičenie, ale takto sa siete učia extrahovať užitočné funkcie a zovšeobecniť tieto funkcie na zlepšenie svojich modelov.

Otázky hĺbky

Backpropagation je veľmi efektívny spôsob, ako trénovať neurónové siete... keď sa skladajú len z niekoľkých vrstiev. So zvyšujúcim sa počtom skrytých vrstiev sa účinnosť spätného šírenia znižuje. Toto je problém hlbokých sietí. Pomocou spätného šírenia často nie sú efektívnejšie ako jednoduché siete.

Vedci vyvinuli množstvo riešení tohto problému, ktorého špecifiká sú pomerne zložité a presahujú rámec tejto úvodnej časti. O čo sa snažia mnohé z týchto riešení jednoduchým jazykom, sa nazýva znižovanie zložitosti siete učením sa „komprimovať“ dáta.


Aby to bolo možné, sieť sa naučí extrahovať menej identifikačných prvkov zo vstupných údajov, čím sa v konečnom dôsledku stáva efektívnejšou vo svojich výpočtoch. Sieť v podstate robí zovšeobecnenia a abstrakcie, podobne ako sa ľudia učia.

Po tomto školení môže sieť orezávať uzly a spojenia, ktoré považuje za menej dôležité. Vďaka tomu je sieť efektívnejšia a učenie je jednoduchšie.

Aplikácie neurónovej siete

Týmto spôsobom neurónové siete modelujú, ako sa mozog učí pomocou viacerých vrstiev uzlov – vstupných, skrytých a výstupných – a môžu sa učiť v situáciách pod dohľadom aj bez dozoru. Komplexné siete sú schopné robiť abstrakcie a zovšeobecnenia, vďaka čomu sú efektívnejšie a schopnejšie sa učiť.

Na čo môžeme použiť tieto vzrušujúce systémy?

Teoreticky môžeme neurónové siete použiť takmer na čokoľvek. A pravdepodobne ste ich použili bez toho, aby ste si to uvedomovali. Sú veľmi bežné napríklad pri rozpoznávaní reči a zraku, pretože sa dokážu naučiť rozoznávať určité črty, niečo bežné vo zvukoch alebo obrazoch.

Keď teda poviete „OK Google“, váš iPhone spustí vašu reč cez neurónovú sieť, aby pochopil, čo hovoríte. Možno existuje iná neurónová sieť, ktorá sa učí predpovedať, o čo pravdepodobne budete žiadať.

Autá s vlastným pohonom môžu využívať neurónové siete na spracovanie vizuálnych údajov, čím ich sledujú pravidlá cestnej premávky a vyhýbanie sa kolíziám. Roboty všetkých typov môžu ťažiť z neurónových sietí, ktoré im pomáhajú naučiť sa efektívne vykonávať úlohy. Počítače sa môžu naučiť hrať hry ako šach alebo CS:GO. Ak ste niekedy interagovali s chatbotom, je pravdepodobné, že používa neurónovú sieť na navrhovanie vhodných odpovedí.

Internetové vyhľadávanie môže výrazne ťažiť z neurónových sietí, pretože vysoko efektívny model paralelného spracovania dokáže rýchlo generovať množstvo údajov. Neurónová sieť sa tiež môže naučiť vaše zvyky na prispôsobenie výsledkov vyhľadávania alebo predpovedanie toho, čo budete v blízkej budúcnosti hľadať. Tento prediktívny model bude očividne veľmi cenný pre obchodníkov (a každého, kto potrebuje predpovedať zložité ľudské správanie).

Rozpoznávanie vzorov, optické rozpoznávanie obrazu, predpovedanie akciového trhu, hľadanie trasy, spracovanie veľkých dát, analýza nákladov na lekársku starostlivosť, predpovedanie predaja, umelá inteligencia vo videohrách – možnosti sú takmer nekonečné. Schopnosť neurónových sietí učiť sa vzorce, zovšeobecňovať a úspešne predvídať správanie ich robí cennými v nespočetných situáciách.

Budúcnosť neurónových sietí

Neurónové siete prešli od veľmi jednoduchých modelov k vysokoúrovňovým simulátorom učenia. Sú na našich telefónoch, tabletoch a mnohých webových službách, ktoré používame. Existuje mnoho ďalších systémov strojového učenia.

Ale neurónové siete, kvôli ich podobnosti (vo veľmi zjednodušenej forme) s ľudským mozgom, patria medzi tie najfascinujúcejšie. Aj keď pokračujeme vo vývoji a zdokonaľovaní modelov, nemôžeme povedať, čoho sú schopné.

Poznáte nejaké zaujímavé aplikácie neurónových sietí? Máte vy sami skúsenosti s prácou s nimi? Čo vás na tejto technológii najviac vzrušuje? Podeľte sa o svoje myšlienky v komentároch nižšie!

V roku 2016 prepukol internet s novou vlnou humbuku – tentoraz sa predmetom búrlivých diskusií na sociálnych sieťach stal projekt Deep Dream, ktorý verejnosti zverejnili programátori Google. Deep Dream dáva každému možnosť nahrať vlastnú fotografiu na spracovanie umelou inteligenciou.

Na výstupe používateľ dostane obrázok, ako ho „vidia“ neurónové siete. Ako to funguje a čo je MNIST? Dnes vám to prezradíme základné princípy práca umelej inteligencie.

Exkurzia do biológie

Schopnosť človeka interpretovať a správne vnímať vizuálne informácie je zabezpečená azda najkomplexnejším biologickým procesom vo vesmíre. Ľudská biologická neurónová sieť zároveň zohráva obrovskú úlohu vo fungovaní vizuálneho aparátu, ktorý sa stal prototypom prvých modelov umelej inteligencie. Prečo je mozog taký dôležitý pre ostré a jasné videnie?

Faktom je, že ľudské oko vníma rozmazaný, prevrátený a pokazený obraz slepého miesta. Je to to, čo sa spočiatku tvorí na sietnici a až potom sa prenáša do mozgu. Ten už „obracia“ obraz, odfiltruje nepotrebné detaily a takmer okamžite zvýrazní známe či neznáme objekty v zornom poli. Na základe prijatých informácií nervový systém „vydáva pokyny“ iným orgánom, či už ide o prudký nárast adrenalínu v nebezpečnej situácii alebo zvýšený pocit hladu pri pohľade na chutné jedlo.

Obrovskú úlohu pri správnej identifikácii obrazov zohráva základné vzdelanie, ktoré podstupujú všetky deti v nevedomom veku. Napríklad, keď rodičia vidia neznáme zviera, vysvetľujú, že je to pes a nie iný tvor. Nabudúce detský mozog okamžite rozpozná psa na pozadí iných predmetov. Takže počas života, po zhliadnutí miliónov obrázkov, schopnosť rozpoznávať a spracovávať potrebné informácie. Pre umelú inteligenciu sa ako príklady používajú obrazové databázy ako MNIST.

Čo je umelá neurónová sieť?

Ľudský nervový systém pozostáva z miliárd neurónov spojených synapsiami. Každý neurón dokáže vytvoriť a prerušiť tisíce spojení s podobnými bunkami za zlomok sekundy. Vďaka tomu môžeme myslieť, analyzovať, zapamätať si a reprodukovať rôzne informácie. Umelá neurónová sieť (ANN) je prvým pokusom umožniť stroju získať schopnosť analyzovať.

Podobne ako biologický exemplár, aj ANN pozostáva z obrovského počtu neurónov spojených synapsiami. Iba v tomto prípade nejde o bunky, ale o výpočtové jednotky, ktoré prijímajú a vydávajú určité informácie. Delia sa na niekoľko typov (vstupné, skryté, výstupné a kontextové). Vďaka malej rozmanitosti druhov je možné usporiadať primitívny model toho, čo nazývame myslenie.

Neurónové synapsie v ANN majú tiež svoje vlastné parametre. Každému spojeniu medzi výpočtovou jednotkou je priradená váha, a preto sa informácie z neurónu s veľkou váhou považujú za dominantné. Počas procesu nastavovania a trénovania umelej neurónovej siete sa môžu parametre hmotnosti niekoľkokrát zmeniť.

čo je vo vnútri?

Na vytvorenie ANN môžete použiť rôzne nástroje a programovacie jazyky v Pythone sú najpopulárnejšie na školenie. Tento skriptovací jazyk je jedným z najjednoduchších na učenie a je ideálny na vývoj ANN. Neurónové siete v Jave sú menej populárne kvôli ich zložitejšiemu zápisu.

Čo sa skrýva „pod kapotou“ ANN, niekedy nepozná ani samotný vývojár. Počas tréningu môže systém meniť formy a výrazne sa líšiť od svojho pôvodného vzhľadu. Obrovské množstvo neurónov sa skladá zo stoviek perceptrónových vrstiev, ktoré sú „zapletené“ do plastových sietí prepojení.

Celkovo si predstavte všeobecný vzorec Akcie špecifickej neurónovej siete sú pomerne komplikované a nie sú potrebné. Z praktického hľadiska nás zaujímajú len vstupné a výstupné dáta, ktoré poskytuje program. Ako dobre sa ANN „učí“ skúmať a identifikovať obrázky, závisí len od úspechu strojového učenia.

Strojové učenie

Umelá inteligencia pôvodne vznikla ako iniciatíva na vytvorenie technologického nástroja, ktorý by dokázal vyriešiť problémy, ktoré boli predtým určené čisto pre ľudské myslenie. Oblasť strojového učenia neurónových sietí ako podsekcia umelej inteligencie vznikla nie tak dávno na priesečníku matematiky a informatiky. Hlavným cieľom strojového učenia je správna konštrukcia algoritmov založených na skutočné príklady stav vecí. Jednoducho povedané stroj sa „učí“ vybrať správne riešenie problému prehľadávaním tisícok možných riešení.

Najlepšie je podrobne zvážiť strojové učenie pomocou príkladu ANN, ktorý bol vytvorený na identifikáciu objektov na obrázkoch. Na začiatku sa nastavia váhové parametre synapsií náhodne. Po prvom výsledku spracovania obrazu (často nesprávnom) mení neurónová sieť svoje parametre, až kým sa nenaučí s vysokou mierou pravdepodobnosti nájsť požadované objekty na fotografii.

V niektorých prípadoch však „nesprávne učebnice“ môžu negovať všetko úsilie vývojárov. Úbohá sada monotónnych obrázkov povedie k tomu, že program si jednoducho „zapamätá“ potrebné definície pre každý obrázok a nebude analyzovať jeho najmenšie detaily. Špeciálne na takéto účely existuje databáza s názvom MNIST (Mixed National Institute of Standards and Technology). Obsahuje desiatky štandardizovaných vzoriek ručne písaných čísel na obrázkoch s rozmermi 28 x 28 pixelov.

MNIST je úplne otvorený na použitie, ktorýkoľvek vývojár, ktorý má záujem, môže skontrolovať výkon svojej neurónovej siete v porovnaní s databázou. Okrem MNIST môžete použiť aj databázu ImageNet zo Stanfordskej univerzity. Obsahuje asi 14 miliónov obrázkov rôznych formátov.

Typy neurónových sietí

Na základe povahy spojení sú ANN klasifikované do rekurentných neurónových sietí, radiálnych bázových funkcií a samoorganizujúcich sa máp. V opakujúcich sa ANN sa signál z výstupných neurónov čiastočne vracia späť do systému na ďalšiu analýzu. Radiálne základné siete sa učia rýchlejšie vďaka rozdielnemu umiestneniu skrytých a výstupných vrstiev neurónov. Nakoniec, samoorganizujúce sa siete sa používajú na rýchlu identifikáciu nových, neznámych objektov.

ANN sú tiež klasifikované podľa charakteru tréningu, nastavenia hmotnosti, typov vstupných údajov a mnohých ďalších funkcií. V praktickom využití sa najviac využívajú schopnosti práve troch vyššie spomínaných architektúr neurónových sietí.

Účel a rozsah

Umelá inteligencia už nie je fantáziou autorov sci-fi, jej najjednoduchšie modely boli implementované aj do bežných smartfónov. ANN sa používajú na tri hlavné účely:

  • Klasifikácia je distribúcia veľkého množstva údajov na základe určitých parametrov. Program sa napríklad môže rozhodnúť, ktorému z klientov banky poskytne úver na základe jeho solventnosti a úverovej histórie;
  • Prognóza je predpovedanie výsledku udalostí s určitým stupňom pravdepodobnosti. Napríklad, koľko bude mať balík akcií hodnotu na akciovom trhu;
  • Rozpoznávanie – identifikácia určitých objektov na fotografii alebo videu. Najjednoduchší príkladautomatická detekcia tváre vo fotoaparáte smartfónu.

Jedinými oblasťami využitia neurónových sietí zatiaľ zostávajú aplikácie na zdobenie selfie a služby na vyhľadávanie ľudí na základe jednej fotografie. Vinci, Snapchat či FaceApp sú však len špičkou ľadovca. ANN môžu dať významný impulz automatizácii dopravy, financií, zábavy a iných oblastí. Vďaka umelej inteligencii bude čoskoro možné zbaviť sa monotónnej ľudskej práce.

Navyše, aj kreativita sa dá rozbehnúť. Vďaka úsiliu vývojárov Yandex sa objavil prvý hudobný album „404“, zaznamenaný neurónovou sieťou. Album sa stal prvou kolekciou už neexistujúcej skupiny Neural Defense, založenej na štýle textov Yegora Letova.

ANN sa môžu stať východiskovým bodom pre ďalší vývoj asistentov ako Siri alebo Cortana. Už teraz môžu takéto systémy podporovať jednoduchú konverzáciu a odpovedať na požadovanú požiadavku používateľa. Služba Deep Dream, ktorá v roku 2016 spustila boom okolo neurónových sietí, je vedľajším produktom vývojárov Google. Pomocou fotografií, ktoré spracoval ako príklad, si viete predstaviť, ako stroj vidí ten či onen obraz svojim „mozgom“. Samozrejme, nateraz nevyberané spletence pripomínajú skôr negatívne účinky psychedelických drog. Napriek tomu je to už prvý vážny krok k plnohodnotnej umelej inteligencii.


Umelá inteligencia, neurónové siete, strojové učenie – čo všetky tieto v súčasnosti populárne pojmy vlastne znamenajú? Pre väčšinu nezasvätených ľudí, čo ja sám som, vždy pôsobili ako niečo fantastické, no v skutočnosti ich podstata leží na povrchu. Už dlho som mal myšlienku písať jednoduchým jazykom o umelých neurónových sieťach. Zistite sami a povedzte ostatným, čo je táto technológia, ako funguje, zvážte jej históriu a perspektívy. V tomto článku som sa snažil nevliezť do buriny, ale jednoducho a s obľubou rozprávať o tomto sľubnom smere vo svete špičkových technológií.


Umelá inteligencia, neurónové siete, strojové učenie – čo všetky tieto v súčasnosti populárne pojmy vlastne znamenajú? Pre väčšinu nezasvätených ľudí, čo ja sám som, vždy pôsobili ako niečo fantastické, no v skutočnosti ich podstata leží na povrchu. Už dlho som mal myšlienku písať jednoduchým jazykom o umelých neurónových sieťach. Zistite sami a povedzte ostatným, čo je táto technológia, ako funguje, zvážte jej históriu a perspektívy. V tomto článku som sa pokúsil nezasahovať do buriny, ale jednoducho a s obľubou hovoriť o tomto sľubnom smere vo svete špičkových technológií.

Trochu histórie

Po prvýkrát vznikol koncept umelých neurónových sietí (ANN) v snahe simulovať mozgové procesy. Za prvý veľký prelom v tejto oblasti možno považovať vytvorenie modelu McCulloch-Pittsovej neurónovej siete v roku 1943. Vedci po prvý raz vyvinuli model umelého neurónu. Navrhli tiež návrh siete týchto prvkov na vykonávanie logických operácií. Ale čo je najdôležitejšie, vedci dokázali, že takáto sieť je schopná učiť sa.

Ďalším dôležitým krokom bol vývoj prvého algoritmu na výpočet ANN Donaldom Hebbom v roku 1949, ktorý sa stal základom pre niekoľko nasledujúcich desaťročí. V roku 1958 Frank Rosenblatt vyvinul parceptrón, systém, ktorý napodobňuje mozgové procesy. Kedysi táto technológia nemala analógy a je stále základom v neurónových sieťach. V roku 1986 takmer súčasne, nezávisle od seba, americkí a sovietski vedci výrazne zlepšili základnú metódu tréningu viacvrstvového perceptrónu. V roku 2007 zažili neurónové siete znovuzrodenie. Britský počítačový vedec Geoffrey Hinton najprv vyvinul algoritmus hlbokého učenia pre viacvrstvové neurónové siete, ktorý sa dnes napríklad používa na ovládanie autonómnych áut.

Stručne o hlavnej veci

Vo všeobecnom zmysle slova sú neurónové siete matematické modely, ktoré fungujú na princípe sietí nervových buniek v živočíšnom organizme. ANN môžu byť implementované v programovateľných aj hardvérových riešeniach. Aby sme veci ľahšie pochopili, neurón si možno predstaviť ako bunku, ktorá má veľa vstupných otvorov a jeden výstupný otvor. Spôsob, akým sa viaceré prichádzajúce signály sformujú do výstupného signálu, je určené výpočtovým algoritmom. Efektívne hodnoty sú dodávané do každého neurónového vstupu, ktoré sú potom distribuované pozdĺž interneurónových spojení (synopsy). Synapsie majú jeden parameter – váhu, vďaka ktorej sa vstupná informácia mení pri prechode z jedného neurónu na druhý. Princíp fungovania neurónových sietí si najjednoduchšie predstavíme miešaním farieb. Modré, zelené a červené neuróny majú rôznu váhu. Informácia neurónu, ktorého hmotnosť je väčšia, bude dominantná v nasledujúcom neuróne.

Samotná neurónová sieť je systémom mnohých takýchto neurónov (procesorov). Samostatne sú tieto procesory celkom jednoduché (oveľa jednoduchšie ako a osobný počítač), ale keď sú pripojené do veľkého systému, neuróny sú schopné vykonávať veľmi zložité úlohy.

V závislosti od oblasti použitia môže byť neurónová sieť interpretovaná rôznymi spôsobmi, napríklad z hľadiska strojového učenia je ANN metódou rozpoznávania vzorov. Z matematického hľadiska ide o viacparametrový problém. Z pohľadu kybernetiky - model adaptívneho riadenia robotiky. Pre umelú inteligenciu je ANN základným komponentom pre modelovanie prirodzenej inteligencie pomocou výpočtových algoritmov.

Hlavná výhoda neurónových sietí oproti konvenčné algoritmy výpočtová technika je jej schopnosť učiť sa. Vo všeobecnom zmysle slova je učenie o nájdení správnych väzbových koeficientov medzi neurónmi, ako aj o sumarizácii údajov a identifikácii zložitých závislostí medzi vstupnými a výstupnými signálmi. V skutočnosti úspešné trénovanie neurónovej siete znamená, že systém bude schopný identifikovať správny výsledok na základe údajov, ktoré nie sú v trénovacej sade.

Súčasná situácia

A bez ohľadu na to, aká sľubná môže byť táto technológia, ANN sú stále veľmi vzdialené schopnostiam ľudského mozgu a myslenia. Neurónové siete sa však už využívajú v mnohých oblastiach ľudskej činnosti. Zatiaľ nie sú schopní robiť vysoko inteligentné rozhodnutia, ale dokážu nahradiť človeka tam, kde ho predtým potrebovali. Medzi početnými oblasťami použitia ANN môžeme zaznamenať: vytváranie samoučiacich sa systémov výrobných procesov, bezpilotných vozidiel, systémov rozpoznávania obrazu, inteligentných bezpečnostných systémov, robotiky, systémov monitorovania kvality, hlasové rozhrania interakcie, analytické systémy a oveľa viac. Toto rozšírené používanie neurónových sietí je okrem iného spôsobené aj vznikom rôznymi spôsobmi urýchlenie školenia ANN.

Dnes je trh s neurónovými sieťami obrovský – miliardy a miliardy dolárov. Ako ukazuje prax, väčšina technológií neurónových sietí na celom svete sa od seba len málo líši. Využitie neurónových sietí je však veľmi nákladná činnosť, ktorú si vo väčšine prípadov môžu dovoliť len veľké firmy. Vývoj, školenie a testovanie neurónových sietí vyžaduje veľký výpočtový výkon a je zrejmé, že veľkí hráči na IT trhu toho majú dostatok. Medzi hlavné spoločnosti, ktoré vedú vývoj v tejto oblasti, patrí divízia Google DeepMind, divízia Microsoft Research, IBM, Facebook a Baidu.

To všetko je, samozrejme, dobré: neurónové siete sa rozvíjajú, trh rastie, ale hlavný problém sa doteraz nepodarilo vyriešiť. Ľudstvo nedokázalo vytvoriť technológiu, ktorá sa čo i len približuje schopnostiam ľudského mozgu. Pozrime sa na hlavné rozdiely medzi ľudským mozgom a umelými neurónovými sieťami.

Prečo sú neurónové siete stále ďaleko od ľudského mozgu?

Najdôležitejším rozdielom, ktorý radikálne mení princíp a efektivitu systému, je iný prevod signálov v umelých neurónových sieťach a v biologickej sieti neurónov. Faktom je, že v ANN neuróny prenášajú hodnoty, ktoré sú skutočnými hodnotami, to znamená čísla. V ľudskom mozgu sa impulzy prenášajú s pevnou amplitúdou a tieto impulzy sú takmer okamžité. To vedie k množstvu výhod ľudskej siete neurónov.

Po prvé, komunikačné linky v mozgu sú oveľa efektívnejšie a hospodárnejšie ako tie v ANN. Po druhé, impulzný obvod zaisťuje jednoduchú implementáciu technológie: namiesto zložitých výpočtových mechanizmov stačí použiť analógové obvody. V konečnom dôsledku sú pulzné siete imúnne voči rušeniu zvuku. Reálne čísla podliehajú šumu, čo zvyšuje pravdepodobnosť chýb.

Spodná čiara

Samozrejme, v poslednom desaťročí nastal skutočný boom vo vývoji neurónových sietí. Je to spôsobené predovšetkým tým, že tréningový proces ANN sa stal oveľa rýchlejším a jednoduchším. Aktívne sa začali rozvíjať aj takzvané “predtrénované” neurónové siete, ktoré môžu proces zavádzania technológie výrazne urýchliť. A ak je príliš skoro povedať, či neurónové siete budú jedného dňa schopné plne reprodukovať schopnosti ľudského mozgu, pravdepodobnosť, že v nasledujúcom desaťročí budú ANN schopné nahradiť ľudí v štvrtine existujúcich profesií, sa čoraz viac stáva pravdou. .

Pre tých, ktorí chcú vedieť viac

  • Veľká neurónová vojna: Čo Google skutočne chystá
  • Ako by kognitívne počítače mohli zmeniť našu budúcnosť


Načítava...
Hore