|
Neuronske mreže
> Predavanje
>
5. Mreža "širenje
unatrag" (eng. backpropagation) |
Algoritam mreže "širenje unatrag"
bio je presudan za široku komercijalnu upotrebu ove metodologije,
te je neuronske mreže učinio široko upotrebljavanom i popularnom
metodom u različitim područjima. Njezin prvi kreator bio je
Paul Werbos 1974., a proširena je od strane Rumelhart-a, Hinton-a
i Williams-a 1986. Bila je to prva neuronska mreža s jednim
ili više skrivenih slojeva. U osnovi, ova mreža propagira input
kroz mrežu od ulaznog do izlaznog sloja, a zatim određuje grešku
i tu grešku propagira unazad sve do ulaznog sloja ugrađujući
je u formulu za učenje. Standardni algoritam mreže "širenje
unatrag" uključuje optimizaciju greške koristeći deterministički
algoritam gradijentnog opadanja (eng. gradient descent). Glavni
nedostatak ovog algoritma je problem čestog pronalaženja lokalnog
umjesto globalnog minimuma greške, stoga novija istraživanja
uključuju njegovo unapređivanje nekim drugim determinističkim
(npr. metode drugoga reda) ili stohastičkim metodama (npr. simulirano
kaljenje).
Strukturu mreže čine ulazni
sloj, izlazni sloja i najmanje jedan skriveni sloj, s vezom
unaprijed. Tipična arhitektura "širenje unatrag"
prikazana je na donjoj slici (zbog jasnoće je prikazan samo
jedan skriveni sloj):
Slika
7.
Arhitektura mreže "širenje unatrag" |
|
Tok podataka kroz mrežu
može se ukratko opisati u nekoliko koraka:
- od ulaznog sloja prema skrivenom sloju:
ulazni sloj učitava podatke iz ulaznog vektora X, i šalje
ih u prvi skriveni sloj,
- u skrivenom sloju: jedinice u skrivenom
sloju primaju vagani ulaz i prenose ga u naredni skriveni
ili u izlazni sloj koristeći prijenosnu funkciju,
- kako informacije putuju kroz mrežu,
računaju se sumirani ulazi i izlazi za svaku jedinicu obrade,
- u izlaznom sloju: za svaku jedinicu
obrade, računa se skalirana lokalna greška koja se upotrebljava
u određivanju povećanja ili smanjenja težina,
- propagiranje unazad od izlaznog sloja
do skrivenih slojeva: skalirana lokalna greška, te povećanje
ili smanjenje težina računa se za svaki sloj unazad, počevši
od sloja neposredno ispod izlaznog sve do prvog skrivenog
sloja, i težine se podešavaju.
Mreža "širenje unatrag"
je univerzalni algoritam primjenjiv na probleme previđanja,
gdje je potrebno predvidjeti vrijednost jedne ili više izlaznih
varijabli, no moguće ga je koristiti i za probleme klasifikacije,
gdje se ulazni vektor raspoređuje u jednu od klasa zadanih
na izlazu, npr. određivanje da li neka dionica pripada u grupu
rastućih ili padajućih dionica u nekom razdoblju. U tu svrhu,
standardni algoritam ove mreže potrebno je proširiti Softmax
aktivacijskom funkcijom, koja osim što podstiče mrežu da što
jasnije rasporedi ulazni vektor u jednu od klasa, omogućava
i usporedbu rezultata sa statističkim metodama koje kod klasifikacije
daju vjerojatnosti da će ulazni vektor pripadati u neku od
klasa.
Mreža "širenje unatrag" ne preporuča se za upotrebu
na nestacionarnim podacima, ili za slučajeve kada podaci u
sebi skrivaju više, u osnovi različitih, problema. Rješenje
za takve probleme može se pronaći u upotrebi nekoliko neuronskih
mreža od kojih će svaka rješavati pojedini problem zasebno,
ili u izboru nekog drugog algoritma.
19.03.2003 |