Folosind algoritmul de propagare înapoi
Deci, cel mai simplu mod de a folosi gradientul în învățare este să schimbați greutățile proporțional cu gradientul - astfel încât metoda cea mai abruptă de coborâre:
Această metodă, totuși, se dovedește a fi extrem de ineficientă în cazul în care derivații cu greutăți diferite sunt foarte diferiți, adică Reluarea funcției de eroare nu reamintește o groapă, ci o râpă lungă. (Aceasta corespunde unei situații în care unele dintre activarea sigmoid a neuronilor aproape de modulo 1, sau că același lucru - atunci când un modul al unor scări mult mai mare decât 1). În acest caz, reducerea erorii moale trebuie alese rata de învățare foarte mică dictată de derivatul maxim (lățime ravine), în timp ce distanța până la cea mai mică ordinul de mărime determinată de valoarea minimă a derivatului (lungimea ravine). Ca urmare, formarea devine inacceptabil de lentă. În plus, în partea de jos a defileului, inevitabil, apar oscilații, iar formarea devine proprietatea monotonie atractivă în scădere erori.
Fig. 3.5. Ineficacitatea metodei de coborâre timpurie: gradientul nu este direcționat la minim
Cea mai simplă îmbunătățire a metodei de coborâre rapidă este introducerea momentului. Când influența gradientului asupra modificării greutăților se acumulează cu timpul:
Calitativ, influența momentului asupra procesului de învățare poate fi explicată după cum urmează. Să presupunem că gradientul se schimbă ușor, astfel încât pentru o perioadă de timp schimbarea sa poate fi neglijată (suntem departe de fundul râului). Apoi schimbarea greutăților poate fi scrisă sub forma:
și anume în acest caz rata efectivă de formare crește, și este esențial, în cazul în care momentul. Dimpotrivă, în apropiere de partea de jos a defileului, în cazul în care direcția gradientului și apoi se schimbă semnul din cauza oscilațiilor descrise mai sus, rata efectivă de învățare încetinește până la o valoare apropiată de:
Fig. 3.6. Introducerea inerției în algoritmul de învățare vă permite să modificați adaptiv viteza de învățare
Un avantaj suplimentar al introducerii cuplului este capacitatea algoritmului de a depăși minimele locale mici. Această proprietate poate fi văzută scriind o ecuație diferențială pentru învățare sub forma unei ecuații diferențiale. Apoi, formarea prin metoda de coborâre timpurie va fi descrisă de ecuația de mișcare a corpului într-un mediu vâscos :. Introducerea momentului corespunde aspectului unui astfel de corp de inerție ipotetic, adică greutate :. Ca rezultat, "accelerat", corpul poate, prin inerție, să depășească minimele minime ale erorilor locale, blocate doar în minime relativ adânci și semnificative.
Unul dintre dezavantajele metodei descrise este introducerea unui alt parametru de reglare globală. Noi, dimpotrivă, ar trebui să ne străduim pentru absența unor astfel de parametri impuși algoritmului din afară. Ideal este situația, atunci când toți parametrii de învățare sunt stabiliți în procesul de învățare, extragând informații despre natura ameliorării funcției de eroare de la formarea propriu-zisă. Un exemplu de algoritm de învățare foarte reușit este așa-numitul. RPROP (de la elastic - elastic), în care fiecare greutate are tempo-ul adaptabil de personalizat.
RPROP își propune să evite încetinirea ritmului de învățare pe câmpiile plane ale panoului funcției de eroare, tipic schemelor în care modificările în greutăți sunt proporționale cu magnitudinea gradientului. În schimb, RPROP utilizează numai semne diferențiale parțiale pentru fiecare greutate.
Mărimea pasului actualizării este aceeași pentru fiecare greutate și se adaptează în procesul de învățare:
Dacă semnul derivatului cu privire la o anumită greutate a schimbat direcția, atunci valoarea precedentă pentru coordonatele date a fost prea mare, iar algoritmul îl reduce
timp. În caz contrar, pasul crește în
ori pentru a accelera învățarea departe de minim.
Nu am atins metode mai sofisticate de predare, cum ar fi metoda gradientului conjugat. precum și metode de ordinul doi care utilizează nu numai informații despre gradientul funcției de eroare, ci și informații despre al doilea derivat. Analiza lor nu este potrivită la prima cunoaștere scurtă cu elementele de bază ale neurocomputării.
Complexitatea computațională a învățării
Anterior, când am discutat istoria neurocomputării, ne-am referit la laboriositatea relativă a procesului de învățare. Pentru a avea cel puțin o idee aproximativă despre costurile computaționale asociate învățării, dăm o evaluare calitativă a complexității computaționale a algoritmilor de învățare.
Ca întotdeauna, W este numărul de greutăți sinaptice ale rețelei (greutăți) și P numărul de exemple de instruire (modele). Apoi, pentru un singur calcul al gradientului funcției de eroare, ordinea operațiilor PW este necesară. Să presupunem, pentru simplitate, că suntem suficient de aproape de minimul necesar și putem aproxima funcția de eroare printr-o expresie pătratică aproape de acest minim. Aici este matricea celui de-al doilea derivat la punctul minim. Estimarea acestei matrice din informațiile locale (care necesită operațiunile de propagare înapoi a metodei), puteți obține de oriunde în cel puțin un pas. Pe această strategie se construiesc metode de ordinul doi (metoda lui Newton). O strategie alternativă constă în găsirea parametrilor necesari pentru etapele metodei de ordinul întâi, la fiecare etapă a operației. Această rată de convergență (iterații) are cele mai bune algoritmi de ordinul întâi (de exemplu, metoda gradientului conjugat). În ambele cazuri, o estimare optimistă a complexității învățării rețelei (deoarece este obținută pentru cea mai simplă dintre toate posibilele - reliefuri patrate) este o operațiune.