Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova) La regola del percettrone Usata per reti feedforward con un unico strato di pesi sinaptici. Le unità di input e output possono utilizzano valori bipolari (-1, 1). Gli esempi di’addestramento sono costituiti da un vettore d’ingresso x e da una risposta desiderata t (target o teaching input). L’output della rete per un certo vettore d’ingresso è calcolato con: N 1 se wi xi 0 y i 0 1 altrimenti Questo valore viene confrontato con la risposta desiderata t. Se t e y differiscono (errore), i pesi sinaptici vengono modificati in base alla risposta corretta: wi txi La regola delta • Simile alla regola del percettrone, ma applicabile a reti feedforward con un singolo strato di pesi e unità di output con attivazione continua e differenziabile: wij (ti yi ) x j • Descriviamo la prestazione della rete con una funzione di errore o funzione di costo, che si basa sullo scarto quadratico medio tra risposta desiderata t ed output effettivo y: EW 1 (ti yi ) 2 2 i la funzione di costo E dipende unicamente dal valore delle connessioni sinaptiche W. L’apprendimento consiste nel minimizzare la funzione di costo E, modificando i pesi nella direzione opposta al gradiente della funzione stessa (discesa del gradiente): E wij wij Risolvendo l’equazione, otteniamo che il cambiamento dei pesi è dato dalla differenza tra target e output moltiplicata per l’attività presinaptica. La regola delta è plausibile dal punto di vista psico-biologico e corrisponde formalmente alla regola di Rescorla-Wagner del condizionamento classico. La backpropagation • Deriva dalla regola delta, permette di calcolare l’errore di unità nascoste, attraverso la propagazione all’indietro dell’errore (da cui il nome dell’algoritmo) usando i pesi sinaptici che servono per la propagazione dell’attivazione. • La propagazione all’indietro dell’errore rende l’algoritmo implausibile dal punto di vista biologico. • Reti feedforward multistrato (con unità nascoste) possono risolvere un ampio insieme di trasformazioni NON lineari (es. XOR): algoritmo molto potente dal punto di vista computazionale. Problema fondamentale Output Come calcolare l’errore? Unità nascoste Input esterno 1. Presentazione pattern d’ingresso Unità di output Unità nascoste Unità di input 2. Propagazione in avanti dell’attivazione Unità di output Unità nascoste Unità di input 2. Propagazione in avanti dell’attivazione Unità di output Unità nascoste Unità di input 2. Propagazione in avanti dell’attivazione Unità di output Unità nascoste Unità di input 2. Propagazione in avanti dell’attivazione Unità di output Unità nascoste Unità di input 3. Calcolo dell’errore delle unità di output Unità di output Unità nascoste Unità di input 4. Propagazione all’indietro dell’errore Unità di output Unità nascoste Unità di input 4. Propagazione all’indietro dell’errore Unità di output Unità nascoste Unità di input 5. Modifica dei pesi sinaptici Unità di output Unità nascoste Unità di input 5. Modifica dei pesi sinaptici Unità di output Unità nascoste Unità di input Pro • efficienza computazionale • permette di addestrare reti con un qualsiasi numero di strati nascosti Contro • problema dei minimi locali • discesa del gradiente lenta Sviluppi • numerose varianti introdotte per velocizzare la discesa del gradiente. La resilient backpropagation (Riedmiller & Braun, 1992), per esempio, utilizza solo il segno della derivata e non il valore. • backpropagation through time (BPTT): permette di addestrare reti ricorrenti. L’algoritmo consente di apprendere serie temporali, estraendo come i dati cambiano nel tempo.