Reti Neurali La Teoria - cirlab.det.unifi.itcirlab.det.unifi.it/ComplementiET/NN1_2013-14.pdf ·...
Transcript of Reti Neurali La Teoria - cirlab.det.unifi.itcirlab.det.unifi.it/ComplementiET/NN1_2013-14.pdf ·...
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti NeuraliReti Neurali
La TeoriaLa Teoria
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
L’intelligenza “naturale” (?)
Definizioni:Definizioni:
L'intelligenza è quella facoltà mentale che consente ad un soggetto (umano o animale) di interagire favorevolmente con la realtà; essa implica le capacità di comprendere la realtà, le idee e il linguaggio, di ragionare, di apprendere, di apprendere dall'esperienza, di pianificare e di effettuare efficacemente il problem solving.
(Wikipedia)
The Intelligence is a very general mental capability that, among other things, involves the ability to reason, plan, solve problems, think abstractly, comprehend complex ideas, learn quickly and learn from experience. It is not merely book learning, a narrow academic skill, or test-taking smarts. Rather, it reflects a broader and deeper capability for comprehending our surroundings, "catching on", "making sense" of things, or "figuring out" what to do.
(Mainstream Science on Intelligence on Wall Street Journal)
L'intelligenza può essere rappresentata come l’insieme costituito dalla capacità di memorizzare dati e informazioni e da quella di elaborarle, acquisendo la possibilità di operare su di esse per mezzo di funzionali sempre più complessi.
(?)
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
L’intelligenza “naturale” può diventare “artificiale”?… e come?
AI debole: AI debole: le macchine possono agire in modo intelligente?le macchine possono agire in modo intelligente?•• SSìì, lo fanno gi, lo fanno giàà, hanno superato il , hanno superato il ““ test di test di TuringTuring”” (1)(1)!!•• NoNo, partendo dal teorema di incompletezza di , partendo dal teorema di incompletezza di GGöödeldel (nessuna (nessuna ““ matematicamatematica”” consente consente
di descrivere in modo completo e coerente la realtdi descrivere in modo completo e coerente la realtàà))(2)(2), Lucas e , Lucas e SayreSayresintetizzano in sintetizzano in sostanza che le macchine restano comunque inferiori allsostanza che le macchine restano comunque inferiori all’’ uomo e che uomo e che ““ pensare di pensare di perseguire lperseguire l’’ AI allAI all’’ interno del culto del interno del culto del computazionalismocomputazionalismonon ha la minima non ha la minima possibilitpossibilitàà di successodi successo”” (3)(3)..
(1)Alan M. Turing,Computing machinery and intelligence, Mind, Vol. 59, pp. 433-460, 1950.(2)Kurt Gödel,Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme, I.Monatshefte für Mathematik und Physik, 38 (1931), pp. 173-198. (3) K. Sayre, Three more flaws in the computational model,Annual Conference of the APA (Central Division), Chicago, Illinois, 1993(4)Hans Moravec, Mind Children, The future of Robot and Human Intelligence, Harvard University Press, Cambridge, Ma, 1988.(5)Searle J. R.,Il mistero della coscienza, Raffaello Corina Editore, Milano 2004
AI forte: AI forte: le macchine possono pensare?le macchine possono pensare?•• SSìì, l, l’’ esperimento della protesi cerebrale di H. esperimento della protesi cerebrale di H. MoravecMoraveclo suggeriscelo suggerisce(4)(4)..•• NoNo, come ricorda John , come ricorda John SearleSearle, filosofo del linguaggio e della mente, , filosofo del linguaggio e della mente, ““ Nessuno si Nessuno si
sogna di pensare che la simulazione al computer di una tempesta sogna di pensare che la simulazione al computer di una tempesta ci debba lasciare ci debba lasciare fradicifradici…… perchperchéé mai chiunque, sano di mente, dovrebbe supporre che una mai chiunque, sano di mente, dovrebbe supporre che una simulazione al computer di processi mentali debba possedere realsimulazione al computer di processi mentali debba possedere realmente dei processi mente dei processi mentali?mentali?”” (5)(5)..
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Quali sono le origini dell’intelligenza artificiale?… e degli strumenti per “misurarla”?
Macchina di Macchina di TuringTuring: : macchina a stati finiti costituita da un insieme di regole che nmacchina a stati finiti costituita da un insieme di regole che ne costituiscono il comportamento e costituiscono il comportamento su un nastro in/out di lunghezza infinita. Il comportamento dellsu un nastro in/out di lunghezza infinita. Il comportamento della a MdTMdT viene programmato definendo un insieme di viene programmato definendo un insieme di regole a quintuple: (regole a quintuple: (stato_intstato_intattuale sia, attuale sia, simb_lettosimb_lettoslsl, prox_stato_int(sia,, prox_stato_int(sia,slsl), ), simb_scrittosimb_scritto(sia,(sia,slsl), direzione(sia,), direzione(sia,slsl)).)).La La MdTMdT può risolvere tutti i problemi può risolvere tutti i problemi ““ computabilicomputabili”” ..
Test di Test di TuringTuring: : una macchina sostiene una conversazione con un interlocutore umauna macchina sostiene una conversazione con un interlocutore umano per 5 minuti. Lno per 5 minuti. L’’ umano deve umano deve dire se ha parlato con una macchina o con un altro umano. Il tesdire se ha parlato con una macchina o con un altro umano. Il test t èè superato (della macchina!) se lsuperato (della macchina!) se l’’ umano si sbaglia umano si sbaglia almeno 3 volte su 10.almeno 3 volte su 10.
11°° Teorema di Teorema di GodelGodel (di (di ““ incompletezzaincompletezza”” )): : Dato un sistema formale coerente (privo di contraddizioni), fondDato un sistema formale coerente (privo di contraddizioni), fondato su ato su assiomi e che descriva in modo completo unassiomi e che descriva in modo completo un’’ aritmetica, aritmetica, èè sempre possibile trovare una proposizione vera (ciosempre possibile trovare una proposizione vera (cioèèsintatticamente corretta) che non può essere dimostrata nsintatticamente corretta) che non può essere dimostrata néé confutata allconfutata all’’ interno dello stesso sistema.interno dello stesso sistema.
22°° Teorema di Teorema di GodelGodel: : Sia T una teoria matematica sufficientemente espressiva da conteSia T una teoria matematica sufficientemente espressiva da contenere tutta lnere tutta l’’ aritmetica. Se T aritmetica. Se T èècoerente non coerente non èè possibile provare la coerenza di T allpossibile provare la coerenza di T all’’ interno di T!interno di T!
AwarenessAwareness(Consapevolezza)(Consapevolezza): : Insieme di attivitInsieme di attivitààintegrate che costituiscono lintegrate che costituiscono l’’ abilitabilitàà di di ““ percepirepercepire””e e ““ reagirereagire”” in un certo modo a ciò che si in un certo modo a ciò che si percepisce; una sorta di percepisce; una sorta di ““ istintoistinto”” che che èè proprio di proprio di tutti gli individui tutti gli individui ““ intelligentiintelligenti”” ..
ConsciousnessConsciousness(Coscienza)(Coscienza): : SelfSelf--AwarenessAwareness. Un . Un ““ esecutivo centraleesecutivo centrale”” che controlla, coordina e che controlla, coordina e monitora tutti i processi, secondo un piano e con monitora tutti i processi, secondo un piano e con una motivazione che costituisce in ultima istanza una motivazione che costituisce in ultima istanza unun’’ esperienza cognitiva esperienza cognitiva autoreferenteautoreferente..
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
AI – Tecniche di intelligenza artificiale
•• Reti neuraliReti neurali feedforwardfeedforward feedbackfeedback
•• Sistemi a logica Sistemi a logica fuzzyfuzzy
•• Sistemi evolutiviSistemi evolutivi Algoritmi geneticiAlgoritmi genetici Programmazione evolutivaProgrammazione evolutiva Strategie evolutiveStrategie evolutive Particle Swarm OptimizationParticle Swarm Optimization(Teoria degli sciami)(Teoria degli sciami) AntAnt ColonyColonyOptimizationOptimizationTheoryTheory
•• Sistemi ibridi: combinazione dei precedentiSistemi ibridi: combinazione dei precedenti
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
o Sistemi ad elaborazione parallela e distribuita;
o Prospettiva neuro-biologica e prospettiva tecnologico-ingegneristica
o Sistemi che non possono essere programmati;
o Sistemi che apprendono da esempi: Possono contribuire alla risoluzione di problemi complessi data-driven;
Possono consentire la simulazione di processi percettivi (localizzare un oggetto
in una scena, riconoscere la voce in ordinarie condizioni reali, prendere decisioni
basate sul “senso comune”);
Possono “classificare” elementi all’interno di categorie funzionali anche non
separabili linearmente;
Possono “riprodurre” il comportamento di sistemi, dispositivi, elementi anche
molto complessi in tempo reale.
AI – Alcuni aspetti comuni
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Testi di riferimento
J. M. Zurada, “Introduction to Artificial Neural Systems” , Boston, MA, PWS Publishing, 1992,
A. Cichocki, R. Unbehauen, “Neural Networks for Optimization and Signal Processing”, Wiley, 1993, ISBN: 0-471-93010-5;
S.Haykin, “Neural Networks: A Comprehensive Foundation”, 2/e, Prentice Hall, 1999, ISBN: 0-13-273350-1;
S.Russell, P.Norvig, “Intelligenza artificiale: Un approccio moderno”, 2/e, Pearson It. Prentice Hall, 2005, ISBN: 88-7192-2228-X;
Appunti reperibili al sito: http:/www.cirlab.unifi.it/ComplementiET;
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
La legge ΨΨΨΨ(e(t)) non è nota ovvero è troppo complessa da individuare o da utilizzare, è valida in un intervallo molto ristretto, è influenzata pesantemente dalla presenza di rumore
E’ possibile utilizzare un approssimatore universale!
Reti Neurali come approssimatori universali
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Neurone biologico e cervello umano, 1
Dendrite: ramificazione del segnale di inputAssone: ramificazione del segnale di output, lungh. 0.1 µm – 1 m
diam. 100 nm (mammiferi) – 1 mm (calamari)Sinapsi: connessione fra dendrite e assone (neurotrasmettitore)Soma: corpo cellulare del neurone, dim. 5 – 100 µm (diametro);
dotato di membrana cellulare di ~5 nm di spessore.
Spike di tensione del neurone attivato
Ca. il 10% delle cellule cerebrali è costituto da neuroni, il restante 90% da cellule gliali (la neuroglia) di supporto e protezione
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Neurone biologico e cervello umano, 2
1. I canali ionici del sodio (Na+) si aprono in conseguenza a uno stimolo elettrico d’ingresso che supera un dato valore di soglia (~50 mV);
2. Gli ioni Na+ entrando nel nucleo inducono un rapido aumento di potenziale (uno “spike”) di ca. 35 mV;
3. I canali del potassio (K+) si aprono in uscita e (con tempi dell’ordine del ms) si ritorna al potenziale di riposo;
4. Segue un periodo di refrattarietà “assoluta” (durante la ripolarizzazione del nucleo) in cui il neurone non si riattiva in nessun caso (qualsiasi sia l’entità di un eventuale stimolo di ingresso), e un periodo di refrattarietà“relativa” in cui può riattivarsi ad una soglia più elevata. Nel complesso la massima velocità di successione di impulsi distinti può arrivare a ca. 300 Hz;
5. Il potenziale di azione si propaga lungo l’assone fino alle sinapsi (con velocità di ca. 10 m/s). All’interno della capsula sinaptica raggiunta dall’impulso vengono rilasciati neurotrasmettitori, che possono essere di tipo eccitatorio (principalmente Acido Glutammico C5H3NO4
(-)), oppure di tipo inibitorio (principalmente Acido Amminobutirrico C4H9NO2
(+)). Questi si legano a ricettori nella membrana post-sinaptica, causando una corrente ionica di intensità e segno mutuati dall’“efficacia”della sinapsi stessa (cioè dal tipo e dall’entità dei neurotrasmettitori eccitati, chiamato anche “peso” della sinapsi);
6. Il potenziale post-sinaptico causato dalle correnti ioniche nella dendriti si somma agli altri per presentarsi all’ingresso del “soma” neuronale e può quindi essere di tipo eccitatorio (di segno negativo, la membrana è depolarizzata, i canali si aprono e si riparte dalla fase 1, oppure inibitorio (tendono a rinforzare lo stato di “riposo” o “inibizione” del neurone).
Sequenza di attivazione del neurone
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Neurone biologico (assone gigante del calamaro): modello circuitale di Hodgkin-Huxley del comportamento della membrana cellulare del
neurone in risposta a impulsi di eccitazione per la generazione di potenziali d’azione
gl: conduttanza di perdita (presenza di vari ioni);gNa: conduttanza relativa ai canali del Sodio (variabile, ~0 a riposo);gK: conduttanza relativa ai canali del Potassio (variabile, ~0 a riposo);I(t): corrente di ingresso (di eccitazione);ENa: potenziale di inversione del canale del Sodio (115 mV);EK: potenziale di inversione del canale del Potassio (12 mV);El: potenziale relativo alla presenza di altri ioni (10.6 mV);C: condensatore che modella il doppio strato di lipidi che costituiscono la membrana.
( ) ( ) ( )KmKNamNaimlm EVgEVgEVgtI
dt
dVC +−−−−−= )(L’equazione che regola il comportamento del modello è:
4
3
)(
)()(
tnGg
thtmGg
Gg
KK
NaNa
Ll
==
= GNa = 120 mS/cm2;
GK = 36 mS/cm2;
Gl = 0.3 mS/cm2;
m, h ed n sono variabili che dipendono dal tempo e dal potenziale Vm. Se risolviamo (con metodi iterativi) le equazioni differenziali date, si osserva per la variabile Vm un andamento analogo allo spike dei neuroni biologici.)(
)( ;
)(
)( ;
)(
)(
mn
m
mh
m
mm
m
V
nVn
dt
dn
V
hVh
dt
dh
V
mVm
dt
dm
τττ−
=−
=−
= ∞∞∞
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale artificiale e cervello umano(un confronto plausibile? 1)
Intelligenza naturaleIntelligenza naturale
1011 neuroni
103 – 104 sinapsi/neurone
102 op/sec/neurone = 100 Hz
40000 neuroni/mm3
~1 cm lunghezza dendritica
40 – 85 mV potenziale d’attivazione
1 – 10 KΩ resistenza citoplasma neuronico
2.5 · 10-9 W dissip. pot. per n.
10-16 J dissip. energia per neur. per c. stato
Intelligenza artificialeIntelligenza artificiale
107 neuroni (transistori)
2 – 3 sinapsi/neurone (colleg./trans.)
5 · 108 op/sec/neurone = 500 MHz
400 neuroni/mm3
~1 µm lunghezza dendritica (del colleg.)
~ mV potenziale d’attivazione
--------------------
2.5 · 10-4 W dissip. pot. per n.
10-11 J dissip. energia per neur. per c. stato
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale artificiale e cervello umano (un confronto plausibile? 2)
CapacitCapacitàà elaborativaelaborativa
Intelligenza naturaleIntelligenza naturale1011 neuroni x 103 sinapsi x 102 operazioni/sec = 1016 bit/sec
Intelligenza artificialeIntelligenza artificiale107 transistori x 2 sinapsi x 5·108 operazioni/sec = 1016 bit/sec
Potenza assorbitaPotenza assorbita
Intelligenza naturaleIntelligenza naturale10-16 J/c.stato x 1011 neuroni x 103 sinapsi x 102 operazioni/sec = 1 W
Intelligenza artificialeIntelligenza artificiale10-7 J/c.stato x 107 transistori x 2 sinapsi x 5·108 operazioni/sec = 109 W = 1 GW
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale artificiale e cervello umano dove sono i margini di miglioramento?
Effetto
Aumentare la “densità neuronale”
Aumentare lo spessore degli assoni
Aumentare le connessioni
Aumentare le dimensioni
Consumo di Energia
Sensibilità al Rumore
Capacità di elaborazione (Informazione)
Azione
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali artificiali - Applicazioni tipiche
Sistemi di filtraggio del segnale;
Sistemi di controllo intelligente;
Previsione (forecasting) di dati meteorologici e ambientali;
Riconoscimento;
Sistemi di allarme e prevenzione;
Problemi di inversione;
Problemi di classificazione;
Robotica;
Smart Grid.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti Neurali artificialiNeurone elementare a Perceptron (Warren McCulloch e Walter Pitts, 1943)
)+(= bwoi 0xw tiψ
∑=
==iN
jjjii xwnet
1,xw t
i
• Oi Uscita dell’i-esimo neurone• ψ Funzione di attivazione• wi vettore dei pesi (wi,j componenti del vettore)• x vettore degli ingressi (xj componenti del vettore)
• b input fisso del neurone;
• Ni Numero di elementi del vettore di ingresso
Ingresso “netto” al neurone
b = +1 → w0 = bias
b = -1 → w0 = threshold (soglia)
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti Neurali artificiali - Funzione di attivazione ψψψψ
)+(= bwoi 0xw tiψPuò avere ingressi e generare uscite di tipo:
• Analogico reale• Analogico complesso Digitale
Può essere di tipo:• Lineare• Non lineare
• A soglia• PWL• Funzione segno• Sigmoidale unipolare• Sigmoidale bipolare (tangente iperbolica)
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Neurone elementare analogico, vari tipi di funzioni di attivazione
11
2 −+
=)(=⋅− xw
ti t
iexw
λψio
xw
ti t
iexw
⋅−+=)(=
λψ
1
1o i
non lineare analogico a
sigmoide bipolarenon lineare analogico a
sigmoide unipolare
xwkxw ti
ti ⋅=)(= ψio
lineare
<<−
≥
−≤
=)(=
2/11/2 if
2/1 if 1
2/1 if 0
o i
xwxw
xw
xw
xwti
ti
ti
ti
tiψ
non lineare PWL (piece/wise linear) non lineare a funzione segno (hard limiter)
=
>
<−
=)(=
0 if 0
0 if 1
0 if 1
o i
xw
xw
xw
xwti
ti
ti
tiψ
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti Neurali artificiali - Definizione
In base al tipo di “stratificazione”dei neuroni
• Non-stratificate (Non-Layered)
• Stratificate (Layered)• A singolo strato (Single-Layer NN)• Multistrato (Multi-Layer NN)
Una rete neurale è un insieme connesso (in punti chiamati “nodi” della rete) costituito da unità di elaborazione fondamentali (neuroni artificiali) che sono ispirate al neurone biologico. La capacitàdi una rete di elaborare informazione è racchiusa nell'entità delle connessioni inter-nodali (pesi sinaptici), che vengono generate da un processo adattativo (apprendimento) a partire da un insieme di campioni di addestramento.
Reti Neurali artificiali - Topologie
In base al tipo di “flusso”dei dati
• Statiche (Feed-forward NN)
• Dinamiche (Recurrent NN)
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali: apprendimento
Apprendimento non supervisionatoApprendimento non supervisionato(Reti di Hopfield, algoritmi di Hebbian)
LL’’ apprendimento si svolge senza apprendimento si svolge senza ““ target target signalsignal”” noto a priori. La rete provvede ad noto a priori. La rete provvede ad organizzare in categorie (a organizzare in categorie (a ““ classificareclassificare”” ) i ) i segnali o gli elementi che costituiscono gli segnali o gli elementi che costituiscono gli ingressi.ingressi.
Apprendimento con rinforzo Apprendimento con rinforzo (Sistemi evolutivi, Ant Colony Optimization, PSO, GA)
LL’’ apprendimento si svolge premiando la apprendimento si svolge premiando la configurazione del sistema che meglio si configurazione del sistema che meglio si ““ adattaadatta”” ad un obiettivo (o ad un obiettivo (o segnale di segnale di rinforzorinforzo).).
Processo che costituisce il cuore della rete neurale e consiste nella sua capacità di acquisire conoscenza partendo dagli esempi relativi, dalle misure, dall'osservazione dei fenomeni da modellare (in generale cioè “dall'esperienza”).
Apprendimento supervisionato:Apprendimento supervisionato:(Delta learning, backpropagation, algoritmi di Boltzmann, reti rbf)
LL’’ apprendimento si svolge confrontando la apprendimento si svolge confrontando la risposta ottenuta con quella risposta ottenuta con quella ““ desideratadesiderata”” , , un un ““ target target signalsignal”” noto a priori.noto a priori.
Apprendimento Apprendimento autoassociativoautoassociativo(Reti per PCA lineare, reti neurali “bottleneck”)
I dati che costituiscono il I dati che costituiscono il ““ target target signalsignal”” e e quelli che costituiscono lquelli che costituiscono l’’ ingresso in questo ingresso in questo caso coincidono, mentre lcaso coincidono, mentre l’’ uscita uscita èè prelevata prelevata altrove.altrove.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale feedforward a singolo strato per apprendimento supervisionato
Rete costituita da uno strato di ingresso (vettore x) e un singolo neurone di uscita, i cui pesi vengono “corretti” ad ogni passo di un processo di apprendimento che cerca di minimizzare l'errore globale confrontando l'uscita desiderata t con quella generata dalla rete y = F(Net), dove Net = wt·x + b. L'aggiustamento avviene secondo la formula ∆wi = η·δ·xi, dove η > 0 è la costante di apprendimento, δ = t – yè l'errore al passo attuale.
Perceptron net (Rosenblatt, 1958)
Activation Function:
Perceptron learning rule:∆wi = η·(t – y)·xi
≥+<−
=)(=0et if 1
0et if 1
N
NNetFy NetNetFy =)(=
Adaline net (Widrow-Hoff, 1960)
Activation Function:
Delta learning rule:∆wi = η·(t – Net)·xi
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale feedforward a singolo strato per apprendimento supervisionato
Perceptron net (Rosenblatt, 1958)In questo caso viene garantito che la rete classifichi correttamente due classi di pattern di ingresso linearmente separabili.L'algoritmo di apprendimento converge cioè in un numero finito di passi posizionando una “superficie decisionale” in forma di iperpiano fra le due classi
Adaline net (Widrow-Hoff, 1960)In questo caso la convergenza della rete non richiede la “separabilità lineare” fra le classi (anche se classifica in modo corretto solo pattern linearmente separabili). L'idea dell'algoritmo si basa sulla regola LMS (Least MeanSquare), di addestrare la rete fino a minimizzare l'errore quadratico medio:
con il metodo del gradiente, aggiustando cioè i pesi secondo la formula:
( )∑=
−=P
p
pp NettwE1
2)()(
2
1)(
ii w
Ew
∂∂−=∆ η
Algoritmo di apprendimento(valido per entrambe le tipologie)
Dato un insieme (x(p), t(p)) di coppie di dati di apprendimento (training patterns) 1. Inizializzare i pesi wi, i=1, ...,n in modo casuale;2. DO
FOR p = 1, ..., ny(p) = F(Net(p));δ(p) = t(p) – y(p);wi = wi + η·δ(p)·xi
(p);WHILE (stop condition)
Definizione – Separabilità lineare
Due insiemi di elementi (pattern) A e B in uno spazio n-dimensionale sono detti “linearmente separabili” se esistono n+1 numeri reali
w1, …, wn+1, tali che ogni elemento (x1, …, xn) ∈ A soddisfa e ogni elemento (x1, …, xn) ∈ B soddisfa ∑=
+≥n
inii wxw
11 ∑
=+<
n
inii wxw
11
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale feedforward singolo strato Delta learning rule per funzioni di apprendimento sigmoidali, 1
La rete “apprende” innescando un processo iterativo di correzione dei pesi:
∆∆∆∆w(t) = η·r[w(t), x(t), d(t)] ·x(t)
che è proporzionale agli ingressi e ad un “segnale di apprendimento”r, con lo scopo di minimizzare un segnale di errore (energy function):
( ) ( )2
i2
2
1
2
1 )(−=−= xw tdydE ψ
Il vettore gradiente dell’errore quadratico:
( ) ttyd xxwE ⋅)(⋅−−=∇ 'ψHa componenti:
( ) 'j tj
j j j
netE E yd y x
w y net wψ
∂∂ ∂ ∂= = − − ⋅ ( ) ⋅∂ ∂ ∂ ∂
w x
E per il metodo della discesa del gradiente:
( ) ttyd xxwEw ⋅)(⋅−=∇−=∆ 'ψηηcon singole componenti:
( ) njxydw jt
j ,...,1 ' =⋅)(⋅−=∆ xwψη
−=)(−=+
−=)(−)(=+
==)(
⋅−
⋅−
⋅−
⋅−
bipolare sigm. f. )1(2
1)1(
2
1
)1(
2
unipolare sigm. f. )1()1()1(
)('
22
2
2
ye
e
yye
e
d
d
t
tt
tt
t
t
t
t
λψλλ
λψλψλψψ
λ
λ
λ
λ
xw
xwxw
xwxw
xw
xw
xw
xw
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale feedforward multistrato (MLP)apprendimento backpropagation supervisionato per uscite multiple, 1
• x1, …, xi, …, xN: ingressi della rete (N = n°ingressi);• y1, …, yj, …, yM: uscite intermedie della rete (M = n° neuroni strato nascosto); • w, v: matrici dei pesi;• o1, …, ok, …, oP: uscite della rete (P = n°uscite);• b: bias o soglia• ψ = funzione di attivazione
La rete “apprende” innescando un processo iterativo di correzione dei pesi:
∆∆∆∆w(t) = η·r[w(t), x(t), d(t)] ·x(t)
che è proporzionale agli ingressi e ad un “segnale di apprendimento”r, con lo scopo di minimizzare un segnale di errore (energy function):
( ) ( )∑∑==
)(−=−=P
k
tk
P
kkk dodE
1
2
i1
2
2
1
2
1ywψ
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Topologia neurale feedforward multistratoApprendimento backpropagation supervisionato per uscite multiple, 2
Si applica la stessa regola delta estendendola opportunamente:
( ) Pkodw
E
w
E
w
E ttkkk
kMkkk ,...,1 ',...,,
21
=⋅)(⋅−−=
∂∂
∂∂
∂∂=∇ yywE ψ
)o1(2
1)1(
2
1
)1(
2
)(' 22
2 ktkt
k
tk t
k
tk
e
e
d
d −=)(−=+
==)(⋅−
⋅−
λψλλψψλ
λ
ywyw
ywyw
yw
può essere calcolato, nel caso di funzione di attivazione bipolare sigmoidale:
I pesi sono quindi corretti applicando la relazione precedente con:
da cui si ottiene l’aggiustamento da prescrivere ai pesi:
e quindi ad ogni singolo peso:
( ) )−(⋅−⋅= 212
1kkk oodr λ
( ) ttkkkkk od yywEw ⋅)(⋅−⋅=∇⋅−=∆ 'ψηη
( ) ( ) )(21 12
1 njkkk
(n)kj
(n)kj
(n)kj
)(nkj yoodwwww ⋅−⋅−⋅⋅+=∆+=+ λη
kjkj w
Ew
∂∂−=∆ η
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Topologia neurale feedforward multistratoApprendimento backpropagation supervisionato per uscite multiple, 3
I pesi degli strati nascosti sono corretti col meccanismo della propagazione all’indietro, partendo dalla stessa definizione dell’errore quadratico a più uscite :
per ottenere:
ty
to
xδVV
yδWW
⋅⋅+=
⋅⋅+=+
+
η
η
nn
nn
)()1(
)()1(
[ ]
( ) ( )
( )
1
2
'1
2
1
,..., ,...,
11 1
2
,..., ,...,
11 1
2
t
o o ok oP
ok k k k
t ty y yj yM j y
P
yj j ok kjk
δ δ δ
δ d o o k , ...,P
δ δ δ
δ y δ w j , ...M
λ
λ=
=
= − ⋅ − =
= = ⋅ ⋅
= − ⋅ =∑
o
δ
δ w δ ψ
La formulazione riportata si ottiene partendo dalla derivata dell’errore rispetto ai pesi del primo strato:
( ) ( )∑∑==
)(−=−=P
k
tk
P
kkk dodE
1
2
i1
2
2
1
2
1ywψ
1
( )
( )j
yj jji j ji
N
j ji ii
netE Ex
v net v
net v x
δ
=
∂∂ ∂− = − = ⋅∂ ∂ ∂
=∑
2
1
1(1 )
( ) ( ) 2j
Pj
y j ok kjkj j j
yE Ey w
net y netδ λ δ
=
∂∂ ∂= − = − = −∂ ∂ ∂ ∑
21'( ) (1 )
( ) 2j
j jj
ynet y
netψ λ
∂= = −
∂
[ ]
[ ]
2
1
1 1
1( ) ( )
2
( )( ) ( ) ( ) ( ) '( )
P
k kkj j
P Pk
k k k k k kk kj j
Ed net y
y y
netd o net y d o net
y y
ψ
ψ ψ
=
= =
∂ ∂ = − = • ∂ ∂
∂∂• = − − = − −∂ ∂
∑
∑ ∑
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Topologia neurale feedforward multistratoApprendimento backpropagation supervisionato per uscite multiple, 4
Algoritmo di apprendimento MLPNN a backpropagation
Dato un insieme (x(n), d(n)) di coppie di dati di apprendimento (training patterns) n = 1, …, NP (NP = n° di training patterns):
1. epoch= 0;2. Inizializzare i pesi delle matrici W(0) e V(0), con valori casuali (piccoli);3. DO
epoch = epoch+1;E = 0;FOR n = 1, ..., NP
y(n) = ψ(V·x(n));o(n) = ψ(W·y(n));E = E + ½||d(n) - o(n)||2 ;Calcolare δδδδo e δδδδy come da formule date;Aggiornare i pesi
END FORWHILE ((epochEQNepochMAX) OR (E ≤ Emax))
ty
to
xδVV
yδWW
⋅⋅+=
⋅⋅+=
η
η
N.B.: epochè il passo attuale (l’epoca) del processo di apprendimento; NepochMAX è il massimo numero di passi prefissato; EMAX è il massimo errore (l’obiettivo fissato a priori).
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Topologia neurale feedforward multistratoApprendimento backpropagation supervisionato per uscite multiple, 5
Fra le varie modifiche/migliorie proposte per questa tecnica, quella di maggiore successo è il “metodo del momento”, che ha lo scopo di accelerare la convergenza dell’algoritmo di backpropagation, inserendo nella formula di correzione, una frazione dell’ultima correzione applicata:
)1()()( −⋅+∇⋅−= nnn ∆wE∆w αη
Questo accorgimento, per valori di α compresi fra zero e uno, produce come effetto quello di enfatizzare correzioni nella giusta direzione e correggere quelle in una direzione non ottima, e in definitiva di accelerare la convergenza.L’equazione precedente infatti, se espansa in modo ricorsivo, si traduce in:
la quale converge per valori di α∈[0,1). Inoltre se il termine del gradiente (la derivata parziale) tende a mantenere lo stesso segno su iterazioni consecutive, grazie alla sommatoria, l'aggiornamento avverrà per valori più ampi e quindi tenderà ad accelerare nelle discese. Se però la derivata presenta segni opposti in iterazioni consecutive, la sommatoria tenderà a diminuire l'ampiezza dell'aggiornamento sortendo un effetto stabilizzante delle oscillazioni. L'uso del momento presenta inoltre il vantaggio di ridurre la probabilità che il processo di apprendimento incappi in minimi locali della funzione d'errore.
( ) ( )
0
nn n k n k
k
η α − −
=
= − ∇∑∆w E
Momentum termMomentum term
Un importante risultato relativo alle questo tipo di reti è legato al Th. di Approssimazione Universale di G. Cybenko (1989):
Sia ψ() una funzione continua, limitata, monotonicamentecrescente. Sia In l’ipercubo n-dimensionale [0, 1]n. Lo spazio delle funzioni continue in n sia indicato con C(In). Si può dimostrare che, data una qualunque funzione f ∈ C(In) e una costante ε > 0, esistono sempre un intero N e dei reali αi, bi ∈ R, wi ∈ Rn, con i = 1, …, N, t.c. possiamo definire una forma analitica:
che rappresenta un’approssimazione della funzione f non dipendente da ψ, per la quale cioè|G(x)−f(x)| < ε per tutti gli x ∈ In.
( )1
( )N
Tj j j
j
G x w x bα ψ=
= +∑
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Topologia neurale feedforward Time Delayed (TDNN)
Categoria speciale di reti neurali feedforward che utilizzano usualmente un algoritmo di apprendimento di tipo backpropagation.L’uscita della rete è della forma:uq(k) = F[x(k), x(k − 1), …, x(k − p), u1(k − 1), …, u1(k − m1), u2(k − 1), …, u2(k − m2), …, uQ(k − 1), …, uQ(k − mQ)]
q = 1, …, Q; con Q = numero delle uscite della rete e mq = profondità massima della q-sima uscita retroazionata
Sono reti particolarmente utilizzate nel trattamento dei segnali (filtraggio adattivo) e nel trattamento delle serie temporali (time series forecasting).
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Insiemi di apprendimento
Costituzione di insiemi di apprendimento validi
Eliminazione della ridondanza delle informazioni
Suddivisione dell’insieme di apprendimento in sottoinsiemi di addestramento (training), validazione e controllo (testing)
Codifica e normalizzazione dei dati di ingresso e di uscita
Valutazione dell’errore
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di HopfieldApprendimento non supervisionato, 1
In figura è riportata una generica rete “ricorrente”non-stratificatanella quale ogni nodo (neurone) è collegato a tutti gli altri eccetto se stesso, attraverso connessioni “pesate”.
Ogni neurone si comporta allo stesso tempo da input e da output della rete e può essere in uno stato “attivato” o “disattivato” in senso binario (valori 1, 0 oppure 1, −1). Dopo che la rete è stata addestrata su un dato insieme di patterns, se le viene presentato un nuovo “pattern” (anche degradato), essa evolve fino a uno stato stabile che rappresenta il pattern imparato più prossimo a quello presentato come ingresso e l’uscita è infine rappresentata dall’insieme dei nuovi valori di attivazione dei neuroni. I patterns appresi fungono quindi da “attrattori”.
L’algoritmo di apprendimento (in questo caso è meglio dire di “aggiornamento”) determina come avviene tale processo di “memorizzazione”, mentre la fase di riconoscimento prevede l’evoluzione verso uno stato stabile.Nella versione elaborata da J.J. Hopfield nel 1982 la rete contiene N neuroni connessi fra loro nella modalità descritta sopra, che aggiornano il loro valore y in modo asincrono e indipendente dagli altri neuroni, secondo la regola:
dove:• si(k) è l’ingresso del neurone i-simo all’istante k-simo; i = 1, …, N• yi(k) è l’uscita (lo “stato”) del neurone i-simo all’istante k-simo; i = 1, …, N• wi,j = wj,i è il peso relativo alla connessione i-j (simmetrico); i, j = 1, …, N• θi è la soglia del neurone i-simo; i = 1, …, N
∑≠=
=+N
ijj
jiji wkyks1
,)()1(
<+−>+
=+otherwise )(
)1( if 1
)1( if 1
)1(
ky
ks
ks
ky
i
ii
ii
i θθ
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di HopfieldApprendimento non supervisionato, 2
L’applicazione principale della rete di Hopfield è quella di “memoria associativa”, un sistema in grado cioè di immagazzinare configurazioni di stati che corrispondono a situazioni di minimodella funzione energia:
Per ottenere questo scopo Hopfield ricorre alla regola di Hebb:
dove:P è il numero dei pattern di addestramento• wi,j = wj,i è il peso relativo alla connessione i-j (simmetrico); i, j = 1, …, N• xi
p è l’input del neurone i-simo; p = 1, …, P
≠= ∑
=
otherwise 0
if 1,
P
p
p
j
p
i
ji
jixxw
,1 1 1
1
2
N N N
i j i j i ii j ii j j i
E w y y yθ= = =≠ ≠
= − +∑∑ ∑
Algoritmo di HopfieldApprendimento:
Calcolo della matrice di pesi W = [wi,j] secondo la regola di Hebb;Riconoscimento:
1. Si presenta il pattern x;2. Si calcolano le uscite della rete secondo le formule precedenti;3. Se la rete ha raggiunto uno stato stabile si considera il pattern riconosciuto, altrimenti si ripete dal passo 2;
• L’errore di riconoscimento rimane basso finché il numero di pattern rimane molto inferiore a N;• Si possono “richiamare” perfettamente N/(2·lnN) pattern in cui il numero di elementi diversi non superi ½ N; • Si possono “richiamare” fino a 0.138·N pattern che presentino pochi elementi errati; • Quando si superano questi valori, alcuni pattern possono divenire indistinguibili o metastabili. Quest’ultima condizione si verifica
quando la rete risponde con pattern mai presentati (attrattori spuri).
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di HopfieldApprendimento non supervisionato, 3
Durante la fase di apprendimentoogni nuovo pattern p* = x * i=1,..,N viene memorizzato in un minimo della funzione energia. Se la scomponiamo per evidenziarne il contributo otteniamo:
Dove il primo termine quantifica l’energia dei vari patterns eccetto p*, mentre il secondo rappresenta il contributo di p*. La scelta piùopportuna è quella di ricorrere alla regola di Hebb che massimizza (in valore assoluto) il secondo termine:
* * * *, ,
1 1 1 1
1 1
2 2
N N N Np p
i j i j i j i ji j i ji j j i i j j i
E w y y w x x≠
= = = =≠ ≠ ≠ ≠
= − + −
∑ ∑ ∑ ∑
* * * 2 2,
1 1 1 1
1 1
2 2
N N N N
i j i j i ji j i ji j j i i j j i
w x x x x= = = =≠ ≠ ≠ ≠
=∑ ∑ ∑∑
Durante la fase di riconoscimento, quando un nuovo pattern viene presentato alla rete i pesi non mutano, mentre le uscite variano secondo le formule e il contributo della k-sima unità all’energia complessiva è:
quando questa cambia stato, la conseguente variazione di energia è:
, , ,1 1 1 1
1 1 1
2 2 2
N N N N
i j i j k i k i k k j ji j i ji k j k
E w y y y w y y w y= = = =≠ ≠
= − + − −
∑∑ ∑ ∑
, , ,1 1 1
1
2
N N N
k i k i k k j j k k j ji j j
E y w y y w y y w y= = =
∆ = − ∆ + ∆ = − ∆
∑ ∑ ∑
Se questo termine è > 0, ne consegue che ∆yk > 0, se è< 0, ne consegue che ∆yk < 0, il prodotto è quindi sempre positivo e l’energia subisce sempre una riduzione.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di KohonenApprendimento non supervisionato, 1
La rete di Kohonen è una generica rete neurale “ricorrente”stratificata, ideata da T. Kohonen nel 1982-84 ispirandosi al comportamento biologico della corteccia cerebrale. È chiamata anche Self-Organizing Map(SOM). La corteccia cerebrale del cervello biologico è costituita da sei strati di neuroni di vario tipo. La sua riproduzione artificiale prevede uno o due strati (2D e 3D). In figura la versione 2D. La corteccia c. presenta la capacità di realizzare delle mappe topologiche enfatizzando la risposta dei neuroni più vicini a quelli attivi e inibendo progressivamente quella dei più lontani.
Le connessioni presenti sono di due tipi: di tipo feed-forwardfra gli ingressi esterni e lo strato di uscita (connessioni “esterne” a peso variabile) e di tipo feedbackfra i neuroni dello stesso strato (connessioni “laterali” a peso fisso). I pesi di quest’ultimo tipo di connessioni sono calcolati aderendo a motivazioni di tipo biologico e utilizzando, nella versione originale dell’algoritmo, una funzione “a cappello messicano” che mi fornisce i valori dei pesi in funzione della distanza fra gli stessi sulla griglia:
( )2
2 ( )2
22
2( , , ) ( , ) 1( )
( )t
dis
tdis
h dis gauss dis ett
σσ σσ
− = ∇ = − ⋅
Laplaciano della Gaussiana (Mexican Hat)
Ingressi
( ) ( )2 2
,( )i j i j i jdis y y x x y y== − + − distanza geometrica fra due neuroni
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di KohonenApprendimento non supervisionato, 2
Il comportamento di ogni neurone è descritto formalmente da:
dove m è il numero di neuroni sulla griglia, ψ è una sigmoide, wi,j e vi,j≡h(dij) sono rispettivamente i pesi delle connessioni esterne e di quelle laterali, Nj identifica la regione nella quale sono attive le connessioni laterali (neighborhood region).La soluzione dell’equazione precedente richiede un procedimento iterativo. Quando questo giunge a convergenza, i valori di yi tendono a concentrarsi in gruppi confinati (cluster) chiamati “bolle di attivazione” (activity bubbles), centrate intorno ai neuroni che presentano una risposta più accentuata agli input esterni. La formazione e l’ampiezza più o meno accentuata delle bolle costituisce la “mappa topologica” dei neuroni di uscita che nasce quindi da un “isomorfismo” che si viene a creare tra spazio di ingresso e spazio di uscita.
mjyxwyjNk
kjk
n
iijij ,...,1 ,
1, =
+= ∑∑
∈=
νψ
Altre funzioni utilizzate allo stesso scopo sono:
• Gaussiana
• Cappello francese
2
2
2)( σd
edh−
=
>
<<−
<+
=
ad
ad
ad
dh
3|| 0
3||a if 3
1
|| if 1
)(
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Tipologia neurale ricorrente di KohonenApprendimento non supervisionato, 3
L’ algoritmo di Kohonenpuò essere sintetizzato nei seguenti passi:
1. Si stabilisce la topologia dello strato di uscita della mappa e si assegnano valori random (tra 0 e 1) ai pesi dello strato di input e i valori fissi calcolati a quelli laterali;
2. Si presenta alla rete un vettore di input e si calcola la distanza fra esso e i neuroni di uscita in termini di norma euclidea:
dove N 2 è il numero dei neuroni;3. Si applica la regola dell’apprendimento competitivo per stabilire la
posizione k = (k1, k2) del neurone “vincente”:
In alternativa si può scegliere un neurone “winner”, ad uscita massima;
4. Si correggono i pesi del neurone vincente e di quelli che appartengono al suo “vicinato”, secondo la regola:
dove NK è la regione di vicinato del neurone k;
( ) Njixwxwdn
kkkijijij ,...,1,
1
2, =−=−= ∑
=
Njidd ijij
kk ,...,1, min21
==
( )( 1) ( ) ( ) ( ( ) ( )) ( )nn n n kkw t w t t x t wd n th t Nη+ = + ⋅ ⋅ − ∈
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Radial Basis (RBF-NN) - 1
La rete neurale Radial Basis è una versione alternativa alla MLP che può essere sfruttata sia per l’approssimazione che per la classificazione. È una rete a tre strati (includendo quello di input, quello nascosto e quello di uscita). È una rete di tipo composto, in quanto i neuroni dello strato nascosto sono di tipo diverso da quelli di uscita. È nata nella seconda metà degli anni ’80 dal contributo di vari autori prendendo spunto dalla teoria della regolarizzazione di Powell.
I neuroni del primo strato hanno funzione di attivazione di tipo appunto “radial basis” che enfatizza la risposta del neurone in uno spazio localizzato da un centro e da un raggio. Poiché le connessioni di ingresso non sono pesate, l’output dello strato nascosto è descritto da:
dove ci rappresenta il centrodello spazio del neurone e φ è una funzione di tipo radial basis, nel caso piùcomune una gaussiana:
dove σi rappresenta il raggiodel neurone.
( )ii cxxh −= φ)(
( )2
22i
i
x c
ix c e σφ−
−
− =
I neuroni del secondo strato (lo strato di uscita) hanno funzione di attivazione lineare, che elabora le uscite (pesate) provenienti dallo strato nascosto:
dove yj rappresenta la j-sima uscita della rete, wij i pesi delle connessioni, N il numero dei neuroni dello strato nascosto, m il numero dei neuroni di uscita.
mjxhwyN
iiijj ,...,1 )(
1
==∑=
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Radial Basis (RBF-NN) - 2Selezione dei centri e addestramento
Senza selezione dei centri
La determinazione dei centri dei vettori può avvenire in diversi modi. Il più semplice è quella del neurone centrato sui dati, che prevede di usare ogni vettore del set di ingresso come un “vettore centro”, introducendo quindi un numero di neuroni nascosti uguale al numero P di esempi (N = P). In tal caso i pesi delle connessioni di uscita sono gli unici parametri incogniti della rete, e possono essere determinati risolvendo il set di equazioni lineari:
Selezione dei centri e apprendimento supervisionato dei pesi
In questo caso N < P e i centri vengono collocati nelle regioni più significative dello spazio di ingresso. L’individuazione di tali regioni richiede un’operazione di clusteringsui dati di input. Possono essere quindi usati i classici algoritmi di clustering(Kohonen et al.). Anche i raggi delle varie regioni (corrispondenti ai vari neuroni) devono essere determinati; una delle tecniche consolidate è quella del P-nearest neighbors(1).Una volta che i centri e i raggi sono stati determinati, i pesi dello strato di uscita possono essere calcolati per mezzo di un semplice algoritmo LMS.
Apprendimento supervisionato dei pesi e dei centri
In questa strategia(2), proposta nel 1990, i parametri liberi della rete vengono tutti determinati attraverso un processo di apprendimento supervisionato (in sostanza di ottimizzazione), che prevede di minimizzare la funzione costo:
Può essere utilizzata una procedura a discesa del gradiente, in cui pesi e centri vengono aggiornati iterativamente secondo le formule:
Pptxhwty pN
i
piij
pp
jjj,...,1 )(
1
==⇒= ∑=
(1)J. Moody and C.J. Darken, "Fast Learning in Networks ofLocally Tuned Processing Units“, Neural Computation, vol. 1, pp. 281-294, 1989.(2)T. Poggio and F. Girosi, "Networks for approximation and learning," Proc. IEEE, vol. 78, pp. 1481-1497, 1990.
∑=
−=P
p
pp ytE1
2
ici
ijij c
Ec
w
Ew
∂∂−=∆
∂∂−=∆ ηη
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Levenberg-Marquardt (LMNN) - 1
La rete neurale di tipo Levenberg-Marquardt è una tipologia feed-forward con algoritmo a backpropagation proposta da Hagan nel 1994, basandosi su un algoritmo del 1963(1), molto efficace per l’apprendimento di dati in insiemi di esempi a numerosità ridotta con reti a singola uscita.A differenza della rete MLP, che implementa un algoritmo a discesa del gradiente, LM è una versione approssimata del metodo di Newton. Si parte dalla funzione errore che si vuole minimizzare (somma quadratica degli errori di output):
Chiamando con ∇ il vettore gradiente, con ∇2 la matrice hessiana e con J(x) la matrice Jacobiana della funzione vettore e1(x), …, eN(x) (NS = numero di esempi), l’applicazione del metodo di Newton prevedrebbe il calcolo di
(1)D. Marquardt, “An algorithm for least squares estimation of non-linear parameters“, J. Soc. Ind. Appl. Math, pp. 431-441, 1963.
2
1
1( ) ( )
2
SN
ii
E x e x=
= ∑
[ ] )()(12 xExEx ∇∇−=∆ −
)()()(
)()()()(
)()()(
2
1
2
2
xexexS
xSxJxJxE
xexJxE
i
N
ii
T
T
S
∇⋅=
+⋅=∇
⋅=∇
∑=
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂
=
n
NNN
n
n
x
xe
x
xe
x
xe
x
xe
x
xe
x
xex
xe
x
xe
x
xe
xJ
SSS)()()(
)()()(
)()()(
)(
21
2
2
2
1
2
1
2
1
1
1
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Levenberg-Marquardt (LMNN) - 2
L’ipotesi del metodo modificato di Gauss-Newton è cheS(x) ≈ 0 e quindi l’aggiustamento da imprimere ai parametri diviene
[ ] )()()()(1
xexJxJxJx TT ⋅⋅=∆ −
[ ] (LM1) )()()()(1
xexJIxJxJx TT ⋅+⋅=∆−µ
Algoritmo LM(1)
1. Presentare alla rete tutti gli input e calcolare le uscite e l’errore; calcolare l’errore somma quadratica;
2. Calcolare la matrice jacobiana;3. Risolvere l’equazione (LM1) per ottenere ∆x (usare
una fattorizzazione Choleski o QR;4. Ricalcolare l’errore somma quadratica con il nuovo
valore x+∆x; 4.1 se questo è minore di quello al passo 1,
ridurre µ di un fattore β, assumere x=x+∆xe andare a 1.
4.2 se questo è maggiore di quello al passo 1, incrementare µ di un fattore β e andare a 3.
5. L’algoritmo è giunto a convergenza quando l’errore somma quadratica è sceso sotto un certa soglia.
Il calcolo dello Jacobiano viene fatto con modalità analoga all’algoritmo backpropagation, visto che si parte comunque dall’errore quadratico che va minimizzato in funzione dei pesi delle connessioni.
∑=∂
∂=∂
∂ SN
mqkk
mejiwjiw
E
1
2 )(),(),(
ˆ
al quale viene applicata la modifica introdotta da Lev.-Marq.
Il parametro µ viene variato, ad ogni passo dell’apprendimento, di un fattore β > 1, moltiplicandolo per esso se E aumenta e dividendolo se E diminuisce.
Si tende a Gauss-Newton (convergenza rapida)
Si tende al metodo del gradiente (convergenza garantita)
Valori tipici: β = 10; µ = 0.01;
(1)M.T. Hagan, M.B. Menhaj, “Training feedforward networks with the Marquardt algorithm“, IEEE Trans. on Neural Networks, Vol. 5, pp. 989-993, 1994.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Neurone Complex Multi-valued (MVNN) - 1
La rete neurale di tipo Complex Multivalued rappresenta un’architettura innovativa introdotta da I. Aizenberg nel 2000, che presenta il vantaggio di evitare la necessità di derivate, jacobiani etc. La versione analogica (continuous MVNN) prevede un neurone elementare a ingressi pesati di questo tipo:
( )0
1
( ) | |
dove , ,
NjArg z
i ii
i
zY z e z w w x
z
x w z C
=
= = = + ⋅
∈
∑
La “learning rule” adottata, per cui è dimostrata la convergenza(1) è:
(1)I.Aizenberg, N.Aizenberg, J. Vandewalle, Multi-valued and Universal Binary Neurons, Theory, Learning and Applications, Kluwer Academic Publishers, 2000.
1 ( )( 1)
rk k
k
D Y Xn z
α+ = + − ⋅
+w w
dove D è l’uscita nota (desired output)wk è il vettore dei pesi all’istante k-simoαr è una costante di apprendimenton è il numero di input|zk| è il modulo della somma pesata al passo k-simo
è il vettore degli elementi coniugati del vettore di ingresso
i
YD δ=D-Y
Im
Re
X
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Complex Multivalued (MLMVNN) - 2multistrato con backpropagation
La rete neurale nella versione multistrato viene addestrata con un algoritmo di tipo backpropagation, che non necessita però del calcolo di derivate. Le regole di apprendimento sono le seguenti (con ~ sono indicati i pesi corretti):
( )1
1 11
11
, 1 1
1
0 0
1
1( )
1
, 1,...,( 1)
,( 1)
jNij
kj ij kij
kjkj kji ji i kj j
j kj
kjkj kjkj
j kj
wN
w w Y i NN z
w wN z
δ δ
αδ
αδ
++ −
+=−
− −−
−
=+
= + =+
= ++
∑
22 1
1 21
1 1 11
1
1 1 10 0 1
1
1( )
, 1,...,( 1)
,( 1)
Ni
k i kij
k k ki i k i
k
k k kk
k
ws
w w x i nn z
w wn z
δ δ
α δ
α δ
−
=
=
= + =+
= ++
∑
, 1 11
0 01
, 1,...,( 1)
,( 1)
km km kmi mi i km m
m
km km kmkm
m
w w Y i NN
w wN
α δ
α δ
− −−
−
= + =+
= ++
( )*
1
*
1
1
km kmm
km km km
N
D Y
δ δ
δ−
= + = −
Strato di uscita Strato di uscita mm
Strati nascosti Strati nascosti j j (ad eccezione del primo)(ad eccezione del primo)
Primo strato nascosto (Primo strato nascosto (strato di ingressostrato di ingresso))
Errore del k-simo neurone dell’m-simo strato
Errore globale del k-simo neurone dell’m-simo strato
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Complex Multivalued (QR-MLMVNN) - 3modifica dell’apprendimento con la decomposizione QR
La rete in questione fornisce un risultato eccellente, ma richiede in generale molti cicli di apprendimento per raggiungerlo. Un metodo che riduce drasticamente i tempi di apprendimento èstato studiato di recente e prevede una diversa definizione dell’errore
D zδ = −
Con questa nuova definizione di errore e considerando un set di Mcampioni di apprendimento, si può dimostrare che questo dà origine a un sistema lineare sovradimensionato della forma:
1 10 1 1 1
1 20 2 1 1 2
0 1 1 1
.....
..... 1
... ... ... ... ... ...
.....
n n
n
M Mn M
w x w x w
w x w x wM n
w x w x w
δδ
δ
∆ + ∆ + + ∆ = ∆ + ∆ + + ∆ = >> +∆ + ∆ + + ∆ =
Una soluzione in generale non può essere trovata, ma è possibile minimizzare l’errore quadratico utilizzando, per esempio, una decomposizione QRdella matrice associata al sistema suddetto e l’algoritmo di apprendimento modificato può essere sintetizzato nei due passi:
1. Per ogni neurone dello strato di uscita, immagazzinare gli input in una matrice complessa A di dimensioni M × (n+1) e gli errori di uscita in un vettore complesso δ di dimensione M; al termine di ogni epoca di apprendimento l’aggiustamento da apportare ai pesi dello strato di uscita è calcolato mediante la decomposizione QRapplicata al sistema algebrico sovradimensionato A∆∆∆∆w = δ;2. Per i neuroni dello strato nascosto l’errore è propagato all’indietro secondo le regole precedenti, in modo distinto per ogni campione di apprendimento. Le correzioni sono accantonate ad ogni epoca di apprendimento e usate poi tutte insieme per la costruzione delsistema QR e per la correzione dei pesi dello strato di uscita (per il quale gli esempi, come visto, sono considerati simultaneamente).
i
YDδ=D-z
Im
Re
z
(1)I.Aizenberg, A.Luchetta, S. Manetti, A Modified Learning Algorithm for the Multilayer Neural Network with Multi-Valued Neurons Based on the Complex QR Decomposition, Soft Computing, 2011.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Rete neurale Complex Multivalued (QR-MLMVNN) - 4La fattorizzazione QR e il metodo lineare dei minimi quadrati (LLS)
La decomposizione QR consente di associare a una matrice A ∈ RMxn, con M ≥ n: • una matrice Q ∈ RMxM, ortogonale, tale cioè cheQTQ=I• una matrice triangolare R ∈ ℝMxn, costituita da una sottomatrice triangolare superiore di dimensioni n × n e da una matrice identicamente nulla di dimensioni (M − n) × n tali che A = Q·R. Il metodo più diffuso per determinarle è quello delle matrici di Householder(1). Lo scopo è minimizzare la norma euclidea del vettore residuo r (∆w) = δ − A∆w, di dimensione M. Considerando che:
(1)Householder reflection technique for QR decomposition, WIkipedia, http://en.wikipedia.org/wiki/QR_decomposition.
1 112 21
1
1 ...
1 ...
... ... ... ...
1
n
n
M Mn
x x
x xA
x x
=
0nR
R
=
Considerando inoltre che Q è ortogonale si può scrivere: ||r ||2 = rT·r = rT·Q·QT·r = uT·u + vT·vv non dipende da ∆w e quindi il valore minimo di r si ottiene quando u = 0.
( )( )
TnnT T T
T
m n
Q RQ Q Q QR
Q−
− ⋅∆ = − ⋅∆ = =
δ w ur δ w
vδ
( )Tn n
R Q⋅∆ =w δ
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Ridondanza dell’informazione – 1 Principal Component Analysis - Procedura classica
L’analisi delle Componenti Principali (PCA) è una tecnica statistica che nella sua versione classica (pca lineare) ha lo scopo di individuare la trasformazione lineare ottima per tradurre un vettore di input n-dim a media nulla di un processo stocastico stazionarioin un vettore di output m-dim, con m < (o <<) n. In altri termini la PCA “proietta” i dati di ingresso dallo spazio originario (in cui sono altamente correlati fra loro) in un altro di dimensioni minori (in cui sono invece blandamente correlati), conservando quanto più possibile l’informazione contenuta nell’origine.Il metodo classico di estrazione delle componenti principali, dato un certo numero s di dati di input (s = n. osservazioni delle variabili stocastiche), prevede il calcolo della matrice di covarianzadei dati:
[ ]
=
nnnn
n
n
nn
CCC
CCC
CCC
,,2,1
,22,22,1
,12,11,1
x
....
................
....
....
C
=
=×
ssnss
n
n
ns
X
X
X
xxx
xxx
xxx
2
1
21
22221
11211
.
...
...
.
.
][ X∑
=
−−−
=
=−−=s
tktkltl
kkllkl
xxs
xxEC
1
,
))((1
1
))((
µµ
µµ
Il calcolo degli autovalori e degli autovettori ad essa relativi:
[ ] [ ] [ ] [ ] mmmnmnnn xxxx λPPC =dove [λ]mxm è la matrice diagonale costituita dagli mautovalori più significativi di C.Si utilizza poi lo spazio identificato dagli autovettori associati agli m autovalori più significativi (le prime m funzioni naturali ortogonali) per “mappare” lo spazio originario. La suddetta proiezione assume quindi la forma:
[ ] [ ] [ ] mnnsms xxx PXT =
Una valutazione della qualità della mappatura può essere il projection fidelity index: 1
1
m
iin
jj
pfλ
λ
=
=
=∑
∑
[ ] [ ] [ ] [ ] nsT
mnmsns xxxx EPTX +=
La ricostruzione avviene a meno di un dato errore residuo:
[ ] [ ] [ ] [ ] [ ]Tmnmsnsnsns xxxxx' PTEXX =−=
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Ridondanza dell’informazione - 2Reti neurali per la PCA lineare
(1)E. Oja, “Principal components, minor components and linear neural networks”, Neural Networks, Vol. 5, pp. 927-935, 1992.
Introducendo una rete neurale lineare che ha lo scopo di minimizzare l’errore residuo della trasformazione è possibile stimare le prime mcomponenti principali del processo stocastico.L’architettura proposta(1) è una rete neurale a singolo strato, con n input a mneuroni lineari descritta dalle equazioni:
[ ] xWy nmx=dove:
y = [y1, y2, …, ym]T; x = [x1, x2, …, xn]T; [W] = [w1, w2, …, wm]T; wi = [wi1, wi2, …, win]
T;
La learning ruleviene determinata a partire dalla formulazione di una funzione errore E(W) = ½ || e ||22 , dove:
x’ = [W]T·y; y = [W] ·x; e= x – x’;
La minimizzazione della funzione errore conduce alla regola:
[W(k+1)] = [W(k)] + η(k)(y(k)eT(k) + [W(k)]e(k)xT(k));
La quale può essere semplificata trascurando il secondo termine (usualmente piccolo) in:
[W(k+1)] = [W(k)] + η(k)y(k)(xT(k) – yT(k)[W(k)]) = [W(k)] + η(k)([W(k)]x(k)xT(k)([I ] – [W(k)]T[W(k)]));
da cui infine si ottiene la formula di correzione dei pesi per l’apprendimento:
−+=+ ∑=
m
hhhjji
kijij kykwkxkykwkw
1
)( )()()()()()1( η
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Ridondanza dell’informazione - 3Reti neurali autoassociative a “collo di bottiglia” per la NLPCA, 1
(1)F. Del Frate, G. Schiavon, Nonlinear Principal Component Analysis for the Radiometric Inversion of AtmosphericProfiles by Using Neural Networks, IEEE Trans. on Geoscience and Remote Sensing, Vol.37, N. 5, 1999, pp 2335-2342.
In certi fenomeni è presente fra i dati una correlazione di tipo nonlineare(1);
L’analisi delle Componenti Principali lineare può, in casi analoghi, portare alla parziale o completa perdita dell’informazione, ovvero, in altri termini, all’impossibilità di ridurre effettivamente lo spazio dei dati.
La PCA lineare funziona bene
La PCA lineare non funziona!
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Ridondanza dell’informazione - 4Reti neurali autoassociative a “collo di bottiglia” per la NLPCA, 2
Correlazioni di tipo nonlineare possono essere affrontate generalizzando le componenti principali (lineari) dello spazio trasformato in curve principalie introducendo quindi una mappatura del tipo:
T = G(X)dove G è una funzione vettore nonlineare, composta cioè da m funzioni nonlineari: G = [g1(•), g2(•), …, gm(•)].La trasformazione inversa, che riporta i dati alla dimensione originaria, avviene per mezzo di un secondo gruppo di funzioni nonlineari, secondo una mappatura inversa:
X’ = H(T)dove H è una funzione vettore nonlineare, composta da n funzioni nonlineari: H = [h1(•), h2(•), …, hn(•)].
Una soluzione appropriata a questo tipo di problema è l’utilizzo di reti neurali autoassociative a “collo di bottiglia”(1).La rete viene addestrata per minimizzare l’errore
(1)M. Kramer, Nonlinear Principal Component Analysis Using Autoassociative Neural Networks, J. Amer. Inst. Chem. Eng. (AIChE), Vol.37, 1991, pp 233-243.
( ) ∑∑= =
−=sN
i
n
k
ik
ik xxyE
1 1
2)()(
2
1
Le funzioni G ed H sono generate utilizzando l’approccio noto alle reti neurali backpropagation v = f(u):
Con funzione di attivazione nonlineare di tipo sigmoidale:
∑ ∑= =
+⋅=
2 1
1 11122
1 N
j
N
ijiijjkk uwwv θσ
xex λσ −+
=1
1)(
Ns = numero di campioni
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Ridondanza dell’informazione - 5Reti neurali autoassociative a “collo di bottiglia” per la NLPCA, 3
Per valutare il tipo di correlazione presente fra i dati è possibile ricorrere a due tipi di indici, ed eventualmente confrontarli.
L’ Indice di Correlazione Lineare fra la variabile x e la variabile y ètipicamente ottenuto dall’indice di correlazione di Pearson:
dove σx è la deviazione standard della variabile, µx la media e σxy la covarianza.
( )( )
( ) ( )1
22
1 1
1 1
n
i x i yxy i
xy n nx y
i x i yi i
x yP
x y
µ µσσ σ
µ µ
=
= =
− −− ≤ = = ≤ +
− −
∑
∑ ∑
(1)Q.Wang, Y.Shen, J.Q.Zhang, A nonlinear correlation measure for multivariable dataset, Physica D, Vol.200, 2005, pp 287-295.
“Entropia ” nell’accezione della Teoria dell’Informazione: misura dell’incertezza (o dell’informazione) presente in un segnale aleatorio.
In caso di correlazione nonlineare minima le coppie di variabili si distribuiscono equamente in tutte le celle (sono “sparpagliate”, scorrelate fra loro), e otteniamo quindi
In caso di correlazione nonlineare massima le sequenze di variabili coincidono (xi = yi, i=1, 2, …, N), e otteniamo quindi:
L’ Indice di Correlazione Nonlineare(1) è ottenuto da:
la revised entropydella variabile xè
e la revised joint entropydelle variabili x e y
pi rappresenta la probabilità per una certa variabile di cadere all’interno dell’i-simo intervallo (b è il numero di intervalli in cui le componenti sono equamente distribuite):
e pi,j è la joint entropydi due variabili
dove ni,j è il numero di coppie di valori che cadono all’interno della cella bidimensionale ij sima. Quindi, la correlazione nonlineare fra la variabile x e la variabile y èdata da:
( ) ( ) ( ) ( )xyCI CI x y H x H y H x y= = + −, ,
( )1
b
i b ii
H x p p=
= −∑ log
( )1 1
b b
i j b i ji j
H x y p p= =
= −∑∑ , ,, log
1 1
2b b
i j i jxy b
i j
n nCI
N N= =
= +
∑∑ , ,log
1i
N bp
N b= =/
i ji j
np
N= ,
,
( )2 2 2
2
1
2 0b
i b i b xyi
N b N bH x y p p b CI
N N=
= − = − ⋅ = − ⇒ =∑/ /
, log log
( )2
2
1
1 1b
i b i b xyi
N b N bH x y p p b CI
N N=
= − = − ⋅ = ⇒ =∑/ /
, log log
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali – Il problema della generalizzazione
Definizione e cause
Un rete neurale, sia di tipo supervisionato che non-supervisionato, può presentare problemi di generalizzazione, che è la capacità di rispondere in modo corretto a situazioni ignote, mai viste prima. Questo è dovuto principalmente a: Overfitting (Iperadattamento): Un sistema ad elevato (eccessivo) numero di parametri liberi (come è una rete neurale) può ricostruire in modo molto raffinato l’ipercurva sulla quale viene addestrato, ma non essere in grado di trasferire tale accuratezza su dati nuovi; Presenza di rumore sui dati di uscita: Un insieme (poco numeroso) di dati di addestramento molto rumorosi in uscita inficia la possibilità di ricostruire correttamente la relazione I/O; Presenza di rumore sui dati di ingresso: La rete tende ad apprendere una convoluzione fra la funzione da approssimare e la distribuzione del rumore dei dati.
Rimedi e soluzioni
Le soluzioni proposte sono di vario tipo e possono incidere sia sulle modalità di addestramento, sia sulla forma dei dati (regolarizzazione), sia sulla struttura della rete, anche con operazioni “chirurgiche”. È interessante notare come quasi ogni tecnica trovi una sua corrispondenza nel corrispettivo biologico: Early Stopping: Interruzione precoce della fase di apprendimento; Jittering: Addestramento con rumore artificiale; Weigth Decay: tecnica di regolarizzazione dei pesi (decadimento controllato); Pruning: Strategia di rimozione secondo un qualche criterio delle connessioni meno rilevanti; Bayesian Learning: Correzione probabilistica dei pesi.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali – Il problema della generalizzazioneTecniche di Early Stopping
L’Early Stopping è una tecnica di tipo euristico che cerca di evitare un “irrigidimento” dell’apprendimento. Consiste nell’attuare i passi seguenti:
1. Suddividere i dati disponibili in due sottinsiemi, uno di addestramento e uno di verifica;
2. Utilizzare il numero più elevato possibile di neuroni negli strati nascosti;3. Inizializzare i pesi a valori molto piccoli;4. Utilizzare una costante di apprendimento piccola;5. Calcolare periodicamente l’errore di verifica durante l’apprendimento;6. Arrestare la fase di apprendimento quando l’errore di verifica “starts to go up”,
comincia cioè a crescere.
L’aspetto più delicato (fra altri non completamente risolti) rimane la stima corretta dell’errore di generalizzazione, che non coincide con quello di verifica!
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali – Il problema della generalizzazioneTecniche di Pruning, 1
Le tecniche di pruning sono numerose e sono finalizzate ad estrarre dalla rete neurale di partenza una sottorete, avente dimensioni inferiori, che abbia una migliore capacità di generalizzazione, usando un approccio sistematico (NON trial&error ).
Di seguito è descritta una tecnica sviluppata per il pruning di reti neurali che siano, nel caso più generale, di tipo feedforward backpropagation ad uscita multiple (sistema MIMO) “eterogenee”, associate cioè a grandezze fisiche di tipo non omogeneo.
Si parte dal calcolo della Sensibilità Stimatadell’uscita q-sima oq rispetto alla
generica connessione wjk:
dove rappresenta l’errore quadratico relativo all’uscita q-sima e
N è il numero di iterazioni di addestramento svolte;
Nello stesso modo la Sensibilità Globale Stimatadell’uscita è l’entità della
variazione dell’errore quadratico complessivo
rispetto alla generica connessione wjk:
( )( )1( )
0
( )( ) ( )
( ) ( )
qNjkq
jk jkn jk jk jk
SE w finalWS n w n
w w final w initial
−
=
∂ = ∆ ⋅
∂ − ∑
( )2)(
2
1qq
q odSE −=
( )1
0
( )( ) ( )
( ) ( )
Njk
jk jkn jk jk jk
w finalSSEGWS n w n
w w final w initial
−
=
∂= ∆ ⋅
∂ − ∑
( )∑=
−=outN
qqq odSSE
1
2
2
1
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
La variazione dell’errore quadratico può essere valutata seguendo un approccio analogo a quello della backpropagation, partendo dallo strato di uscita:
Reti neurali – Il problema della generalizzazioneTecniche di Pruning, 2
(3)(2) (3) (3) (3)
(3) (3) (3)( )j j j
j k j j jjk j j j jk
e o netSSE SSEe y f net b
w e o net w
∂ ∂ ∂∂ ∂= == − +∂ ∂ ∂ ∂ ∂
(3)
(3)(3)
jj
j
ff
net
∂=
∂
Solo per questo strato la suddetta variazione coincide con quella di SErispetto a wjk:
Propagando all’indietro al secondo strato nascosto:
( )(2) (3) (3) (3)
(3)( ) 1,...,
q
j k j j j outjk
SEe y f net b q N
w
∂ = − + =∂
(2) (2)(1) (2) (2) (2) (1) (3) (3) (3) (3)
(2) (2) (2) (2)1
( ) ( )outN
j j jj k j j j j k q qj q q q
qjk j j j jk
e y netSSE SSEe y f net b e y e w f net b
w e y net w =
∂ ∂ ∂∂ ∂= =− + =− +∂ ∂ ∂ ∂ ∂ ∑
(2) (2)( ) ( )(1) (2) (2) (2)
(2) (2) (2) (2)
(1) (2) (2) (2) (3) (3) (3) (3)
( )
( ) ( ) 1,...,
∂ ∂ ∂∂ ∂= =− + =∂ ∂ ∂ ∂ ∂
=− + + =
q qj j j
j k j j jjk j j j jk
k j j j q qj q q q out
e y netSE SEe y f net b
w e y net w
y f net b e w f net b q N
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Infine, per il primo strato:
( ) ( )
2
( ) ( ) (1) (1)(1) (1) (1) (2) (2) (2) (2)
(1) (1) (1) (1)
(3) (3) (3) (3)
1
( ) ( )
( ) 1,...,
q q
j j jk j j j pj p p p
jk j j j jk
N
q qp q q q outp
SE SE e y netx f net b w f net b
w e y net w
e w f net b q N=
∂ ∂ ∂ ∂ ∂= =− + + ⋅
∂ ∂ ∂ ∂ ∂
⋅ + =∑
( ) ( )
2
(1) (1)(1) (1) (1)
(1) (1) (1) (1)
(3) (3) (3) (3) (2) (2) (2) (2)
1 1
( )
( ) ( )out
j j jk j j j
jk j j j jk
NN
q qp q q q pj p p pp q
e y netSSE SSEx f net b
w e y net w
e w f net b w f net b= =
∂ ∂ ∂∂ ∂= =− + ⋅
∂ ∂ ∂ ∂ ∂
⋅ + +
∑ ∑
Le formule precedenti sono relative ai pesi del primo strato nascosto, dove è la funzione di attivazione del
neurone j-simo dello strato h-simo, e rappresenta la somma pesata degli ingressi del j-simo neurone dell’h-
simo strato.
( )( )hjf •
( )hjnet
Reti neurali – Il problema della generalizzazioneTecniche di Pruning, 3
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
A questo punto può essere definito un indice di sensibilitàbilocale:
Numero di conn. pesate nello specifico strato
Reti neurali – Il problema della generalizzazioneTecniche di Pruning, 4
( )
( )
( )
1
wc
qjkq
jk Nq
jll
WSBLSI
WS=
=
∑
e un criterio di soppressione(di pruning)
Al successivo passo di riduzione, rimuovere tutte le connessioni fra i neuroni j dello strato h e i neuroni k dello strato h-1, i cui pesi soddisfino la diseguaglianza:
Per ogni q = 1, …, Nout e per un datoλλλλ(q)
è il valor medio della sensibilità bilocale esteso all’intera rete
( ) ( ) ( )q q qjk BLSIBLSI λ µ< ⋅
( )qBLSIµ
Per stabilire la procedura di pruning, occorre introdurre una misura della qualità della generalizzazionee del livello di overfitting, attraverso, per esempio il Generalization Decay:
min
( )( ) 1 100
( )va n
GD nn
εε
= − ⋅
( )( )
( )min
( )( ) 1 100
( )
qq va
q
nGD n
n
εε
= − ⋅
min '( ) min ( ')van nn nε ε
<=
E un parametro (GDUPS) che identifichi il momento opportuno per l’attuazione del pruning:
GDUPGDUPss(n(n) is true if:) is true if:GD(kGD(k) > 0 during the last ) > 0 during the last nn--ss epochs, that is for k : n, epochs, that is for k : n, ……, , nn--ss
GD(n) GD(n) -- GD(nGD(n--1) > 01) > 0
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali – Il problema della generalizzazioneTecniche di Pruning, 5
Manca a questo punto la quantificazione del parametro di soglia λ(q) da inserire nel precedente criterio di soppressione:
In questo modo esso dipende direttamente da due valori: l’indice di Generalization DecayGD(q) e il λ(q)
MAX prescelto. Questa doppia dipendenza consente quindi di bilanciare l’entità del pruning sia in termini della qualità di generalizzazione, sia tenendo conto della natura delle uscite della rete, attraverso il parametro λ(q)
MAX.
( )( ) ( ) ( )( )
1( ) 1
1 ( )q q q
MAX qGD n
GD nλ λ
= ⋅ − + ( ) ( )2 2(q)
1
1
== ⋅ −∑
outN
q qqout
F ID d oN
Il parametro λ(q)MAX viene ricavato associandolo al cromosoma di un
algoritmo genetico che abbia come funzione obbiettivo (Fitness):
il quale è a sua volta associata al parametro ID(q)
(Importance Degree), che distingue ognuna delle uscite della rete neurale.
Calculate ID(q) for each q = 1, …Nout and k terms;do
Train the network for one epoch;if epochMOD k = 0 then
Compute εva(n), εmin(n), GD(q)(n) using validation set, for each q = 1,…Nout;
endifwhilereset_network (to εmin); // reload parameters of the network exhibiting minimum validation errordo
Train the network for one epoch and compute the values;
if epochMOD k = 0 thenCompute εva(n), εmin(n), GD(q)(n), using validation set; for each q = 1, …Nout;
if GDUP5(n) is true thenprime genetic algorithm to calculate , for q = 1, …, Nout;prune all connections whose weights satisfy
where λ(q) is calculated using previous steps and formulas.
endifendif
while (epoch < epochMAXOR eva(n)< eMIN)
( )( )( )max ( ) 1q
qGD n <
( )qBLSI
( ) 'qMAX sλ
( ) ( ) ( )q q qjk BLSIBLSI λ µ< ⋅
(1)A. Luchetta, Automatic generation of the optimum threshold for parameter weighted pruning in multiple heterogeneous output neural networks, Neurocomputing, Vol.71, 2008, pp. 3553-3560.
Algoritmo(1)
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali - Hardware Modelli digitali, 1
Un rete neurale artificiale implementata per via fisica (hardware), necessita di due tipi di componenti: neuroni e sinapsi. Le maggiori difficoltà realizzative si collocano nella componente sinaptica (a peso variabile). Un realizzazione hardware digitale di una rete neurale consiste in sostanza in un “computer dedicato”, quindi un sistema, che sia di tipo EEPROM, oppure CPUdedicata + RAM, oppure DSP, PLC, programmato per implementare un algoritmo di tipo neurale. Nelle implementazioni digitali, l’aggiustamento delle sinapsi non rappresenta il problema principale.
I PLC sono ampiamente impiegati, soprattutto nell’ambito del controllo intelligente dei processi industriali e manifatturieri;
Essi presentano varie caratteristiche interessanti: o possibilità di interfacciarsi con ingressi e uscite analogici e/o digitali;o elevata scalabilità;o capacità di gestione di svariati protocolli di comunicazione;o programmabilità e facilità di programmazione;
Di contro presentano anche diversi limiti: o le capacità di calcolo di un PLC sono ridotte, in particolare le CPU eseguono
le istruzioni in modo sequenziale piuttosto che parallelo;o Presenta delle difficoltà programmare funzioni non lineari su PLC (come la
sigmoide di attivazione di un neurone), che supporta solo semplici operazioni logiche e matematiche;
o la memoria a disposizione è limitata; Un approccio adeguato deve quindi prevedere:
o Massima semplificazione della struttura del NNC (riduzione del numero di neuroni);
o Riduzione del numero degli ingressi;o Uso di approssimazioni lineari a tratti (PWL) per la realizzazione delle
funzioni di attivazione;o Uso di coefficienti di apprendimento adattivi per l’incremento della velocità;
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali - Hardware Modelli digitali, 2
Nell’ambito del trattamento del segnale con tecniche e algoritmi neurali è possibile utilizzare dei DSP (Digital SignalProcessor), in sostanza dei microprocessori dedicati.
Per la realizzazione hardware di reti neurali per il controllo degli apparati e/o per il trattamento dei segnali possono essereimpiegati DSP general purposeoppure DSP già progettati con lo scopo specifico di implementare una rete neurale con un numero di ingressi, uscite, strati nascosti controllabile e riprogrammabile; I DSP consentono l’adattamento online dei pesi sinaptici fino a dimensioni ragguardevoli del sistema neurale; Possono essere usati in un ampio spettro di applicazioni di segnale e controllo; Sono in generale il metodo principale di inserimento di processori “neurali” in sistemi embedded
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali – Hardware Modelli analogici, 1
Realizzazioni più sofisticate prevedono l’uso di tecnologie VLSI per le varie parti della NN, con tecniche diverse di immagazzinamento dei pesi.
Moltiplicatore-sommatoreanalogico
Sistema di immagazzinamento e aggiornamento dei pesi sinaptici
( )WIDTHWOUT TVfV ,=
Funzione di attivazione del neurone (sigmoide)
( )CTRLINOUT VVfV ,=
Nelle implementazioni analogiche la componente sinaptica presenta maggiori difficoltà realizzative. La configurazione hardware analogica elementare prevede l’uso di un amplificatore operazionale che elabori una combinazione di ingressi pesati.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali – Hardware Modelli analogici, 2 – Reti neurali cellulari (CNN)(1)
La dinamica complessa di questo tipo di reti le rende dei veri e propri “computer analogici”; La velocità di elaborazione è molto elevata, i consumi contenuti; Hanno trovato applicazione principale nel campo della visione artificiale e dell’elaborazione delle immagini, dove offrono importanti vantaggi, accanto a limiti che devono ancora essere superati:
Offrono la possibilità di analizzare ed elaborare immagini in movimento ad altissima velocità (60000 frames/sec), trovando quindi uso in applicazioni industriali molto complesse (analisi di fluidi in movimento, di sorgenti di calore etc.) e in delicate applicazioni biomedicali (fino all’analisi delle sequenze DNA in t.r.);
Garantiscono un ampio range dinamico delle grandezze in gioco, nettamente superiore a quello delle altre implementazioni hardware di NN;
Possono essere progettati con l’ausilio di accurati simulatori; Le dinamiche caotiche sottese possono generare errori interpretativi anche gravi; Lo studio delle dinamiche presenta un elevato grado di complessità; Le dimensioni delle immagini analizzabili sono ancora nettamente inferiori rispetto a quelle di tradizionali elaboratori (pochi
K a fronte di svariati M); Esistono numerosissimi studi per il superamento degli svantaggi, che includono la realizzazione di CNN digitali e l’impiego delle nanotecnologie.
≅≅≅≅
Gen. di corrente controllato in tensionenon lineare (PWL)
(1)L. Chua, L. Yang, Cellular Neural Networks: Theory, IEEE Trans. on Circuits and Sysytems, Vol.35, N. 10, 1988, pp 1257-1272.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali – HardwareModelli analogici, 3 – Il memristore e il neurone artificiale fisico
Il memristore(1) è il dispositivo più recente apparso nel panorama dei sistemi atti a replicare artificialmente le sinapsi neuronali in modalità fisica.
(1)L. Chua, “Memristor – The missing circuit element“, IEEE Trans. on Circuit Theory, Vol. 18, N. 5, pp. 507-519, September 1971.
dqqdqM )()( ϕ= ( )
( )
ddt
dqdt
v tM
i t
ϕ= =
ϕϕϕ d
dqW )()( =
Memristenza
Menduttanza
Proprietà:
È un elemento in generale non lineare; È un elemento passivo se M ≥ 0; È un elemento tempo-variante (non permanente) È un elemento causale;
Il memristore può essere visto come un resistore nonlineare con memoria, in senso però diverso dagli elementi “con memoria”, L e C. La sua “memoria” consiste piuttosto nel fatto che il valore di resistenza ad esso associata “aumenta” quando la carica si muove in un senso, “diminuisce” quando si muove nel senso opposto e rimane costante e fissata all’ultimo valore assunto quando la corrente smette di fluire. Inoltre, a differenza degli altri comportamenti fondamentali dei bipoli, che sono sostanzialmente lineari e tempo-invarianti, la “memristenza” è una caratteristica non-lineare e tempo-variante descritta da una funzione diversa e peculiare a seconda della natura del dispositivo fisico che consideriamo.
?
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Le reti neurali artificiali – HardwareModelli analogici, 3 – Il memristore, analogia fluidodinamica
Per aiutarsi nella comprensione di cosa sia un memristore può essere utile usare un’analogia fluidodinamica, così come si può fare per gli altri elementi fondamentali. Se si considera una condotta attraversata da acqua abbiamo le seguenti analogie fra le grandezze idrauliche e quelle elettriche:
Resistore:
Carica = Acqua (quantità di fluido);Tensione elettrica = Pressione;Corrente elettrica = Velocità (portata di massa);Resistenza el. = perdita di carico dovuta alla resistenza idraulica, legata agli attriti, alla sezione e alla lunghezza del condotto.
Induttore:
Carica = Acqua (quantità di fluido);Tensione elettrica = Pressione;Corrente elettrica = Velocità (portata di massa);Induttanza el. = Inertanza del fluido.
Condensatore:
Carica = Acqua (quantità di fluido);Tensione elettrica = Pressione;Corrente elettrica = Velocità (portata di massa);Capacità el. = capacità di raccolta della membrana.
Memristore:
Carica = Acqua (quantità di fluido);Tensione elettrica = Pressione;Corrente elettrica = Velocità (portata di massa);Memristenza el. = coefficiente resistivo motivato dalla presenza di una sezione di condotto variabile con la quantità di fluido che lo attraversa (integrale della portata) e la sua direzione.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali artificiali – Hardware Modelli analogici, 3 – Modellizzazione fisica del memristore(1), 1
(1)D. Strukov, G. Snider, D. Stewart and S. Williams, “The missing memristor found”, Nature, Vol. 453, 1 May 2008.
( ) ( )( ) 1 ( )ON OFF
w t w tv t R R i t
D D
= + −
( ) ( )0 2
0 0 0
( ) ( )
/ 1 /
v ON
ON OFF OFF ON
RM q R R q t
DR R w D R w D R R R
µ= − ∆
= + − ∆ = −
( ) ( , , ) ( )
( , , )Mv t R i t i t
f i t
= =
x
x xUn generico sistema memristivo può essere descritto dalle equazioni:dove:x è il vettore delle variabili di statoRM e f sono in generale funzioni del tempov(t) e i(t) sono la tensione e la correnteEsse possono essere fisicamente tradotte in una giunzione in scala nanometrica di TiO2-TiO2-x (biossido di titanio + biossido di titanio ossigeno-deficiente) di lunghezza D, inserita fra due elettrodi metallici di platino (Pt). La resistenza totale del dispositivo è data dalla serie di due resistenze variabili, quella dello strato di TiO2-x a bassa resistenza RON (di profonditàw) e quella dello strato di TiO2 ad alta resistenza ROFF (di profonditàD–w). Le lacune di ossigeno dello strato di TiO2-x fungono da donatori di carica (5x1019 donatori/cm3).Detta resistenza può essere quindi espressa tramite l’equazione:
( )ONOV
Rdwi t
dt Dµ=0 0
0
( ) ( ) ( )t
ON ONOV OV
R Rw t w i d w q t
D Dµ τ τ µ= + = +∫
In virtù dei meccanismi di conduzione elettronica attraverso la barriera energetica dell’interfaccia Pt-TiO2 e del trasporto ionico lineare all’interno del semiconduttore specifico, la profondità della regione “drogata”w può essere espressa tramite le equazioni:
dove µOV rappresenta la mobilità della lacune di ossigeno nel biossido di titanio (~10-10 cm2V-1s-1), w0 la dimensione iniziale della regione drogata e q(t) la carica che ha attraversato il dispositivo nel tempo t. Combinando le precedenti equazioni otteniamo l’espressione della memristenza del memristore:
nella quale possiamo fra l’altro notare come le dimensioni nanometriche siano essenziali, vista la bassa mobilità delle lacune.
( )( )( ) ( ) ( )
/ ( ( ))
v t M w q t i t
dw dt f i t
=
=
Caso particolare
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali artificiali – Hardware Modelli analogici, 3 – Modellizzazione fisica del memristore, 2
0 2 20 0
( )( )
1 ( )t
OV ON
v ti t
RR R v d
D R
µ τ τ=
∆ ∫∓
Combinando le precedenti equazioni possiamo ottenere anche l’espressione della caratteristica i-v del memristore:
Il segno negativo al denominatore vale durante l’espansione di w, il segno positivo durante il suo restringimento; sulla curva caratteristica appaiono anche segmenti a resistenza differenziale negativa, corrispondenti agli intervalli temporali in cui w(t) sta ancora crescendo, mentre v(t) sta già diminuendo, ma non ha ancora cambiato polarità.
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali artificiali – Hardware Modelli analogici, 3 – Implementazione con memristori
Diversi modelli elettronici sono già stati proposti(1)(2)(3).
(1)G. Snider “Molecular-Junction-Nanowire-Crossbar-Based Neural Network”, US Patent 7 359 888, April 15 2008.(2)H. Choi et al. “An electrically modifiable synapse arrayof resistive switching memory”, Nanotechnology, Vol. 20, N. 34, August 2009.(3)Y. Pershin, M. Di Ventra “Experimental demonstration of associative memory with memristive neural networks“, Neural Networks, Vol. 23, N. 7, pp. 881-886, Sept.2010.
Quando l’input Vin supera la soglia VT il microcontrollore connette l’input al –2.5 V e l’output a +2.5 V per 10 ms e trasforma entrambi in una catena di impulsi la cui ampiezza rimane costante, mentre la frequenza in uscita è proporzionale all’ampiezza dell’ingresso (oltre ad avere una componente casuale).
La tensione VM viene convertita dal ADC e letta dal microcontroller che genera il codice per il potenziometro digitale in accordo con le precedenti equazioni di stato del memristore;Il circuito partitore di emulazione funziona con vg(t) = VMcos(2πωt), VM = 2 V, R0 = 10 kΩ.
( ) ( , , ) ( )
( , , )Mv t R v t i t
f v t
= =
x
x x ( )
−⋅−⋅−−+−+=
=
)()(
|]||)[|(5.0
21 xRRx
VVVVVx
Rx
MM
TMTMM
M
θθβαβ
A. Luchetta – Complementi di elettrotecnica – Reti Neurali
Reti neurali artificiali – HardwareModelli analogici, 3 – Implementazione con memristori
È raffigurata una rete costituita da 3 neuroni, due sinapsi, e due ingressi che in questo caso rappresentano la vista del cibo e un suono che loaccompagna e un’uscita che rappresenta la salivazione.
o Nello stato di partenza la prima connessione sinaptica è “forte”(bassa resistenza del memristore), mentre la seconda è debole (alta resistenza del memristore). In questa prima fase si applicano segnali di stimolo non sovrapposti. Il neurone di uscita (di “salivazione”) si attiva quindi alla vista del cibo, ma non al suono associato. Lo stato dei memristori in questa fase non cambia;
o Nella fase successiva di “learning” (9-12 sec) vengono applicati gli stimoli ai due neuroni di ingresso in modo simultaneo, generando i due treni di impulsi, che sono scorrelati fra loro, ma si sovrappongono a tratti, a causa della componente casuale nella generazione degli impulsi;
o In questa fase vi sono quindi intervalli in cui gli impulsi che si “back-propagano” dal neurone di uscita (dovuti all’eccitazione del neurone “vista del cibo”) si sovrappongono a quelli che provengono in catena diretta dal neurone “suono”, causando quindi una elevata tensione sulla seconda sinapsi e un “rinforzo” di questa (in sostanza un mutamento verso uno stato di bassa memristenza), in accordo con la regola Hebbiana;
o La rete ha ora “appreso” l’associazione vista del cibo-suono e nella fase successiva di probing (t > 12 sec) uno qualsiasi dei due stimoli attiva il neurone di uscita.