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í
- Čo sú neurónové siete?
- Ako fungujú neurónové siete?
- Učenie neurónovej siete
- Typy neurónových sietí
- Jednoduchá implementácia neurónovej siete
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ú:
- Neurónová sieť je simulovaná novým prostredím.
- Potom sa v dôsledku tejto simulácie zmenia voľné parametre neurónovej siete.
- Neurónová sieť potom reaguje novým spôsobom na prostredie v dôsledku zmien vo svojich voľných parametroch.

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 .

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: - 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.