Learning Non Supervisionato LEARNING NON SUPERVISIONATO Non c’è insegnante Reti con Input e Output, Nessun Feedback dall’ambiente La Rete deve scoprire Da Sola Caratteristiche, Regolarità, Correlazioni, etc. nei dati di input. (AUTO-ORGANIZZAZIONE) Durante il Learning i pesi variano in accordo con una Regola Interna specificata A Priori LNS-1 Cosa possono individuare tali reti? LNS-2 FAMILIARITA’ Quando un nuovo input è simile ai pattern visti in passato (ex: un output a valori continui) ANALISI DELLE COMPONENTI PRINCIPALI estendendo il caso precedente a più unità porta ad una base lungo cui misurare la somiglianza a esempi precedenti CLUSTERING Un set di output a valori binari può indicare a quale categoria appartiene un dato input CODIFICA L’output può essere una versione codificata dell’input FEATURE MAPPING Un output con una data struttura geometrica (ex: una matrice) può mappare gli input in punti diversi della struttura, realizzando una mappa topografica dell’input Input simili Output vicini Quando utilizzare le Reti NON Supervisionate: LNS-3 Quando il learning supervisionato non è possibile Quando il learning supervisionato è troppo lento In cascata ad una rete supervisionata LEARNING HEBBIANO LNS-4 1940: Donald Hebb, studiando la comunicazione tra neuroni, verificò che l’eccitazione ripetuta di un neurone i da parte di un neurone j portava all’abbassamento della soglia di eccitazione del neurone i. LA COMUNICAZIONE E’ FACILITATA DALL’ECCITAZIONE RIPETUTA xj yi wij j i Estensione ai sistemi neurali artificiali: Il peso della wij della connessione tra i neuroni i e j cresce al fluire di un segnale da j a i: wij x j yi Regola di Hebb 1 Strato D Input 1 Output Lineare D x1 x xD x1 w1 w2 x2 T i 1 Gli Input più frequenti avranno, a lungo termine, più influenza e produrranno un output maggiore. S y xD y wi xi w x x w w x cos T wD LNS-5 x y x1 y w w xD y w x 1 x w grande y x w y = 0 L’ampiezza di y misura la somiglianza tra Input e Pesi Durante il learning, i pesi sono esposti ai dati di Input e condensano l’informazione in essi contenuta nel loro valore I PESI SONO LA MEMORIA A LUNGO TERMINE DELLA RETE Per un singolo peso: wnew wold xy wold x wold x wold 1 x 2 LNS-6 PROBLEMA: I pesi crescono senza limite ed il learning non si ferma mai REGOLA DI OJA (versione stabile) Vincolare la crescita dei pesi: 1. Rinormalizzazione dei pesi dopo l’aggiornamento: wi ' wi w' 1 oppure 2. Aggiungere un termine proporzionale a y2, nella formula di Hebb wi y xi y wi Regola di Oja Hebb correlazione LNS-7 n yn xn xn xn Learning on-line w Learning batch T wn N T w xi x i w0 Rˆ x w0 i 1 Ex1 x1 Rˆ x Rx Ex D x1 Ex1 x D Matrice di autocorrelazione degli Input Ex D x D Il learning Hebbiano aggiorna i pesi con una stima della funzione di autocorrelazione x1,, xN Es: D=2 V Hebb potenza Set di dati 1 V N V R w potenza in uscita N N 1 T T T 2 y i w x x w w Rx w N i 1 i 1 w w1 LNS-8 2 1 N T Rx R xi x i N i 1 definita positiva V T V w Rx Rx w 2 Rx w w V 2Rw w Rw0 La regola di Hebb muove i pesi nella direzione del gradiente, nel campo di potenza dei dati di Input Divergenza (campo illimitato) LNS-9 Legame Potenza - Varianza Massima Potenza Massima Varianza Varianza - Informazione Esempio: Nube di punti 2-D Spazio a dimensione minore (Componente Principale) E’ la direzione a maggiore varianza Regola di Oja wi yxi y wi Mantiene i pesi con norma unitaria LNS-10 LNS-11 Dimostrazione: wi n 1 wi n y n xn 12 D 2 wi n y n xn i 1 wi n y n xi n y n wi n O 2 per piccolo Posto: x 'n (i ) xn (i ) y (n) wi (n) wi (n 1) wi (n) y (n) x 'i (n) Input effettivo x x1 Esempio: x2 w w1 w2 LNS-12 x2 x2 w w0 x1 w 1 w w0 x1 • I pesi partono da piccoli valori random e vengono aggiornati secondo la regola di Oja: w1 yx1 y w1 ; w2 yx2 y w2 ; w 1 L’output finale è la proiezione dell’input x nella direzione di w È dovuto alla scelta di UNITA’ LINEARI LNS-13 a) Input a media zero < x > = 0 Output a media zero < y > = 0 (qualunque sia la direzione di w) MA la direzione di wOja fa sì che <| y |> sia massimo b) Input a media diversa da zero Output con media massima in corrispondenza di wOja La direzione di wOja fa sì che <| y |> sia massimo LNS-14 Significato di wOja Rw w R funzione di autocorrelazione scalare reale w è un autovettore di R e l’autovalore massimo x2 a asse principale a wOja x1 LNS-15 Ricapitolando: La regola di Oja converge ad un vettore peso che ha le seguenti proprietà: w 1 w ha la direzione dell’ autovettore di C con autovalore massimo w ha la direzione che massimizza la <y2> y 2 w x T 2 w x x w w Cw T T T La forma quadratica, per w fissato è massimizzata quando w ha la direzione dell’autovettore massimo di C Per dati con x 0 max y 2 max( varianza ) LNS-16 ANALISI DELLE COMPONENTI PRINCIPALI (PCA) La regola di Oja produce un vettore di pesi nella direzione in cui si trova la maggiore informazione sui dati di input COMPONENTE PRINCIPALE Come trovare altre direzioni che tengono conto il più possibile della varianza dei dati di Input? x D Scopo Trovare un sistema di coordinate ORTONORMALE M vettori tra loro ortogonali M D M vettori di lunghezza unitaria che riduca la dimensione dei dati, massimando l’informazione contenuta Esempio A LNS-17 OB SECONDA COMPONENTE PRINCIPALE (A BASSA VARIANZA) PCA B OA PRIMA COMPONENTE PRINCIPALE (AD ALTA VARIANZA) O La proiezione lungo OA consente di evidenziare i cluster La prima componente principale si prende lungo la direzione a massima varianza; La seconda lungo la direzione a massima varianza del sottospazio ortogonale alla prima; La terza lungo … LNS-18 Procedura: x D se Sia C la matrice di covarianza di x : C x x x 0 1 0 y QT x 0 D con y y T CR dove: 1 2 D autovalori di C e colonne di Q: autovettori corrispondenti y vettore delle componenti principali di x x 0 T matrice di autocorrelazione LNS-19 Riassumendo: Q y x q1 T T x q2 x q D QT x T D x Q y yi q j j 1 Scartando le combinazioni a piccola varianza: M xˆ y j q j q1 j 1 y1 qM yM MD LNS-20 Algoritmi basati sulla risoluzione di equazioni matriciali PCA Reti Neurali w11 w21 w31 x1 x2 xD RETI NEURALI PCA S y1 S y2 w1D Rete Lineare w2D S wMD x D y M D yi wij x j j 1 yM M D i 1, M i wij yi x j wkj yk k 1 i=1 w1j xj 1 y1 I componente principale w1 j y1 x j w1 j y1 (regola di Oja) x' j x j i=3 w3 j i=2 w2j xj LNS-21 Regola di Sanger 2 y2 II componente principale w2 j y2 x j w1 j y1 w2 j y2 y2 x' j w2 j y2 x' j x j w1 j y1 proiezione in uno spazio ortogonale alla I componente LNS-22 N.B. I pesi relativi alla II CP convergeranno solo dopo la convergenza dei pesi della I CP, e così via … PCA è il miglior “feature extractor” LINEARE 1 COMPRESSIONE DATI Non esiste un sistema lineare che fornisca migliori caratteristiche per la ricostruzione applicazione PCA per la compressione dei dati x T W al trasmettitore: compressione proiezione y R ~ x W-1 al ricevitore: decompressione LNS-23 2 CLASSIFICAZIONE x2 1 2 CLASSI 2 x1 Direzione principale x1 ricostruzione x2 classificazione Reti Competitive e di Kohonen CK-1 LEARNING NON SUPERVISIONATO COMPETITIVO Solo un’unità è attiva (vincitore) Scopo: clusterizzare i dati in ingresso Codifica Compressione Elaborazione di immagini Ottimizzazione combinatoria Un Output per ogni categoria Non sono robuste Non possono rappresentare una conoscenza gerarchica y1 •Feature Mapping (Kohonen) y2 x1 x2 x 3 x 4 CK-2 SEMPLICE LEARNING COMPETITIVO y1 x = [x1 , . . . , xN] (0 , 1) y = [y1 , . . . , yN] (0 , 1) hi wij x j wi x yM ... ... j wi w11 w1N i* : wi * x w x T T x1 x2 x3 VINCITORE xN x yi * 1 wi 1 wi wi* x wi x wi • x IL VINCITORE E’ L’UNITA’ PIU’ VICINA ALL’INPUT CK-3 IL LEARNING w(t = 0) = random x wi* j x j wi* j yi* 1 yi 0 i i * wi new x-wi 01 (x-wi) wi wi j yi x j wi j REGOLA INSTAR Sposta wi* verso x p Fa sì che l’unità i* abbia maggiore probabilità di vincere in futuro per un Input simile a x CK-4 Esempio di CLUSTERING x p x1p x2p x3p P = 1, … , N numero di esempi p1 p2 wi wi1 wi Input continui Input binari wi 2 wi 3 ; w 1 i Stato iniziale Stato finale vettori prototipo - individuano dei punti nello spazio Tassellazione di Voronoi CK-5 1 solo strato partizioni convesse dello spazio degli input N° di cluster da fissare a priori troppi cluster cluster morti input simili in cluster diversi pochi cluster ogni unità rappresenta + di un cluster Problema delle unità morte COSCIENZA hi bi* bi hi bi CK-6 COMPETIZIONE SOFT Anche i neuroni vicini al vincitore possono essere attivi (bolla di attività) Connessioni laterali funzione della distanza dal vincitore wij + - + i-j distribuzione a cappello messicano - E’ possibile un mappaggio topologico dallo spazio degli ingressi a quello delle uscite CK-7 y1 yM + ... + - x2 x1 y1 y2 x1 x2 CK-8 RETI DI KOHONEN -Cappello messicano SENZA connessioni laterali -Le relazioni di vicinato compaiono nel learning -Output organizzato secondo una griglia 2 vicini 1- D 1 1 2-D 0 1 Input 2-D 0 1 Rete 1-D ALGORITMO DI LEARNING i* wi* x wi x i,i * y1 vincitore x 1 x2 wij i, i *x j wij 1 CK-9 y2 xD x wi - x i i* f ri ri* … wi i i* wi • x : funzione di vicinato Rete di Kohonen Rete elastica i, i * e ri ri* 2 2s CK-10 2 wij i, i * x j wij (n) s (n) n s n s 0 1 N0 n 1 n 0 N0 K Vi(0) Vi(t1) Vi(t2) n s 3 2 10 10 Scelta sperimentale del numero di neuroni Conservazione della DENSITA’ dei dati di Input CK-11 Esempi CK-12 Applicazioni: Controllo di motori Riconoscimento del parlato Ottimizzazione combinatoria Quantizzazione vettoriale (LBG algorithm) Kohonen è un algoritmo ottimale per la quantizzazione vettoriale LVQ Learning Vector Quantization wi* j x j wi* j x j wi* j classe corretta classe sbagliata