Povratno širenje u neuronskoj mreži: ML algoritam i primjer
⚡ Pametni sažetak
Backpropagation je osnovni algoritam treniranja neuronske mreže, koji fino podešava svaku težinu iz pogreške izmjerene u prethodnoj epohi tako da model bolje generalizira na nevidljive podatke, jedan sloj po jedan.

Što je umjetna neuronska mreža?
Umjetna neuronska mreža je skupina povezanih I/O jedinica gdje svaka veza nosi težinu. Pomaže vam u izgradnji prediktivnih modela iz velikih baza podataka, a dizajn posuđuje svoj vokabular iz ljudskog živčanog sustava. Mreže ove vrste podržavaju razumijevanje slika, strojno učenje, računalni govor i mnoge druge zadatke prepoznavanja uzoraka.
Backpropagation je algoritam koji odlučuje koje bi te težine trebale biti, pa je te dvije ideje najbolje čitati zajedno.
Što je povratno širenje?
Backpropagation je bit treniranja neuronske mreže. To je metoda finog podešavanja težina neuronske mreže na temelju stope pogrešaka dobivene u prethodnoj epohi (tj. iteraciji). Pravilno podešavanje težina omogućuje smanjenje stope pogrešaka i povećanje pouzdanosti modela povećanjem njegove generalizacije.
Propagacija unatrag u neuronskoj mreži skraćeni je oblik za "propagaciju pogrešaka unatrag". To je standardna metoda treniranja umjetnih neuronskih mreža. Ova metoda pomaže izračunati gradijent funkcije gubitka s obzirom na sve težine u mreži.
Dva se pojma često brkaju. Samo povratno širenje izračunava gradijent; optimizator poput gradijentnog spusta je ono što zapravo promjene težine pomoću tog gradijenta. Gotovo svaki moderni okvir automatski izvodi povratno širenje putem svog mehanizma za automatsko razlikovanje.
Kako radi algoritam širenja unatrag
Algoritam povratnog širenja u neuronskoj mreži izračunava gradijent funkcije gubitka za jednu težinu pomoću pravila lanca. Učinkovito izračunava jedan sloj istovremeno, za razliku od naivnog izravnog izračuna. Izračunava gradijent, ali ne definira kako se gradijent koristi. Generalizira izračun u delta pravilu.
Pravilo lanca je ono što ovo čini učinkovitim. Utjecaj jedne rane težine na konačni gubitak je produkt lokalnih derivacija duž puta do izlaza, pa algoritam kešira međurezultat svakog sloja na povratku i ponovno ga koristi za svaku težinu u sloju ispod umjesto da ponovno izračunava cijelu mrežu po težini.
Razmotrite sljedeći dijagram primjera neuronske mreže s povratnim širenjem kako biste to razumjeli. Slika tracjedan puni prolaz: ulazi ulaze s lijeve strane, aktivacije se kreću naprijed kroz skriveni sloj do izlaza, a izmjerena pogreška se zatim vraća duž istih veza kako bi se ispravile težine.
- Ulazi X, dolaze kroz predpovezani put
- Ulaz se modelira korištenjem stvarnih težina W. Težine se obično odabiru nasumično.
- Izračunajte izlaz za svaki neuron od ulaznog sloja, preko skrivenih slojeva, do izlaznog sloja.
- Izračunajte grešku u izlazima:
ErrorB= Actual Output – Desired Output
- Vratite se s izlaznog sloja na skriveni sloj kako biste prilagodili težine tako da se pogreška smanji.
- Nastavite ponavljati postupak dok se ne postigne željeni izlaz.
Mnogi udžbenici pišu istu količinu kao željeno minus stvarnoObje konvencije funkcioniraju jer se znak apsorbira kada optimizator podređentracts gradijent, pod uvjetom da zadržite jednu konvenciju u cijeloj mreži.
U praksi, greška rijetko bude goli podsistemtraccija. Funkcija gubitka, kao što je srednja kvadratna pogreška za regresiju ili unakrsna entropija za klasifikaciju, pretvara razlike po izlazu u jedan broj čiji se povratni gradijentni slijed zapravo izračunava.
Zašto nam treba povratno širenje?
Najistaknutije prednosti širenja unatrag su:
- Propagacija unatrag je brza, jednostavna i laka za programiranje
- Ne dodaje nikakve nove vlastite parametre; podešavanje koje vršite pripada optimizatoru i mreži, uglavnom brzini učenja i broju ulaza.
- To je fleksibilna metoda jer ne zahtijeva prethodno znanje o mreži
- To je standardna metoda koja općenito dobro funkcionira
- Ne treba posebno spominjati značajke funkcije koju treba naučiti.
Jednostavno rečeno, bez učinkovitog načina za dobivanje gradijenata, treniranje bilo čega dubljeg od jednog sloja bilo bi računalno nepraktično.
Što je Feed Forward mreža?
Feedforward neuronska mreža je umjetna neuronska mreža u kojoj čvorovi nikada ne tvore ciklus. Ova vrsta neuronske mreže ima ulazni sloj, skrivene slojeve i izlazni sloj. To je prvi i najjednostavniji tip umjetne neuronske mreže.
Razlika je ovdje važna jer je prolaz naprijed kod povratnog širenja upravo prolaz naprijed; samo što se korekcija pogreške odvija u suprotnom smjeru.
Vrste mreža za širenje unatrag
Dvije vrste mreža za širenje unatrag su:
- Statičko širenje unatrag
- Rekurentno širenje unazad
Statičko povratno širenje
To je jedna vrsta mreže povratnog širenja koja stvara mapuping statičkog ulaza za statički izlaz. Korisno je za rješavanje problema statičke klasifikacije poput optičkog prepoznavanja znakova.
Rekurentno širenje unazad
Rekurentno povratno širenje u data mining se prenosi naprijed dok se ne postigne fiksna vrijednost. Nakon toga se izračunava pogreška i propagira unatrag.
Glavna razlika između ove dvije metode je: kartaping je brz u statičkom povratnom širenju, dok je nestatičan u rekurentnom povratnom širenju. Tablica u nastavku ih usporedno prikazuje.
| Kriterij | Statičko povratno širenje | Rekurentno povratno širenje |
|---|---|---|
| Kartaping | Statički ulaz u statički izlaz | Nestatička; mreža se smiri prije nego što se greška iskoristi |
| Brzina | Brzo, jedan prolaz po uzorku | Sporije, aktivacija se ponavlja dok se ne stabilizira |
| Oblik mreže | Unaprijed, bez ciklusa | Sadrži povratne veze |
| Tipična upotreba | Optičko prepoznavanje znakova, klasifikacija fiksne veličine | Problemi čiji izlaz ovisi o ustaljenom unutarnjem stanju |
Povijest povratnog širenja
- Godine 1961. osnovni koncept kontinuiranog povratnog širenja izveden je u kontekstu teorije upravljanja od strane J. Kellyja, Henryja Arthura i E. Brysona.
- Godine 1969. Bryson i Ho dali su metodu višestupanjske optimizacije dinamičkog sustava.
- Godine 1970. Seppo Linnainmaa objavio je obrnuti način automatskog diferenciranja, računalnu metodu na kojoj je izgrađena moderna metoda povratnog širenja.
- Godine 1974. Werbos je naveo mogućnost primjene ovog principa u umjetnoj neuronskoj mreži.
- Godine 1982. Hopfield je iznio svoju ideju neuronske mreže.
- Godine 1986., trudom Davida E. Rumelharta, Geoffreya E. Hintona, Ronalda J. Williamsa, backpropagation je dobio priznanje.
- Godine 1989., Yann LeCun i kolege obučili su konvolucijsku mrežu s povratnim širenjem za čitanje rukom pisanih znamenki, što je bila jedna od prvih praktičnih primjena velikih razmjera.
- Godine 1993. Wan je bio prva osoba koja je pobijedila na međunarodnom natjecanju u prepoznavanju uzoraka uz pomoć metode povratnog širenja.
- Godine 2006., Hintonov rad na mrežama dubokih uvjerenja i slojevitom prethodnom treniranju oživio je interes za treniranje dubokih mreža, koji je zastao zbog nestajućih gradijenata.
- Godine 2010., Xavier Glorot i Yoshua Bengio analizirali su zašto je duboke mreže teško trenirati i uveli poboljšanu inicijalizaciju težina, što je, uz ReLU aktivacije, učinilo duboko povratno širenje praktičnim.
- Godine 2012., AlexNet (Krizhevsky, Sutskever i Hinton) pobijedio je na natjecanju ImageNet koristeći GPU-ubrzano povratno širenje, pokrećući moderni procvat dubokog učenja.
- Godine 2014. predstavljen je Adam optimizator (Kingma i Ba) i brzo je postao zadana varijanta gradijentnog spuštanja koja se koristi s povratnim širenjem.
- Godine 2015., normalizacija serije i rezidualne mreže (ResNet) riješile su probleme gradijentnog toka u vrlo dubokim mrežama, omogućujući povratno širenje kroz stotine slojeva.
- U razdoblju 2015.-2017., TensorFlow i PyTorch je automatsku diferencijaciju učinio standardnom softverskom značajkom, tako da se gradijenti više nisu morali izvoditi ručno.
- Godine 2017. predstavljena je Transformer arhitektura koja se trenira od početka do kraja s povratnim širenjem koda, kao i veliki jezični modeli izgrađeni na njoj.
- Bengio, Hinton i LeCun su 2019. godine primili nagradu ACM AM Turing za svoj rad na dubokim neuronskim mrežama.
- U radu „Backpropagation and the Brain“ (Lillicrap, Santoro, Marris, Akerman i Hinton) iz 2020. godine tvrdi se da mozak može aproksimirati učenje slično backpropagationu, ponovno otvarajući raspravu o biološkoj vjerojatnosti.
- Godine 2022. Hinton je predložio algoritam Naprijed-Naprijed, metodu treniranja koja u potpunosti izbjegava prolaz unatrag.
- Godine 2024. John Hopfield i Geoffrey Hinton dobili su Nobelovu nagradu za fiziku za temeljna otkrića koja su omogućila strojno učenje s umjetnim neuronskim mrežama.
- Godine 2025. metode forward-forward proširene su na konvolucijske mreže, pokazujući da treniranje bez povratnog širenja može funkcionirati na zadacima klasifikacije slika.
- Od 2026. godine, povratno širenje ostaje standardni algoritam treniranja za gotovo sve modele dubokog učenja, dok se istraživanje nastavlja u metodama učenja bez gradijenta, lokalnog i paralelnog učenja koje smanjuju njegovu memoriju i računalne troškove.
Ključne točke širenja unatrag
- Pojednostavljuje strukturu mreže uklanjanjem ponderiranih veza koje imaju najmanji utjecaj na obučenu mrežu
- Morate proučiti grupu ulaznih i aktivacijskih vrijednosti kako biste razvili odnos između ulaznih i skrivenih slojeva jedinica.
- Pomaže u procjeni utjecaja koji određena ulazna varijabla ima na mrežni izlaz. Znanje stečeno ovom analizom treba predstaviti u pravilima.
- Propagacija unatrag je posebno korisna za duboke neuronske mreže koje rade na projektima sklonim pogreškama, kao što je prepoznavanje slike ili govora.
- Unatrag propagirano korištenje koristi pravila lanca i potencije, što mu omogućuje funkcioniranje s bilo kojim brojem izlaza.
Najbolja praksa za povratno širenje
Povratno širenje u neuronskoj mreži može se objasniti uz pomoć analogije "vezice za cipele". Ažuriranja težine ponašaju se slično kao napetost vezice: premalo i ništa se ne drži zajedno, previše i nešto pukne.
| Napetost čipke | Što to znači tijekom treninga |
|---|---|
| Premalo napetosti | Premalo ograničavajuće i vrlo labavo — model ne odgovara |
| Previše napetosti | Previše ograničenja (pretreniranost); predugo oduzimanje vremena (relativno spor proces); veća vjerojatnost prekida |
| Povlačenje jedne vezice više nego druge | Neugoda (pristranost) - jedan dio mreže dominira prilagodbom |
Iz analogije slijede dvije praktične navike: skalirati ulazne podatke prije treninga tako da nijedna značajka ne povlači jače od ostalih i pratiti gubitak validacije kako bi se napetost oslobodila prije nego što dođe do pretreniranosti.
Nedostaci korištenja povratnog širenja
- Stvarna izvedba povratnog širenja na specifičnom problemu ovisi o ulaznim podacima.
- Algoritam povratne propagacije u rudarenju podataka može biti prilično osjetljiv na podatke s šumom
- Tijekom mini-serije, povratno širenje treba implementirati pristupom temeljenim na matrici; looping preko jednog primjera odjednom je znatno sporije.
- U dubokim mrežama ponovljeno množenje malih derivacija može smanjiti gradijente prema nuli, tako da najraniji slojevi jedva uče - problem nestajućeg gradijenta opisan u Google Crash tečaj strojnog učenja.
Ništa od ovoga ne isključuje metodu. To su razlozi zašto praktičari posežu za ReLU aktivacijama, normalizacijom i pažljivim rasporedima brzine učenja kada prelaze s plitke mreže na duboko učenje Model.

