Nevronske mreže so računalniški modeli, ki posnemajo kompleksne funkcije človeških možganov. Nevronske mreže so sestavljene iz med seboj povezanih vozlišč ali nevronov, ki obdelujejo podatke in se iz njih učijo, kar omogoča naloge, kot sta prepoznavanje vzorcev in odločanje pri strojnem učenju. Članek raziskuje več o nevronskih mrežah, njihovem delovanju, arhitekturi in še več.
Kazalo
- Razvoj nevronskih mrež
- Kaj so nevronske mreže?
- Kako delujejo nevronske mreže?
- Učenje nevronske mreže
- Vrste nevronskih mrež
- Preprosta izvedba nevronske mreže
Razvoj nevronskih mrež
Od leta 1940 je na področju nevronskih mrež prišlo do številnih omembe vrednih napredkov:
- 1940-1950: zgodnji koncepti
Nevronske mreže so se začele z uvedbo prvega matematičnega modela umetnih nevronov McCullocha in Pittsa. Vendar so računske omejitve otežile napredek.
- 1960-1970: Perceptroni
To dobo opredeljuje delo Rosenblatta o perceptronih. Perceptroni so enoslojna omrežja, katerih uporabnost je bila omejena na vprašanja, ki jih je bilo mogoče reševati linearno ločeno.
- 1980: širjenje nazaj in povezovanje
Večslojno omrežje usposabljanje je omogočil Rumelhart, Hinton in Williamsov izum metode širjenja nazaj. S poudarkom na učenju prek medsebojno povezanih vozlišč je konekcionizem pridobil privlačnost.
- 1990: Razcvet in zima
Z aplikacijami za identifikacijo slik, financ in drugih področjih so nevronske mreže doživele razcvet. Vendar pa je raziskava nevronskih mrež doživela zimo zaradi pretiranih računskih stroškov in prenapihnjenih pričakovanj.
- 2000-ja: Ponovni vzpon in globoko učenje
Večji nabori podatkov, inovativne strukture in izboljšana zmogljivost obdelave so spodbudili vrnitev. Globoko učenje je pokazala neverjetno učinkovitost v številnih disciplinah z uporabo številnih plasti.
- 2010-a do danes: prevlada globokega učenja
Konvolucijske nevronske mreže (CNN) in ponavljajoče se nevronske mreže (RNN), dve arhitekturi globokega učenja, so prevladovale pri strojnem učenju. Njihovo moč so dokazali z inovacijami na področju igranja iger, prepoznavanja slik in obdelave naravnega jezika.
Kaj so nevronske mreže?
Nevronske mreže iz podatkov izvlečejo identifikacijske značilnosti, pri čemer jim manjka vnaprej programirano razumevanje. Omrežne komponente vključujejo nevrone, povezave, uteži, pristranskosti, propagacijske funkcije in pravilo učenja. Nevroni prejemajo vnose, ki jih urejajo pragovi in aktivacijske funkcije. Povezave vključujejo uteži in pristranskosti, ki uravnavajo prenos informacij. Učenje, prilagajanje uteži in pristranskosti poteka v treh stopnjah: vhodni izračun, generiranje izhoda in iterativno izboljšanje, ki povečuje strokovnost omrežja pri različnih nalogah.
java zamenja vse
Tej vključujejo:
- Nevronska mreža je simulirana z novim okoljem.
- Nato se zaradi te simulacije spremenijo prosti parametri nevronske mreže.
- Nevronska mreža se nato na nov način odziva na okolje zaradi sprememb svojih prostih parametrov.

Pomen nevronskih mrež
Sposobnost nevronskih mrež za prepoznavanje vzorcev, reševanje zapletenih ugank in prilagajanje spreminjajočemu se okolju je bistvenega pomena. Njihova zmožnost učenja iz podatkov ima daljnosežne učinke, ki segajo od revolucionarne tehnologije, npr obdelava naravnega jezika in samovozečih avtomobilov za avtomatizacijo procesov odločanja in povečanje učinkovitosti v številnih panogah. Razvoj umetne inteligence je v veliki meri odvisen od nevronskih mrež, ki tudi poganjajo inovacije in vplivajo na smer tehnologije.
Kako delujejo nevronske mreže?
Razumejmo s primerom, kako deluje nevronska mreža:
Razmislite o nevronski mreži za klasifikacijo elektronske pošte. Vhodna plast zajema funkcije, kot so vsebina e-pošte, podatki o pošiljatelju in zadeva. Ti vnosi, pomnoženi s prilagojenimi utežmi, gredo skozi skrite plasti. Omrežje se z usposabljanjem nauči prepoznati vzorce, ki kažejo, ali je e-pošta vsiljena pošta ali ne. Izhodna plast z binarno aktivacijsko funkcijo predvideva, ali je e-pošta vsiljena pošta (1) ali ne (0). Ko omrežje iterativno izboljšuje svoje uteži s povratnim širjenjem, postane spretno pri razlikovanju med neželeno in zakonito e-pošto, kar prikazuje praktičnost nevronskih mrež v aplikacijah v resničnem svetu, kot je filtriranje e-pošte.
javascript operaterji
Delovanje nevronske mreže
Nevronske mreže so kompleksni sistemi, ki posnemajo nekatere značilnosti delovanja človeških možganov. Sestavljen je iz vhodne plasti, ene ali več skritih plasti in izhodne plasti, sestavljene iz plasti umetnih nevronov, ki so povezani. Dve stopnji osnovnega procesa se imenujeta povratno širjenje in širjenje naprej .

Razširjanje naprej
- Vhodna plast: Vsaka funkcija v vhodni plasti je predstavljena z vozliščem v omrežju, ki sprejema vhodne podatke.
- Uteži in povezave: Teža vsake nevronske povezave kaže, kako močna je povezava. Med treningom se te uteži spreminjajo.
- Skriti sloji: Vsak nevron skrite plasti obdeluje vhode tako, da jih pomnoži z utežmi, sešteje in nato prenese skozi aktivacijsko funkcijo. S tem se uvede nelinearnost, ki omrežju omogoča prepoznavanje zapletenih vzorcev.
- Izhod: Končni rezultat se ustvari s ponavljanjem postopka, dokler ni dosežena izhodna plast.
Širjenje nazaj
- Izračun izgube: Izhod omrežja se ovrednoti glede na dejanske ciljne vrednosti, za izračun razlike pa se uporabi funkcija izgube. Za problem regresije je Povprečna kvadratna napaka (MSE) se običajno uporablja kot stroškovna funkcija.
Funkcija izgube:
- Gradientni spust: Omrežje nato uporabi gradientni spust za zmanjšanje izgube. Za zmanjšanje netočnosti se uteži spremenijo glede na izpeljanko izgube glede na vsako utež.
- Prilagoditev uteži: Uteži se prilagajajo pri vsaki povezavi z uporabo tega iterativnega procesa oz širjenje nazaj , nazaj po omrežju.
- Usposabljanje: Med usposabljanjem z različnimi vzorci podatkov se celoten postopek širjenja naprej, izračuna izgub in širjenja nazaj izvaja iterativno, kar omrežju omogoča prilagajanje in učenje vzorcev iz podatkov.
- Aktivacijske funkcije: Nelinearnost modela uvajajo aktivacijske funkcije, kot je rektificirana linearna enota (ReLU) ure sigmoidni . Njihova odločitev o tem, ali naj sprožijo nevron, temelji na celotnem uteženem vnosu.
Učenje nevronske mreže
1. Učenje z nadzorovanim učenjem
noter nadzorovano učenje , nevronsko mrežo vodi učitelj, ki ima dostop do obeh vhodno-izhodnih parov. Omrežje ustvarja izhode na podlagi vhodov brez upoštevanja okolice. S primerjavo teh izhodov z učiteljem znanimi želenimi izhodi se ustvari signal napake. Da bi zmanjšali napake, se parametri omrežja spreminjajo iterativno in se ustavijo, ko je zmogljivost na sprejemljivi ravni.
najdi v mapi c++
2. Učenje z nenadzorovanim učenjem
Ekvivalentnih izhodnih spremenljivk ni nenadzorovano učenje . Njegov glavni cilj je razumeti osnovno strukturo vhodnih podatkov (X). Noben inštruktor ni prisoten, da bi svetoval. Namesto tega je načrtovani rezultat modeliranje podatkovnih vzorcev in odnosov. Besede, kot sta regresija in klasifikacija, so povezane z nadzorovanim učenjem, medtem ko je nenadzorovano učenje povezano z združevanjem in povezovanjem.
3. Učenje s krepitvijo učenja
Prek interakcije z okoljem in povratnih informacij v obliki nagrad ali kazni omrežje pridobiva znanje. Cilj omrežja je iskanje politike ali strategije, ki optimizira kumulativne nagrade skozi čas. Ta vrsta se pogosto uporablja v igrah in aplikacijah za odločanje.
Vrste nevronskih mrež
obstajajo sedem vrste nevronskih mrež, ki jih je mogoče uporabiti.
- Napredna omrežja: A povratna nevronska mreža je preprosta arhitektura umetne nevronske mreže, v kateri se podatki premikajo od vhoda do izhoda v eni sami smeri. Ima vhodne, skrite in izhodne plasti; povratne zanke so odsotne. Zaradi svoje preproste arhitekture je primeren za številne aplikacije, kot sta regresija in prepoznavanje vzorcev.
- Večplastni perceptron (MLP): MLP je vrsta povratne nevronske mreže s tremi ali več plastmi, vključno z vhodno plastjo, eno ali več skritimi plastmi in izhodno plastjo. Uporablja nelinearne aktivacijske funkcije.
- Konvolucijska nevronska mreža (CNN): A Konvolucijska nevronska mreža (CNN) je specializirana umetna nevronska mreža, zasnovana za obdelavo slik. Uporablja konvolucijske plasti za samodejno učenje hierarhičnih funkcij iz vhodnih slik, kar omogoča učinkovito prepoznavanje in razvrščanje slik. CNN so revolucionirali računalniški vid in so ključni pri nalogah, kot sta odkrivanje predmetov in analiza slike.
- Ponavljajoča se nevronska mreža (RNN): Vrsta umetne nevronske mreže, namenjena zaporedni obdelavi podatkov, se imenuje a Ponavljajoča se nevronska mreža (RNN). Primeren je za aplikacije, kjer so kontekstualne odvisnosti kritične, kot je napovedovanje časovnih vrst in obdelava naravnega jezika, saj uporablja povratne zanke, ki omogočajo preživetje informacij v omrežju.
- Dolgi kratkoročni spomin (LSTM): LSTM je vrsta RNN, ki je zasnovana za premagovanje problema izginjajočega gradienta pri usposabljanju RNN. Uporablja pomnilniške celice in vrata za selektivno branje, pisanje in brisanje informacij.
Preprosta izvedba nevronske mreže
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)))))> |
>
>
Izhod:
[[0.99999325 0.99999375 0.99999352] [0.99999988 0.99999989 0.99999988] [1. 1. 1. ]]>
Prednosti nevronskih mrež
Nevronske mreže se pogosto uporabljajo v številnih različnih aplikacijah zaradi številnih prednosti:
- Prilagodljivost: Nevronske mreže so uporabne za dejavnosti, kjer je povezava med vhodi in izhodi zapletena ali ni dobro definirana, saj se lahko prilagajajo novim situacijam in se učijo iz podatkov.
- Prepoznavanje vzorcev: Njihova usposobljenost za prepoznavanje vzorcev jih naredi učinkovite pri nalogah, kot so identifikacija zvoka in slike, obdelava naravnega jezika in drugih zapletenih vzorcev podatkov.
- Vzporedna obdelava: Ker so nevronske mreže po naravi sposobne vzporednega procesiranja, lahko obdelajo več opravil hkrati, kar pospeši in izboljša učinkovitost izračunov.
- Nelinearnost: Nevronske mreže so sposobne modelirati in razumeti zapletena razmerja v podatkih na podlagi nelinearnih aktivacijskih funkcij, ki jih najdemo v nevronih, ki premagajo pomanjkljivosti linearnih modelov.
Slabosti nevronskih mrež
Čeprav so nevronske mreže zmogljive, niso brez pomanjkljivosti in težav:
- Računska intenzivnost: Usposabljanje velikih nevronskih mrež je lahko naporen in računsko zahteven proces, ki zahteva veliko računalniške moči.
- Narava črne skrinjice: Kot modeli črne skrinjice predstavljajo nevronske mreže problem v pomembnih aplikacijah, saj je težko razumeti, kako sprejemajo odločitve.
- Prekomerno opremljanje: Prekomerno opremljanje je pojav, pri katerem nevronske mreže zapomnijo učni material, namesto da prepoznajo vzorce v podatkih. Čeprav pristopi k ureditvi pomagajo ublažiti to, problem še vedno obstaja.
- Potreba po velikih zbirkah podatkov: Za učinkovito usposabljanje nevronske mreže pogosto potrebujejo velike, označene nize podatkov; v nasprotnem primeru lahko na njihovo delovanje vplivajo nepopolni ali izkrivljeni podatki.
Pogosto zastavljena vprašanja (FAQ)
1. Kaj je nevronska mreža?
Nevronska mreža je umetni sistem, sestavljen iz medsebojno povezanih vozlišč (nevronov), ki obdelujejo informacije po vzoru strukture človeških možganov. Uporablja se pri delovnih mestih strojnega učenja, kjer se vzorci ekstrahirajo iz podatkov.
tipkopisna zanka foreach
2. Kako deluje nevronska mreža?
Plasti povezanih nevronov obdelujejo podatke v nevronskih mrežah. Omrežje obdeluje vhodne podatke, spreminja uteži med vadbo in proizvaja izhod glede na vzorce, ki jih odkrije.
3. Katere so pogoste vrste arhitektur nevronskih mrež?
Napovedne nevronske mreže, ponavljajoče se nevronske mreže (RNN), konvolucijske nevronske mreže (CNN) in mreže dolgega kratkoročnega spomina (LSTM) so primeri običajnih arhitektur, od katerih je vsaka zasnovana za določeno nalogo.
4. Kakšna je razlika med nadzorovanim in nenadzorovanim učenjem v nevronskih mrežah?
Pri nadzorovanem učenju se označeni podatki uporabljajo za usposabljanje nevronske mreže, da se lahko nauči preslikati vhode v ujemajoče se izhode. Učenje brez nadzora deluje z neoznačenimi podatki in išče strukture ali vzorce v podatkih .
5. Kako nevronske mreže obravnavajo zaporedne podatke?
Povratne zanke, ki jih vključujejo ponavljajoče se nevronske mreže (RNN), jim omogočajo obdelavo zaporednih podatkov in sčasoma zajemanje odvisnosti in konteksta.
