BIOINGEGNERIA S. Salinari Lezione 5
L’algoritmo 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 w31 w12 w22 w32 v1 v2 v3 z1 z2 w11 w21 w31 w12 w22 w32
L’algoritmo 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 Caratteristica di tale funzione è che:
L’algoritmo 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 dell’unità uj in corrispondenza all’applicazione alla rete del k-esimo elemento della sequenza d’ingresso. 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 sull’assunzione che la variazione dei pesi dei rami della rete debba essere tale da produrre una diminuzione dell’errore quadratico medio totale: Dove l’indice k si riferisce alla k-esima coppia in-out della sequenza di apprendimento e l’indice j alla j-esima unità della rete. Si considerino i due casi: x1 x2 x3 y1 y2 w11 w21 w31 w12 w22 w32 Strato d’ingressoStrato nascosto u1 u2 u3 u4 u5 u6 z i wji oki f(z) uj
uj: Unità di uscita L’algoritmo di retropropagazione Se la f(z kj ) è la funzione logistica si avrà: uj: Unità nascosta ui uj ut wjiwtj kj kt
L’algoritmo di retropropagazione Passi dell’algoritmo 1.Si applica l’ingresso 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.
L’algoritmo di retropropagazione Esempio : EXOR y1 = wn1 x1+wn2 x2- 1 yo = wo1 x1+wo2 x2+won y1- 2 o = (to-yo)yo(1-yo) wo1= ox1, wo2= ox2, won= oy1, 2= o n = o won y1(1-y1) wn1= nx1, wn2= nx2, 1= n x1 x2 no y1y0 wn1 wn2 wo2 wo1 11 22 11 11