logo

Čo je to neurónová sieť?

Neurónové siete sú výpočtové modely, ktoré napodobňujú komplexné funkcie ľudského mozgu. Neurónové siete pozostávajú z prepojených uzlov alebo neurónov, ktoré spracovávajú údaje a učia sa z nich, čo umožňuje úlohy, ako je rozpoznávanie vzorov a rozhodovanie v strojovom učení. Článok skúma viac o neurónových sieťach, ich fungovaní, architektúre a podobne.

Obsah



Evolúcia neurónových sietí

Od roku 1940 došlo v oblasti neurónových sietí k niekoľkým pozoruhodným pokrokom:

  • 40. – 50. roky 20. storočia: Rané koncepty
    Neurónové siete začali predstavením prvého matematického modelu umelých neurónov od McCullocha a Pittsa. Výpočtové obmedzenia však sťažili pokrok.
  • 60. – 70. roky 20. storočia: perceptróny
    Táto éra je definovaná prácou Rosenblatta o perceptrónoch. Perceptróny sú jednovrstvové siete, ktorých použiteľnosť bola obmedzená na problémy, ktoré bolo možné riešiť lineárne oddelene.
  • 80. roky: Backpropagation and Connectionism
    Viacvrstvová sieť tréning umožnil Rumelhart, Hinton a Williamsov vynález metódy spätného šírenia. S dôrazom na učenie sa prostredníctvom prepojených uzlov získal konekcionizmus príťažlivosť.
  • 90. roky: rozmach a zima
    S aplikáciami v identifikácii obrázkov, financiách a iných oblastiach zaznamenali neurónové siete rozmach. Výskum neurónových sietí však zažil zimu kvôli premršteným výpočtovým nákladom a nafúknutým očakávaniam.
  • 2000: oživenie a hlboké učenie
    Väčšie súbory údajov, inovatívne štruktúry a vylepšené možnosti spracovania podnietili návrat. Hlboké učenie preukázal úžasnú účinnosť v mnohých disciplínach využitím mnohých vrstiev.
  • 2010-súčasnosť: Deep Learning Dominance
    Strojovému učeniu dominovali konvolučné neurónové siete (CNN) a rekurentné neurónové siete (RNN), dve architektúry hlbokého učenia. Ich sila bola preukázaná inováciami v oblasti hier, rozpoznávania obrázkov a spracovania prirodzeného jazyka.

Čo sú neurónové siete?

Neurálne siete extrahovať identifikačné znaky z údajov bez predprogramovaného porozumenia. Sieťové komponenty zahŕňajú neuróny, spojenia, váhy, odchýlky, funkcie šírenia a pravidlo učenia. Neuróny dostávajú vstupy riadené prahovými hodnotami a aktivačnými funkciami. Spojenia zahŕňajú váhy a odchýlky regulujúce prenos informácií. Učenie, úprava váh a predsudkov prebieha v troch fázach: výpočet vstupu, generovanie výstupu a iteratívne zdokonaľovanie, ktoré zvyšuje odbornosť siete v rôznych úlohách.

Tie obsahujú:



  1. Neurónová sieť je simulovaná novým prostredím.
  2. Potom sa v dôsledku tejto simulácie zmenia voľné parametre neurónovej siete.
  3. Neurónová sieť potom reaguje novým spôsobom na prostredie v dôsledku zmien vo svojich voľných parametroch.
nn-Geeksforgeeks


Význam neurónových sietí

Schopnosť neurónových sietí identifikovať vzory, riešiť zložité hádanky a prispôsobiť sa meniacemu sa prostrediu je nevyhnutná. Ich schopnosť učiť sa z údajov má ďalekosiahle účinky, od revolučných technológií, ako napr spracovanie prirodzeného jazyka a samoriadiace automobily na automatizáciu rozhodovacích procesov a zvyšovanie efektivity v mnohých priemyselných odvetviach. Vývoj umelej inteligencie je do značnej miery závislý od neurónových sietí, ktoré tiež poháňajú inovácie a ovplyvňujú smerovanie technológií.

Ako fungujú neurónové siete?

Pozrime sa na príklade fungovania neurónovej siete:



Zvážte neurónovú sieť na klasifikáciu e-mailov. Vstupná vrstva má funkcie ako obsah e-mailu, informácie o odosielateľovi a predmet. Tieto vstupy, vynásobené upravenými váhami, prechádzajú cez skryté vrstvy. Sieť sa prostredníctvom školenia učí rozpoznávať vzory označujúce, či je e-mail spam alebo nie. Výstupná vrstva s binárnou aktivačnou funkciou predpovedá, či je e-mail spam (1) alebo nie (0). Keď sieť opakovane spresňuje svoju váhu prostredníctvom spätného šírenia, stáva sa zručnou v rozlišovaní medzi spamom a legitímnymi e-mailami, čím predvádza praktickosť neurónových sietí v aplikáciách v reálnom svete, ako je filtrovanie e-mailov.

Fungovanie neurónovej siete

Neurónové siete sú komplexné systémy, ktoré napodobňujú niektoré črty fungovania ľudského mozgu. Skladá sa zo vstupnej vrstvy, jednej alebo viacerých skrytých vrstiev a výstupnej vrstvy tvorenej vrstvami umelých neurónov, ktoré sú spojené. Dve fázy základného procesu sa nazývajú spätné šírenie a dopredné šírenie .

nn-ar-Geeksforgeeks


Dopredná propagácia

  • Vstupná vrstva: Každý prvok vo vstupnej vrstve je reprezentovaný uzlom v sieti, ktorý prijíma vstupné dáta.
  • Váhy a pripojenia: Váha každého neurónového spojenia udáva, aké silné je spojenie. Počas tréningu sa tieto váhy menia.
  • Skryté vrstvy: Každý neurón skrytej vrstvy spracováva vstupy tak, že ich násobí váhami, sčítava a potom prejde cez aktivačnú funkciu. Tým sa zavádza nelinearita, ktorá umožňuje sieti rozpoznať zložité vzory.
  • Výkon: Konečný výsledok sa dosiahne opakovaním procesu, kým sa nedosiahne výstupná vrstva.

Spätná propagácia

  • Výpočet straty: Výstup siete sa vyhodnocuje oproti skutočným cieľovým hodnotám a na výpočet rozdielu sa používa funkcia straty. Pre regresný problém, Stredná štvorcová chyba (MSE) sa bežne používa ako nákladová funkcia.
    Stratová funkcia: MSE = frac{1}{n} Sigma^{n}_{i=1} (y_{i} - hat y_{i})^2
  • Gradientný zostup: Sieť potom používa gradientový zostup na zníženie straty. Na zníženie nepresnosti sa váhy menia na základe derivácie straty vzhľadom na každú váhu.
  • Úprava závažia: Váhy sa upravujú pri každom spojení aplikovaním tohto iteračného procesu, príp spätné šírenie , dozadu cez sieť.
  • Školenie: Počas tréningu s rôznymi vzorkami údajov sa celý proces dopredného šírenia, výpočtu strát a spätného šírenia vykonáva iteratívne, čo umožňuje sieti prispôsobovať sa a učiť sa vzory z údajov.
  • Aktivačné funkcie: Nelinearita modelu je zavedená aktivačnými funkciami ako napr rektifikovaná lineárna jednotka (ReLU) hod sigmatu . Ich rozhodnutie, či vystreliť neurón, je založené na celkovom váženom vstupe.

Učenie neurónovej siete

1. Učenie s riadeným učením

In učenie pod dohľadom , neurónovú sieť vedie učiteľ, ktorý má prístup k obom vstupno-výstupným párom. Sieť vytvára výstupy na základe vstupov bez zohľadnenia okolia. Porovnaním týchto výstupov s učiteľom známymi požadovanými výstupmi sa generuje chybový signál. Aby sa znížili chyby, parametre siete sa menia iteratívne a zastavia sa, keď je výkon na prijateľnej úrovni.

2. Učenie s učením bez dozoru

Chýbajú ekvivalentné výstupné premenné učenie bez dozoru . Jeho hlavným cieľom je pochopiť základnú štruktúru prichádzajúcich údajov (X). Nie je prítomný žiadny inštruktor, ktorý by poradil. Namiesto toho je zamýšľaným výsledkom modelovanie dátových vzorov a vzťahov. Slová ako regresia a klasifikácia súvisia s riadeným učením, zatiaľ čo učenie bez dozoru súvisí so zhlukovaním a asociáciou.

3. Učenie s posilňovaním

Prostredníctvom interakcie s okolím a spätnej väzby vo forme odmien alebo pokút získava sieť znalosti. Cieľom siete je nájsť politiku alebo stratégiu, ktorá optimalizuje kumulatívne odmeny v priebehu času. Tento druh sa často používa v herných a rozhodovacích aplikáciách.

Typy neurónových sietí

Existujú sedem typy neurónových sietí, ktoré možno použiť.

  • Dopredné siete: A dopredná neurónová sieť je jednoduchá architektúra umelej neurónovej siete, v ktorej sa dáta presúvajú zo vstupu na výstup v jednom smere. Má vstupnú, skrytú a výstupnú vrstvu; chýbajú spätnoväzbové slučky. Vďaka svojej priamej architektúre je vhodný pre množstvo aplikácií, ako je regresia a rozpoznávanie vzorov.
  • Viacvrstvový perceptrón (MLP): MLP je typ doprednej neurónovej siete s tromi alebo viacerými vrstvami, vrátane vstupnej vrstvy, jednej alebo viacerých skrytých vrstiev a výstupnej vrstvy. Využíva nelineárne aktivačné funkcie.
  • Konvolučná neurónová sieť (CNN): A Konvolučná neurónová sieť (CNN) je špecializovaná umelá neurónová sieť určená na spracovanie obrazu. Využíva konvolučné vrstvy na automatické učenie sa hierarchických prvkov zo vstupných obrázkov, čo umožňuje efektívne rozpoznávanie a klasifikáciu obrázkov. CNN spôsobili revolúciu v počítačovom videní a sú kľúčové v úlohách, ako je detekcia objektov a analýza obrazu.
  • Rekurentná neurónová sieť (RNN): Typ umelej neurónovej siete určený na sekvenčné spracovanie údajov sa nazýva a Rekurentná neurónová sieť (RNN). Je vhodný pre aplikácie, kde sú kritické kontextové závislosti, ako je predikcia časových radov a spracovanie prirodzeného jazyka, pretože využíva slučky spätnej väzby, ktoré umožňujú prežitie informácií v sieti.
  • Dlhodobá krátkodobá pamäť (LSTM): LSTM je typ RNN, ktorý je navrhnutý tak, aby prekonal problém miznúceho gradientu pri tréningu RNN. Používa pamäťové bunky a brány na selektívne čítanie, zápis a vymazávanie informácií.

Jednoduchá implementácia neurónovej siete

Python3

import> numpy as np> # array of any amount of numbers. n = m> X>=> np.array([[>1>,>2>,>3>],> >[>3>,>4>,>1>],> >[>2>,>5>,>3>]])> # multiplication> y>=> np.array([[.>5>, .>3>, .>2>]])> # transpose of y> y>=> y.T> # sigma value> sigm>=> 2> # find the delta> delt>=> np.random.random((>3>,>3>))>-> 1> for> j>in> range>(>100>):> > ># find matrix 1. 100 layers.> >m1>=> (y>-> (>1>/>(>1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt))))))>*>((>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))>*>(>1>->(>1>/>(> >1> +> np.exp(>->(np.dot((>1>/>(>1> +> np.exp(> >->(np.dot(X, sigm))))), delt)))))))> ># find matrix 2> >m2>=> m1.dot(delt.T)>*> ((>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))> >*> (>1>->(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))))> ># find delta> >delt>=> delt>+> (>1>/>(>1> +> np.exp(>->(np.dot(X, sigm))))).T.dot(m1)> ># find sigma> >sigm>=> sigm>+> (X.T.dot(m2))> # print output from the matrix> print>(>1>/>(>1> +> np.exp(>->(np.dot(X, sigm)))))>
>
>

Výkon:

[[0.99999325 0.99999375 0.99999352]  [0.99999988 0.99999989 0.99999988]  [1. 1. 1. ]]>

Výhody neurónových sietí

Neurónové siete sú široko používané v mnohých rôznych aplikáciách kvôli ich mnohým výhodám:

  • Prispôsobivosť: Neurónové siete sú užitočné pri činnostiach, kde je prepojenie medzi vstupmi a výstupmi zložité alebo nie je dobre definované, pretože sa dokážu prispôsobiť novým situáciám a učiť sa z údajov.
  • Rozpoznávanie vzorov: Ich odbornosť v rozpoznávaní vzorov ich robí efektívnymi v úlohách, ako je identifikácia zvuku a obrazu, spracovanie prirodzeného jazyka a iné zložité dátové vzory.
  • Paralelné spracovanie: Pretože neurónové siete sú svojou povahou schopné paralelného spracovania, dokážu spracovať množstvo úloh naraz, čo urýchľuje a zvyšuje efektivitu výpočtov.
  • Nelinearita: Neurónové siete sú schopné modelovať a chápať komplikované vzťahy v dátach na základe nelineárnych aktivačných funkcií nachádzajúcich sa v neurónoch, ktoré prekonávajú nevýhody lineárnych modelov.

Nevýhody neurónových sietí

Neurónové siete, hoci sú výkonné, nie sú bez nevýhod a ťažkostí:

  • Výpočtová náročnosť: Tréning veľkých neurónových sietí môže byť pracný a výpočtovo náročný proces, ktorý si vyžaduje veľa výpočtového výkonu.
  • Povaha čiernej skrinky: Ako modely čiernej skrinky predstavujú neurónové siete problém v dôležitých aplikáciách, pretože je ťažké pochopiť, ako sa rozhodujú.
  • Nadmerné vybavenie: Overfitting je fenomén, pri ktorom neurónové siete ukladajú tréningový materiál do pamäte a nie identifikujú vzory v údajoch. Hoci regularizačné prístupy to pomáhajú zmierniť, problém stále existuje.
  • Potreba veľkých množín údajov: Pre efektívne školenie neurónové siete často potrebujú veľké označené súbory údajov; v opačnom prípade môže ich výkon trpieť neúplnými alebo skreslenými údajmi.

Často kladené otázky (FAQ)

1. Čo je to neurónová sieť?

Neurónová sieť je umelý systém vytvorený z prepojených uzlov (neurónov), ktoré spracúvajú informácie, modelované podľa štruktúry ľudského mozgu. Používa sa v úlohách strojového učenia, kde sa vzory extrahujú z údajov.

2. Ako funguje neurónová sieť?

Vrstvy spojených neurónov spracúvajú dáta v neurónových sieťach. Sieť spracováva vstupné dáta, upravuje váhy počas tréningu a vytvára výstup v závislosti od vzorcov, ktoré objavila.

3. Aké sú bežné typy architektúr neurónových sietí?

Dopredné neurónové siete, rekurentné neurónové siete (RNN), konvolučné neurónové siete (CNN) a siete s dlhou krátkodobou pamäťou (LSTM) sú príklady bežných architektúr, z ktorých každá je navrhnutá pre určitú úlohu.

4. Aký je rozdiel medzi riadeným a nekontrolovaným učením v neurónových sieťach?

Pri učení pod dohľadom sa označené údaje používajú na trénovanie neurónovej siete, aby sa mohla naučiť mapovať vstupy na zodpovedajúce výstupy. Učenie bez dozoru pracuje s neoznačenými údajmi a hľadá štruktúry alebo vzory v údajoch .

5. Ako neurónové siete narábajú so sekvenčnými dátami?

Slučky spätnej väzby, ktoré obsahujú rekurentné neurónové siete (RNN), im umožňujú spracovávať sekvenčné údaje a časom zachytávať závislosti a kontext.