BIOINGEGNERIA S. Salinari Lezione 5
Lalgoritmo di retropropagazione Premesse 1.Reti Duali Si definiscono reti duali reti per cui è verificata la seguente relazione : y = W x v = W T z x1 x2 x3 y1 y2 w11 w21 w13 w12 w22 w23 v1 v2 v3 z1 z2 w11 w12 w13 w21 w22 w23
Lalgoritmo di retropropagazione 2. La Funzione di Attivazione Le funzioni di attivazione utilizzate nella LMS e nel percettrone sono rispettivamente la funzione lineare ( y = i w i x i ) e la funzione di Heaviside (y=0 per x<, y=1per x ). Nelle reti neurali vengono spesso utilizzate funzioni di attivazione semilineari che posseggono la caratteristica di risultare derivabili, quali la funzione logistica o sigmoide, che ha equazione : F(y) y 1 y 1 F(y) Caratteristica di tale funzione è che:
Lalgoritmo di retropropagazione Si consideri una rete costituita da M unità ( u 1,u 2,..., u j,...,u M ) distribuite fra unità di ingresso, di uscita e nascoste. Si indichi con okj lo stato dellunità uj in corrispondenza allapplicazione alla rete del k-esimo elemento della sequenza dingresso. Di conseguenza per una unità di ingresso okj xkj, per una unità di uscita okj ykj. L algoritmo di retro propagazione serve per il calcolo dei pesi di una rete feedforward con strati nascosti e funzioni di attivazione semilineari. Si basa sullassunzione che la variazione dei pesi dei rami della rete debba essere tale da produrre una diminuzione dellerrore quadratico medio totale: Dove lindice k si riferisce alla k-esima coppia in-out della sequenza di apprendimento e lindice j alla j-esima unità della rete. Si considerino i due casi: z i wji oki f(z) uj x1 x2 x3 y1 y2 w11 w21 w31 w12 w22 w32 Strato dingressoStrato nascosto u1 u2 u3 u4 u5 u6 w64 w65
uj: Unità di uscita Lalgoritmo di retropropagazione Se la f(z kj ) è la funzione logistica si avrà: uj: Unità nascosta ui uj ut wjiwtj kj kt
Lalgoritmo di retropropagazione Passi dellalgoritmo 1.Si applica lingresso x k = (x 1 x 2...x N ) T 2.Si calcolano tutte le o kj = f( i w ji o ki ) per tutte le unità di uscita e nascoste 3.Si calcolano le kj per le unità di uscita kj = (t kj – o kj )f(z kj ) 4.Si calcolano le kj per le unità nascoste kj = t kt w tj f(z kj ) 5.Si aggiornano i pesi.
Lalgoritmo di retropropagazione Esempio : EXOR yn = wn1 x1+wn2 x2- 1 yo = wo1 x1+wo2 x2+won yn- 2 o = (to-yo)yo(1-yo) wo1= ox1, wo2= ox2, won= oyn, 2= o n = o won yn(1-yn) wn1= nx1, wn2= nx2, 1= n x2 x1 no yny0 wn1 wn2 wo2 wo