Straturile
Un singur neuron poate doar să taie spațiul cu o linie dreaptă. Dar când conectăm mai mulți neuroni unii după alții, fiecare nouă generație taie un spațiu deja sculptat de generația anterioară. Din această colaborare în trepte se naște adevărata forță a rețelelor: capacitatea de a învăța orice formă, oricât de întortocheată ar fi.
Termeni: strat straturi ascunse funcție de activare teorema de aproximare universală rețea adâncă
O echipă de neuroni: nașterea primului strat
Nimic nu ne obligă să folosim un singur neuron pentru a analiza datele de intrare. Putem așeza în paralel o întreagă echipă de neuroni, fiecare privind aceleași măsurători, dar cântărindu-le cu propriul său set de ponderi. Fiecare membru al echipei va trasa propria sa linie de demarcație în spațiu și va oferi un răspuns nuanțat între 0 și 1.
Un astfel de grup de neuroni care procesează simultan aceleași date formează un strat. Ieșirile lor, luate împreună, reprezintă o descriere complet nouă a exemplului: în locul măsurătorilor brute de la început, obținem o listă de răspunsuri la întrebări intermediare puse de neuroni. Este un moment istoric în curs: pentru prima oară, modelul nu mai lucrează doar cu trăsăturile alese de om, ci își construiește singur reprezentări interne!
Răspunsurile acestui prim strat pot fi trimise mai departe ca date de intrare pentru un alt neuron. Straturile intermediare — cele care nu primesc direct datele brute din afară și nici nu produc răspunsul final vizibil — poartă numele de straturi ascunse (sau hidden layers).
Misterul XOR, rezolvat în trei pași simpli
Problema care a blocat cercetarea în 1969 — imposibilitatea de a separa cele patru puncte pe diagonală — se rezolvă spectaculos cu o mini-echipă formată din doar trei neuroni: doi în stratul ascuns și unul la ieșire.
Primul neuron ascuns trasează o linie și întreabă: „Este măcar una dintre intrări activă?”. Al doilea neuron trasează o altă linie paralelă și întreabă: „Sunt ambele intrări active?”. Al treilea neuron, cel de la ieșire, ascultă doar vocile celor doi colegi și dă verdictul final: „Spune DA doar dacă primul a zis DA, dar al doilea a zis NU!”.
Privește panoul al treilea: frontiera rezultată nu mai este o linie dreaptă rigidă, ci o fâșie decupată cu măiestrie! Am învins limitarea fără să inventăm nicio magie complicată: am folosit aceleași tăieturi drepte, dar le-am combinat logic pe etape.
De ce este curba S sufletul rețelei
Aici se ascunde un secret matematic fascinant, care explică de ce funcționează rețelele neuronale și de ce un detaliu aparent minor face toată diferența.
Imaginează-ți ce s-ar întâmpla dacă am elimina curba S (funcția logistică) și am lăsa neuronii să facă doar adunări și înmulțiri simple. Ieșirea primului strat ar fi o sumă de numere. Al doilea strat ar aduna și el aceste sume. Dar în algebră, o sumă de sume este tot o simplă sumă liniară! Oricâte sute de straturi am stivui unul peste altul, întreaga rețea uriașă s-ar prăbuși matematic într-un singur neuron echivalent, iar frontiera ar redeveni o linie dreaptă plată. Fără o îndoitură neliniară între etape, adâncimea rețelei este o pură iluzie optică!
Curba lină în S — numită în general funcție de activare — este tocmai balamaua care îndoaie spațiul la fiecare pas și împiedică această prăbușire. Apasă pe butonul „Scoate curba S” din figura următoare și vei vedea cu ochii tăi: oricâți neuroni adaugi, rețeaua devine neputincioasă și se comportă ca o simplă riglă.
Sculptarea formelor complexe: inelul fermecat
În figura interactivă de mai jos avem o provocare spectaculoasă: un cerc de puncte albastre înconjurat de o mare de puncte verzi. Nicio linie dreaptă și nicio fâșie simplă nu poate izola cercul din mijloc.
Privește ce se întâmplă pe măsură ce mărești numărul de neuroni ascunși: cu un singur neuron, frontiera este o linie dreaptă eșuată. Cu 3 sau 4 neuroni, frontiera devine un triunghi sau un romb — fiecare neuron adăugând o latură dreaptă care „cioplește” spațiul din jur. Când ajungi la 8 sau 12 neuroni, poligonul capătă atâtea fațete încât devine un cerc aproape perfect, îmbrățișând impecabil punctele albastre!
Dar dacă apeși acum pe „Scoate curba S”? Toți cei 12 neuroni își pierd brusc puterea: dreptele lor se strâng la loc într-una singură, greșind din nou zeci de exemple. Pune curba S la loc, iar forma rotundă reapare instantaneu. Neliniaritatea este adevărata foarfecă magică a rețelei.
De la lățime la adâncime: rețelele profunde
Matematicienii au demonstrat un rezultat spectaculos numit teorema de aproximare universală: chiar și un singur strat ascuns, dacă primește un număr suficient de mare de neuroni, poate aproxima cu orice precizie dorită orice formă continuă din lume. Ar părea că problema este rezolvată pentru totdeauna; dar în practică există două capcane uriașe.
În primul rând, cuvântul „suficient” poate însemna miliarde de neuroni așezați în paralel — o risipă uriașă de memorie și calcul. În al doilea rând, teorema garantează doar că acele ponderi ideale există, fără să ne ofere nicio certitudine că algoritmul de coborâre a pantei va reuși vreodată să le găsească într-un timp rezonabil.
Iată de ce revoluția inteligenței artificiale nu a constat în crearea unor rețele foarte „late”, ci a unor rețele adânci (deep learning). Când așezăm straturile unele după altele în cascadă, rețeaua învață în mod natural o ierarhie de concepte: primele straturi detectează mici muchii și contururi; următoarele le combină în texturi și colțuri; straturile superioare asamblează aceste forme în ochi, nasuri sau roți; iar ultimul strat recunoaște o persoană sau o mașină întreagă. Aceeași putere de exprimare se obține cu mult mai puțini neuroni dacă îi așezăm în adâncime!
În rețelele adânci moderne, curba clasică în S a fost adesea înlocuită cu o funcție și mai simplă, numită ReLU: lasă numerele pozitive neschimbate și taie la zero tot ce este negativ. Deși are un colț abrupt, panta ei nu se stinge la valori mari, ceea ce permite antrenarea fluidă a rețelelor cu sute de straturi.
Dar cum antrenăm o rețea cu zeci de straturi și miliarde de butoane? Cum aflăm panta fiecărui buton ascuns adânc în măruntaiele modelului fără să recalculăm totul de la capăt? În lecția următoare descoperim cel mai elegant motor al inteligenței artificiale: algoritmul de propagare înapoi.