Algoritmul de propagare înapoi – O prezentare generală

Publicat: 2021-10-15

Rețelele neuronale au fost cuvântul cel mai popular în lumea tehnologiei AI. Și când vorbim de rețele neuronale, propagarea înapoi este un cuvânt pe care ar trebui să se concentreze. Algoritmul de propagare inversă este unul dintre blocurile fundamentale ale rețelei neuronale. Deoarece orice rețea neuronală trebuie antrenată pentru îndeplinirea sarcinii, retropropagarea este un algoritm care este utilizat pentru antrenamentul rețelei neuronale. Este o formă de algoritm pentru învățarea supravegheată care este utilizată pentru antrenarea perceptronilor de mai multe straturi într-o rețea neuronală artificială.

Programarea tipică este considerată acolo unde sunt introduse datele și se realizează logica programării. În timp ce procesarea este finalizată, rezultatul este primit de utilizator. Dar, această ieșire, într-un fel, poate influența logica programării. Aceasta este ceea ce face algoritmul de backpropagation. Ieșirea va influența logica și va avea ca rezultat o ieșire mai bună.

Articolul se va concentra asupra algoritmului de retropropagare și a procesului său de funcționare.

Cuprins

Importanța propagării înapoi

Importanța retropropagarii constă în utilizarea sa în rețelele neuronale. Proiectarea rețelelor neuronale necesită ca ponderile să fie inițializate doar la început. Aceste ponderi sunt niște valori aleatoare sau orice variabile aleatoare care sunt luate în considerare pentru inițializarea ponderilor. Deoarece greutățile sunt introduse aleatoriu, există șansa ca greutățile să nu fie cele corecte. Aceasta înseamnă că greutățile nu se potrivesc modelului. Ieșirea modelului poate fi diferită de rezultatul așteptat. Ca rezultat, există o valoare mare de eroare. Dar, este întotdeauna important să reduceți eroarea, iar gândirea la modalități de a reduce eroarea este o provocare. Modelul trebuie instruit ca ori de câte ori apar aceste tipuri de scenarii, trebuie să modifice parametrii în consecință. Și odată cu modificarea parametrilor, valoarea erorii va fi redusă.

Prin urmare, este necesară antrenamentul modelului, iar retropropagarea este un astfel de mod prin care un model poate fi antrenat astfel încât să existe valori minime de eroare.

Câțiva pași ai algoritmului de backpropagation în rețelele neuronale pot fi rezumați mai jos:

● Calcularea erorilor: va calcula abaterea ieșirii modelului de la ieșirea reală a modelului.

● Eroare minimă: În acest pas, se va verifica dacă eroarea generată este minimizată sau nu.

● Actualizare parametri: Pasul este menit pentru actualizarea parametrilor modelului. Dacă modelul generează o valoare de eroare foarte mare, atunci trebuie să-și actualizeze parametrii,

precum ponderile și prejudecățile. Modelul este verificat din nou pentru eroare, iar procesul se repetă până când eroarea generată este minimizată.

● Model final: După un proces repetat de verificare și actualizare, eroarea este redusă la minimum, iar modelul este acum gata pentru intrări. Intrările pot fi introduse în model, iar ieșirile din model pot fi analizate.

Rețeaua neuronală de propagare inversă

În orice rețea neuronală, algoritmul de propagare inversă caută valoarea minimă a erorii. Aceasta se realizează prin tehnica coborârii în gradient sau prin regula delta, prin care se caută funcția minimă de eroare din spațiul greutății. Odată identificate ponderile care reduc funcția de eroare, aceasta este considerată soluția pentru problema de învățare. În anii 1960, când algoritmul a fost introdus mai întâi și apoi în anii următori, popularitatea algoritmului a crescut. Rețeaua neuronală poate fi antrenată eficient prin acest algoritm folosind o metodă a regulii lanțului. Dacă există o trecere înainte prin rețeaua neuronală, atunci o trecere înapoi este efectuată de parametrul modelului prin ajustarea parametrilor cum ar fi părtinirile și ponderile. Pentru ca algoritmul de propagare inversă să funcționeze, mai întâi trebuie definită rețeaua neuronală.

Modelul rețelei neuronale

Dacă se ia în considerare un model cu 4 straturi al rețelei neuronale, atunci acesta va consta din straturi; stratul de intrare, 4 neuroni proiectați pentru straturile ascunse și va fi 1 neuron proiectat pentru stratul de ieșire.

Stratul de intrare: stratul de intrare poate fi unul simplu sau poate fi unul complex. Un strat de intrare simplu va conține scalarii, iar un strat de intrare complex va fi format din matrici multidimensionale sau vectori. Primele seturi de activare sunt considerate a fi egale cu valorile de intrare.

Prin termenul de activare se înțelege valoarea neuronului care rezultă după aplicarea funcției de activare.

Straturi ascunse: Folosind anumite intrări ponderate, cum ar fi z^l în straturile l și activările a^l în același strat l. Sunt generate ecuații pentru aceste straturi, cum ar fi stratul 2 și stratul 3.

Activările pentru straturi sunt calculate prin utilizarea funcției de activare f. Funcția de activare „f”, este o funcție neliniară care permite învățarea tiparelor complexe prezente în date de către rețea.

Se formează o matrice de greutate având o formă de (n,m), unde numărul „n” denotă neuronii de ieșire, în timp ce „m” desemnează neuronii de intrare ai rețelei neuronale. În modelul straturilor menționate mai sus, numărul lui n va fi 2, iar numărul lui m va fi 4. De asemenea, primul număr din indicele greutății ar trebui să se potrivească cu indicele neuronului care se află în stratul următor. Al doilea număr ar trebui să se potrivească cu indicele neuronal al stratului anterior al rețelei.

Stratul de ieșire: Stratul de ieșire este stratul final al rețelei neuronale. Acesta prezice valoarea modelului. O reprezentare matricială este utilizată pentru simplificarea ecuației.

Propagarea directă a rețelei neuronale și evaluarea acesteia

Ecuațiile generate în definirea rețelei neuronale constituie propagarea directă a rețelei. Acesta prezice rezultatul modelului. Într-un algoritm de propagare înainte, pasul final care este implicat este evaluarea ieșirii prezise față de ieșirea așteptată. Dacă rezultatul estimat este „s”, iar rezultatul așteptat este „y”, atunci s trebuie evaluat față de y. Pentru setul de date de antrenament (x,y), x este intrarea și y este rezultatul.

O funcție de cost „C”, este utilizată pentru evaluarea lui s față de y. Funcția de cost poate fi una simplă, cum ar fi eroarea medie pătratică (MSE), sau poate fi una complexă, cum ar fi entropia încrucișată. Pe baza valorii lui C, modelul ajunge să știe cât de mult ar trebui ajustați parametrii pentru a se apropia de rezultatul așteptat, care este y. Acest lucru se realizează prin algoritmul de propagare inversă.

Algoritm de propagare inversă

Algoritmul de backpropagation efectuează în mod repetat ajustarea ponderilor în conexiunile de rețea pentru a minimiza diferența dintre ieșirile modelului și ieșirea așteptată. De asemenea, în algoritmul de backpropagation pot fi create caracteristici noi și utile în rețea.

Algoritmul de backpropagation urmărește, de asemenea, să scadă sau să minimizeze funcția de cost definită a rețelei, adică C. Aceasta se realizează prin ajustarea parametrilor precum bias-urile și ponderile. Această ajustare care trebuie făcută în parametri este determinată prin gradienții funcțiilor de cost față de toți acești parametri.

Gradientul funcției C în punctul x este definit ca vectorul tuturor derivatelor parțiale care se află în funcția de cost C în x.

Sensibilitatea la modificarea valorii unei funcții este măsurată prin derivata funcției C față de modificarea argumentului x. Aceasta înseamnă că derivata este cea care spune unde se mișcă funcția de cost C.

Modificarea parametrului x este definită de gradient. Afișează modificările care sunt necesare în parametrul x pentru minimizarea C. Regula lanțului este utilizată pentru calcularea gradienților. Este gradientul care permite optimizarea parametrilor.

Așa funcționează algoritmul de backpropagation în îmbunătățirea și antrenamentul rețelei neuronale. Reprezintă o parte importantă a aspectelor învățării automate. Fiind o parte esențială a antrenării rețelei neuronale, înțelegerea algoritmului de retropropagare este esențială. Dacă doriți să fiți un expert în învățarea automată și inteligența artificială, atunci puteți consulta cursul „Master of Science în Machine Learning & Artificial Intelligence” oferit de upGrad. Orice profesionist care lucrează este eligibil pentru curs. Veți fi instruiți prin facultăți de experți de la IIIT Bangalore și, de asemenea, de la LJMU. Cele peste 650 de ore de învățare a conținutului vă vor ajuta să vă pregătiți pentru viitorul AI. Orice întrebări referitoare la curs sunt binevenite.

Care este metoda folosită în algoritmul de propagare inversă?

Metoda care este utilizată în algoritmul de propagare inversă este regula lanțului.

De ce este folosit algoritmul de propagare inversă?

Algoritmul de backpropagation este utilizat pentru a minimiza eroarea modelului.

Cum minimizează algoritmul de propagare inversă eroarea rețelei?

Algoritmul de propagare inversă încearcă să ajusteze parametrii în consecință, ceea ce duce la minimizarea erorii.