Neuronske mreže – bez formula

Modul 2 · Lekcija 4 od 5 · Veštačka inteligencija

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

Veštački neuron: ulazi se množe težinama, sabiraju i porede sa pragom
Neuron odlučuje „idem napolje?“

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?“.

sunčano? · težina 3
toplo? · težina 2
imam domaći? · težina -4
prag 4

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:

  1. Na početku su težine nasumične, pa neuron često greši.
  2. Za svaki primer proveri se da li je odluka tačna (uporedi se sa oznakom).
  3. Ako je pogrešio, težine se malo pomere u smeru koji bi dao tačan odgovor.
  4. 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

Neuronska mreža sa ulaznim, dva skrivena i izlaznim slojem
Mreža: izlazi jednog sloja su ulazi sledećeg
  • 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žaOtprilike koliko težina (parametara)
neuron iz naše igre3 težine + prag
mala mreža za rukom pisane cifredesetine 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 mozakVeštačka neuronska mreža
broj neuronaoko 86 milijardiod nekoliko do milijardi „neurona“ (računskih jedinica)
kako učiiz malo primera, ceo život, iz iskustva i čulaiz mnogo primera, uglavnom samo tokom treninga
šta je neuronživa ćelija sa složenim hemijskim i električnim procesimajedan jednostavan račun: množenje, sabiranje, poređenje
potrošnja energijeoko 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.

Za čas (nastavnicima): trajanje 20 minuta; pribor: projektor ili računari.
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.

  1. 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?
  2. 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?
  3. Š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?