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 – (caTaca)ca –(eTaca)ca -(caTCe)ca – (caTaca)e+O(e2) =
= aca+Ce –aca-a(eTca)ca –(eTCca)ca –ae+ O(e2) = Ce+2a (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 -2a (eTca) cbTca –a cbTe = b cbT e -2a (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 = aaua2.
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 = aaua2 massimizzare con |u| =1 implica uj=1 se j=k uj=0 se
jk. 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.
Scarica

Lezione 8