Maturski, maturalni, seminarski, diplomski i master radovi iz fiziologije.
Oblast koju danas poznajemo kao neuronske mreže nastala je kao rezultat spoja nekoliko veoma različitih pravaca istraživanja: obrade signala, neurobiologije i fizike. S jedne strane, to je pokušaj da se razume rad ljudskog mozga, a sa druge da se to stečeno znanje primeni u obradi složenih informacija. Postoje i mnogi drugi napredni, nealgoritamski sistemi, kao što su algoritmi koji uče, genetski algoritmi (kojima ćemo se baviti u drugom delu), adaptivne memorije, asocijativne memorije, fazi logika. Međutim, opšti je utisak da su neuronske mreže za sada najzrelija i najprimenljivija tehnologija.
Neke osnovne razlike između između klasičnih računara i neuronskih mreža su: konvencionalni računari rade na logičkoj osnovi, deterministički, sekvencijalno ili sa vrlo niskim stepenom paralelizma. Sofver napisan za takve računare mora biti gotovo savršen da bi ispravno radio. Za tako nešto je potreban dugotrajan i skup proces projektovanja i testiranja.
Neuronske mreže spadaju u kategoriju paralelnog asinhronog distribuiranog procesiranja. Mreža je tolerantna na oštećenje ili ispadanje iz rada relativno malog broja neurona. Takođe, mreža je tolerantna i na prisustvo šuma u ulaznom signalu. Svaki memorijski element je delokalizovan – smešten je u celoj mreži i ne možemo identifikovati deo u kome se on čuva. Klasično adresiranje ne postoji, jer se memoriji pristupa preko sadržaja, a ne preko adrese.
Osnovne komponente neuronskih mreža
Osnovna jedinica neuronske mreže je neuron, koji izgleda kao na slici:
Dendriti su ulazi u neuron. Prirodni neuroni imaju i po nekoliko stotina ulaza. Spoj dendrita i neurona se naziva sinapsa. Sinapsa se karakteriše efikasnošću, koja se naziva sinaptička težina. Izlaz neurona se formira na sledeći način: signali na dendritima se pomnože odgovarajućim sinaptičkim težinama, proizvodi se saberu i ako prelaze veličinu praga, na dobijenu vrednost se primeni prenosna funkcija neurona, koja je na slici označena sa f. Jedino ograničenje koje se nameće na prenosnu funkciju je da bude ograničena i neopadajuća. Izlaz iz neurona se vodi na akson, koji preko svojih aksonskih ogranaka prenosi rezultat na dendrite. Na taj način se izlaz jednog sloja mreže prenosi u sledeći.
Danas se u neuronskim mrežama koriste tri tipa prenosnih funkcija:
• odskočna (Hevisajdova)
• sa rampom
• sigmoidalna
Sva tri tipa su prikazana na slici:
Model neuronske mreže čine:
• prenosna funkcija neurona
• toplogija mreže, tj. način na koji se neuroni međusobno vezuju
• zakoni učenja
Prema topologiji, mreže se razlikuju po broju slojeva neurona. Obično svaki sloj prima ulaze iz prethodnog sloja, a svoje izlaze šalje sledećem sloju. Prvi sloj neurona se naziva ulazni, poslednji je izlazni, dok se ostali slojevi nazivaju skriveni slojevi. Prema načinu vezivanja neurona, mreže se mogu podeliti na rekurzivne i nerekurzivne. Kod rekurzivnih neuronskih mreža viši slojevi vraćaju informacije nižim slojevima, dok kod nerekurzivnih postoji tok signala samo od nižih ka višim nivoima.
Neuronske mreže uče na primerima. Naravno, primera mora biti mnogo, često i po nekoliko desetina hiljada. Suština procesa učenja je da on dovodi do korigovanja sinaptičkih težina. Kada ulazni podaci koji se dovode mreži više ne dovode do promene ovih koeficijenata, smatra se da je mreža obučena za rešavanje nekog problema. Obučavanje se može vršiti na nekoliko načina: nadgledano obučavanje, obučavanje ocenjivanjem i samo-organizacija.
Bez obzira na korišćeni algoritam učenja, procesi su u suštini vrlo slični i sastoje se od sledećih koraka:
1) Mreži se prezentira jedan skup ulaznih podataka.
2) Mreža vrši obradu i rezultat se pamti (ovo je prolaz unapred).
3) Izračunava se vrednost greške, tako što se dobijeni rezultat oduzima od očekivanog.
4) Za svaki čvor se računa nova sinaptička težina (ovo je prolaz unazad).
5) Menjaju se sinaptičke težine, ili se ostavljaju stare vrednosti, a nove se pamte.
6) Na ulaze mreže se dovodi novi skup ulaznih podataka i ponavljaju se koraci od 1-5. Kada se izvrše svi primeri, ažuriraju se vrednosti sinaptičkih težina, i ako je greška ispod neke zahtevane vrednosti, smatra se da je mreža obučena.
Vrste neuronskih mreža podeljene prema vrsti učenja i pravcu prostiranje signala:
1. NENADGLEDANO UČENJE
A) Feedback mreže
1) Aditivna Grossbergova - Additive Grossberg (AG)
2) Grossbergova sa odlaganjem - Shunting Grossberg (SG)
3) Teorija binarne adaptivne rezonancije - Binary Adaptive Resonance Theory (ART1)
4) Teorija analogne adaptivne rezonancije - Analog Adaptive Resonance Theory (ART2, ART2a)
5) Diskretna Hopfildova - Discrete Hopfield (DH)
6) Kontinualna Hopfildova - Continuous Hopfield (CH)
7) Diskretna bidirekciona asocijativna memorija - Discrete Bidirectional Associative Memory (BAM)
8) Privremena asocijativna memorija - Temporal Associative Memory (TAM)
9) Adaptivna bidirekciona asocijativna memorija - Adaptive Bidirectional Associative Memory (ABAM)
10) Kohenove samoorganizujuće mape - Kohonen Self-organizing Map/Topology-preserving map (SOM/TPM)
11) Kompetitivno učenje - Competitive learning
B) Feedforward - mreže:
1) Matrice sa mogućnošću učenja- Learning Matrix (LM)
2) Pobuđeno-primorano učenje - Driver-Reinforcement Learning (DR)
3) Linearna asocijativna memorija - Linear Associative Memory (LAM)
4) Optimizovana linearna asocijativna memorija - Optimal Linear Associative Memory (OLAM)
5) Slabo raspoređena distribuirana asocijativna memorija - Sparse Distributed Associative Memory (SDM)
6) Fuzzy ascocijativna memorija - Fuzzy Associative Memory (FAM)
7) Counterpropagation (CPN)
2. NADGLEDANO UČENJE
A) Feedback mreže
1) Brain-State-in-a-Box (BSB)
2) Fuzzy kongitivne mape - Fuzzy Congitive Map (FCM)
3) Bolcmanova mašina - Boltzmann Machine (BM)
4) Mean Field Annealing (MFT)
5) Rekurzivno kaskadno povezivanje - Recurrent Cascade Correlation (RCC)
6) Povratna propagacija kroz vreme - Backpropagation through time (BPTT)
7) Povratno učenje u realnom vremenu - Real-time recurrent learning (RTRL)
8) Recurrent Extended Kalman Filter (EKF)
B) Feedforward-mreže:
1) Perceptron
2) Adaline, Madaline
3) Backpropagation (BP)
4) Košijeva mašina - Cauchy Machine (CM)
5) Adaptivni heuristički kriterijum - Adaptive Heuristic Critic (AHC)
6) NM sa vremenskim zadržavanjem - Time Delay Neural Network (TDNN)
7) Asocijativno nagrađivanje - Associative Reward Penalty (ARP)
8) Avalanche Matched Filter (AMF)
9) Backpercolation (Perc)
10) Artmap
11) Adaptivne logičke mreže - Adaptive Logic Network (ALN)
12) Kaskadne veze- Cascade Correlation (CasCor)
13) Prošireni Kalman-ov filter - Extended Kalman Filter(EKF)
14) Kvantizacija vektora učenja - Learning Vector Quantization (LVQ)
15) NM zasnovane na verovatnoći- Probabilistic Neural Network (PNN)
16) Opšte regresione NM - General Regression Neural Network (GRNN)
Načini obučavanja neuronskih mreža
Razmotrićemo dva načina obučavanja: nadgledano obučavanje i obučavanje samo-organizacijom.
Nadgledano obučavanje
Najpopularniji algoritam za nadgledano obučavanje je back-propagation algoritam. Osnovna ideja algoritma je sledeća: bira se slučajan par ulaznih i izlaznih rezultata. Mreži se prosleđuje ulazni skup signala, tako što se na svaki ulazni neuron dovodi po jedan signal. Zatim ovi signali propagiraju dalje kroz mrežu, u skrivene slojeve, da bi se posle izvesnog vremena na izlazu pojavio rezultat. Kako se to dešava?
Za svaki neuron se računa ulazna vrednost, na već objašnjen način: signali se množe sinaptičkim težinama pridruženim dendritima, sabiraju se, i zatim se na dobijenu vrednost primenjuje prenosna funkcija neurona. Signal na isti način propagira dalje kroz mrežu, sve dok ne dođe do izlaznih dendrita. Tada se još jednom vrši transformacija i dobijaju se izlazne vrednosti. Sledeći korak je poređenje dobijenih signala na izlaznim aksonskim ograncima sa očekivanim vrednostima za zadati test primer. Za svaki izlazni ogranak se računa vrednost greške. Ako su sve greške jednake nuli, dalja obuka nije potrebna – mreža je u stanju da obavlja traženi zadatak. Međutim, u najvećem broju slučajeva će greška biti različita od nule. Tada se mora obaviti modifikacija sinaptičkih težina pojedinih čvorova. Ta operacija se vrši primenom delta pravila, na sledeći način: