BIOINGEGNERIA S. Salinari Lezione 8 RETI AD APPRENDIMENTO NON SUPERVISIONATO Le reti ad apprendimento non supervisionato debbono essere in grado di determinare autonomamente i pesi delle loro connessioni sulla base di ingressi che vengono loro presentati in successione. Caratteristica dell’insieme degli ingressi deve quindi essere una elevata ridondanza: lo stesso ingresso deve essere presentato parecchie volte alla rete. Reti di questo tipo sono utilizzate per differenti applicazioni: Familiarità. Una sola uscita a valori continui può rappresentare il grado di somiglianza di una nuova configurazione di ingresso con la media dei precedenti ingressi. Analisi delle componenti principali. Estensione del caso precedente a più unità di uscita. La somiglianza agli esempi precedentiviene misurata lungo un insieme di assi (autovettori della matrice di correlazione delle configurazioni in ingresso). Clustering. Un insieme di unità di uscita a valori binari , con una sola unità attiva alla volta, può determinare l’appartenenza dell’ingresso ad una determinata classe. Prototipi. La rete individua le categorie fornendo in uscita un prototipo della classe appropriata. Codifica. L’uscita può corrispondere ad una codifica dell’ingresso che utilizzi un numero inferiore di bit (Problemi di compressione) RETI AD APPRENDIMENTO NON SUPERVISIONATO V Si consideri, come primo esempio, una rete molto semplice costituita da uno strato di ingresso, con configurazioni di ingresso ad N componenti x = (x1 x2 .....xN )T ed un’unica unità di uscita V lineare: V N w i 1 i xi Se i pesi vengono aggiornati secondo la regola di Hebb (Dwi= hVxi) è abbastanza intuitivo che gli ingressi che si presentano più frequentemente saranno quelli che avranno maggiore influenza nella determinazione dei pesi e quindi quando un ingresso nuovo appartenente all’insieme maggiormente presente durante l’apprendimento verrà presentato in ingresso l’uscita V risulterà massima. w1 w2 w3 wN x1 x2 x3 xN All’equilibrio sarà verificato: Dw i 0 hVxi w j j x j x i c ij w i c i w i j Dove ci corrisponde alla i-esima riga della matrice di correlazione fra le componenti dell’ingresso. RETI AD APPRENDIMENTO NON SUPERVISIONATO C= <x1x1> < x1x2 > ....< x1xN > < x2x1 > < x2x2 >....< x2xN > .................. ......... < xNx1 > < xNx2 >...< xNxN > La matrice C è simmetrica semidefinita positiva per cui i suoi autovalori saranno positivi o nulli e gli autovettori possono essere scelti ortogonali. V w1 w2 w3 wN Di conseguenza la relazione: Dwi 0 Cw w 0 w = autovettore di C corrispondente ad un autovalore nullo x1 x2 x3 xN I pesi all’equilibrio raggiunto, ottenuti con la regola di Hebb, corrispondono quindi agli autovettori della matrice di correlazione degli ingressi relativi agli autovalori nulli. si può dimostrare che questi valori di equilibrio non sono stabili per cui la regola di apprendimento è stata modificata secondo la regola di Oja per cui: Dwi= hV( xi – wiV ) La variazione del peso della i-esima connessione è quindi data dal prodotto dell’uscita per la differenza fra l’i-esima componente dell’ingresso e l’uscita V retropropagata sulla i-esima connessione. Si può verificare che i pesi calcolati secondo tale regola godono delle seguenti proprietà: 1.|w| =1 ovvero iwi2 =1 2.Sono le componenti dell’autovettore relativo al massimo autovalore di C 3.Rendono massima V2> RETI AD APPRENDIMENTO NON SUPERVISIONATO Verifica della proprietà 3 E’ una conseguenza della proprietà 2. Infatti dalle V = iwjxj = wTx = xTw e C = <xxT> si ha: <V2> = <(wTx)2> = < wTx xTw> = wT C w per w dato e C simmetrica la forma wT C w ha valore massimo quando la direzione di w coincide con quella dell’autovettore relativo al massimo autovalore di C. Quindi la proprietà 3 discende dalla 2. Verifica delle proprietà 1 e 2 Per verificare le 1 e 2, considerando la regola di Oja, la variazione media dei pesi all’equilibrio deve essere nulla: 0 = <Dwi> = <Vxi-V2wi> = < jwjxj xi – i,kwjxj wkxkwi> = jCjwj – (j,kwjCjk wk)wi 0 = < Dw> = Cw – (wT C w )w Da cui all’equilibrio Cw = w = wT C w = wT w = w2 Si dimostra quindi che all’equilibrio w è un autovettore di C e che la sua norma è unitaria. Rimane da dimostrare che tale autovettore coincide con l’autovalore corrispondente all’autovalore massimo. Scegliamo un peso w vicino ad un qualunque autovettore di C normalizzato w=ca+e con Cca=aca e |ca|=1. Per tale autovettore risulterà: < Dw> = C(ca+e)-(((ca)T+eT)C(ca+e))(ca+e) = aca+Ce –(((ca)T C +eTC)(ca+e)(ca+e) = = aca+Ce – ((ca)TC ca+eTCca+(ca)TCe+eTC e)(ca+e) = = aca+Ce – (caTC ca)ca –(eTCca)ca -(caTCe)ca – (caTC ca)e+O(e2) = = aca+Ce – (caTaca)ca –(eTaca)ca -(caTCe)ca – (caTaca)e+O(e2) = = aca+Ce –aca-a(eTca)ca –(eTCca)ca –ae+ O(e2) = Ce+2a (eTca) –ae+ O(e2) Consideriamo la componente di < Dw> lungo un altro autovettore normalizzato cb si trascurino i termoni O(e2). cbT < Dw> = b cbT e -2a (eTca) cbTca –a cbTe = b cbT e -2a (eTca)dab –a cbTe = (b- a) cbTe L’ultima equazione esprime che se lb>la la componente e cresce lungo la direzione cb e la soluzione è instabile. Ciò avviene per qualunque la che non coincida con l’autovalore massimo, quindi l’unico autovettore stabile è quello corrispondente all’autovalore massimo. ANALISI DELLE COMPONENTI PRINCIPALI L’analisi delle componenti principali PCA consiste nel trovare un insieme di M vettori ortogonali nello spazio dei dati che esprima il più possibile la varianza dei dati. Proiettare i dati dal loro spazio ad N dimensioni ad uno spazio ad M dimensioni (con M<<N), che spesso mantiene la maggior parte dell’informazione contenuta nei dati stessi, può significareuna grossa riduzione nella mole dei dati e quindi una maggiore faciltà di costruzione di gruppi di dati. La scelta delle componenti principali viene effettuata nel seguente modo: la prima viene scelta nella direzione di massima varianza dei dati, la seconda deve appartenere al sottospazio perpendicolare al primo nella direzione di massima varianza, in generale la direzione della k-esima componente coinciderà con la direzione dell’autovettore corrispondente al k-esimo autovalore più grande nella matrice delle covarianze. Nel caso di dati a media nulla tale matrice coincide con la matrice C di correlazione precedentemente considerata. In questo caso si è visto che la direzione di massima varianza non vincolata e quindi la prima componente principale, corrisponde con la direzione dell’autovettore relativo al massimo autovalore della C. Per verificare il corrispondente risultato per la k-esima componente principale si consideri che la varianza dei dati lungo la direzione di un vettore unitario u è data da: sx2 = <(xTu)2> = <uTxxTu> = uTCu = aaua2. Ordinando gli autovalori di C in modo che 1 2.... N con 1 = max , assumendo che le prime k-1 componenti principali coincidano con i primi k-1 autovettori la k-esima componente principale deve essere perpendicolare a queste direzioni quindi le sue prime (k-1) componenti debbono essere nulle (u1=u2=...=uk-1=0). Essendo inoltre su2 = aaua2 massimizzare con |u| =1 implica uj=1 se j=k uj=0 se jk. Quindi la k-esima componente principale si trova lungo il k-esimo autovettore e la varianza su2 è uguale a k quando la direzione di u è quella della k-esima componente. ANALISI DELLE COMPONENTI PRINCIPALI MULTIPLE Le componenti principali possono essere estratte attraverso una rete feed-forward lineare con M unità di uscita in cui i pesi possono essere aggiornati con le seguenti regole Regola di Oja V1 Vi-1 Vi Dwij= hVi( xi – k wkjVk ) k=1,..., M wij xj Regola di Sanger Dwij= hVi( xi – k wkjVk ) k=1,...,i Per entrambe le regole i vettori convergono a vettori normalizzati ortogonali. In particolare la regola di Sanger fornisce le M componenti principali in ordine. La regola di Oja per M unità converge ad M vettori peso che definiscono lo stesso sottospazio formato di primi M autovettori ma non corrispondono alle direzioni degli autovettori stessi. VN Vi+1 V1 Vi-1 Vi wij xj APPRENDIMENTO COMPETITIVO Nelle reti ad apprendimento competitivo è attiva una sola unità di uscita alla volta e le differenti unità di uscita competono fra loro per diventare l’unità attiva. Scopo di tali rete è quello della classificazione o raggruppamento dei dati: ingressi simili devono essere classificati come appartenenti alla stessa categoria. Un esempio di rete per l’apprendimento competitivo con due unità di uscita e cinque in ingresso è riportata in figura. Le frecce nere rappresentano connesioni eccitatorie, quelle colorate connessioni inibitorie. O1 O2 RETI AD APPRENDIMENTO COMPETITIVO SEMPLICE Tali reti sono costituite sono costituite da un solo strato di unità di uscita Oi completamente connesse ad un insieme di ingressi xj con pesi wij. Ingressi ed uscite sono in generale a valori binari. Una sola unità di uscita alla volta diviene attiva ed è normalmente quella con l’ingresso maggiore: hi j w x j wiT x wiT* x wiT x ij Definisce l’unità vincente i* con Oi*=1 x1 x2 x3 x4 x5 RETI AD APPRENDIMENTO COMPETITIVO SEMPLICE Se il vettore dei pesi relativo ad ogni singola unità di uscita è normalizzato (|wi|=1) il prodotto w iT x corrisponde alla componente di x lungo la direzione definita da wi, per cui l’unità vincitrice risulta essere quella con vettore dei pesi wi più vicino ad x. Per realizzare il fatto che una sola unità di uscita si attiva ogni volta si può, nel caso di simulazione su calcolatore, individuare semplicemente il massimo valore di hi. In una rete reale si possono realizzare delle connessioni inibitorie fra le unità di uscita (inibizione laterale) e per ciascuna uscita una connessione eccitatoria su sè stessa. I pesi delle connessioni laterali e le funzioni di attivazione debbono essere scelti opportunamente per evitare oscillazioni. L’aggiornamento dei pesi viene effettuato nel seguente modo: I pesi vengono inizializzati a piccoli valori casuali evitando ogni simmetria.Le configurazioni di ingresso possono essere presentate in modo casuale, a turno,oppure secondo una distribuzione di probabilità P(x). Per ogni ingresso si determina l’unità vincitrice e si aggiornano I pesi relativi alla sola unità vinncente, la regola generalmente utilizzata per l’aggiornamento è la regola standard: Dw i* j h ( x j w i* j ) Dw i* j hO i ( x j w i* j ) In questa seconda forma valida per ogni i. Infatti l’uscita Oi è uguale ad uno solo per l’unità vincitrice e zero per tutte le altre. RETI AD APPRENDIMENTO COMPETITIVO SEMPLICE Si può verificare, applicando la regola standard che alcune unità di uscita non vengano mai attivate (unità morte). Ciò avviene quando i vettori peso relativi a tali unità sono lontani da ogni ingresso. Si può superare tale inconveniente in vari modi: 1.Si inizializzano i pesi a campioni presi dall’ingresso in modo che tutti i vettori peso si trovino nel dominio corretto. 2.Si aggiornano anche i pesi delle unità perdenti con un tasso di apprendimento h più basso. 3.Nel caso di unità disposte secondo una geometria si aggiornano i pesi dei perdenti vicini (reti di Kohonen) 4.Gli ingressi vengono aumentati gradualmente secondo la a x + (1-a)n con n vettore costante a cui vengono inizializzati tutti i pesi e a che varia da 0 a 1. Al variare di a fra 0 e 1 gli ingressi si allontanano da n portandosi dietro i relativi pesi. 5.Si può sottrarre un soglia i da hi in modo da facilitare la vincita delle unità perdenti. La regola standard può essere associata alla minimizzazione della funzione costo: E ( w ij ) 1 1 M i ( x j w ij ) x w i* 2 i , j , 2 M i 1 i i*( ) M i 0 altrimenti Applicando il gradiente alla funzione costo si ottiene : Δw ij h M i ( x j w ij ) RETI AD APPRENDIMENTO COMPETITIVO Reti di Kohonen Le reti di Kohonen si applicano a strutture delle unità di uscita a geometria piana o rettilinea senza connessioni laterali fra le unità stesse e completamente connesse agli ingressi. L’unità vincente è quella per cui |wi*-x| |wi-x| i L’aggiornamento dei pesi avviene secondo la regola: Dwij = hL(i,i*)(xj-wij) Dove L(i,i*) (Funzione di vicinato)=1 per i=i* e diminuisce con la distanza |ri-ri*| 1 2 L ( i , i*) e 2s ri ri* Dove s diminuisce come 1/t t passo di apprendimento. Anche il tasso di apprendimento h viene preso variabile h t -a 0< a 1 ANALISI DELLE COMPONENTI INDIPENDENTI L’Analisi delle componenti indipendenti o Independent component analysis (ICA) è una tecnica statistica e computazionale per per mettere in evidenza componenti nascoste in insiemi di variabili, misure o segnali casuali. ICA definisce un modello di generazione per i dati osservati. Nel modellosi assume che i dati o le variabili misurate risultino da una combinazione lineare di alcune variabili nascoste e che anche il sistema che realizza la combinazione dei dati sia incognito.Si assume inoltre che le variabili nascoste siano non gaussiane e mutuamente indipendenti, e sono chiamate componenti independenti dei dati (o anche sorgenti o fattori) e possono essere ricavate tramite l’ICA. I dati analizzati possono in generale derivare da differenti settori applicativi quali: immagini, data base di documenti, indicatori economici, misure psicometriche, riconoscimento del parlato, potenziali elettroencefalografici, segnali radio o serie temporali derivanti da misure su processi industriali. Il metodo ICA presenta comunque alcune ambiguità. Infatti non è possibile con tale metodo determinare le varianze delle componenti indipendenti e tali componenti non sono ricavabili in ordine. ANALISI DELLE COMPONENTI INDIPENDENTI Si supponga di osservare n combinazioni lineari di n variabili indipendenti: xj = aj1 s1+ aj2 s2 +...+ ajn sn per ogni j x=As s=Wx con W=A-1 Come è intuibile il problema di trovare s essendo nota solo la x è un problema che non ha una unica soluzione se non vengono fatte alcune ipotesi. Si assume quindi che le xj ed sk siano variabili aleatorie che godono delle seguenti proprietà: •Le xj ed sk hanno valore medio nullo e varianza unitaria •Le sk sono statisticamente indipendenti la funzione densità di probabilità congiunta p(sisk)=p(si)p(sk) da cui deriva che, date due funzioni h(si) e g(sk), E{h(si)g(sk)}= E{h(si)}+ E{g(sk)} •Le componenti indipendenti non devono essere gaussiane. ANALISI DELLE COMPONENTI INDIPENDENTI Massimizzazione dell’informazione Un modo di ricavare le componenti indipendenti fa riferimento alla massimizzazione della mutua informazione che l’uscita della rete neurale, che realizza l’algoritmo, contiene rispetto all’ingresso. Considerando quindi la s=Wx massimizzare la mutua informazione corrisponde a massimizzare la: I(s,x) = H(s) –H(s |x) con H(s) = - p(s)log(p(s))ds entropia dell’uscita H(s|x) = - p(s|x)log(p(s|x))ds entropia dell’uscita non derivante dall’ingresso. In assenza di rumore la trasformazione da x ad s è deterministica e la H(s|x) assume il valore minimo cioè -. La derivata della mutua informazione rispetto al parametro w coinvolto dalla trasformazione da x ad s fornisce: I(s,x)/ w = H(s)/ w+ H(s|x)/ w poichè la H(s|x) non dipende da w. Infatti se si considera che la s = g(x) + n con g trasformazione invertibile ed n rumore additivo si ha H(s|x)=H(n) da cui H(n)/ w = 0 . Per trasformazioni deterministiche continue ed invertibili la mutua informazione fra ingresso e uscita può essere resa massima massimizzando solo l’entropia dell’uscita. ANALISI DELLE COMPONENTI INDIPENDENTI Massimizzazione dell’informazione – Un solo ingresso ed una sola uscita Si assuma che l’uscita s dipenda dall’ingresso secondo la funzione s = g(x). Nel caso in cui la funzione g(x) sia monotona crescente o decrescente, abbia quindi un’unica funzione inversa la funzione densità di probabilità dell’uscita può essere scritta in funzione della densità di probabilità dell’ingresso secondo la ps(s) = px(x)/ |s/ x| e la H(s) = - ps(s)log(ps(s))ds = -E[lnps(s)] = E[ ln |s/ x| ] – E[lnpx(x)] Il secondo termine corrisponde all’entropia di x che rimane inalterata al variare del parametro w che determina la g(x). Quindi per massimizzare l’entropia di s è sufficiente massimizzare solo il primo termine. Da cui la regola di apprendimento risulta: Dw H/ w = (ln |s/ x| )/ w = (s/ x) -1 (s/ x )/ w Nel caso in cui la g(x) è la funzione logistica s= 1/(1+e-u) Dw 1/w + x(1-2s) u=wx *+ w0 si ottiene : Dw0 1-2s Nel caso di ingressi ed uscite multidimensionali la funzione densità di probabilità di s può essere scritta come ps(s) = px(x)/| J | dove | J | è il valore assoluto del determinante dello Jacobiano della trasformazione g(x). RIFERIMENTI BIBLIOGRAFICI Gli argomenti relativi alle lezioni 1 – 3 possono essere approfonditi sul testo: BOSIC: DIGITAL AND KALMAN FILTERING Gli argomenti relativi alle lezioni 4 – 8 possono essere approfonditi sul testo: DOMENICONI-JORDAN: DISCORSI SULLE RETI NEURALI E APPRENDIMENTO Entrambi i testi sono in visione presso il Dip. Informatica e Sistemistica.