Dipartimento di Informatica e Sistemistica TECNOLOGIE DEI SISTEMI DI CONTROLLO RETI NEURALI Alessandro DE CARLI Anno Accademico 2006-07 RETI NEURALI RETI NEURALI • STRUTTURE DI ELABORAZIONE COMPOSTE DA MOLTI ELEMENTI “SEMPLICI” (NEURONI ) CONNESSI E OPERANTI IN PARALLELO • ISPIRATE AI SISTEMI NERVOSI BIOLOGICI • COMPORTAMENTO DELLA RETE DETERMINATO DALLE CONNESSIONI FRA NEURONI ADDESTRARE UNA RETE NEURALE TROVARE I PESI (OTTIMI) DELLE CONNESSIONI AFFINCHE’ LA RETE ABBIA IL COMPORTAMENTO DESIDERATO SIGNIFICATO 2 RETI NEURALI ABILITA’ DELLE RETI NEURALI APPRENDERE RELAZIONI COMPLESSE (TIPICAMENTE, NON LINEARI E MULTIVARIABILI) GENERALIZZAZIONE DA ESEMPI USCITE SIMILI PER INGRESSI SIMILI • PERMETTONO DI SUPERARE LE DIFFICOLTÀ DELLA MODELLAZIONE MATEMATICA MEDIANTE EQUAZIONI ALGEBRICHE E DIFFERENZIALI • MIGLIORANO LA CAPACITÀ DI MODELLAZIONE ALL’AUMENTARE DELLA SPECIALIZZAZIONE DELLA STRUTTURA NEURALE • SONO ROBUSTE RISPETTO ALLA INTERRUZIONE DI ALCUNE CONNESSIONI O ALLA CARENZA DI ALCUNI DATI UTILIZZAZIONE 3 RETI NEURALI PRINCIPALE VANTAGGIO DELLE RETI NEURALI È RICONOSCERE CONFIGURAZIONI ACQUISITE DURANTE L’APPRENDIMENTO O INDIVIDUARE MODALITÀ DI FUNZIONAMENTO SCONOSCIUTE DI SISTEMI COMPLESSI APPLICAZIONI • PATTERN RECOGNITION • CLASSIFICAZIONE, CLUSTERING • MODELLAZIONE • VISIONE ARTIFICIALE • CONTROLLO APPLICAZIONI 4 FINE LEZIONE 10 24 Maggio 2007 RETI NEURALI L’UNITA’ FONDAMENTALE IL NEURONE (O NODO) PESO RX1 USCITA 1X1 p INGRESSO 1XR w S b BIAS 1X1 NEURONE F a FUNZIONE DI ATTIVAZIONE a = F(w*p + b) 6 RETI NEURALI L’UNITA’ FONDAMENTALE IL NEURONE (O NODO) p w PARAMETRI ADATTABILI IN FASE DI ADDESTRAMENTO NEURONE S F a b a = F(w*p + b) 7 RETI NEURALI FUNZIONI DI ATTIVAZIONE +1 hardlim +1 1 logsig ( x) x 1 e logsig +1 tansig ( x) tanh( x) -1 purelim FUNZIONI DI ATTIVAZIONE tansig 8 RETI NEURALI DAL NEURONE ALLA RETE NEURALE W1(1,1) S F1 a1(1) Wn(1,1) ... S Fn an(1) p(1) b1(1) p(2) bn(1) S F1 ... S an(Sn) Fn Wn(Sn,Sn-1) b1(S1) INGRESSI .. . .. . W1(S1,R) a1(S1) .. . .. . .. . .. ... . p(R) STRATO1 (S1 NEURONI) bn(Sn) STRATO N (SN NEURONI) STRUTTURA DI UNA RETE NEURALE 9 RETI NEURALI PERCEPTRON NETWORKS p(1) w(1) S p(2) a w(2) a=1 w b IN GRADO DI CLASSIFICARE INSIEMI DI DATI LINEARMENTE SEPARABILI . -b/w(1) . -b/w(2) UTILIZZAZIONE DI UNA RETE NEURALE a=0 10 RETI NEURALI PERCEPTRON NETWORKS w1(1) S p(2) a1 p(1) 11 b1 p(2) w2(2) S 10 01 a2 p(1) 00 b2 N NEURONI 2N CLASSI POSSONO ESSERE DISTINTE UTILIZZAZIONE DI UNA RETE NEURALE 11 RETI NEURALI PERCEPTRON NETWORKS: ADDESTRAMENTO T T p p W (a a) e p p * a=1 b e W e 1, 0, 1 w’ w * a ( p) 1 ADDESTRAMENTO DI UNA RETE NEURALE p a=0 12 RETI NEURALI RETI LINEARI w1(1) S a1 p(1) b1 p(2) w2(2) S a2 UN SOLO STRATO (RETI LINEARI MULTISTRATO SEMPRE EQUIVALENTI AD UNA MONOSTRATO) b2 IN GRADO DI APPRENDERE ESATTAMENTE RELAZIONI LINEARI TRA INGRESSI E USCITE STRUTTURA DI UNA RETE NEURALE 13 RETI NEURALI RETI LINEARI: ADDESTRAMENTO SUM-SQUARED ERROR sse e(i) a (i) a(i) 2 i * 2 i GRADIENTE DISCENDENTE 2 sse * a (i) W (i, j ) p( j ) b( j ) 2e(i) p( j ) W (i, j ) W (i, j ) w(i, j ) lr e( j) p( j ), b( j ) lr e( j ) REGOLA DI APPRENDIMENTO DI WIDROW-HOFF = LEAST MEAN SQUARE (LMS) RULE VALIDA SOLO PER RETI MONOSTRATO ADDESTRAMENTO DI UNA RETE NEURALE 14 RETI NEURALI APPLICAZIONE APPROSSIMAZIONE LINEARE (NEL SENSO DEI MINIMI QUADRATI!) DI UNA RELAZIONE (NONLINEARE) IGNOTA APPLICAZIONE DI UNA RETE NEURALE 15 RETI NEURALI BACKPROPAGATION NETWORKS RETI FEEDFORWARD MULTISTRATO CON NODI A FUNZIONE DI TRASFERIMENTO DIFFERENZIABILE POSSONO ESSERE ADDESTRATE CON L’ALGORITMO DI BACKPROPAGATION L’ERRORE VIENE “PROPAGATO ALL’INDIETRO” FRA GLI STRATI DELLA RETE IN MODO CHE AD OGNI STRATO SI POSSA APPLICARE UN ALGORITMO DI OTTIMIZZAZIONE (TIPICAMENTE, GRADIENTE DISCENDENTE, MA ANCHE ALTRE VARIANTI SONO POSSIBILI, COME IL GRADIENTE CONIUGATO, IL METODO DELLA DISCESA PIU’ RAPIDA DEL GRADIENTE, ECC.) ADDESTRAMENTO DI UNA RETE NEURALE 16 RETI NEURALI BACKPROPAGATION NETWORKS p a1 W1 + 1 b1 aN WN ... + 1 bN RETI MULTISTRATO CON NODI A FUNZIONE DI ATTIVAZIONE SIGMOIDALE ED UNO STRATO LINEARE IN USCITA POSSONO APPROSSIMARE ARBITRARIAMENTE BENE QUALSIASI FUNZIONE CON UN NUMERO FINITO DI DISCONTINUITA’ ADDESTRAMENTO DI UNA RETE NEURALE 17 RETI NEURALI APPLICAZIONI • APPROSSIMAZIONE DI FUNZIONI MULTIVARIABILI NONLINEARI IGNOTE (NEL CASO 1 INGRESSO 1 USCITA SI POSSONO USARE POLINOMI E SPLINES!) • CLASSIFICAZIONE IN CASO DI INSIEMI NON LINEARMENTE SEPARABILI APPLICAZIONI DI UNA RETE NEURALE 18 RETI NEURALI PROGETTAZIONE DI UNA RETE NEURALE NUMERO INGRESSI E USCITE FISSATI DAL PROBLEMA NUMERO NODI Nn E STRATI NASCOSTI SCELTI IN MODO EURISTICO FORMULA EMPIRICA N esempi Errore percentuale consentito Nn N input N output PROGETTAZIONE DI UNA RETE NEURALE 19 RETI NEURALI RETE NEURALE SOTTODIMENSIONATA: UNDERFITTING ADDESTRAMENTO DI UNA RETE NEURALE 20 RETI NEURALI RETE NEURALE SOVRADIMENSIONATA: OVERFITTING ADDESTRAMENTO DI UNA RETE NEURALE 21 RETI NEURALI RETE NEURALE DIMENSIONATA CORRETTAMENTE ADDESTRAMENTO DI UNA RETE NEURALE 22 RETI NEURALI FINO A DOVE SPINGERE L’ADDESTRAMENTO? SSE VALIDATION SET TRAINING SET EPOCHE DI ADDESTRAMENTO ADDESTRAMENTO DI UNA RETE NEURALE 23 RETI NEURALI ALTRE ARCHITETTURE: RETI RICORSIVE RITARDO D p a1 W1 . a2 W2 + 1 + 1 b1 b2 RETE DI ELMAN APPLICAZIONE: MODELLAZIONE DI SISTEMI DINAMICI RETI NEURALI RICORSIVE 24 RETI NEURALI ALTRE ARCHITETTURE: RETI RADIAL BASIS NEURONE p w PARAMETRI ADATTABILI IN FASE DI ADDESTRAMENTO P a b ALTRI TIPI DI RETE NEURALE ae w , p b 2 , distanza 25 RETI NEURALI ALTRE ARCHITETTURE: RETI RADIAL BASIS p a1 a2 W1 W2 x 1 b1 + 1 b2 • APPLICAZIONI: SIMILI A RETI BACKPROPAGATION • APPRENDIMENTO PIU’ RAPIDO • ERRORE NULLO SUL TRAINING SET PUO’ ESSERE OTTENUTO (CON TANTI NODI QUANTI SONO GLI ESEMPI) • GENERALIZZAZIONE MINORE (PUO’ ESSERE UN VANTAGGIO!) ALTRI TIPI DI RETE NEURALE 26