Nevronske mreže: primer, definicija, vrednost, obseg

Umetna inteligenca in nevronske mreže so neverjetno vznemirljive in močne metode, ki temeljijo na strojnem učenju in se uporabljajo za reševanje mnogih resničnih problemov. Najpreprostejši primer nevronske mreže je proučevanje ločil in slovnice, ki samodejno ustvari popolnoma novo besedilo z izvajanjem vseh pravil črkovanja.

Zgodovina nevronske mreže

Znanstveniki na področju informatizacije že dolgo poskušajo simulirati človeške možgane. Leta 1943 sta Warren S. McCullough in Walter Pitts razvila prvi konceptualni model umetne nevronske mreže. V članku »Logično število idej, povezanih z živčno dejavnostjo« so opisali primer nevronske mreže, koncept nevrona - posamezne celice, ki živijo v splošnem omrežju, sprejema vhodne podatke, jih obdeluje in generira izhodne signale.


Njihovo delo, tako kot mnogi drugi znanstveniki, ni bilo namenjeno natančnemu opisu dela bioloških možganov. Umetna nevronska mreža je bila razvita kot računski model, ki deluje na principu delovanja možganov za reševanje številnih nalog. Očitno obstajajo vaje, ki jih je mogoče zlahka rešiti za računalnik, vendar težko za osebo, na primer, izvlečejo kvadratni koren iz desetmestne številke. Ta primer izračuna nevronsko mrežo za manj kot milisekundo, oseba pa potrebuje minute. Po drugi strani pa obstajajo tisti, ki so izjemno lahko rešiti osebo, vendar ne z močjo računalnika, na primer, da izberejo sliko ozadja.
Znanstveniki so porabili veliko časa za raziskovanje in izvajanje kompleksnih rešitev. Najpogostejši primer nevronske mreže v računalništvu je prepoznavanje vzorcev. Obseg se razlikuje od optičnega prepoznavanja znakov in tiskanja fotografij ali ročno napisanih skenov do digitalnega besedila za prepoznavanje obrazov.


Biološki kalkulatorji

Človeški možgani so izredno kompleksni in najmočnejši od znanih računalnikov. Njegovo notranje delo je zasnovano na konceptu nevronov in njihovih mrež, znanih kot biološke nevronske mreže. V možganih je približno 100 milijard nevronov, ki so povezani s temi mrežami. Na visoki ravni medsebojno delujejo preko vmesnika, ki je sestavljen iz aksonovih terminalov, povezanih z dendriti skozi prostorsko-sinapso. Če govorimo v preprostem jeziku, pošljemo sporočilo drugemu prek tega vmesnika, če vsota uteženih vnosov enega ali več nevronov preseže prag, ki sproži prenos. To se imenuje aktivacija, ko je prag presežen, in sporočilo se prenese na naslednji nevron. Postopek seštevanja je lahko matematično kompleksen. Vhodni signal je utežena kombinacija teh signalov, tehtanje vsakega pa pomeni, da ima ta vhod drugačen učinek na naknadne izračune in končni izhod omrežja.

Elementi nevronskega modela

Globoko učenje je izraz, ki se uporablja za kompleksne nevronske mreže, sestavljene iz več plasti. Plasti so sestavljene iz vozlišč. Vozlišče je samo kraj, kjerobstaja izračun, ki deluje v primeru zadostnih spodbud. Vozlišče integrira vhodne podatke iz niza koeficientov ali uteži, ki bodisi povečajo ali oslabijo ta signal, s čimer se določi pomen za nalogo.
Omrežja z globokim učenjem se razlikujejo od skupnega nevrona z eno skrito plastjo. Primer usposabljanja nevronskih mrež - mreža Kohonen.
V omrežjih z globokim učenjem vsaka plast prepozna dani niz funkcij, ki temeljijo na izvirnih informacijah prejšnje ravni. Nadaljnji premik v nevronsko mrežo, težji predmeti, ki jih vozlišča lahko prepoznajo, saj združujejo in združujejo objekte iz prejšnje ravni. Omrežja poglobljenega učenja izvajajo avtomatsko ekstrakcijo funkcij brez človekovega posredovanja, za razliko od večine tradicionalnih algoritmov in se končajo z začetno stopnjo: logični ali softmax-klasifikator, ki določa verjetnost določenega rezultata in se imenuje prognoza.

Black Box ANN

Umetne nevronske mreže (SNN) so statistični modeli, ki so delno modelirani v bioloških nevronskih mrežah. So sposobni vzporedno obravnavati nelinearni odnos med vhodi in izhodi. Za take modele je značilna prisotnost prilagodljivih uteži vzdolž poti med nevroni, ki jih lahko učni algoritem konfigurira za izboljšanje celotnega modela.
Preprost primer nevronske mreže je arhitekturno umetna nevronska mreža, kjer:
  • Vhodna plast je vhodna plast.
  • Skriti sloj je skrita plast.
  • Izhodni sloj - Izhodni sloj.
  • Modeliran je z uporabo plasti umetnih nevronov ali računalniških enot, ki lahko sprejemajo vhodne podatke in uporabljajo aktivacijsko funkcijo skupaj z mejnimi vrednostmi, da ugotovijo, ali so sporočila poslana ali poslana.
    Pri enostavnem modelu je prvi sloj vhod, ki bi moral biti skrit in končno izhod. Vsak lahko vsebuje enega ali več nevronov. Modeli lahko postanejo vedno bolj kompleksni z vse večjo abstrakcijo in reševanjem problemov, s številom skritih plasti, številom nevronov v vsakem sloju in številom skladb med njimi. Arhitektura in modeliranje modela so poleg učnih algoritmov glavne sestavine metod ANN. So izjemno močni in se štejejo za algoritme črne skrinjice, kar pomeni, da je njihovo notranje delo zelo težko razumeti in razložiti.

    Poglobljeni učni algoritmi

    Globoko učenje - ta koncept se sliši precej glasno, v bistvu je le izraz, ki opisuje nekatere vrste nevronskih mrež in z njimi povezane algoritme, ki porabijo surov vhodne podatke skozi niz nelinearnih transformacij za izračun ciljni izhod Neprivlačna lastnost je tudi področje, kjer globoko učenje presega vsa pričakovanja. Primer poučevanja nevronskih mrež - omrežja SKIL.
    Tradicionalno, znanstvenik ali programer podatkov je odgovoren za izvajanje procesa pridobivanja atributov v večini drugih pristopov k strojnemu učenju skupaj z izbiro funkcij in oblikovanja.

    Optimalni parametri algoritma

    Algoritmiučne funkcije avtorizirajo stroju, da se naučijo določene naloge z uporabo končnega nabora možnosti za učenje. Z drugimi besedami, naučijo se učiti. To načelo se uspešno uporablja v številnih aplikacijah in velja za eno od naprednih metod umetne inteligence. Ustrezni algoritmi se pogosto uporabljajo za nadzorovane, neobvladljive in delno nadzorovane naloge. Pri modelih, ki temeljijo na nevronski mreži, je število plasti večje kot pri algoritmih za površinsko usposabljanje. Majhni algoritmi so manj kompleksni in zahtevajo globlje poznavanje optimalnih funkcij, ki vključujejo izbor in razvoj. Nasprotno, algoritmi za globoko učenje se bolj opirajo na optimalno izbiro modela in njegovo optimizacijo s prilagoditvijo. Bolj so primerne za reševanje problemov, kadar je predhodno poznavanje funkcij manj zaželeno ali potrebno in stalni podatki niso na voljo ali niso potrebni za uporabo. Vhodni podatki se pretvorijo v vse plasti z uporabo umetnih nevronov ali procesorskih blokov. Primer kode nevronske mreže se imenuje CAP.

    Vrednost SKP

    SKP se uporablja za merjenje arhitekture modela poglobljenega učenja. Večina raziskovalcev na tem področju se strinja, da ima za SKP več kot dve nelinearni plasti, nekateri pa menijo, da SKP, ki ima več kot deset plasti, zahteva preveč usposabljanja.
    Podrobna razprava o različnih arhitekturah modelov in algoritmih te vrste usposabljanja je zelo prostorska in sporna. Najbolj raziskane so:
  • Neposrednonevronske mreže.
  • Ponavljajoča se nevronska mreža.
  • Večplastni perceptron (MLP).
  • Rolling Neural Networks.
  • Rekurzivne nevronske mreže.
  • Globoka mreža prepričanj.
  • Mreža globokih prepričanj.
  • Samoorganizirajoče karte.
  • Globoki avtomobili Boltzmanna.
  • Sestavljeni avtomatski kodirniki, ki oddajajo hrup.
  • Vrhunske moderne arhitekture

    Perceptroni se obravnavajo kot nevronske mreže prve generacije, računalniški modeli enega nevrona. Izumil jih je leta 1956 Frank Rosenblatt v "Perceptron: Predvidljiv model shranjevanja in organizacije informacij v možganih". Perceptron, imenovan tudi omrežje neposredne povezave, prenaša informacije od spredaj naprej.
    Ponavljajoče se nevronske mreže RNN pretvorijo vhodno zaporedje v izhod, ki je na drugem področju, na primer spremeni zaporedje zvočnih pritiskov v zaporedje identifikatorjev besed. John Hopfield je leta 1982 predstavil Hopfield Net v članku "Nevronske mreže in fizični sistemi z nastajajočimi kolektivnimi računalniškimi zmogljivostmi". V Hopfieldovi mreži (HN) je vsak nevron povezan s katerim koli drugim. Učijo se z nastavitvijo vrednosti na želeno shemo, po kateri lahko izračunamo koeficiente teže.
    ​​Boltzmannov stroj je vrsta stohastičnega povratnega nevronskega omrežja, ki ga lahko obravnavamo kot analog Hopfieldovih omrežij. To je bila ena od prvih različic za preučevanje notranjih predstavitev, ki rešujejo kompleksne kombinatorne probleme.Dohodni nevroni postanejo izhod na koncu popolne posodobitve. Generično konkurenčno omrežje, Jan Goodfellow (GAN), je sestavljeno iz dveh omrežij. Pogosto je to kombinacija Feed Forward in Convolutional Neural Nets. Ena generira generično vsebino, druga pa mora vsebino oceniti diskriminatorno.

    Pridobivanje SKIL-a iz Pythona

    Globoko učenje nevronske mreže v primeru Python primerja vnose z izhodi in najde korelacije. Znan je kot univerzalni aproksimator, ker se lahko nauči pripeljati neznano funkcijo f (x) = y med katerikoli vhodni "x" in kateri koli "y" izhod, ob predpostavki, da so povezani ali vzročni učinek 's V učnem procesu je pravilna "f" ali metoda pretvorbe "x", "y", f (x) = 3x + 12 ali f (x) = 9x - 01. Naloge klasifikacije so povezane s podatkovnimi nizi, tako da nevronske mreže izvedla korelacijo med oznakami in podatki. Znano nadzorovano usposabljanje naslednjih vrst:
  • prepoznavanje posameznikov;
  • Identifikacija ljudi na slikah;
  • določanje izraza obraza: jezni, veseli;
  • identifikacija predmetov na slikah: znaki stop, pešci, označevalci pasov;
  • prepoznavanje gibov v videu;
  • določanje glasu govorcev;
  • klasifikacija spam besedila.
  • Primer konvolucijske nevronske mreže

    Konvolucijska nevronska mreža je podobna večplastnemu omrežju perceptrona. Glavna razlika je, da CNN preučuje, kako je strukturiran in za kakšen namen se uporablja. Navdih za CNN so bili biološki procesi. Njihova struktura ima videz vidne skorje, ki je prisotna v živali.Uporabljajo se na področju računalniškega vida in uspešnih dosežkov sodobne ravni produktivnosti na različnih področjih raziskav. Preden začnejo kodirati CNN, se za izdelavo modela uporablja knjižnica, na primer Keras s Tensorflow backendom. Najprej opravite potreben uvoz. Knjižnica pomaga zgraditi konvolucijsko nevronsko mrežo. Prenesite mnist podatkovni niz preko keras. Uvozite serijski model robov, ki lahko doda plasti zanke in združite, gosto plast, kot se uporabljajo za napovedovanje nalepk. Spustna plast zmanjša ponovno opremo in izravnavanje pretvori tridimenzionalni vektor v enodimenzionalno. Nazadnje, uvoz numpy za operacije matrike:
  • Y = 2 # vrednost 2 pomeni, da ima slika številko 2;
  • Y = [0,0,1,0,0,0,0,0,0,0] # 3. mesto v vektorju je 1;
  • # Tu se vrednost razreda pretvori v matriko binarnega razreda.
  • Algoritem gradnje:
  • Zaporednemu modelu dodajte natančne plasti največjega obsega.
  • Dodajte plasti med njima. Spustni seznam naključno prekine povezavo nekaterih nevronov v omrežju, kar prisili podatke, da najdejo nove poti in zmanjšajo ponovno opremo.
  • Dodajte ozke plasti, ki se uporabljajo za napovedovanje razreda (0-9).
  • Pripravite model z kategorično funkcijo izgube navzkrižne entropije, optimizatorjem Adadelta in metriko natančnosti.
  • Po usposabljanju ovrednotite izgubo in točnost modela v skladu s podatki o preskusu in jih natisnite.
  • Modeliranje v Matlabu

    Tu je preprost primer nevtralnih omrežij Matlab-modeliranja. Ob predpostavkida ima model "a" tri vhode "a", "b" in "c" in ustvarja izhod "y".
    Za namene ustvarjanja podatkov: = 5a + bc + 7s. Najprej napišite majhen skript za ustvarjanje podatkov:
  • a = Rand (11000);
  • b = plaža (11000);
  • z Random (11000);
  • n = Rand (11000) * 005;
  • y = a * 5 + b * c + 7 * z + n,
  • kjer je n hrup, ki je posebej dodan, da bi izgledal kot realni podatki. Vrednost hrupa je 01 in je enotna. Vnos je torej niz "a", "b" in "c", in zaključek:
  • I = [a; b; c];
  • O = y.
  • Nato uporabite vgrajeno funkcijo matlab newff za generiranje modela.

    Primeri opravil nevronske mreže

    Sprva se ustvari matrika R z velikostjo 3 * 2. Prvi stolpec prikazuje najmanj tri vhode, drugi pa največ tri vhode. V tem primeru so trije vhodi v območju od 0 do 1 za: R = [0 1; 0 1; 0 1]. Zdaj ustvarite matriko velikosti, ki ima v-velikost vseh plasti: S = . Funkcijo newff pokličite na naslednji način: net = newff ([0 1, 0 1; 0 1], S, {'tansig', 'purelin'}). Nevronski model {'tansig', 'purelin' prikazuje funkcijo prikazovanja dveh plasti. Naučite ga s podatki, ki ste jih ustvarili prej: net = vlak (neto, I, O). Omrežje je usposobljeno, lahko vidite krivuljo produktivnosti, kot se uči.
    Zdaj ga ponovno simulirajte na istih podatkih in primerjajte izvorne podatke: O1 = sim (net, I); parcela (1: 1000O, 1: 1000Ol). Vhodna matrika bo torej:
  • net.IW {1}
  • -036840.0308 -05402
  • 046400.234005875
  • 19569 -168871.5403
  • 111381.084102439
  • net.LW {21}
  • -1119909.4589 -10006 -09138
  • Programi umetne inteligence

    Primeri izvajanja nevronske mreže vključujejo spletno samopostrežno rešitev in ustvarjanjezanesljivih delovnih tokov. Obstajajo globoki modeli učenja, ki se uporabljajo za klepetne pošto, saj se še naprej razvijajo, lahko pričakujemo, da bo to področje uporabljalo več različnih podjetij. Področja uporabe:
  • Samodejno strojno prevajanje. To ni nekaj novega, globoko učenje pomaga izboljšati samodejno prevajanje besedila s pomočjo kompleksnih omrežij in vam omogoča prevajanje slike.
  • Preprost primer uporabe nevronskih mrež - dodajanje barve črno-belim slikam in videom. To se lahko samodejno izvede z uporabo poglobljenih modelov študij.
  • Stroji preučujejo ločila, slovnico in slog besedila in lahko uporabijo model, ki so ga razvili, da samodejno ustvarijo popolnoma novo besedilo z ustreznim črkovanjem, slovnico in slogom besedila.
  • ANN umetne nevronske mreže in bolj izpopolnjene tehnike globokega učenja so nekatera najbolj napredna orodja za reševanje kompleksnih nalog. Čeprav je v bližnji prihodnosti malo verjetno, bo napredek tehnologije in aplikacij umetne inteligence zagotovo fascinanten. Kljub dejstvu, da so deduktivno sklepanje, logični zaključki in odločanje s pomočjo računalnika danes še daleč od popolnega, je bil dosežen precejšen napredek pri uporabi metod umetne inteligence in sorodnih algoritmov.

    Sorodne publikacije