Reti Neurali
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
L’intelligenza “naturale” (?)
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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
L’intelligenza “naturale” può diventare “artificiale”?
… e come?
AI debole: le macchine possono agire in modo intelligente?
• Sì, lo fanno già, hanno superato il “test di Turing”(1)!
• No, partendo dal teorema di incompletezza di Gödel (nessuna “matematica” consente
di descrivere in modo completo e coerente la realtà)(2), Lucas e Sayre sintetizzano in
sostanza che le macchine restano comunque inferiori all’uomo e che “pensare di
perseguire l’AI all’interno del culto del computazionalismo non ha la minima
possibilità di successo”(3).
AI forte: le macchine possono pensare?
• Sì, l’esperimento della protesi cerebrale di H. Moravec lo suggerisce(4).
• No, come ricorda John Searle, filosofo del linguaggio e della mente, “Nessuno si
sogna di pensare che la simulazione al computer di una tempesta ci debba lasciare
fradici… perché mai chiunque, sano di mente, dovrebbe supporre che una
simulazione al computer di processi mentali debba possedere realmente dei processi
mentali?”(5).
(1)Alan
M. Turing, Computing machinery and intelligence, Mind, Vol. 59, pp. 433-460, 1950.
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
(2)Kurt
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Quali sono le origini dell’intelligenza artificiale?
… e degli strumenti per “misurarla”?
Macchina di Turing: macchina a stati finiti costituita da un insieme di regole che ne costituiscono il comportamento
su un nastro in/out di lunghezza infinita. Il comportamento della MdT viene programmato definendo un insieme di
regole a quintuple: (stato_int attuale sia, simb_letto sl, prox_stato_int(sia,sl), simb_scritto(sia,sl), direzione(sia,sl)).
La MdT può risolvere tutti i problemi “computabili”.
Test di Turing: una macchina sostiene una conversazione con un interlocutore umano per 5 minuti. L’umano deve dire
se ha parlato con una macchina o con un altro umano. Il test è superato (della macchina!) se l’umano si sbaglia
almeno 3 volte su 10.
1° Teorema di Godel (di “incompletezza”): Dato un sistema formale coerente (privo di contraddizioni), fondato su
assiomi e che descriva in modo completo un’aritmetica, è sempre possibile trovare una proposizione vera (cioè
sintatticamente corretta) che non può essere dimostrata né confutata all’interno dello stesso sistema.
2° Teorema di Godel: Sia T una teoria matematica sufficientemente espressiva da contenere tutta l’aritmetica. Se T è
coerente non è possibile provare la coerenza di T all’interno di T!
Awareness (Consapevolezza): Insieme di attività
integrate che costituiscono l’abilità di “percepire”
e “reagire” in un certo modo a ciò che si
percepisce; una sorta di “istinto” che è proprio di
tutti gli individui “intelligenti”.
Consciousness (Coscienza): Self-Awareness. Un
“esecutivo centrale” che controlla, coordina e
monitora tutti i processi, secondo un piano e con
una motivazione che costituisce in ultima istanza
un’esperienza cognitiva autoreferente.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
AI – Tecniche di intelligenza artificiale
• Reti neurali


feedforward
feedback
• Sistemi a logica fuzzy
• Sistemi evolutivi





Algoritmi genetici
Programmazione evolutiva
Strategie evolutive
Particle Swarm Optimization (Teoria degli sciami)
Ant Colony Optimization Theory
• Sistemi ibridi: combinazione dei precedenti
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
AI – Alcuni aspetti comuni
 Sistemi ad elaborazione parallela e distribuita;
 Prospettiva neuro-biologica e prospettiva tecnologico-ingegneristica;
 Sistemi che non possono essere programmati;
 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;
 Posseggono una memoria di tipo «associativo» piuttosto che di tipo a
«serbatoio».
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
AI – Alcuni aspetti comuni
Tutti i sistemi artificiali elaborano:
VARIABILI
DETERMINISTICI/HE
per mezzo di
MODELLI
STOCASTICI/HE
 I sistemi tradizionali trattano
Variabili stocastiche con modelli deterministici
 I sistemi neurali trattano
Variabili deterministiche (o stocastiche) con modelli stocastici
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti Neurali come approssimatori universali
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!
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Neurone biologico e cervello umano, 1
Spike di tensione del neurone attivato
Dendrite: ramificazione del segnale di input
Assone: 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.
Ca. il 10% delle cellule cerebrali è costituto da neuroni, il restante 90% da cellule gliali (la neuroglia) di supporto e protezione
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Neurone biologico e cervello umano, 2
Sequenza di attivazione del neurone
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 C5H9NO4(-)), oppure di tipo inibitorio (principalmente Acido
Amminobutirrico C4H9NO2(+)). Questi si legano a ricettori nella membrana postsinaptica, 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 (con entità dell’ordine del mV) 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).
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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.
L’equazione che regola il comportamento del modello è:
g l  GL
GNa = 120 mS/cm2;
g Na  GNa m(t ) 3 h(t )
GK = 36 mS/cm2;
g K  GK n(t ) 4
Gl = 0.3 mS/cm2;
dm m (Vm )  m

;
dt
 m (Vm )
dh h (Vm )  h

;
dt
 h (Vm )
C
dn n (Vm )  n

dt
 n (Vm )
dVm
 I (t )  g l Vm  Ei   g Na Vm  E Na   g K Vm  EK 
dt
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.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale artificiale e cervello umano
(un confronto plausibile? 1)
Intelligenza naturale
Intelligenza artificiale
1011 neuroni
107 neuroni (transistori)
103 – 104 sinapsi/neurone
2 – 3 sinapsi/neurone (colleg./trans.)
102 op/sec/neurone = 100 Hz
5 · 108 op/sec/neurone = 500 MHz
40000 neuroni/mm3
400 neuroni/mm3
~1 cm lunghezza dendritica
~1 m lunghezza dendritica (del colleg.)
40 – 85 mV potenziale d’attivazione
~ mV potenziale d’attivazione
1 – 10 K resistenza citoplasma neuronico
--------------------
2.5 · 10-9 W dissip. pot. per n.
2.5 · 10-4 W dissip. pot. per n.
10-16 J dissip. energia per neur. per c. stato
10-11 J dissip. energia per neur. per c. stato
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale artificiale e cervello umano
(un confronto plausibile? 2)
Capacità elaborativa
Intelligenza naturale
1011 neuroni x 103 sinapsi x 102 operazioni/sec = 1016 bit/sec
Intelligenza artificiale
107 transistori x 2 sinapsi x 5·108 operazioni/sec = 1016 bit/sec
Potenza assorbita
Intelligenza naturale
10-16 J/c.stato x 1011 neuroni x 103 sinapsi x 102 operazioni/sec = 1 W
Intelligenza artificiale
10-7 J/c.stato x 107 transistori x 2 sinapsi x 5·108 operazioni/sec = 109 W = 1 GW
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale artificiale e cervello umano
dove sono i margini di miglioramento?
Capacità di
Sensibilità al
Azione Effetto elaborazione
(Informazione) Rumore
Consumo di
Energia
Rapidità
☻
☻



☻
Aumentare lo
spessore degli
assoni
☻

☻
Aumentare la
“densità
neuronale”
☻
☻
☻
☻
Aumentare le
dimensioni
Aumentare le
connessioni
Incrementare le
aree specializzate

A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali

Reti neurali artificiali - Applicazioni tipiche
1.
Sistemi di controllo intelligente;
2.
Sistemi di filtraggio del segnale;
3.
Sistemi di allarme e prevenzione;
4.
Classificazione di serie temporali;
5.
Riconoscimento;
6.
Sistemi di classificazione e diagnosi di guasto;
7.
Diagnosi di guasto di reti e circuiti;
8.
Previsione di serie temporali (Time Series Forecasting);
9.
Problemi di inversione;
10. Identificazione di sistemi;
11. Smart grid.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti Neurali artificiali
Neurone elementare a Perceptron (Warren McCulloch e Walter Pitts, 1943)
oi    w ti x  w0b
Ni
neti  w ti x   wi , j x j
j 1
Ingresso “netto” al neurone
• 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;
b = -1 → w0 = threshold (soglia)
b = +1 → w0 = bias
• n Numero di elementi del vettore di ingresso
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti Neurali artificiali - Funzione di attivazione 
Può avere ingressi e generare uscite di tipo:
• Analogico reale
• Analogico complesso
 Digitale
oi    w ti x  w0b
Può essere di tipo:
• Lineare
• Non lineare
• A soglia
• PWL
• Funzione segno
• Sigmoidale unipolare
• Sigmoidale bipolare (tangente iperbolica)
• Gaussiano
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Neurone elementare analogico, vari tipi di funzioni di attivazione
F. di A. lineare
oi    wit x   k  wit x
F. di A. non lineare a funzione segno (hard
limiter)
F. di A. non lineare PWL (piece/wise linear)
 1 if wit x  0

oi    wit x   1 if wit x  0

t
0 if wi x  0
0 if wit x  1/ 2

oi    wit x   1 if wit x  1/ 2
 t
t
 wi x if  1/2  wi x  1/ 2
F. di A. non lineare analogica
a sigmoide unipolare
oi    w x  
t
i
1
1 e
  wit x
F. di A. non lineare analogico
a sigmoide bipolare
oi    w x  
t
i
2
1 e
   wit x
1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
F. di A. Gaussiana
oi    wit x   e

( wit x   )2
2
Reti Neurali artificiali - Definizione
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 “stratificazione”
dei neuroni
In base al tipo di “flusso”
dei dati
• Non-stratificate (Non-Layered)
• Statiche (Feed-forward NN)
• Stratificate (Layered)
• A singolo strato (Single-Layer NN)
• Multistrato (Multi-Layer NN)
• Dinamiche (Recurrent NN)
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali: apprendimento
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 non supervisionato
(Delta learning, backpropagation, reti di
Levenberg-Marquardt, reti rbf)
(Reti di Hopfield, algoritmi di Hebbian,
mappe di Kohonen)
L’apprendimento si svolge confrontando la
risposta ottenuta con quella “desiderata”,
un “target signal” noto a priori.
L’apprendimento si svolge senza “target signal” noto
a priori. La rete provvede ad organizzare in categorie
(a “classificare”) i segnali o gli elementi che
costituiscono gli ingressi.
Apprendimento con rinforzo
Apprendimento autoassociativo
(Sistemi evolutivi, Ant Colony Optimization, PSO,
GA)
(Reti per PCA lineare, reti neurali
“bottleneck”)
L’apprendimento si svolge premiando la
configurazione del sistema che meglio si
“adatta” ad un obiettivo (o segnale di
rinforzo).
I dati che costituiscono il “target signal” e
quelli che costituiscono l’ingresso in questo
caso coincidono, mentre l’uscita è prelevata
altrove.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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)
Adaline net (Widrow-Hoff, 1960)
Activation Function:
1 if Net  0
y  F  Net   
1 if Net  0
Activation Function:
Perceptron learning rule:
Δwi = η·(t – y)·xi
Delta learning rule:
Δwi = η·(t – Net)·xi
y  F  Net   Net
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 Mean
Square), di addestrare la rete fino a minimizzare l'errore

1 P ( p)
quadratico medio:
( p) 2
E ( w) 
2
 t
 Net

p 1
con il metodo del gradiente, aggiustando cioè i pesi secondo
la formula: w   E
i
wi
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, ..., n
y(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
n
 wi xi  wn1 e ogni elemento (x1, …, xn)  B soddisfa
i 1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
n
w x
i 1
i i
 wn 1
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):
E
Il vettore gradiente dell’errore quadratico:


1
d  y 2  1 di   w t x  2
2
2
E per il metodo della discesa del gradiente:
w  E   d  y  '  wt x  xt
E  d  y  '  wt x  xt
Ha componenti:
con singole componenti:
E E y net j

   d  y   ' w t x   x j
w j y net j w j
w j   d  y   '  w t x   x j
j  1,..., n
  e   w x
   w t x (1   w t x )   (1  y ) y f. sigm. unipolare

  wt x 2
)
d
 (1  e
 ' w t x  


d (w t x)  2 e   wt x
1
1
2
t
2


(1



w
x

)


(1

y
) f. sigm. bipolare
t

  w x 2
2
2
(1

e
)

t
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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):


2
1 P
1 P
2
E   d k  ok    d i   w tk y 
2 k 1
2 k 1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Topologia neurale feedforward multistrato
Apprendimento backpropagation supervisionato per uscite multiple, 2
Si applica la stessa regola delta estendendola opportunamente:
wkj  
E
wkj
 E E
E
Ek  
,
,...,
wkM
 wk1 wk 2

t
t
  d k  ok   '  w k y   y

k  1,..., P
può essere calcolato, nel caso di funzione di attivazione bipolare sigmoidale:
d
2 e  wk y
1
1
2
t
2
 ' w y  



(1



w
y

)


(1

o
t
k
k)
2
d (w tk y ) (1  e  wk y ) 2 2
t
t
k
I pesi sono quindi corretti applicando la relazione precedente con:
1
r    d k  ok   1  ok2 
2
da cui si ottiene l’aggiustamento da prescrivere ai pesi:
w k   Ek     d k  ok   ' w tk y   y t
e quindi ad ogni singolo peso:
1
wkj(n 1 )  wkj(n)  wkj(n)  wkj(n)       d k  ok   1  ok2   y (jn )
2
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Topologia neurale feedforward multistrato
Apprendimento 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 :
E
W
W
( n)

δo   δo1 ,..., δok ,..., δoP 
t
per ottenere:
( n 1)

2
1 P
1 P
2


d

o

d i   w tk y 


k
k
2 k 1
2 k 1
 η  δo  y
t
V ( n 1)  V ( n )  η  δ y  x t
1
δok    d k  ok   1  ok2   k  1, ...,P
2
t
δ y  δ y1 ,..., δ yj ,..., δ yM   w tj  δo  ψ 'y
P
1
δ yj   1  y 2j    δok wkj j  1, ...M
2
k 1
La formulazione riportata si ottiene partendo dalla derivata dell’errore rispetto ai pesi del primo strato:
E
E  (net j )

  yj  x j
v ji
 (net j ) v ji
y
N
{
net j   v ji xi
j
P
E
E y j
1
2


  (1  y j )  ok wkj
 (net j )
y j  (net j ) 2
k 1
{

i 1
2
E
 1 P

d k   netk ( y )   ()



y j y j  2 k 1

P
()   (d k  ok )
k 1
P
 (netk )


net
(
y
)


 k   (d k  ok ) '(netk )

y j
y j
k 1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
y j
1
  '(net j )   (1  y 2j )
 (net j )
2
Topologia neurale feedforward multistrato
Apprendimento 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
W  W  η  δo  y t
V  V  η  δy  xt
END FOR
WHILE ((epoch EQ NepochMAX) OR (E  Emax))
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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Topologia neurale feedforward multistrato
Apprendimento backpropagation supervisionato per uscite multiple, 5
Un importante risultato relativo alle questo tipo di reti è legato al Th. di Approssimazione Universale di G. Cybenko (1989):
Sia ψ() una funzione continua, limitata, monotonicamente crescente. 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:
G ( x)    j  wTj x  b j 
N
j 1
che rappresenta un’approssimazione della funzione f non dipendente da ψ, per la quale cioè |G(x)−f(x)| < ε per tutti gli x  In.
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:
Δw( n)   E( n)    Δw( n1)
Momentum term
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:
Δw
n
(n)
   n  k E( n  k )
k 0
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.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 1. - Sistemi di controllo intelligente
Un controllore neurale per turbogeneratori, 1(*)
 Un turbogeneratore è costituito da un generatore sincrono, un sistema di eccitazione con regolazione automatica della tensione
e una turbina dotata di sistema di regolazione;
Eccitazione
Valvola di immissione
Generatore
Turbina
Valvola di intercettazione
(*)Q.H.
Vt = tensione di uscita del generatore
Vfd = tensione di campo
VR = tensione di eccitazione di input
UG = segnali di attuazione delle valvole di
regolazione
GVI GVM = posizione delle valvole
Po = pressione interna del boiler
FHP , FIP , FLP = potenze dai vari stadi
della turbina
THP , TIP , TLP = costanti di tempo
associate ai vari stadi della turbina
TGM , TGI = costanti di tempo associate
alle valvole dei regolatori
Wu, B.W. Hogg, G.W. Irwin, A Neural Network Regulator for Turbogenerators, IEEE Trans. on Neural Networks, Vol.3, N. 1, 1992, pp 95-100.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 1.
-
Sistemi di controllo intelligente
Un controllore neurale per turbogeneratori, 2
Aggiustamento dei pesi
Ai fini del progetto del controllore digitale, il turbogeneratore può essere
descritto come un sistema nonlineare tempo-discreto:
Y(t + k) = F[Y(t), Y(t – 1), …, Y(t – p), U(t), U(t – 1), …, Y(t – q)]
dove Y(t)  Rn è il vettore delle uscite e U(t)  Rm è quello degli ingressi,
che può essere usato anche per descrivere il controllo in retroazione come:
U(t) = G[Y(t), Y(t – 1), …, Y(t – s)]
scelto in modo da minimizzare la funzione obiettivo:
1
J C   rj [ y j (t  k )  d j (t  k )]2
2 j
Nel caso specifico, le uscite del turbogeneratore sono la tensione di uscita Vt e
la frequenza/pulsazione di uscita w, mentre gli ingressi sono la tensione del
sistema di eccitazione VR e gli ingressi al regolatore UG:
Y(t) = [Vt(t), w(t)]T
Sistema complessivo di regolazione
U(t) = [VR(t), UG(t)]T
Il mapper riceve come input un vettore di 12
componenti generati da due PRBS perturbando
di una certa percentuale (20-30%) i valori di
riferimento. L’uscita è campionata a 20 ms. La
rete è addestrata per 200 s. I pesi sono
inizializzati nell’intervallo random ±0.1. I
coefficienti di penalizzazione (gli rj) sono 20 (per
la tensione) e 1 (per la frequenza).
6–8–2
12 – 14 – 2
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 1.
-
Sistemi di controllo intelligente
Un controllore neurale per turbogeneratori, 3
Il regolatore opera online seguendo i passi:
Aggiustamento dei pesi
1. Vengono campionate Y(t) e D(t) e opportunamente traslate;
2. Gli insiemi di pattern {Y(t-1)}e {U(t-1)} costituiscono gli input del
regolatore;
3. Vengono aggiornati i pesi della NN Mapper in modo da minimizzare la
1
funzione obiettivo J M   rj  [ y j (t )  yˆ j (t )]2 ;
2 j
4. Gli insiemi di pattern {Y(t-1)}e {U(t-1)} vengono riproposti come input
del regolatore;
5. Vengono aggiornati i pesi della NN Controller in modo da minimizzare la
funzione obiettivo JC;
6. Il vettore U(t) contiene ora gli ingressi di controllo che vengono applicati
al turbogeneratore;
6–8–2
12 – 14 – 2
Risposta del regolatore neurale (a) a un cambio della tensione del punto di
lavoro, confrontata con quella di un regolatore adattivo lineare (b).
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 2.
-
Sistemi di filtraggio del segnale
Un sistema per l’identificazione dell’attività vocale (VAD), 1
 L’identificazione dell’attività vocale (Voice Activity Detection VAD) può
essere complicata dalla presenza di “rumore di respiro” (breathing noise)
in talune situazioni di ricezione/registrazione, anche in relazione al
posizionamento del microfono;
 Il sistema di filtraggio dovrebbe essere in grado di discriminare la parte
di segnale che costituisce il “parlato” da quella che è generata dal
respiro;
 L’architettura del filtro utilizzato per raggiungere lo scopo è la seguente:
Codifica
Hidden Markov Model
(estrazione delle caratteristiche)
Il segnale di ingresso è campionato a 8 kHz e pre-filtrato con uno stadio passa-alto per eliminare il disturbo in
bassa frequenza. È poi suddiviso in “porzioni” (frames) da 20 ms da cui vengono estratte le caratteristiche. Ogni
frame è rappresentato in un vettore da 20 componenti, ognuna delle quali contiene l’energia normalizzata della
banda relativa (le bande sono sovrapposte per il 50%) sulla scala mel in frequenza.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 2. - Sistemi di filtraggio del segnale
Un sistema per l’identificazione dell’attività vocale (VAD), 2
 La rete neurale utilizzata è una classica BPNN a tre strati;
 Viene addestrata, utilizzando un database già classificato, a generare un livello alto di uscita (1) se il frame è catalogato come
“parlato”, basso (0) altrimenti; gli insiemi di addestramento e di verifica sono costruiti registrando per ca. 2 h quattro voci maschili e
una femminile, ognuna della quali include una percentuale di parlato variabile in un intervallo 2-20%. I segnali sono etichettati
“manualmente” nella fase di apprendimento. La registrazione di uno dei cinque individui è utilizzata come insieme di verifica;
 Una misura della qualità del sistema può essere condotta sulla corretta classificazione del segnale filtrato che tenga conto di quattro
“misure”:

La sensibilità, che indica la percentuale di frames correttamente classificati come “parlato” fra tutti i frames di categoria
“parlato” del segnale;

La specificità, che indica la percentuale di frames correttamente classificati come “rumore” fra tutti i frames di categoria
“rumore” del segnale;

L’indice di previsione positiva, che indica la percentuale di frames che sono realmente “parlato” fra tutti quelli classificati
come “parlato”;

L’indice di previsione negativa, che indica la percentuale di frames che sono realmente “rumore” fra tutti quelli classificati
come “rumore”;
Di questi quattro parametri di misura della qualità del sistema i due più importanti sono la sensibilità e l’indice di previsione negativa
che, se mantenuti elevati, prevengono i “falsi negativi” (segnale parlato scambiato con segnale rumore), che sono i più dannosi;
 A questo scopo, l’output della rete neurale viene ulteriormente elaborato, per tenere in giusta considerazione la proprietà che le parole
sono distribuite lungo sequenze di frames, introducendo un ulteriore stadio di elaborazione costituito da un Modello di Markov
Nascosto;
Algoritmo
Confronto del risultato
Sensib.% Specif.%
IPP%
IPN%
NN + HMM
97.4
95.2
69.2
99.4
NN senza HMM
97.2
43.6
21.0
99.0
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 2. - Sistemi di filtraggio del segnale(*)
Un sistema per l’identificazione dell’attività vocale (VAD), 3 - Hidden Markov Model
 I Modelli di Markov sono modelli stocastici bayesiani di processi che godono della Proprietà di Markov: lo stato futuro del sistema
dipende solo dallo stato presente (e non da quelli passati);
 Il Modello di Markov Nascosto è un Modello di Markov nel quale vi siano degli stati non osservabili (nascosti);
 Il sistema in questione è costituito da:
 due stati (nascosti): s = speech state (pronuncia di parole); n = noise state (silenzio, rumore di respiro, altro rumore);
 quattro probabilità di transizione di stato (calcolate dai dati):
• as|s = probab. che lo stato corrente sia di parlato quando lo è il precedente (per es. 0.982);
• as|n = probab. che lo stato corrente sia di parlato quando il precedente è di rumore (per es. 0.002);
• an|s = probab. che lo stato corrente sia di rumore quando il precedente è di parlato (per es. 0.018);
• an|n = probab. che lo stato corrente sia di rumore quando lo è anche il precedente (per es. 0.998);
 due le “decisioni” possibili in uscita: le probabilità che un certo frame rappresenti un certo stato, in conseguenza all’uscita della
rete neurale;
 La variabile osservabile è l’uscita z della NN;
 Le relazioni che derivano dalla teoria di Markov e forniscono il risultato cercato sono:
pt ( s)  pt 1 ( s | zt 1 )as|s  pt 1 (n | zt 1 )as|n
pt (n)  pt 1 ( s | zt 1 )an|s  pt 1 (n | zt 1 )an|n
pt ( s | zt ) 
1

 p ( s ) 
1  exp 1  2 zt  ln t 
 pt (n) 

 pt ( s | zt )  T  speech

 pt ( s | zt )  T  noise
dove pt(s) rappresenta la probabilità “a priori” che lo stato sia “parlato” all’istante t, e pt(s|zt) rappresenta la probabilità “a posteriori” che
lo stato sia “parlato” nel frame t, nota l’uscita z della NN per quel frame.
(*)M.
Myllymaki, T. Virtanen, Voice activity detection in the presence of breathing noise using neural network and hidden Markov model, European Signal Processing
Conference, EUSIPCO 2008.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Topologia neurale feedforward Time Delayed (TDNN)
e Recurrent (synchronous, RNN)
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).
La figura precedente descrive in forma generale entrambe le tipologie (TDNN e RNN); nella TDNN non è
presente la linea di ritardo applicata all’uscita retroazionata.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 1
Il sistema prevede il monitoraggio del manto autostradale per allertare con sufficiente anticipo i mezzi di spargimento
delle misture saline in caso di pericolo. La temperatura al suolo dipende da vari fattori, la sua rilevazione può essere
configurata come una serie temporale generata dalla sequenza cronologica di una variabile aleatoria. Può essere
quindi opportunamente trattato con una rete TDNN, descrivendo il fenomeno in questo caso nel modo seguente:
uq(k) = F[x1(k), x1 (k − 1), …, x1 (k − n1), x2(k), x2(k − 1), …, x2(k − n2), …, xH(k), xH(k − 1), …, xH(k − nH)]
q = 1, …, Q; con Q = numero delle uscite della rete
h = 1, …, H; con H = numero di ingressi non omogenei della rete
nh = profondità massima del h-simo ingresso
Il vettore di input x è individuato attraverso opportune considerazioni fisiche e statistiche.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 2
Struttura della stazione meteo
Ogni stazione seguendo lo Standard W.M.O. (World
Meteorological Organization) fornisce le misure delle
seguenti grandezze:
-
TA = temperatura dell’aria in °C
RH = umidità relativa dell’aria, in %
TR = temperatura di rugiada
DV = direzione del vento, in gradi sessagesimali
VV = velocità del vento in m/sec
PP = pioggia in mm
PN = neve in mm
e alcuni parametri indicativi dello stato della superficie stradale (doppio sensore):
- T1,T2 = temperatura superficiale del manto stradale in °C
- W1,W2 = presenza d’acqua sul manto stradale, definita da due stati: asciutto e bagnato
- C1,C2 = temperatura di congelamento in °C
-
S1,S2
= stato del suolo (sensore1/sensore2): asciutto; bagnato; umido + sale; attenzione; allarme.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 3
Struttura della rete
Tre reti attuano la previsione della temperatura del
suolo TS ad 1h, 2h e 3h, nei punti dove sono
implementate le centraline rilevatrici. La struttura è
feedforward a 3 strati, con neuroni a funzione
d’attivazione sigmoidale, implementata da un
componente software che realizza le funzioni
principali della rete: apprendimento, verifica e
funzionamento on-line.
 Uscita principale: temperatura del suolo TS prevista,
implementata con un neurone
 Uscita ausiliaria: uscita binaria che discrimina il segno
della temperatura prevista, implementata via software

facilitare l’utilizzo da parte dell’operatore

controllo, in fase di verifica, sul segno della TS
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 4 – Insieme di apprendimento
Il coefficiente di correlazione campionario viene utilizzato
come supporto matematico per individuare le variabili
collegate al fenomeno in osservazione
Corr
Corr
Corr
Corr
Corr
Corr
Corr
Corr
T1
T1
T1
T1
T1
T1
T1
T1
e
e
e
e
e
e
e
e
T1_1h=0.986112
PP_1h=-0.037821
PN_1h=-0.036790
TA_1h=0.940864
RH_1h=-0.537199
DV_1h=-0.064356
W1_1h=-0.491601
VV_1h=0.078890
Corr
Corr
Corr
Corr
Corr
Corr
Corr
Corr
T1
T1
T1
T1
T1
T1
T1
T1
e
e
e
e
e
e
e
e
T1_2h=0.949983
PP_2h=-0.037372
PN_2h=-0.035392
TA_2h=0.911239
RH_2h=-0.485157
DV_2h=-0.073445
W1_2h=-0.484180
VV_2h=0.072020
Corr
Corr
Corr
Corr
Corr
Corr
Corr
Corr
T1
T1
T1
T1
T1
T1
T1
T1
e
e
e
e
e
e
e
e
T1_3h=0.898278
PP_3h=-0.035788
PN_3h=-0.034498
TA_3h=0.872023
RH_3h=-0.420972
DV_3h=-0.084352
W1_3h=-0.471324
VV_3h=0.058100
 La temperatura del suolo TS all’istante attuale, 1h, 2h, 3h, e 4h prima dell’istante attuale (storia evolutiva del
manto);
 La temperatura dell’aria Ta all’istante attuale, 1h, 2h, 3h, e 4h prima dell’istante attuale; Ta è la variabile più
correlata con TS è quella che ne influenza maggiormente l’evoluzione;
 L’umidità relativa Rh all’istante attuale, indice dello scambio termico fra l’aria e il manto stradale;
 Lo stato del suolo asciutto-bagnato WS all’istante attuale, indice dello scambio termico fra l’aria e il manto
stradale;
 Come ulteriore ingresso viene inserita l’ORA, opportunamente pesata e normalizzata, come indice
dell’irraggiamento.
Totale di 13 ingressi
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 5 – Fasi di apprendimento e di verifica
Struttura della rete
Set d’apprendimento (3000÷3500 esempi)
Neuroni
Previsione
 Rappresentativo (valori invernali sotto i 5°C);
 Sufficientemente numeroso (2 periodi invernali
rappresentativi dei casi ordinari e straordinari);
 Minimo (non appesantire il lavoro del computer).
previsione
Neuroni 2°
strato
1° strato
1h
14
10
2h
14
10
3h
14
10
EQM
EAM%
Scarto Medio
di
Temperatura
Scarto
Massimo di
Temperatura
% Segni
Corretti
% Segni
Sbagliati
% falsi
positivi
(mancato
intervento)
% falsi
negativi
(falso
allarme)
1h
0.000340
1.012
0.306
2.870
95.828
4.172
2.460
1.712
2h
0.000607
1.739
0.525
5.732
92.025
7.975
4.306
3.669
3h
0.000792
2.251
0.680
7.476
90.394
9.606
5.448
4.158
Utilizzando un insieme di 2000 esempi distinto da quello usato per l’apprendimento, si
individuano gli indici di qualità:
EQM=
EAM=
- Valori accettabili dell’errore sulla temperatura e dei segni corretti
- I falsi negativi sono errori meno rilevanti
- Perdita della capacità di generalizzare quando ci allontaniamo dal fenomeno in
osservazione
- Si nota dallo scarto massimo che alcuni casi sono di difficile interpretazione
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
T
1vera
 T1prevista
N
 T1vera  T1prevista
2
;
;
factor  N
N=numero dei campioni d'ingresso;
T T
T +T
factor= 1max 1min , offset=  1max 1min ;
2
2factor
T1vera
T1norm =
 offset
factor
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 6 – Fase di verifica
Ciò che è stato osservato fin qui è confermato anche dagli istogrammi degli errori
Previsione 1h
Previsione 2h
Previsione 3h
Se ci allontaniamo dal fenomeno in osservazione, aumentano il lobo centrale e la dispersione (le
cosiddette ‘code’), ma la quasi totalità degli errori è compresa nell’intervallo –2°C ÷ +2°C,
come per la previsione ad 1h.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione
Un sistema per l’elaborazione dati meteo, 7 – Previsione spazio-temporale
In questo caso la rete ha lo scopo di prevedere la temperatura del
suolo T1 ad 1h, 2h e 3h in un punto intermedio, conoscendo ciò che
avviene in due estremi distanti da esso. Per esempio il punto
intermedio può essere costituito dalla centralina Po e gli estremi dalle
centraline Adige e Reno.
Analogamente a quanto fatto per la previsione temporale, si
può utilizzare come supporto matematico il coefficiente di
correlazione campionario che conduce alla scelta dei
seguenti ingressi:
o Un uscita ausiliaria: uscita binaria che discrimina il segno della
temperatura prevista, implementata via software
•La temperatura del suolo T1, delle centraline Adige e
Reno, all’istante attuale, 1h, 2h, 3h, e 4h prima dell’istante
attuale
•La temperatura dell’aria Ta, delle centraline Adige e Reno,
all’istante attuale, 1h, 2h, 3h, e 4h prima dell’istante attuale
•L’ORA, opportunamente pesata e normalizzata, come
indice dell’irraggiamento
•Le altre variabili, quando ci spostiamo nello spazio,
perdono di significato
Istogrammi degli errori per la previsione spazio temporale
Totale di 21 ingressi
Analogamente al caso della semplice previsione temporale sono
presenti:
o Un uscita principale: temperatura del suolo prevista T1, nel punto
intermedio (centralina Po), implementata con un neurone
Nelle 3 previsioni, aumentano il lobo centrale e la dispersione, ma la quasi totalità degli errori è compresa nell’intervallo –2°C ÷ +2°C, come per la
previsione temporale.
Si può avere un buon supporto dalla previsione spazio-temporale, anche perché si possono integrare i dati di questa previsione con quelli provenienti dalla
semplice previsione temporale.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 3. - Sistemi di allarme e prevenzione(*)
Un sistema per l’elaborazione dati meteo, 8 – Implementazione software
Mappa
(con attivazione automatica allarmi)
Grafica della previsione
(*)A.
Luchetta, F. Francini, S. Manetti, Forecast: A Neural System for Diagnosis and Control of Highway Surface, IEEE Intelligent Systems, Vol.13, N. 3, 1998, pp 20-26.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Topologia neurale feedforward Recurrent di Elman
La rete rappresentata è una RNN del tipo più diffuso, chiamata “Rete di Elman”. La rete presenta un
loop di feedback fra le uscite dello strato nascosto e l’ingresso. Questa retroazione assolve il compito
di dotare la rete di una “memoria” che migliora drasticamente la sua capacità di rappresentare sistemi
dinamici.
L’uscita della rete è data da:
ŷ(k + 1) = f (Wx × x(k) +Wd × d(k − 1) + b1)×Wy + b2
Uno degli svantaggi di questo tipo di rete è naturalmente legato all’incremento della complessità e
quindi del costo computazionale dell’addestramento. In una struttura ricorsiva, infatti, alle altre
matrici dei pesi si aggiunge quella, indicata con Wd nella precedente relazione, da applicare ad ogni
incremento temporale alle linee retroazionate.
Gli algoritmi più usati per l’addestramento sono il Real-Time Recurrent Learning (RTRL) e il Back
Propagation Trough Time (BPTT).
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 4. - Rete di Elman modificata per la
classificazione di serie temporali, 1
 Al fine di condurre la classificazione la serie temporale viene applicata in input e si osserva lo stato di
attivazione dei neuroni preposti alla classificazione.
 Il numero di neuroni di classificazione coincide con il numero di classi N(c) e l’esito della classificazione è
stabilito dal neurone con il valore di uscita più elevato.
 La fase di apprendimento ha inizio con la presentazione di una sequenza di «riscaldamento» al fine di settare
correttamente gli stati interni della rete. Vengono poi inviate alla rete le serie temporali successive e si osservano
le uscite y(c) dei neuroni di classificazione.
 Ad ogni istante di tempo viene applicato un criterio “winner takes all” alle uscite, in sostanza il neurone che
assume il valore più elevato rappresenta il risultato della classificazione per l’istante in questione.
 Dopo aver sottoposto alla rete l’intera sequenza di serie temporali, viene valutato il tasso di prevalenza dell’iesimo neurone durante l’intera sequenza. Il neurone con il tasso di prevalenza più elevato determina il risultato
della classificazione. L’errore di classificazione è dato dal tasso di sequenze di input del dataset classificate in
modo errato
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 4. - Rete di Elman modificata per la
classificazione di serie temporali(*), 2 - Training
ln aggiunta, vista la natura "predittiva" oltre che classificatoria del problema, si sfrutta questa ulteriore informazione
per adattare e istruire la rete, inserendo nella definizione dell'errore da ottimizzare anche il compito di predizione:
N
N

(c)
(c) 2
( p)
( p) 2
E
   yˆ nti  ynti     yˆ nti  ynti  

n 1 t 1  j 1
j 1

(p)
N = dimensionalità della serie temporale;
ynti (p) e ŷnti(p) = valore di uscita e valore desiderato dei neuroni di predizione.
( MSE , c  p )
1

N T
N
T
(c)
( p)
L’addestramento si svolge utilizzando un algoritmo iRprop+ descritto nell’articolo di riferimento, con calcolo del
gradiente per mezzo del Back Propagation Through Time.
(*)M.
Husken, P. Stagge, “Recurrent neural networks for Time Series Classification”, Neurocomputing, Vol. 50(C), pp.223-235, 2003.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 4. - Rete di Elman modificata per la
classificazione di serie temporali, 3 - Risultati
L’applicazione di prova è la classificazione di una serie temporale bi-dimensionale in una delle tre classi seguenti:
classe 1: x1(t) = α·sin(t + β) ·|sin(t)|; x2(t) = α·cos(t + β) ·|sin(t)|;
classe 2: x1(t) = α·sin(0.5t + β) ·sin(1.5t); x2(t) = α·cos(t + β) ·sin(2t);
classe 3: x1(t) = α·sin(t + β) ·sin(2t); x2(t) = α·cos(t + β) ·sin(2t);
Con α = 0.7, β = rand[0, 2π), campionamento con ∆t = 2π/30 partendo da t0 = rand[0, 2π) e quindi T = 30;
Inoltre N = 150 (50 training trajectories, 50 validation t. e 50 test t.) e, ovviamente, N(c) = 3, N(p) = 2.
Nelle due figure seguenti sono riportati:
a) Andamento dell’errore di classificazione valutato sul training set;
b) Tasso di successo della classificazione in funzione del numero di cicli di apprendimento.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Tipologia neurale ricorrente di Hopfield
Apprendimento non supervisionato, 1
In figura è riportata una generica rete “ricorrente” non-stratificata nella 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:
1 if si (k  1)   i

yi (k  1)   1 if si (k  1)   i
 y (k ) otherwise
 i
N
si ( k  1)   y j (k ) wi , j
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
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
j 1
j i
Tipologia neurale ricorrente di Hopfield
Apprendimento 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 minimo della funzione energia:
N
1 N N
E    wi , j yi y j  i yi
2 i 1 j 1
i 1
i  j j i
Per ottenere questo scopo Hopfield ricorre alla regola di Hebb:
wi , j
 P
p
p
 xi x j if i  j
  p1
0 otherwise

dove:
P è il numero dei pattern di addestramento
• wi,j = wj,i è il peso relativo alla connessione i-j (simmetrico);
i, j = 1, …, N
• xip è l’input del neurone i-simo; p = 1, …, P
Algoritmo di Hopfield
Apprendimento:
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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Tipologia neurale ricorrente di Hopfield
Apprendimento non supervisionato, 3
Durante la fase di apprendimento ogni nuovo pattern p* = {x*}i=1,..,N viene memorizzato in un minimo
della funzione energia. Se la scomponiamo per evidenziarne il contributo otteniamo:

 

N
N
N
N
*
1
1
p

p
*
*
*
E     wi , j yi y j      wi , j xi x j 
 2 i 1 j 1
  2 i 1 j 1


 

i  j j i
i  j j i
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 N N * * * 1 N N 2 2
xi x j
 wi, j xi x j  2 
2 i 1 j 1
i 1 j 1
i  j j i
i  j j i
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 è:
N
N
 1

1 N N
1
E    wi , j yi y j    yk  wi ,k yi  yk  wk , j y j 
2 i 1 j 1
2
i 1
j 1
 2

i k j k
quando questa cambia stato, la conseguente variazione di energia è:
N
N

 N

1
E    yk  wi ,k yi  yk  wk , j y j   yk   wk , j y j 
2
i 1
j 1

 j 1

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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 5. – Riconoscimento
Espressioni facciali associate a una rete di Hopfield, 1
Un problema classico delle applicazioni di AI è il riconoscimento dei volti o delle espressioni facciali. Le reti
neurali ricorrenti di Hopfield (e non solo) possono essere efficacemente utilizzate per quest’ultimo scopo.
Le espressioni da riconoscere sono quattro: sorpresa, rabbia, gioia, tristezza, usando le immagini che provengono
da 10 individui (di entrambi i sessi).
Ogni immagine viene ottenuta con una fotocamera CCD 200300 e suddivisa in 810 regioni, ognuna delle quali è
associata a un valore ternario in riferimento all’espressione “normale”.
Per valutare il “movimento” del volto in ogni regione viene utilizzato il calcolo dell’optical flow(*) dei pixel che lo
costituiscono, mediato sulla regione. I movimenti rappresentati in questo modo sono dotati di intensità e direzione
(sono vettori) e vengono commutati in valori ternari considerandone la sola componente verticale (preminente
nell’espressività umana) e assumendo quindi:
+1 = movimento verso l’alto; 0 = nessun movimento; −1 = movimento verso il basso;
Si ottiene una matrice di 80 valori di questo tipo che costituiscono le “caratteristiche espressive” estratte dalle
immagini (feature extraction).
(*)Optical
flow: Distribuzione di veolcità apparente nel movimento di elementi aventi luminosità diversa all’interno di un’immagine”.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 5. – Riconoscimento
Espressioni facciali associate a una rete di Hopfield, 2
Per rappresentare il valore ternario associato alla singola cella occorrono due neuroni della rete (due bit).
Si assume:
(+1, −1)  +1 = movimento verso l’alto;
(−1, −1)  0 = nessun movimento;
(−1, +1)  −1 = movimento verso il basso;
Servono quindi 80  2 = 160 neuroni.
Si può utilizzare una rete 14  14 neuroni, con 36 di questi posti a zero [(−1, −1) a coppie]
La rete è addestrata secondo l’Equazione di Personnaz
(versione modificata della regola di Hebb), dove:
• N = numero totale neuroni;
• P = numero complessivo di pattern di addestramento;
• Xj = j-simo componente del pattern di addestramento ;
• Xi = i-simo componente del pattern di addestramento ;
• (C-1) = -simo elemento della matrice di correlazione
inversa fra i pattern di addestramento.
1 P P
wij   X j X i (C 1 )
N  1  1
C ,   E{( X    )( X     )} 
1 N

 ( X i   )( X i    )
N  1 i 1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
i, j  1,..., N ; i  j
Applicazioni NN 5. – Riconoscimento
Espressioni facciali associate a una rete di Hopfield, 3
Il riconoscitore opera seguendo i passi:
1. Vengono estratte le caratteristiche delle 4 espressioni
su 10 individui;
Viso (CCD camera)
2. Una prima rete di Hopfield (NN_1) viene addestrata
usando le 4 espressioni mediate sui dieci individui;
Pattern non riconosciuti
correttamente
Estrazione caratteri
H. NN_1
Pattern
addestr. 1
Pattern
Matching-1
H. NN_2
Pattern
Matching-2
4. Quando sottopongo un pattern in ingresso alla rete
NN_1 l’uscita viene confrontata con ognuno dei
pattern corrispondenti alle quattro espressioni e ne
viene misurata la distanza euclidea
De 
Pattern
addestr. 2
Esito del riconoscimento
Esito del
riconoscimento
3. Una seconda rete di Hopfield (NN_2) viene
addestrata usando le 4 espressioni più evidenti fra
quelle relative ai dieci individui;
N
 x  y 
i 1
2
i
i
 xi : i - simo comp. pattern apprend.

 yi : i - simo comp. pattern uscita
5. Il pattern viene ritenuto individuato se, delle quattro
distanze De(s), De(r), De(g), De(t), la minore dista di
un valore > 1 dalle altre tre; Se la differenza è < 1 il
pattern non è stato riconosciuto in modo chiaro dalla
NN_1. In questo caso viene dato in input alla NN_2 e
si ripete il passo 4.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 5. – Riconoscimento(*)
Espressioni facciali associate a una rete di Hopfield, 1
Il risultato complessivo di questo sistema di riconoscimento è riassunto nelle tre tabelle seguenti:
Riconoscimento % complessivo
Riconoscimento % della NN_1
Riconoscimento % della NN_2
di NN_1 + NN_2
1. Nella prima tabella è riportata la percentuale di riconoscimento delle espressioni tramite la prima rete. Ogni pattern
è ripetuto 10 volte, per un totale di 100 pattern/espressione facciale;
2. Nella seconda tabella è riportata la percentuale di riconoscimento delle espressioni tramite la seconda rete, che
riceve in input (per 5 volte), i pattern non riconosciuti dalla prima rete. “NUM” indica il numero di individui non
riconosciuti dalla prima rete;
3. La terza tabella combina i risultati e genera l’esito complessivo del riconoscimento.
(*)M.
Yoneyama et al., Facial Expression Recognition Using Discrete Hopfield Neural Networks, IEEE Int. Conference on Image Processing, Vol. 1, 1997.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Tipologia neurale ricorrente di Kohonen
Apprendimento non supervisionato, 1
Ingressi
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-forward fra gli ingressi esterni e lo strato di uscita (connessioni
“esterne” a peso variabile) e di tipo feedback fra 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:
 2dis 
h(dis, , t )   2  gauss(dis, (t ))   1  2   e
  (t ) 
2

dis 2
 2 (t )
Laplaciano della Gaussiana (Mexican Hat)
disi , j 
x
i
 x j    yi  y j 
2
2
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
distanza geometrica fra due neuroni
Tipologia neurale ricorrente di Kohonen
Apprendimento non supervisionato, 2
Altre funzioni utilizzate allo stesso scopo sono:
• Gaussiana
h( d )  e

d2
2 2
1 if | d | a
 1

• Cappello francese h(d )  
if a | d | 3a
3

0 | d | 3a
Il comportamento di ogni neurone è descritto formalmente da:
 n


y j    wi , j xi   k , j yk 
 i 1

kN j


j  1,..., m
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.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Tipologia neurale ricorrente di Kohonen
Apprendimento non supervisionato, 3
L’algoritmo di Kohonen può 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:
n


d ij  wij  x  
k 1
w
 xk 
2
ij , k
i, j  1,..., N
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”:
d k1k2  min dij
ij
i, j  1,..., N
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:
wn (t  1)  wn (t )   (t )  h(dnk )  ( x (t )  wn (t ))
dove NK è la regione di vicinato del neurone k;
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
n  Nk (t )
Applicazioni NN 6. - Sistemi di classificazione e diagnosi
Un sistema per la classificazione e la diagnosi dei guasti in elettro-attuatori per valvole basato
su reti di Kohonen, 1
Sistema di “manutenzione proattiva” di elettrovalvole a cassetto per il
controllo del flusso dell’olio in un sistema di distribuzione. Il vantaggio di un
sistema di controllo di questo tipo è quello di quantificare lo stato di
degradazione del sistema nel tempo in base a un suo monitoraggio online. I
guasti monitorati (“predetti”) sono irregolarità sulla coppia di torsione, sulla
posizione finale e sul tempo di apertura/chiusura. Il sistema utilizzato si
compone di un modello matematico le cui uscite vengono elaborate da un
trasformata Wavelet a pacchetto e da un sistema di monitoraggio online che
include una memoria e una rete neurale temporale di Kohonen.
(*)L.
Gonçalves et al., Fault Prediction in Electrical Valves Using Temporal Kohonen Maps, Proc. IEEE 11th Latin American Test Workshop (LATW2010), pp. 1-6.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 6. - Sistemi di classificazione e diagnosi
Un sistema per la classificazione e la diagnosi dei guasti in elettro-attuatori, il modello
matematico, 2
Il sistema è modellato da un complesso di dodici equazioni algebrico-differenziali, la cui soluzione è ottenuta dalla convergenza di
un metodo iterativo di Newton-Raphson.
Vd, Vq tensioni interne
s scorrimento del motore asincrono
a posizione dello sportello della valvola
va velocità dello sportello della valvola
aa accelerazione dello sportello della valvola
Te coppia meccanica del motore asincrono
Vds, Vqs tensioni del motore asincrono
Ff flusso
Fa attrito
Fm forza sulla molla
Fh forza sull’otturatore
Th coppia meccanica dell’otturatore
Questo modello è utilizzato per valutare il comportamento “normale” del sistema e per simulare il comportamento “anomalo”,
deviando, all’interno del range riportato in tabella, i parametri:
KR: costante relativa alla vite senza fine interna;
KM: costante di elasticità della molla;
Ca: coefficiente di attrito fra la valvola e la guarnizione.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 6. - Sistemi di classificazione e diagnosi
Un sistema per la classificazione e la diagnosi dei guasti in elettro-attuatori per valvole basato su
reti di Kohonen, 3
Il modello genera come uscite gli andamenti della coppia Te e della posizione a (e della sua derivata a’), in situazioni
sia di funzionamento corretto che anomalo. I segnali relativi a tali andamenti vengono post-elaborati attraverso una
trasformata Wavelet a pacchetto, tramite la quale viene estratta la densità spettrale di energia e suddivisa in N bande
di frequenza, pronta per essere usata in ingresso alla rete neurale di Kohonen.
La rete di Kohonen utilizzata è una TKM (Temporal
Kohonen Map) rettangolare contenente J = CmLm neuroni
con funzione di attivazione a decadimento temporale, del
tipo:
1
A(j k )    A(j k 1)  ( D kj ) 2
2
D  E W
kj
(k)
(k)

E
N
i 1
k
i
 Ei j 
2
dove 0 <  < 1, Aj(k) è l’uscita del neurone j-simo all’istante
k-simo, Dkj è la distanza euclidea fra l’ingresso e il neurone
j all’istante k-simo. Il neurone “vincente” è quello che
presenta uscita massima all’istante k e vengono quindi
aggiustati i pesi secondo la regola usuale delle SOM.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 6. - Sistemi di classificazione e diagnosi
Un sistema per la classificazione e la diagnosi dei guasti in elettro-attuatori per valvole basato su
reti di Kohonen, 4
La SOM raffigurata rappresenta, in forma colorata, la mappatura delle varie configurazioni di errore ottenute
durante la fase di addestramento.
Mappa di classificazione dei guasti, considerando
guasti presenti in KR, KM, and Ca.
Mappa di predizione dei guasti, considerando un
guasto in KM. La traiettoria del guasto mostra i
vari stati che il sistema attraversa.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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:

 
hi ( x )    x  ci

dove ci rappresenta il centro dello spazio del neurone e
 è una funzione di tipo radial basis, nel caso più
comune una gaussiana:
2
  x  ci   e

I neuroni del secondo strato (lo strato di uscita) hanno
funzione di attivazione lineare, che elabora le uscite
(pesate) provenienti dallo strato nascosto:

y j   wij hi ( x )
N
j  1,..., m
i 1
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.
x  ci
2 i2
dove σi rappresenta il raggio del neurone.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale Radial Basis (RBF-NN) - 2
Selezione 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:
N

y pj  t pj   wij hi ( x p )  t pj
p  1,..., P
i 1
Selezione dei centri e apprendimento supervisionato dei pesi
Apprendimento supervisionato dei pesi e dei centri
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 clustering sui 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.
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:
P 
 2
E   t p  yp
p 1
Può essere utilizzata una procedura a discesa del gradiente, in
cui pesi e centri vengono aggiornati iterativamente secondo le
formule:
wij  
(1)J.
(2)T.
E
wij

E
ci  c 
ci
Moody and C.J. Darken, "Fast Learning in Networks of Locally Tuned Processing Units“, Neural Computation, vol. 1, pp. 281-294, 1989.
Poggio and F. Girosi, "Networks for approximation and learning," Proc. IEEE, vol. 78, pp. 1481-1497, 1990.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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):
NS
E ( x) 
1
ei2 ( x)

2 i 1
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
 x   2 E ( x) E ( x)
E ( x )  J T ( x )  e ( x )
 2 E ( x)  J T ( x)  J ( x)  S ( x)
NS
S ( x)   ei2 ( x)   2 ei ( x)
i 1
(1)D.
 e1 ( x)
 x
1

 e2 ( x)
J ( x)   x1
 
 e ( x)
 NS
 x1
e1 ( x)
e1 ( x) 

x2
xn 

e2 ( x)
e2 ( x) 

x2
xn 


 
eN S ( x)
eN S ( x) 


x2
xn 
Marquardt, “An algorithm for least squares estimation of non-linear parameters“, J. Soc. Ind. Appl. Math, pp. 431-441, 1963.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale Levenberg-Marquardt (LMNN) - 2
L’ipotesi del metodo modificato di Gauss-Newton è che S(x) ≈ 0 e quindi l’aggiustamento da imprimere ai parametri diviene


1
 x  J T ( x)  J ( x) J T ( x)  e( x)
al quale viene applicata la modifica introdotta da Lev.-Marq.

 x  J T ( x)  J ( x)  I

1
J T ( x)  e( x)
(LM1)
Il parametro μ viene variato, ad ogni passo dell’apprendimento, di un fattore  > 1, moltiplicandolo per esso se E aumenta e
dividendolo se E diminuisce.
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.
NS
Eˆ

 k
eq2 (m)

k
w (i, j ) w (i, j ) m 1
Si tende a Gauss-Newton (convergenza rapida)
Si tende al metodo del gradiente (convergenza garantita)
Valori tipici:  = 10;  = 0.01;
(1)M.T.
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+x
e 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.
Hagan, M.B. Menhaj, “Training feedforward networks with the Marquardt algorithm“, IEEE Trans. on Neural Networks, Vol. 5, pp. 989-993, 1994.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 7. -
Diagnosi di guasto
Guasti parametrici in circuiti analogici, 1 - Impostazione
 In ambito elettrotecnico/elettronico, le tecniche di diagnosi incontrano le difficoltà maggiori nell’affrontare i
guasti parametrici (soft fault diagnosis) dei circuiti analogici;
 Il problema della diagnostica, in questo caso, è un problema fortemente nonlineare anche per circuiti analogici
lineari;
 L’approccio al problema per mezzo di tecniche neurali consente di aggirare l’ostacolo legato alla soluzione delle
equazioni nonlineari di guasto;
 Questo approccio rientra nella classe dei sistemi diagnostici di tipo SAT (Simulation After Test), nei quali si
ricorre a un modello da invertire rispetto ai parametri, piuttosto che a un “dizionario” degli errori (sistemi
diagnostici di tipo SBT);
 La procedura da seguire nel processo di diagnosi è allora quella schematizzata:
Selezione dei
Test points
Acquisizione dei
dati di misura
Estrazione delle
caratteristiche
(eventuale)
Classificazione
dello stato
del circuito
PCA, FFT,
Wavelets
Modello del circuito
(NN)
Misure o Simulazioni
(nel tempo o in frequenza)
Testabilità
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Interpretazione
del risultato
Applicazioni NN 7. -
Diagnosi di guasto
Guasti parametrici in circuiti analogici, 2 - Testabilità
 La Testabilità di un circuito rappresenta una misura della “risolvibilità” di un circuito come quantificazione
dell’ambiguità associata al tentativo di risolvere le equazioni di funzionamento in un intorno di ogni diversa
configurazione di guasto, in altri termini essa misura il massimo numero di classi di guasto che possono
identificate;
 Si può dimostrare che la testabilità T di un circuito è uguale al numero massimo di colonne linearmente
indipendenti della matrice Jacobiana associata alle equazioni di diagnosi di guasto, che sono in sostanza le
funzioni di rete relative ai vari test points del circuito in esame (CUT):
nq
ai( q ) (p) i
s

N q (p, s)
i  0 bm (p )
H q (p, s ) 

m 1 b (p )
D(p, s)
sm   j
sj
j  0 bm (p )
q  1,..., NTP
dove NTP è il numero di equazioni di guasto (relative ai test points), p = [p1, p2, …, pR]T è il vettore dei
parametri potenzialmente guasti con R = numero dei parametri e T = rank(B), dove B è una matrice i cui
elementi sono le derivate dei coefficienti delle equazioni di guasto rispetto ai parametri del sistema;
 Poichè, in generale, T < R, in un circuito è importante identificare anche i “gruppi di ambiguità”, cioè i gruppi
costituiti dai componenti non distinguibili l’uno dall’altro, in modo da avere un’informazione adeguata sulla
risolvibilità del problema in presenza di guasti limitati (ipotesi k-fault);
 I gruppi di ambiguità possono essere individuati andando a considerare le colonne linearmente indipendenti nella
matrice B. Ogni colonna fa capo infatti a un diverso componente del circuito. Un gruppo di ambiguità si dice
“canonico” (CAG) quando non contiene altri gruppi di ambiguità, mentre si dice “globale” (GAG) di ordine m
quando contiene m componenti ed è ottenuto dall’unione di uno o più gruppi canonici con almeno un elemento in
comune. Si può dimostrare che un circuito è completamente diagnosticabile se tutti i GAG sono stati ottenuti
unendo CAG di ordine > 2.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 7. - Diagnosi di guasto
Guasti parametrici in circuiti analogici, 3 – Caso di guasto singolo
Il caso di guasto singolo prevede k = 1, ed è naturalmente il più frequente e quindi il più rilevante da affrontare. In questo caso
si possono fare delle considerazioni sulla “diagnosticabilità” dei componenti, individuando delle classi d’errore (DIC):
 Un guasto in un componente può essere identificato in modo univoco se questo non appartiene ad alcun GAG: il
componente è anche una DIC;
 Un guasto in un componente può essere identificato in modo univoco anche se questo non appartiene ad alcun CAG di
ordine 2: anche in questo caso il componente è anche una DIC;
 Negli altri casi, cioè quelli in cui il componente appartiene ad almeno un CAG di ordine 2, il guasto non può essere
identificato in modo univoco. Si presentano vari sottocasi:
 Se il CAG di ordine 2 presenta intersezione nulla con gli altri CAG, esso può essere considerato un GAG e può
essere considerato un DIC;
 Se il CAG di ordine 2 presenta intersezione non nulla con altri CAG di ordine 2, allora solo il GAG generato
dall’intersezione di detti CAG può essere considerato un DIC;
 Se il CAG di ordine 2 presenta intersezione non nulla con altri CAG di ordine >2, allora deve essere introdotto un
DIC, così costituito:
• Conterrà tutti i componenti del GAG che appartengono ai CAG di ordine 2, se questi hanno intersezione non
nulla (non solo rispetto ai CAG di dimensioni superiori, ma anche fra di loro), infatti gli altri componenti del
GAG sono diagnosticabili, appartenendo a CAG di ordine maggiore di 2;
• D’altra parte, se i CAG di ordine 2 hanno intersezione nulla fra loro, ma hanno intersezione non nulla rispetto
ad altri CAG di dimensioni superiori, è necessario considerare ciascuno di questi come un DIC a sé stante;
inoltre, come nel caso precedente, gli altri componenti che appartengono a CAG di ordine maggiore di 2, sono
diagnosticabili;
In conclusione, combinando l’analisi di testabilità con l’ipotesi k-fault si possono ottenere le varie classi di guasto (DIC).
Ogni classe di guasto che contiene più di un singolo componente deve essere vista come un “unicum” dal punto di vista
diagnostico, nel senso che se un componente di tale classe è diagnosticato “guasto”, in realtà ogni componente della DIC
a cui questo appartiene lo può essere.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 7. -
Diagnosi di guasto
Guasti parametrici in circuiti analogici, 4 - Procedimento
Lo schema rappresenta la procedura di generazione del “training set” e di “costruzione”
della rete neurale idonea alla diagnosi(1)
(1)B.
Cannas et al., Neural network-based analog fault diagnosis using testability analysis, Neural Computing & Applications, Vol.13, 2004, pp 288-298.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 7. - Diagnosi di guasto
Guasti parametrici in circuiti analogici, 5 – Esempio 1
• Il circuito in esame è un filtro attivo passabanda con frequenza di centrobanda
a 25 kHz e B3dB  6 kHz;
• Ogni resistore ha una tolleranza del 5% e ogni condensatore del 10%;
• Viene considerato il caso di guasto singolo: k = 1;
• I componenti presenti sono 7 e la testabilità vale T = 3;
• I gruppi di ambiguità canonici sono due: [C1, R2, R3] e [R4, R5] e non hanno elementi a comune. Essi coincidono
quindi con GAG e, in definitiva, abbiamo sei DIC: C1, C2, R1, R2, R3, [R4, R5];
• La rete neurale è costituita quindi da sette neuroni di uscita, uno per ogni DIC più uno per la condizione di rete
senza guasti;
• Per la generazione delle matrici di input il circuito viene eccitato con generatori di rumore bianco usando sequenze
di numeri pseudo-random nell’intervallo [-1, 1] e periodo di campionamento di 5 s (frequenza di campionamento
che soddisfi Th. Shannon fino a 100 kHz) su intervalli di 0.25 ms, ottenendo quindi 51 campioni per ogni segnale;
• Le configurazioni di guasto sono ottenute variando il valore del rispettivo componente di ±50%, ne vengono
effettuate 90 per ogni configurazione di guasto e 100 in condizioni nominali (senza guasti). Delle 730 complessive
330 vengono usate per l’addestramento e 400 per il test;
• I 51 campioni di ogni segnale vengono ridotti a 12 per mezzo di una FFT;
• La rete neurale è costituita quindi da 12 neuroni di ingresso, nove nello strato nascosto (euristico), sette in quello di
uscita.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 7. - Diagnosi di guasto
Guasti parametrici in circuiti analogici, 6 – Esempio 2
•
•
•
•
Il circuito in esame è un filtro attivo passabasso con frequenza di taglio a 3dB a 7 kHz;
Ogni resistore ha una tollerenza del 5% e ogni condensatore del 10%;
Viene considerato il caso di guasto singolo: k = 1;
I componenti presenti sono 28 e la testabilità in questo caso vale T = 7
• I gruppi di ambiguità canonici sono 14: [R3, R4], [R6, R7], [R6, R9], [R6, C2], [R7, R9], [R7, C2],
[R9, C2], [R16, R17], [R19, R21], [R19, R22], [R19, C4], [R21, R22], [R21, C4] e [R22, C4], [R4, R5], da
cui, considerando gli elementi a comune si ricavano quattro GAG: [R3, R4], [R16, R17], [R6, R7,
R9, C2], [R19, R21, R22, C4]. Tre elementi non sono contenuti in alcun CAG e sono quindi
diagnosticabili: C1, C3, R8. In conclusione si ottengono sette DIC: C1, C3, R8, [R3, R4], [R16, R17],
[R6, R7, R9, C2], [R19, R21, R22, C4].
• La rete neurale è costituita quindi da otto neuroni di uscita, uno per ogni DIC più uno per la
condizione di rete senza guasti;
• Per la generazione delle matrici di input il circuito viene eccitato con generatori di rumore bianco
usando sequenze di numeri pseudo-random nell’intervallo [-1, 1] e periodo di campionamento di
5 s (frequenza di campionamento che soddisfi Th. Shannon fino a 100 kHz) su intervalli di 0.25
ms, ottenendo quindi 51 campioni per ogni segnale;
• Le configurazioni di guasto sono ottenute variando il valore del rispettivo componente di ±50%,
ne vengono effettuate 31 per ogni configurazione di guasto e 201 in condizioni nominali (senza
guasti). Delle 666 complessive 266 vengono usate per l’addestramento e 400 per il test;
• La rete neurale è costituita quindi da 51 neuroni di ingresso, nove nello strato nascosto
(euristico), otto in quello di uscita;
• L’apprendimento sul training set è del 100%.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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:
Y ( z )  e jArg ( z ) 
N
z
|z|
z  w0   wi  xi
i 1
dove x, wi , z  C
La “learning rule” adottata, per cui è dimostrata la convergenza(1) è:
w k 1  w k 
r
(n  1) zk
i Im
(D  Y )  X
dove
D è l’uscita nota (desired output)
wk è il vettore dei pesi all’istante k-simo
αr è una costante di apprendimento
n è il numero di input
|zk| è il modulo della somma pesata al passo k-simo
Re
D
δ=D-Y
Y
X è il vettore degli elementi coniugati del vettore di ingresso
(1)I.Aizenberg,
N.Aizenberg, J. Vandewalle, Multi-valued and Universal Binary Neurons, Theory, Learning and Applications, Kluwer Academic Publishers, 2000.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale Complex Multivalued (MLMVNN) - 2
multistrato 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):
wikm  wikm 
Strato di uscita m
w0km  w0km 
 km
( N m 1  1)
 km
( N m 1  1)
 km Y i ,m 1 ,
1

*
 km   N  1  km
m 1

 *  D Y
km
km
 km
i  1,..., N m 1
 km ,
Errore del k-simo neurone dell’m-simo strato
 kj 
N
1
j 1
wikj  wikj 
w0kj  w0kj 
N j 1

 1
i 1
ij 1
( wkij 1 ) 1
 kj
( N j 1  1) zkj
 kj
( N j 1  1) zkj
 kj Y i , j 1 ,
Errore globale del k-simo neurone dell’m-simo strato
i  1,..., N j 1
Strati nascosti j (ad eccezione del primo)
 kj ,
1
 k1 
sj
Primo strato nascosto (strato di ingresso)
N2

i 1
wik1  wik1 
w0k1  w0k1 
i2
( wki 2 )1
 k1
(n  1) zk1
 k1
(n  1) zk1
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
 k1 xi ,
 k1 ,
i  1,..., n
Rete neurale Complex Multivalued (QR-MLMVNN) - 3
modifica 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
i Im
Con questa nuova definizione di errore e considerando un set di M
campioni di apprendimento, si può dimostrare che questo dà origine
a un sistema lineare sovradimensionato della forma:
 w0  x11w1  .....  x1n wn  1

1
2
 w0  x2 w1  .....  x1 wn   2

... ... ... ... ... ...

w  x M w  .....  x M w  
1
1
n
M
 0 1
M  n  1
Re
D
δ=D-z
Y
z
Una soluzione in generale non può essere trovata, ma è possibile minimizzare l’errore quadratico utilizzando, per esempio, una
decomposizione QR della 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 QR applicata 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 del
sistema QR e per la correzione dei pesi dello strato di uscita (per il quale gli esempi, come visto, sono considerati simultaneamente).
(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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Rete neurale Complex Multivalued (QR-MLMVNN) - 4
La 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è che QTQ=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:
  QT δ   Rn  w   u 
n
 
QT r  QT δ  QT QR  w  
T

 Q δ mn   v 

Considerando inoltre che Q è ortogonale si può scrivere: ||r||2 = rT·r = rT·Q·QT·r = uT·u + vT·v
v non dipende da w e quindi il valore minimo di r si ottiene quando u = 0.
Rn  w   QT δ 
(1)Householder
n
reflection technique for QR decomposition, WIkipedia, http://en.wikipedia.org/wiki/QR_decomposition.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
 1 x11

1 x12

A
 ... ...

M
 1 x1
...
...
...
R 
R n
0
x1n
xn2
...
xnM






Applicazioni NN 8. - Previsione di serie temporali
Serie caotiche di Mackey-Glass, 1
Un problema classico affrontabile tramite reti neurali (un benchmark) è la previsione di serie temporali caotiche. Un
sistema dinamico (eventualmente rappresentato da una serie temporale) deterministico (privo di componenti casuali
e completamente determinato dalle condizioni iniziali nella sua evoluzione ) si dice caotico se presenta le seguenti
caratteristiche:
• Sensibilità alle condizioni iniziali, che comporta che a variazioni infinitesime delle condizioni al
contorno corrispondono variazioni finite in uscita;
• Imprevedibilità, che si traduce nell’impossibilità di prevedere in anticipo l'andamento del sistema su tempi
lunghi;
• Necessità di innumerevoli orbite ('traiettorie di stato') per descrivere l' evoluzione del sistema nello spazio
delle fasi, diverse tra loro e tutte confinate entro un certo spazio definito: il sistema evolve cioè verso degli
'attrattori caotici'.
Una classica serie temporale caotica è quella descritta da Mackey-Glass con l’equazione:
dx(t ) 0.2 x(t   )

 0.1x(t )
dt
1  x10 (t   )
τ= 17 è il valore per cui la serie x(t) diventa caotica e che viene scelto. Per integrare l’equazione precedente e
ottenere i campioni temporali si può usare il metodo di Runge-Kutta con Δt = 1 s e condizione iniziale x(0) = 1.2;
I dati sono campionati ogni 6 punti e lo scopo è predire x(t + 6) a partire da x(t), x(t − 6), x(t − 12), x(t − 18).
Vengono generati 1000 punti, dei quali 500 vengono usati come training test e 500 come test di verifica. L’errore
utilizzato nella valutazione è l’RMSE;
RMSE (W ) 
1
N
  
N N OUT
s 1 k 1
*
km s

2
(W ) 
1
N
N
E
s 1
s

A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 8. - Previsione di serie temporali
(*)
Serie caotiche di Mackey-Glass, 2
Con una rete neurale di tipo MLMVNN si ottiene un ottimo risultato dopo un numero piuttosto elevato di epoche di addestramento:
Con una rete neurale di tipo MLMVNN-QR si ottiene un risultato analogo in un
numero di epoche di addestramento nettamente ridotto; in questo confronto è inclusa
anche una rete di tipo feedforward a backpropagation classica:
Type of a
network and
learning
algorithm
Number of
neurons in
the hidden
layer
Number of
training
Minimum
epochs for the
testing RMSE
minimum
testing RMSE
Average
testing
RMSE
Av. Execution
Average number
time in sec (on
of training
a PC Intel Dual
epochs
Core 2.20 GHz)
MLMVN-QR
50
0.0065
35
0.0068
50
12
MLMVN
50
0.0056
95,381
0.0066
162,180
8640
MLFBP
50
0.0212
23800
0.0235
27150
980
(*)I.Aizenberg,
C.Moraga, Multilayer feedforward neural network based on multivalues neurons (MLMVN) and a backpropagation learning algorithm, Soft
Computing, Vol.11, 2007, pp 169-183.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Extreme Learning Machine (ELM) - 1
L’Extreme Learning è in realtà una modalità di
apprendimento applicato a generiche reti neurali di
tipo feedforward.
M
M
i 1
i 1
o j   i i (x j )    i (w i  x j  bi ); j  1,..., N
  (w1  x1  b1 )
H  
 (w1  x N  b1 )
 (w M  x1  bM ) 


 (w M  x N  bM ) 
Indicando con H la matrice di attivazione dello strato nascosto, la rete viene addestrata in modo da
minimizzare l’errore sui dati di uscita, in sostanza i pesi βi sono calcolati con un qualunque metodo
che cerchi di individuare:
Min(||O−D||2)=min(||Hβ −D||2)
Metodi adatti alla fase di «addestramento» possono essere:
• Metodi di eliminazione Gaussiana
• Metodi di proiezione ortogonale
• Metodi iterativi (LMS etc.)
• Singular value (SVD) and QR decomposition
G.Huang, Q.Zhu, C. Siew, Extreme learning machine: Theory and applications, Neurocomputing, Vol.70, 2006, pp 489-501.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Extreme Learning Machine (ELM) - 2
In figura ed in tabella è riportato il comportamento di una rete di questo tipo nell’approssimazione (ricostruzione) di
una funzione di tipo sinc:
 sin( x)

y  sinc( x)    x
 1
x0
x0
a partire da una sua rappresentazione con x  [-10, 10] corrotta da rumore a distribuzione uniforme in [-0.2, 0.2], ed
un confronto con reti di tipo BP e SVR (Support Vector machine for Regression).
In sintesi, le ELM offrono prestazioni eccellenti a scapito (in generale) di un lieve
peggioramento dell’errore di apprendimento, che però è compensato (sempre in generale) in un
miglioramento in termini di generalizzazione.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Extreme Learning Machine (ELM) - 3
La maggior parte dei metodi convenzionali di apprendimento non assomigliano molto all’apprendimento
biologico (se non ne sono addirittura in contraddizione). D’altra parte le ELM sono molto più vicine
all’apprendimento naturale in molti aspetti, richiamati in questa tabella, presa dall’articolo citato in calce.
Biological Learning
Conventional learning
(per es BP)
ELMs
Stable in a wide range of neurons
(tens to thousands of neurons in each
module)
Very sensitive to network size
Stable in a wide range of neurons
(tens to thousands of neurons in each
module)
Parallel implementation
Difficult for parallel implementation
Easy in parallel implementation
‘‘Biological’’ implementation
Difficult for hardware implementation
Much easier in hardware
implementation
Free of user specified parameters
Very sensitive to user specified
parameters
Least human intervention
One module possibly works well for
several types of applications
Different network types required for
different type of applications
One network type works for different
applications
Fast in micro learning point
Time consuming in each learning
point
Fast in micro learning point
Nature in online sequential learning
Difficult for online sequential learning
Easy for online sequential learning
Fast speed and high accuracy
‘‘Greedy’’ in best accuracy
Fast speed and high accuracy
‘‘Biological Brains’’ are born before
applications
‘‘Artificial Brains (devised by
conventional learning methods)’’ are
chosen after applications are present
‘‘Artificial Brains (devised by ELM)’’
can be generated before applications
are present.
Gao Huang, G.B. Huang, S. Song, K. You, Trends in extreme learning machine: A review, Neural Networks, Vol.61, 2015, pp 32-48.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 stazionario in
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 covarianza dei dati:
[X ] s n
 x11
x
 21
 .

 .
 x s1
x12
x 22
.
.
xs 2
.
.
.
x1n   X 1 
x 2 n   X 2 

. 
 

.  

x sn   X s 
Cnxn
 C1,1
C
1, 2

 ....

C1, n
C1, 2
C2, 2
....
C2 , n
....
....
....
....
C1, n 
C2, n 
.... 

Cn ,n 
Cl ,k  E{( xl  l )( xk   k )} 

1 s
 ( xtl  l )(xtk  k )
s  1 t 1
Il calcolo degli autovalori e degli autovettori ad essa relativi:
Cnxn Pnxm  Pnxm λ mxm
dove [λ]mxm è la matrice diagonale costituita dagli m autovalori 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:
Tsxm  Xsxn Pnxm
Una valutazione della qualità della mappatura può essere il projection fidelity index:
m
pf 

i 1
n

j 1
La ricostruzione avviene a meno di un dato errore residuo:
Xsxn  Tsxm PTnxm  Esxn
X'sxn  Xsxn  Esxn  Tsxm PTnxm
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
i
j
Ridondanza dell’informazione - 2
Reti neurali per la PCA lineare
Introducendo una rete neurale lineare che ha lo scopo di minimizzare l’errore residuo della trasformazione è possibile
stimare le prime m componenti principali del processo stocastico.
L’architettura proposta(1) è una rete neurale a singolo strato, con n input a m neuroni lineari descritta dalle equazioni:
y  W mxn x
dove:
y = [y1, y2, …, ym]T;
x = [x1, x2, …, xn]T; [W] = [w1, w2, …, wm]T;
wi = [wi1, wi2, …, win]T;
La learning rule viene 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


wij (k  1)  wij (k )   ( k ) yi (k )  x j (k )   whj (k ) yh (k )
h 1


(1)E.
Oja, “Principal components, minor components and linear neural networks”, Neural Networks, Vol. 5, pp. 927-935, 1992.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Ridondanza dell’informazione - 3
Reti neurali autoassociative a “collo di bottiglia” per la NLPCA, 1
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!
(1)F.
Del Frate, G. Schiavon, Nonlinear Principal Component Analysis for the Radiometric Inversion of Atmospheric Profiles by Using Neural Networks, IEEE Trans.
on Geoscience and Remote Sensing, Vol.37, N. 5, 1999, pp 2335-2342.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Ridondanza dell’informazione - 4
Reti 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 principali e 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
2
1 Ns n
E
 y x  x 
2
(i )
i 1 k 1
k
(i )
k
Ns = numero di campioni
Le funzioni G ed H sono generate utilizzando l’approccio noto alle reti neurali
backpropagation v = f(u):
 N1

1 N2
vk   w jk 2     wij1ui   j1 
2 j 1
 i 1

Con funzione
sigmoidale:
attivazione
1
 ( x) 
1  e  x
(1)M.
di
nonlineare
di
tipo
Kramer, Nonlinear Principal Component Analysis Using Autoassociative Neural Networks, J. Amer. Inst. Chem. Eng. (AIChE), Vol.37, 1991, pp 233-243.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Ridondanza dell’informazione - 5
Reti 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:
  x    y   
n
1  Pxy 
 xy

 x y
i
i 1
x
i
y
x     y   
n
i 1
2
i
x
n
i 1
i
 1
L’Indice di Correlazione Nonlineare(1) è ottenuto da:
CI xy  CI  x , y   H  x   H  y   H  x , y 
la revised entropy della variabile x è
b
H  x    pi logb pi
2
i 1
y
dove σx è la deviazione standard della variabile, x la media e σxy la
covarianza.
e la revised joint entropy delle variabili x e y
b
b
H  x , y    pi , j logb pi , j
i 1 j 1
“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:
b2
H  x , y    pi logb pi  b 2 
i 1
(1)Q.Wang,
e pi,j è la joint entropy di due variabili
2
N / b2
N / b2
H  x , y    pi logb pi  b 2 
logb
 2  CI xy  0
N
N
i 1
b
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):
N/b 1
pi 

N
b
N/b
N/b
logb
 1  CI xy  1
N
N
pi , j 
ni , j
N
dove ni,j è il numero di coppie di valori che cadono
all’interno della cella bidimensionale ijsima. Quindi, la
correlazione nonlineare fra la variabile x e la variabile y è
data da:
b b n
 ni , j 
i,j
CI xy  2  
logb 

i 1 j 1 N
 N 
Y.Shen, J.Q.Zhang, A nonlinear correlation measure for multivariable dataset, Physica D, Vol.200, 2005, pp 287-295.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche 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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche 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à Stimata dell’uscita q-sima oq rispetto alla
generica connessione wjk:
   SE ( q ) 

w jk ( final )
 
(n)w jk (n)  
w jk
 w jk ( final )  w jk (initial )
n 0 

N 1
WS
1
(q)
jk
2
dove 𝑆𝐸 𝑞 = 2 𝑑𝑞 − 𝑜𝑞 rappresenta l’errore quadratico relativo all’uscita q-sima e
N è il numero di iterazioni di addestramento svolte;
Nello stesso modo la Sensibilità Globale Stimata dell’uscita è l’entità della
variazione dell’errore quadratico complessivo
SSE 
2
1 Nout
  dq  oq 
2 q 1
rispetto alla generica connessione wjk:
N 1   SSE
w jk ( final )
  (n)w (n)  
GWS jk   

jk
n 0 
 w jk ( final )  w jk (initial )
 w jk
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche di Pruning, 2
La variazione dell’errore quadratico può essere valutata seguendo un
approccio analogo a quello della backpropagation, partendo dallo strato di
uscita:
(3)
SSE SSE e j o j net j
(3)

 e j yk(2) f j(3) (net (3)
j  bj )
(3)
(3)
(3)
w jk
e j o j net j w jk
f
(3)
j

f j(3)
net (3)
j
Solo per questo strato la suddetta variazione coincide con quella di SE
rispetto a wjk: SE ( q )
(2) (3)
(3)
(3)
w(3)
jk
 e j yk f j (net j  b j )
q  1,..., Nout
Propagando all’indietro al secondo strato nascosto:
(2)
(2)
Nout
SSE SSE e j y j net j
(1) (2)
(2)
(2)
(1)

e j yk f j (net j  b j ) e j yk eq wqj(3) f q(3) (netq(3)  bq(3) )
(2)
(2)
(2)
(2)
w jk
e j y j net j w jk
q1
(2)
(2)
SE ( q ) SE ( q ) e j y j net j
(2)

 e j yk(1) f j(2) (net (2)
j bj ) 
(2)
(2)
(2)
(2)
w jk
e j y j net j w jk
(2)
(3) (3)
(3)
(3)
  yk(1) f j(2) (net (2)
j  b j )eq wqj f q ( netq  bq )
q 1,..., N out
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche di Pruning, 3
Infine, per il primo strato:

 SE ( q )
w
(1)
jk
N2
  SE  e
(q)
e j
j
(1)
j
y net
(3) (3)
eq wqp
f q (netq(3)  bq(3) )
p1
y (1)
net (1)
j
j
(1)
j
w
(1)
jk
(1)
(2) (2)
(2)
(2)
  xk f j(1) (net (1)
j  b j ) w pj f p (net p  b p ) 
q 1,..., N out
net (1)
 SSE  SSE e j y (1)
j
j
(1)

 xk f j(1) (net (1)
j  b j )
(1)
(1)
(1)
(1)
w jk
e j y j net j w jk
N 2  Nout



(3) (3)
(2)
(2)
(2) 
eq wqp
f q (netq(3)  bq(3) ) w(2)
f
(
net

b
)

pj
p
p
p
p1 
q

1




Le formule precedenti sono relative ai pesi del primo strato nascosto, dove f j( h ) () è la funzione di attivazione del
(h)
neurone j-simo dello strato h-simo, e net j rappresenta la somma pesata degli ingressi del j-simo neurone dell’hsimo strato.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche di Pruning, 4
A questo punto può essere definito un
indice di sensibilità bilocale:
(q)
jk
B
LSI
W
S(jkq)
Nwc
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:
(q)
BLSI (jkq )   ( q )   BLSI
WS
l
1
e un criterio di soppressione (di pruning)
(q)
jl
Per ogni q = 1, …, Nout e per un dato (q)
(q)
è il valor medio della sensibilità bilocale esteso all’intera rete
 BLSI
Numero di conn. pesate
nello specifico strato
Per stabilire la procedura di pruning, occorre introdurre una misura della qualità della generalizzazione e del livello
di overfitting, attraverso, per esempio il Generalization Decay:
  ( n)

GD(n)   va
 1 100
  min (n) 
  ( q ) ( n) 
GD ( q ) (n)   va
 1 100
(q)

(
n
)
 min

 min (n)  min  va (n ')
n ' n
E un parametro (GDUPS) che identifichi il momento opportuno per l’attuazione del pruning:
GDUPs(n) is true if:
GD(k) > 0 during the last n-s epochs, that is for k : n, …, n-s
GD(n) - GD(n-1) > 0
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali – Il problema della generalizzazione
Tecniche di Pruning, 5
Manca a questo punto la quantificazione del parametro di
soglia λ(q) da inserire nel precedente criterio di soppressione:

(q)
 GD
(q)

( n)  
(q)
MAX


1
 1 

(q)
 1  GD (n) 
il quale è a sua volta associata al parametro ID(q)
(Importance Degree), che distingue ognuna delle uscite
della rete neurale.
Algoritmo(1)
Calculate ID(q) for each q = 1, …Nout and k terms;
do
Train the network for one epoch;
if epoch MOD k = 0 then
Compute εva(n), εmin(n), GD(q)(n)
using
validation set, for each q = 1,…Nout;
endif
(q)
while max GD (n)  1
q
reset_network (to εmin); // reload parameters of the network
exhibiting minimum validation error
do
Train the network for one epoch and compute
the BLSI ( q ) values;




Il parametro λ(q)MAX viene ricavato associandolo al cromosoma di un
algoritmo genetico che abbia come funzione obbiettivo (Fitness):
1
F
Nout
Nout
  ID    d
(q)
q 1
2
q
 oq 
2
In questo modo esso dipende direttamente da due valori: l’indice di
Generalization Decay GD(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.
if epoch MOD k = 0 then
Compute εva(n), εmin(n), GD(q)(n), using validation set;
for each q = 1, …Nout;
if GDUP5(n) is true then
(q)
prime genetic algorithm to calculate MAX ' s, for q = 1,
…, Nout;
prune all connections whose weights satisfy
(q)
BLSI (jkq )   ( q )   BLSI
where λ(q) is calculated using
previous steps and formulas.
endif
endif
while (epoch < epochMAX OR eva(n)< eMIN)
(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.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 1
 Vengono usati dati satellitari
provenienti da satelliti ad orbita
polare di un Progetto Europeo
EUMETSAT;
 Lo strumento di bordo da cui
vengono
prelevati
è
un
Interferometro a Raggi Infrarossi
(IASI);
 I dati raccolti dall’interferometro vengono
utilizzati
per estrarre diversi tipi di profili
atmosferici (temperatura, vapor d’acqua, ozono,
altri gas) soprattutto in alcune regioni dove la
copertura dei satelliti geostazionari è solo
parziale.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 2(*)
Intervalli spettrali

In questi casi I risultati migliori sono
ottenuti utilizzando modelli di inversione
fisica, ma le eventuali esigenze di “real
time” sconsigliano il loro utilizzo, a
vantaggio di modelli di soft-computing;

Il dataset di questo esempio è costituito da
377 esempi (coppie spettro-profilo); 200
sono usate nella fase di addestramento e
177 nella fase di verifica;

Ogni spettro IASI, campionato a 0.25 cm-1,
fornisce 8461 ordinate (canali spettrali); è
ottenuto tramite un modello -IASI su una
griglia di 60 strati atmosferici, a partire dalla
superficie terrestre fino a 0.005 hPa;

La scelta degli intervalli spettrali è suggerita
da considerazioni di natura fisica.
(*) A.
Luchetta, C. Serio, M. Viggiano, A neural network for the retrieval of atmospheric parameters from infrared high resolution sensor spectra, Proc. of IEEE Int.
Symposium on Circuits and Systems (ISCAS2003), 2003
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 3
I canali IASI costituiscono lo spazio di input della rete neurale;
È sicuramente consigliabile ridurre drasticamente le dimensioni dello spazio degli
input;
Si può valutare a tale scopo un indice di fedeltà della spazio trasformato
(projection fidelity index):
N
pf 

i

j
i 1
P
j 1
Scegliendo per esso un valore del 99.5% si riducono le dimensioni a 50
componenti principali, rappresentative dello spettro originale. Tale indice può
essere usato come indicazione, pur non essendo un indicatore pienamente
affidabile del contenuto informativo, in particolare se viene usato in associazione a
un metodo di estrazione pca neurale o nonlineare.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 4
I parametri della rete possono essere individuati con un approccio euristico, come compromesso
fra complessità e velocità di convergenza;
Anche dopo vari tentativi e una scelta adeguata, questo tipo di rete è soggetta a problemi di
overfitting;
Le uscite della rete non sono “omogenee” fra loro e possiedono diversi “gradi di rilevanza” a
seconda della loro collocazione nei vari strati dell’atmosfera;
L’architettura
è
una
rete
neurale feedforward a tre strati
(due nascosti) con algoritmo di
apprendimento
di
tipo
backpropagation.
Gli
strati
nascosti
sono
costituiti, rispettivamente, da
40 e 10 neuroni.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 5
 Qui è considerato il primo strato, che include la
temperatura della superficie terrestre, quindi
questa componente della rete comprende quattro
uscite;
 Nella tabella sono riportati i valori calcolati per i
gradi di rilevanza ID(q) delle uscite del sistema;
 Il grafico rappresenta l’errore relativo ai dati di
addestramento e a quelli di verifica, con
l’indicazione delle epoche in cui interviene il
pruning.
Output
position
Quantity
ID(q)
1
Surface T°
2
1st layer air T°
3
1st layer H2O
0.67
4
1st layer O3
0.22
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
0.70
1.0
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 6 – Calcolo dell’ID
Per determinare il parametro ID (Importance Degree = Indice di rilevanza) è possibile usare criteri arbitrari;
la scelta deriva dalle seguenti considerazioni:
 Maggiore enfasi va attribuita alle uscite che sono maggiormente correlate le une alle altre;
 Una misura della rilevanza delle uscite può essere ottenuta inserendovi anche l’entità della “autocorrelazione”. Ci si può aspettare che un’uscita poco rilevante sia più rumorosa e quindi poco auto-correlata
 Un indice adeguato dovrebbe saper gestire non solo l’entità della correlazione lineare, ma anche di quella
non-lineare, che sicuramente interviene in questo ambito di grandezze e fenomeni fisici.
Di conseguenza può essere opportuno utilizzare un Indice di Correlazione Nonlineare (vedi parte teorica):
b
b
CI ij  2  
i 1 j 1
ni , j
Nout
 ni , j 
logb 

N
 out 
Che si traduce in un Indice di Rilevanza che associa alla singola linea di uscita della rete una
combinazione degli indici di correlazione di questa con le altre e con se stessa (autocorrelazione Cqq):
 Nout 
ID  normalize   Cqj 
 j 1 
(q)
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 7
Nella Tabella sono riportati i valori degli errori di verifica nell’epoca che precede immediatamente un passo di pruning e
in una che lo segue a ridosso;
Sono inoltre riportate le dimensioni del vettore di ingresso e il numero di connessioni presenti, prima e dopo l’attuazione;
si vede come si passi da un ingresso inizialmente fissato a 50 componenti (le “componenti principali” descritte prima) a
28; questo risultato indica che 22 ingressi possono essere ulteriormente “tagliati” senza sostanziale perdita di
informazione;
Anche se la riduzione dell’errore non è sempre rilevante, occorre tenere in conto che la procedura nel suo complesso
consente non solo un miglioramento della capacità di generalizzazione della rete, ma anche un ridimensionamento
corretto della stessa.
Data
Before
pruning
After 1th
pruning step
After 2nd
pruning step
After 3rd
pruning step
1st layer
(epoch 60)
(epoch 70)
(epoch 105)
(epoch 160)
Surface T° (error
in K)
0.48
0.44
0.44
0.43
Air T° (error in K)
1.33
1.24
1.12
1.12
H2O (rms % error)
12.12
12.00
11.40
11.35
O3 (rms % error)
34.24
32.68
32.90
32.70
Input dimension
50
31
31
28
Total weight number
2494
650
589
562
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 9. - Problemi di inversione
Una rete per l’inversione di dati satellitari, 8
Le reti neurali progettate sono
state implementate via software al
fine di svolgere tutte le varie fasi:
elaborazione iniziale degli spettri
per mezzo dell’estrazione delle
componenti principali (sia in
versione classica che neurale),
inversione degli stessi e riordino
dei risultati ottenuti
Il risultato dell’inversione con
questa architettura consente
di ottenere temperature con
errore che si mantiene intorno
a 1-2 K, a seconda della
regione, che risponde agli
obbiettivi di sistemi di questo
tipo per i quali si richiedono
tipicamente errori di ±1 K
nel primo km di troposfera e
±10-20% di accuratezza
negli strati bassi di troposfera
(1-2 km), sia per la
temperatura che per il vapor
acqueo.
I risultati sono stati a suo tempo
verificati
e
validati
da
EUMETSAT.
Tropical Air Mass
Mid-latitude Summer Air Mass
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Sub-arctic Latitude Winter Air Mass
Applicazioni NN 10. - Identificazione di sistemi
Progetto di filtri a microonde in guida d’onda, 1
 Una tecnica diffusa per la realizzazione dei filtri a microonde richiede
l’inserzione di iridi o fori circolari (post) all’interno della guida d’onda;
 Per il progetto dei filtri a microonde è utile (e non banale) avere a disposizione
dei modelli equivalenti a costanti concentrate del filtro (parametri circuitali o
geometrici);
 I modelli equivalenti a costanti concentrate consentono di accedere a
metodologie di progetto standard con l’ausilio di strumenti CAD;
 Il problema presente consiste nel ricavare le dimensioni geometriche delle varie
parti del filtro a partire dalla risposta in frequenza desiderata;
 Particolarmente ostici da modellare e simulare sono i post circolari (seppure più
efficienti in termini di prestazioni);
 Una filtro a guida d’onda di questo tipo richiede, per la sua completa caratterizzazione-identificazione, l’estrazione
di tre grandezze: x, r e d, rispettivamente la distanza del centro del foro dal bordo della guida, il raggio del foro e la
distanza fra i centri;
 Per il calcolo della matrice dei parametri di diffusione del filtro può essere utilizzato un potente simulatore che
implementi il metodo dell’espansione modale degli elementi finiti;
 Dalla matrice dei parametri di diffusione sono eventualmente ricavabili in modo agile le varie matrici di impedenze
o ammettenze necessarie;
 Al termine della simulazione del filtro sono disponibili due insiemi; quello delle dimensioni (i parametri geometrici
del sistema) e quello delle matrici di impedenze, che sono costituite ognuna da un certo numero di valori numerici
relativi a spazzolate sull’intervallo di frequenze preso in considerazione;
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 10. - Identificazione di sistemi
Progetto di filtri a microonde in guida d’onda, 2(*)
 Il punto precedente evidenzia la grande mole di dati che si devono elaborare, considerando che
si tratta di collocare bande passanti dell’ordine dei MHz, intorno a frequenze di centro banda
dell’ordine delle decine di GHz;
 In questo caso specifico si ricorre a un campionamento uniforme, prendendo 1500 campioni
nell’intervallo 12.5 – 13.5 GHz. Le combinazioni di parametri geometrici (numero degli
esempi) sono 1727 (2.590.000 valori!);
 I valori individuati con le misure (o con le simulazioni!) vengono impiegati per risalire al filtro
da realizzare, ovvero alla sua funzione di rete, rappresentata attraverso i coefficienti o i
m
poli/zeri:
a0  a1s  a2 s 2  ...  am s m
Z ( s) 
K
1  b1s  b2 s 2  ...  bn s n
 (s  z )
i
i 1
n
 (s  p )
j
j 1
 L’identificazione del filtro potrebbe anch’esso avvenire tramite una rete neurale, ma in questo
caso si preferisce ricorrere all’algoritmo di Levy per il fitting delle curve in dominio complesso;
 Si perviene quindi alla funzione di rete che meglio esprime ognuno dei campioni disponibili,
nella forma:
Z ( s) 
a0  a1s
1  b1s  b2 s 2  b3 s 3  b4 s 4
Sei incognite da risolvere
(*)A.
Luchetta, et al.: Design of Waveguide Microwave Filters by Means of Artificial Neural Networks, Int. J. of RF and Microwave Computer-Aided Engineering, Vol.16,
N. 6, 2006, pp 554-560.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 10. - Identificazione di sistemi
Progetto di filtri a microonde in guida d’onda, 3
 Il problema della sintesi si sposta ora a considerare, al posto dei campioni in frequenza, i
coefficienti della fdt, o i poli e gli zeri della stessa. Questi vengono utilizzati per addestrare
un’architettura neurale del tipo in figura;
 L’insieme degli esempi è suddiviso in tre sottoinsiemi, di 1400 campioni di addestramento e ca. 150
campioni per ogni set di verifica e di test;
 L’architettura prevede l’uso di due reti, la prima che riceve in ingresso i valori dei poli e degli zeri
(5 ingressi in questo caso) e fornisce in uscita i valori dei tre parametri, la seconda che riceve in
ingresso anch’essa i poli e gli zeri e inoltre i parametri x ed r provenienti dall’uscita della prima e
“raffina” la procedura fornendo come output il valore del parametro geometrico d.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 10. -
Sistemi di potenza
Modellistica e valutazione di guasti elettromeccanici in trasformatori di potenza, 1
SMSMo#180#130#1#0
o#180#260#1#0
W #180#190#1#180#200
L#180#200#1#2
R#180#130#1#2
W #180#60#1#180#130
W #180#320#1#180#260
T#192#152#
RB
LB
RA
VA
LA
CA
CB
RC
CC
LC



In tutti i problemi in cui si parte da circuiti dotati di parametri per loro stessa natura “distribuiti”, l’equivalente
modellizzazione a parametri “concentrati” è un compito non facile, la cui implementazione può d’altra parte
aiutare concretamente ad ottenere risultati che riguardano la diagnosi di guasto, lo studio dei transitori, le
considerazioni sulla compatibilità elettromagnetica, la valutazione del contenuto armonico, etc.;
Anche in questo caso il problema della diagnostica è un problema nonlineare anche per sistemi a componenti
interni lineari;
L’approccio consiste nello studiare e sfruttare in modo opportuno le relazioni che intercorrono fra tre famiglie
di dati:
1. i parametri geometrici, che indichiamo con g
2. i parametri elettro-magnetici, che indichiamo con p
3. la risposta (simulata o misurata) in frequenza (FRA Frequency Response Analysis), che indichiamo con H.
(*)
A. Luchetta, S. Manetti, Lumped Model Identification Based on a Double Multi-Valued Neural Network and Frequency Response Analysis, Proc. of IEEE Int.
Symposium on Circuits and Systems (ISCAS2012), Seoul, South Korea, 2012
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Applicazioni NN 10. -
Sistemi di potenza
Modellistica e valutazione di guasti elettromeccanici in trasformatori di potenza, 2
Un primo schema per l’estrazione dei
modelli a parametri concentrati è il
seguente:
L’insieme di apprendimento (1000 coppie di grandezze {g, H}) viene generato combinando casualmente parametri ai
quali è stata applicata una certa variazione entro un range di validità; l’intervallo di frequenza è [100-300] Hz.
L’uscita presa in considerazione è l’impedenza di ingresso del modello equivalente, cioè H = ZA = VA/IA. La rete
NN2 viene invece addestrata con un set di 2000 coppie di valori {H, p}, generati nello stesso intervallo di frequenza
facendo variare un sottoinsieme di componenti testabili del circuito equivalente. Questi componenti sono poi
associati ai parametri r e  attraverso relazioni analitiche note.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
18000
16000
Calculated data
Measured (simulated) data
14000
Impedence, ohm
Una volta completata la fase di addestramento del modulo di inversione NN2,
l’intera architettura viene addestrata sottoponendole il primo insieme di
esempi, al fine di ottenere in uscita i parametri r,  e C. In questa fase non è
direttamente disponibile il riferimento per la generazione dell’errore, ma tale
riferimento viene fornito dall’uscita della porzione di rete NN1
precedentemente addestrata (che ora lavora offline). Nel grafico è riportato il
confronto, nel dominio della frequenza, fra la curva di risposta effettiva e
quella tracciata usando i valori calcolati dal sistema per i vari parametri.
L’addestramento è portato a termine in meno di 20 epoche e fornisce in uscita i
tre parametri r = 499.4,  = 4.969·106 S/m e CA=CB=CC = 81.77 pF con un
errore medio di 0.373%
12000
10000
8000
6000
4000
2000
0
100 120 140 160 180 200 220 240 260 280 300
Frequency, Hz
Applicazioni NN 11. – Smart Grid
Energy signal disaggregation(1)
Il problema dell’”Energy Signal Disaggregation” investe
le Smart Grid e la possibilità di riconoscere
(“disaggregare”) i vari apparati elettrici che
contribuiscono al consumo giornaliero di energia, a
partire dalla misura del Segnale Energia complessivo e
procedendo con la sua scomposizione nelle varie
componenti.
L’approccio “intelligente” per l’estrazione delle
componenti parte dal riconoscimento del singolo
elemento, dall’estrazione di un’impronta (o
“signature”, anch’essa individuata eventualmente
per mezzo di un modulo neurale) ad esso relativo e
progetta una rete neurale che sia in grado di
“estrarre” il contributo del singolo apparato, l’istante
di avvio e quello di termine della sua attività e
naturalmente, aspetto preponderante, il suo peso in
termini di consumi energetici complessivi.
(1)A.G.
Ruzzelli et al., Real-Time Recognition and Profiling of Appliances through a Single Electricity Sensor, Proc. of IEEE Secon 2010, pp 1-9.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – 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 – Metodi Avanzati per i Sistemi e i Circuiti – 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 Signal
Processor), 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 essere
impiegati DSP general purpose oppure 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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Le reti neurali artificiali – Hardware
Modelli analogici, 1
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.
Realizzazioni più sofisticate prevedono l’uso di tecnologie VLSI per le varie parti della NN, con tecniche diverse di
immagazzinamento dei pesi.
VOUT  f VW , TWIDTH 
Moltiplicatore-sommatore
analogico
Sistema di immagazzinamento e
aggiornamento dei pesi sinaptici
VOUT  f VIN ,VCTRL 
Funzione di attivazione
del neurone (sigmoide)
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Le reti neurali artificiali – Hardware
Modelli analogici, 2 – Reti neurali cellulari (CNN)(1)
Gen. di corrente controllato in tensione
non lineare (PWL)

 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.
(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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Le reti neurali artificiali – Hardware
Modelli 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.
Memristenza
M (q) 
d ( q )
dq
Menduttanza
W ( ) 
M
dq ( )
d
d
dt
dq
dt
v(t )

i (t )
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.
(1)L.
Chua, “Memristor – The missing circuit element“, IEEE Trans. on Circuit Theory, Vol. 18, N. 5, pp. 507-519, September 1971.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Le reti neurali artificiali – Hardware
Modelli 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.
Condensatore:
Carica = Acqua (quantità di fluido);
Tensione elettrica = Pressione;
Corrente elettrica = Velocità (portata di massa);
Capacità el. = capacità di raccolta della membrana.
Induttore:
Memristore:
Carica = Acqua (quantità di fluido);
Tensione elettrica = Pressione;
Corrente elettrica = Velocità (portata di massa);
Induttanza el. = Inertanza del fluido.
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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali artificiali – Hardware
Modelli analogici, 3 – Modellizzazione fisica del memristore(1), 1
v(t )  RM ( x, i, t )i (t )

 x  f ( x, i , t ) 
Caso particolare
Un generico sistema memristivo può essere descritto dalle equazioni:
dove:
dq
x è il vettore delle variabili di stato
v(t )  M w  q (t )  i (t )  M  q (t ) 
dt (1)

RM e f sono in generale funzioni del tempo
dw / dt  f (i (t ))
v(t) e i(t) sono la tensione e la corrente
Esse 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, di profondità w, che raggiunge al minimo il valore RON e quella
dello strato di TiO2 ad alta resistenza, di profondità D–w, che raggiunge al massimo il valore ROFF. 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:

w(t )
 w(t )  
v(t )   RON
 ROFF 1 
(2)
  i (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:
w(t )  w0  OV
RON t
R
i ( )d  w0  OV ON q(t )

D 0
D
R
dw
 OV ON i(t )
dt
D
(3)
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 (1), (2) e (3) si ottiene
l’espressione della memristenza del memristore:
R
(4)
M (q)  R0  R v 2ON q (t )
D
R0  RON  w0 / D   ROFF 1  w0 / D  R  ROFF  RON
nella quale possiamo fra l’altro notare come le dimensioni nanometriche siano essenziali (D piccolo), vista la bassa mobilità delle lacune.
(1)D.
Strukov, G. Snider, D. Stewart and S. Williams, “The missing memristor found”, Nature, Vol. 453, 1 May 2008.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali artificiali – Hardware
Modelli analogici, 3 – Modellizzazione fisica del memristore, 2
Combinando le precedenti equazioni (3) e (4) possiamo ottenere anche l’espressione della caratteristica i-v del memristore:
v(t )
i (t ) 
R0 1 2R
OV RON
D 2 R02
t
 v( )d
0
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 – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali artificiali – Hardware
Modelli analogici, 3 – Implementazione con memristori
Diversi modelli elettronici sono già stati proposti(1)(2)(3).
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).
v(t )  RM (x, v, t )i (t )

 x  f ( x, v , t )
 x  RM

 x  VM  0.5(   )[| VM  VT |  | VM  VT |]
 ( x  R )  ( R  x)
M1
M2

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.
Snider “Molecular-Junction-Nanowire-Crossbar-Based Neural Network”, US Patent 7 359 888, April 15 2008.
Choi et al. “An electrically modifiable synapse array of 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.
(1)G.
(2)H.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali
Reti neurali artificiali – Hardware
Modelli 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 lo
accompagna 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.
A. Luchetta – Metodi Avanzati per i Sistemi e i Circuiti – Reti Neurali