Neuronske mreže – bez formula
Iza prepoznavanja slika, govora i četbotova stoje neuronske mreže. Ime dolazi od nervnih ćelija (neurona) u mozgu, ali veštački neuron je mnogo jednostavniji: to je mali račun sa sabiranjem i množenjem. U ovoj lekciji upoznaćeš jedan neuron, pa mrežu – i probati da sam „podesiš“ neuron.
Jedan veštački neuron
Zamisli da odlučuješ da li ćeš izaći napolje. Gledaš nekoliko stvari (ulaza), a neke su ti važnije od drugih:
- da li je sunčano – važno, težina 3;
- da li je toplo – manje važno, težina 2;
- da li imaš domaći – to te zadržava kod kuće, težina −4 (negativna!).
Neuron pomnoži svaki ulaz (1 = da, 0 = ne) njegovom težinom, sve sabere i uporedi sa pragom. Ako je zbir veći ili jednak pragu – odluka je „da“. Za sunčan i topao dan bez domaćeg: 1·3 + 1·2 + 0·(−4) = 5, a prag je 4, pa je odluka „idem napolje“.
Probaj sam: menjaj ulaze (0 ili 1), težine i prag – neuron odmah računa odluku „idem napolje?“.
Probaj: šta se desi kada imaš domaći (ulaz 1)? Koju težinu treba da ima „sunčano“ da bi izašao i kada imaš domaći?
Šta znači da neuron uči
U primeru iznad težine smo sami izmislili. Kod mašinskog učenja težine se ne pišu ručno – podešavaju se same, na osnovu primera:
- Na početku su težine nasumične, pa neuron često greši.
- Za svaki primer proveri se da li je odluka tačna (uporedi se sa oznakom).
- Ako je pogrešio, težine se malo pomere u smeru koji bi dao tačan odgovor.
- Ovo se ponovi hiljadama puta – dok neuron ne počne da pogađa.
To je trening. Prvi neuron koji je ovako učio zvao se perceptron (Frenk Rozenblat, 1958) – napravićeš ga u Pythonu u modulu o programiranju.
Od neurona do mreže
- Jedan neuron može da donese samo jednostavnu odluku. Zato se neuroni slažu u slojeve: izlazi jednog sloja postaju ulazi sledećeg.
- Ulazni sloj prima podatke (na primer svetlinu svakog piksela slike). Izlazni sloj daje odgovor (mačka ili pas). Između su skriveni slojevi.
- Prvi slojevi u mreži za slike obično nauče da prepoznaju ivice i linije, sledeći oblike (oko, uho), a poslednji cele predmete.
- Mreža sa mnogo skrivenih slojeva zove se duboka mreža – otuda naziv duboko učenje.
Koliko su velike mreže?
| Mreža | Otprilike koliko težina (parametara) |
|---|---|
| neuron iz naše igre | 3 težine + prag |
| mala mreža za rukom pisane cifre | desetine hiljada |
| mreža za prepoznavanje slika (npr. u telefonu) | nekoliko miliona |
| veliki jezički modeli (četbotovi) | milijarde i više |
Zbog toga trening velikih mreža traje danima ili mesecima na hiljadama računara – a mala mreža može da se istrenira i na običnom laptopu.
Mozak i veštačka neuronska mreža
| Ljudski mozak | Veštačka neuronska mreža | |
|---|---|---|
| broj neurona | oko 86 milijardi | od nekoliko do milijardi „neurona“ (računskih jedinica) |
| kako uči | iz malo primera, ceo život, iz iskustva i čula | iz mnogo primera, uglavnom samo tokom treninga |
| šta je neuron | živa ćelija sa složenim hemijskim i električnim procesima | jedan jednostavan račun: množenje, sabiranje, poređenje |
| potrošnja energije | oko 20 W (kao slabija sijalica) | veliki modeli troše mnogo više struje za trening i rad |
Ideja je inspirisana mozgom, ali veštačka mreža nije kopija mozga. Mnogo toga o tome kako mozak uči i danas ne znamo.
Učenici u parovima traže podešavanja neurona za zadate situacije (npr. „izlazim samo kad je sunčano I toplo“), pa objašnjavaju koje su težine i prag izabrali.
Česte zablude
- „Neuronska mreža je mali mozak u računaru“ – to je skup jednostavnih računa; podseća na mozak samo po ideji povezanih „neurona“.
- „Programer upisuje sve težine“ – težine se podešavaju same tokom treninga; programer bira oblik mreže i podatke.
Zadaci za vežbu
Pokušaj prvo sam, pa tek onda otvori rešenje.
- Neuron ima ulaze x₁ = 1, x₂ = 0, x₃ = 1 i težine 2, 5 i −1. Koliki je zbir? Kakva je odluka ako je prag 1?
- Podesi neuron iz igre tako da izlaziš samo kada je i sunčano i toplo (a domaći ne utiče na odluku). Koje težine i prag bi izabrao?
- Šta je „skriveni sloj“ i zašto se mreža sa mnogo takvih slojeva zove duboka?
Rešenje 1: račun
1·2 + 0·5 + 1·(−1) = 1. Zbir 1 ≥ prag 1, pa je odluka DA.
Rešenje 2: jedno moguće rešenje
Na primer: težina za sunčano 1, za toplo 1, za domaći 0, prag 2. Zbir je 2 samo kada su oba ulaza 1.
Rešenje 3: odgovor
Skriveni sloj je sloj neurona između ulaza i izlaza; njegove vrednosti ne vidimo direktno. Mreža sa mnogo skrivenih slojeva je „duboka“ jer podatak prolazi kroz mnogo nivoa obrade – otuda naziv duboko učenje.
Proveri znanje
Otvori kviz
Kviz: neuronske mreže
1. Šta radi jedan veštački neuron?
2. Ulazi 1, 1, 0; težine 3, 2, −4; prag 4. Kakva je odluka?
3. Šta se menja tokom treninga neuronske mreže?
4. Šta je duboko učenje?
