tesi laurea cristian randieri: tecniche di soft computing per la modellistica di dati di tipo...
TRANSCRIPT
UNIVERSITÀ DEGLI STUDI DI CATANIA
FACOLTA’ DI INGEGNERIA
DIPARTIMENTO ELETTRICO, ELETTRONICO E SISTEMISTICO
CRISTIAN RANDIERI
TECNICHE DI SOFT COMPUTING PER LA
MODELLISTICA DI DATI DI TIPO AMBIENTALE
TESI DI LAUREA
Relatore:
Ch.mo Prof. G. NUNNARI
Correlatore:
Ing. A. NUCIFORA
ANNO ACCADEMICO 1998-99
Ai miei cari genitori Clelia e
Salvatore, che con immensi sacrifici
hanno permesso tutto ciò.
Al Prof. Giuseppe Nunnari, che mi
ha sempre incoraggiato verso
l’affascinante mondo della ricerca.
Nel ricordo del Prof. Victor Rizza,
modello di vita, elemento unico e
geniale.
i
INDICE
1 INTRODUZIONE 1
2 TECNICHE DI TIPO SOFT COMPUTING 4
INTRODUZIONE 4
2.1 LE RETI NEURALI 6
2.1.1 Struttura delle reti neurali 8
2.1.2 Tipi di apprendimento delle reti neurali 10
2.1.3 Reti a separazione lineare 11
2.1.4 Algoritmo di apprendimento di Widrow-Hoff 14
2.1.5 Reti a separazione non lineare 17
2.1.6 Apprendimento delle reti MLP 19
2.1.7 Apprendimento non supervisionato 22
2.2 LA LOGICA FUZZY 24
2.2.1 La teoria dei fuzzy set 25
2.2.2 Variabili linguistiche 27
2.2.3 Funzione di appartenenza 28
2.2.4 Regole fuzzy 29
2.2.5 Sistemi fuzzy 32
2.2.6 Associazione fuzzy input-output 37
2.2.7 Metodi di defuzzificazione 40
2.3 GLI ALGORITMI GENETICI 42
2.4 LE RETI NEURALI CELLULARI 48
2.4.1 Architettura delle reti neurali cellulari (CNN) : Il modello elettrico 48
2.4.2 Stabilità di una rete neurale cellulare 56
2.4.3 Equilibrio stabile di una cella di una CNN 61
2.4.4 Funzionamento circuitale di una CNN 63
2.5 I SISTEMI IBRIDI 66
2.5.1 Fuzzy neural networks (FNNs) 67
3 MODELLISTICA DELL’INQUINAMENTO
ATMOSFERICO TRAMITE TECNICHE DI
SOFT COMPUTING 72
3.1 INTRODUZIONE 72
ii
3.2 PREDIZIONE DELLE CONCENTRAZIONI DEGLI INQUINANTI
ATMOSFERICI IN UNA ZONA AD ALTA DENSITA’ DI
INSEDIAMENTI INDUSTRIALI 79
3.2.1 Modelli di predizione mediante strutture di tipo ARMAX 81
3.2.2 Identificazione mediante perceptrone multistrato (MLPs) 86
3.2.3 Modelli Neuro-Fuzzy 92
3.2.4 Modelli AR/MLP 103
3.3 ANALISI DEI RISULTATI 110
4 SISTEMA PER LA DETERMINAZIONE DELLA
CARICA BATTERICA TRAMITE RETI NEURALI
CELLULARI 117
4.1 INTRODUZIONE 117
4.2 DETERMINAZIONE QUANTITATIVA TRAMITE METODI
TRADIZIONALI 119
4.3 APPLICAZIONI DELLE RETI NEURALI CELLULARI PER
L’ELABORAZIONE DELLE IMMAGINI 132
4.4 DETERMINAZIONE QUANTITATIVA TRAMITE RETI
NEURALI CELLULARI 135
4.5 DETERMINAZIONE QUANTITATIVA: UN CASO REALE
148
ALGORITMO PER LA DISCRIMINAZIONE DELLE CELLULE CON
DIMENSIONE FISSATA 153
5 CONCLUSIONI 155
6 BIBLIOGRAFIA 160
PREFAZIONE
L’approccio classico nella modellizzazione matematica della realtà fisica si basa
sull’utilizzo di leggi che descrivono il comportamento del sistema in studio. Tali leggi si
esprimono generalmente nella imposizione di condizioni di equilibrio di forze agenti su
parti infinitesime del sistema in esame. Le equazioni che così si ricavano sono tipicamente
equazioni differenziali alle derivate parziali. Tali modelli però risultano molto complessi e
di difficile applicazione quale ad esempio nella previsione degli inquinanti atmosferici.
Pertanto molte delle volte non riescono a dare dei risultati in piccola scala ma si riferiscono
ad osservazioni macroscopiche del sistema in esame.
Nell’ultimo decennio sono nate alcune tecniche diverse da quelle convenzionali di tipo
analitico, per la modellizzazione di sistemi fisici. Ci si riferisce alle tecniche di relative alla
fuzzy logic, alle reti neurali artificiali, alle tecniche di ottimizzazione globale (ad esempio
algoritmi di ottimizzazione globale ed evoluzionistici) e ai sistemi distribuiti non lineari
(ad esempio le CNN) che messe assieme originano una metodologia denominata Soft
Computing. Esso mira a fondere in modo sinergico i differenti aspetti delle varie discipline
al fine di implementare sistemi ibridi che riescono a fornire soluzioni innovative nei settori
più svariati della scienza.
PREFAZIONE
iv
Nel presente lavoro si portano due applicazioni di uso scientifico che fanno uso di
tecniche di Soft Computing. La prima si riferisce alla previsione della concentrazione di
particolari inquinanti atmosferici quali O3, NMHC, NO2 e NOx . La seconda, mira invece a
risolvere un problema pratico di conteggio di oggetti a partire da immagini, nella
fattispecie verrà descritta l’implementazione si un sistema per la conta di cellule e batteri
mediante l’uso delle reti neurali cellulari (CNN).
I problemi presentati in questa sede sono già stati affrontato da alcuni autori con risultati
incoraggianti [1][2] [3] [4]. In questo lavoro l’argomento viene riprese ed esteso.
CAPITOLO I
INTRODUZIONE
1.1 INTRODUZIONE ALLA PRIMA PARTE
In una società industrializzata come la nostra, oggi più che mai si pone il problema
dell’inquinamento atmosferico dovuto agli scarichi industriali. Normalmente il nostro
pianeta è soggetto a determinati cicli chimici che hanno originato la vita degli esseri che
popolano la terra. Un’alterazione di questi ultimi può provocare seri danni alla natura
distruggendo tutto ciò che essa è riuscita a fare in milioni di anni. L’uomo purtroppo non si
rende conto di ciò e non pensa alle conseguenze delle sue azioni. Una delle prime
conseguenze a cui si va incontro è l’aumento della temperatura terrestre, che fino a qualche
anno fa sembrava solo un’ipotesi astratta, si sta rilevando oggi come possibilità concreta.
Le sostanze inquinanti che abbiamo immesso in questi ultimi decenni di era industriale
sono ben poca cosa in confronto a ciò che ora stiamo immettendo e che immetteremo nei
prossimi decenni.
La predizione della concentrazione degli inquinanti atmosferici, sia essi urbani che
industriali, rappresenta oggi un mezzo molto potente per la scelta delle strategie da
CAPITOLO I - INTRODUZIONE
2
applicare per evitare il superamento delle soglie di concentrazioni ammesse dalla
legislazione.
Lo scopo della prima parte di questo lavoro consiste nel considerare la possibilità di
usare tecniche moderne quali quelle basate sul Soft Computing per l’identificazione di
modelli per la predizione degli inquinanti atmosferici. Verranno prese in considerazione
predizioni a piccolo e medio raggio delle concentrazioni di O3, NMHC, NO2 e NOx, che
sono inquinanti tipici del ciclo fotolitico dell’azoto. I risultati ottenuti dimostrano la grande
capacità delle reti neurali per la modellizzazione del fenomeno in questione rispetto ai
modelli autoregressivi di identificazione tradizionali.
Inoltre la possibilità di usare reti neuro-fuzzy, che sfruttano le capacità delle reti neurali
combinate con la logica fuzzy, permetterà l’estrazione automatica della base di regole nella
forma “if ... then …”; ciò rappresenta un modo trasparente di modellizzazione che
aggiunge indicazioni utili per l’analisi del fenomeno in questione e l’eventuale
integrazione con altre basi di conoscenza acquisite da un esperto umano.
In fine si introduce la possibilità di utilizzare un modello di predizione “misto” che
prevede l’uso in cascata di un modello AR con un modello basato sul perceptrone
multistrato (MLP).
CAPITOLO I - INTRODUZIONE
3
1.2 INTRODUZIONE ALLA SECONDA PARTE
I metodi di conteggio delle cellule trovano largo impiego sia nella biologia molecolare
che nella medicina clinica con particolare riferimento ai cicli di crescita e fissione delle
cellule animali. Non è sempre tecnicamente possibile misurare quantitativamente gli eventi
riguardanti la crescita e la fissione cellulare. Quando ciò può essere fatto, le procedure
impiegate non sono molto semplici e non riescono ad analizzare un gran numero di cellule
contemporaneamente. In questo lavoro, si descrive un sistema basato su reti neurali
cellulari (CNN) che facendo uso di un simulatore CNN è capace di conteggiare, in modo
automatico, le cellule animali anche durante le loro fasi di crescita e replicazione. La
capacità del sistema proposto saranno illustrate mediante un semplice esperimento di
conteggio che si basa sul contatore Petroff-Hauser o Helber, normalmente impiegato in
biologia per la conta dei batteri.
Lo studio presentato è suddiviso in due parti. La prima parte riguarda i metodi di
conteggio tradizionalmente impiegati nella cultura di cellule batteriche. La seconda
riguarda invece l’implementazione del sistema automatico di conteggio basato su reti
neurali cellulari. In fine si dimostrerà la possibilità di implementare un sistema per lo
screening del numero delle cellule in funzione della loro grandezza.
CAPITOLO II
TECNICHE DI TIPO SOFT COMPUTING
INTRODUZIONE
Da sempre una delle cose che più ha affascinato l’essere umano è stato il processo di
formazione della conoscenza umana ed animale. Da argomento principe della filosofia di
tutti i tempi è arrivata fino ad oggi senza per questo perdere quel fascino che la
contraddistingueva. Nel campo del sapere più propriamente scientifico è nata di recente
una disciplina denominata Soft Computing che si pone come metodologia che fonde in
modo sinergico gli aspetti caratteristici della fuzzy logic, delle reti neurali, degli algoritmi
evoluzionistici e dei sistemi distribuiti non lineari al fine di progettare sistemi il cui
comportamento sia ibrido. Esso fornisce algoritmi sempre più potenti capaci di
discriminare, ragionare, valutare, prevedere piuttosto che semplicemente eseguire dei
“calcoli”, queste nuove strutture di calcolo si ispirano a processi naturali e biologici quali
l’adattamento, l’aggregazione, la cooperazione e la selezione.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
5
Si cerca cioè di ricercare soluzioni fortemente innovative nel settore della
classificazione, nella modellizzazione e nella simulazioni di sistemi dinamici molto
complessi. Il loro pregio maggiore è quello di essere capaci di modellare l’incertezza che è
tipica del mondo reale. Essi sono “soft” nel senso che la loro precisione è sfumata e che la
logica su cui si basano non è rigida ma elastica. Il Soft Compunting assieme alla tecnologia
sempre più spinta dei nostri giorni, ci consente di progettare sistemi sempre più complessi
e sofisticati, incrementando così la qualità della nostra vita e del benessere comune.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
6
2.1 LE RETI NEURALI
I primi studi su questi sistemi risalgono agli anni sessanta ma vennero presto
abbandonati in quanto non parevano offrire possibilità di sviluppi futuri. Da pochi anni,
anche grazie a nuovi algoritmi di apprendimento e alle possibilità della odierna tecnologia,
sono invece tornate prepotentemente alla ribalta.
La caratteristica principale delle reti neurali è quella di poter risolvere un determinato
problema apprendendolo anziché mediante una specifica programmazione. Le reti neurali
artificiali si ispirano dichiaratamente al sistema nervoso degli animali. Tale sistema è
costituito da un grande numero di cellule nervose (una decina di miliardi nell’uomo)
collegate tra di loro in una fitta rete. Nell’uomo, ogni neurone è collegato mediamente con
decine di migliaia di altri neuroni [5]. Si hanno quindi centinaia di miliardi di connessioni.
Il comportamento intelligente emerge dalle numerose interazioni tra le unità interconnesse
(perciò si parla di paradigma connessionista). Ogni neurone è costituito da un corpo
cellulare (soma) dal quale si diparte un filamento (assone) che si ramifica poi in tanti
filamenti secondari (dendriti). Ogni filamento secondario istituisce un contatto chimico con
un altro neurone. Tale contatto (sinapsi o peso sinattico) si estrinseca nel rilascio
controllato di una sostanza chimica di tipo ormonale (neurotrasmettitore) che consente la
trasmissione del segnale da un neurone ad un altro. I pesi sinattici possono essere eccitatori
o inibitori, quindi l’input di un neurone è la media di segnali di segno opposto, oltre che di
intensità diversa. Quando tale media supera una determinata soglia il neurone genera un
segnale bio-elettrico che si propaga lungo l’assone sino alle dendriti e, attraverso i pesi
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
7
sinattici, ad altri neuroni. La soglia del neurone può variare nel tempo, con effetto
“calmante” o “eccitante”, a seconda che il suo valore si alzi o si abbassi.
Una caratteristica fondamentale delle reti neurali è la loro precisione sfumata; in altre
parole esse sono costituzionalmente “fuzzy”. Questo potrebbe sembrare un elemento
negativo, ma è in realtà un punto di forza che le accomuna al cervello. Anche il cervello
umano non brilla per precisione (le sue capacità aritmetiche sono inferiori a quelle di
qualunque calcolatrice). Tuttavia nessuna macchina, per quanto sofisticata, sa riconoscere
un gatto o un albero da una loro figura approssimativa oppure la presenza non visibile di
una persona conosciuta dalla sua voce, magari alterata da rumore ambientale. La precisione
sfumata delle reti neurali le rende inadatte alla contabilità o al calcolo tecnico-scientifico,
ma si rivela preziosa nel riconoscimento e nella classificazione di oggetti, nel supporto
decisionale a scelte complesse, nella robotica, in un mondo reale che è “grigio“ e analogico
e non “bianco o nero” cioè discreto. In particolare, quanto sopra conferisce alle reti neurali
una notevole capacità di generalizzazione. Dopo un apprendimento basato su un adeguato
campione di dati (training set) la rete non solo risolverà correttamente (anche se con
precisione sfumata) ognuno di questi esempi, ma fornirà una soluzione adeguata anche per
nuovi input, non compresi in quegli esempi.
Altre caratteristiche importanti delle reti neurali sono la loro robustezza o non
fragilità (forniscono infatti soluzioni accettabili anche con dati parziali o rumorosi) ed il
funzionamento “fail safe” (degradazione dolce delle prestazioni). Queste proprietà
dipendono dal loro essere fuzzy e dal coinvolgimento di un grande numero di neuroni nella
soluzione di un problema: la conoscenza necessaria è distribuita e condivisa da molti
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
8
neuroni e non concentrata in uno o in pochi di essi. Inoltre le reti neurali possono fornire
buoni risultati anche se gli input sono parzialmente mancanti o ambigui o addirittura
contrastanti oppure se un certo numero di neuroni non sono operativi.
2.1.1 Struttura delle reti neurali
Pur essendo un neurone reale molto complesso, una sua schematizzazione che si è
rivelata di grande utilità (neurone artificiale) è la seguente. Ogni neurone riceve in ingresso
segnali x1,x2,...,xi,...,xn da n altri neuroni, tramite connessioni di intensità wi (pesi sinattici)
fornendo in uscita un solo segnale y. I segnali di ingresso vengono consolidati in un
potenziale post-sinattico
P w xi ii
n
1
(2.1)
media pesata degli ingressi, mentre l’uscita è fornita da una opportuna funzione di
attivazione y f P dove è una soglia caratteristica del neurone in questione.
Le funzioni di attivazione più usate sono:
Funzione a gradino: y=f(x)=sign(x), cioè f(x)=1, per x 0 ( P ) e f(X)=0
altrimenti [6].
Funzione sigmoide o curva logistica:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
9
y f xe Ax
1
1 (2.2)
Le caratteristiche della funzione sigmoide sono:
- vale 1/2 per x=0 ( P );
- tende a zero per x ;
- tende a uno per x ;
- può essere più o meno ripida in funzione del parametro A ed in particolare tende a
diventare la funzione a gradino per A molto grande e la funzione lineare per A molto
piccolo.
In alcuni casi si usa la grandezza T=1/A che viene denominata temperatura per analogia
con la termodinamica in quanto che, in alcuni casi viene diminuita gradualmente in una
sorta di processo di raffreddamento. Una proprietà interessante della sigmoide, che sarà
sfruttata in fase di apprendimento, è che la sua derivata è data da
ydy
dxAy y' 1 (2.3)
In alternativa alla sigmoide si usa in alcuni casi la tangente iperbolica che ha la
caratteristica di fornire valori compresi tra -1 e 1. La sua espressione è
ye e
e e
x x
x x
(2.4)
L’uscita y di ogni neurone, in una rete, è a sua volta uno degli input di molti altri
neuroni. In generale una rete neurale artificiale è costituita da n neuroni di ingresso
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
10
(corrispondenti ai neuroni sensori come quelli della retina nell’occhio), da m neuroni di
uscita (corrispondenti ai neuroni motori come quelli che attivano i muscoli) e da k neuroni
intermedi (interneuroni o neuroni nascosti). Questi ultimi sono collegati con altri neuroni
intermedi e/o con neuroni sensori a monte e/o con neuroni motori a valle. Se in un
determinato momento, gli input della rete sono x1,x2,...,xi,...,xn allora si otterranno gli
output y1,y2,...,ym con
y f x x xj j n 1, ,...,2 (2.5)
In sostanza una rete può essere concepita come una scatola nera che trasforma
determinati ingressi in corrispondenti uscite. Se gli input sono i dati di un problema e gli
output le relative soluzioni, la rete risolve quel problema.
2.1.2 Tipi di apprendimento delle reti neurali
La capacità di apprendere di una rete neurale è contenuta intrinsecamente nella sua
struttura. Più precisamente, nel corso delle sue interazioni con l’ambiente esterno,
tipicamente nel processo di apprendimento, i pesi sinattici tra ogni coppia di neuroni
vengono modificati in funzione delle prestazioni. Nelle reti artificiali si hanno due tipi
principali di apprendimento detti supervisionato e non supervisionato. Nel primo caso
vengono presentati alla rete, in ogni istante t, opportuni campioni degli ingressi xi e dei
corrispondenti output desiderati dj. Le variazioni dei pesi sinattici necessarie per
l’aggiornamento
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
11
w t w t w 1 (2.6)
sono un’opportuna funzione di una metrica dell’errore e quindi delle differenze (yj-dj) tra
output ottenuti yj e output desiderati dj. In generale gli algoritmi di apprendimento
assumono come metrica l’errore quadratico medio che viene minimizzato.
L’apprendimento supervisionato richiede quindi la conoscenza preliminare non solo degli
input xi ma anche dei corrispondenti output voluti dj. Ogni campione
x x xn1 2, ,..., d d dm1 2, ,...,
è un elemento di un insieme di p campioni denominato “training set”.
Nel caso invece dell’apprendimento non supervisionato, il training set è tipicamente
costituito da numerosi campioni di ingresso X x x xi i i in 1 2, ,..., che si vogliono
classificare in un numero limitato m di classi C1,C2,...,Cm . Nel presentare i campioni non
viene però dichiarata la classe di appartenenza. E’ la stessa rete ad auto organizzarsi,
cambiando progressivamente i suoi pesi sinattici, in modo tale da eseguire, dopo
l’apprendimento, classificazioni corrette.
2.1.3 Reti a separazione lineare
La rete neurale più semplice che possiamo costruire è quella formata da un solo neurone
con n ingressi ed una sola uscita y. Adottiamo, per fissare le idee, una funzione di
trasferimento a gradino e studiamone le prestazioni.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
12
Una tale rete, che viene indicata come perceptrone, può riconoscere tutti gli esemplari di
una determinata forma F , distinguendoli da quelli relativi a forme non-F. Nel caso
bidimensionale basterà che una retta separi i punti (x1,x2) corrispondenti ad una forma F da
quelli relativi a forme non F. La situazione descritta è mostrata in Fig. 2.1.
Fig 2.1 Esempio di classi separabili linearmente.
Se w1 e w2 sono i pesi sinattici e è la soglia del neurone, l’equazione della retta deve
essere
w x w x1 1 2 2 0 (2.7)
In tal caso la retta divide il piano in due semipiani per i quali si ha rispettivamente
w x w x1 1 2 2 0 , cioè w x Pi ii
n
1
, quindi y=1 (2.8)
w x w x1 1 2 2 0 , cioè w x Pi ii
n
1
, quindi y=0 (2.9)
dove P è già stato definito potenziale postsinattico. Fornendo come ingressi le
coordinate di un punto che giace nel semipiano di F la rete darà uscita unitaria, altrimenti
x2
x1
F
non
F
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
13
l’uscita sarà nulla. Nel caso di tre coordinate possiamo parlare di piano di separazione fra
due semispazi e, nel caso più generale di n dimensioni, si parlerà di iperpiani di
separazione. Una variazione dei valori dei pesi sinattici wi determina una variazione
dell’inclinazione dell’iperpiano, mentre una variazione della soglia determina uno
spostamento dell’iperpiano parallelamente a se stesso. L’apprendimento dei pesi e della
soglia si risolve allora in una serie di piccoli movimenti dell’iperpiano sino a realizzare la
separazione lineare, partendo da un iperpiano iniziale generico che non la realizza. In
generale si usa parlare di apprendimento dei pesi e si suole considerare la soglia come il
peso di un ingresso sempre unitario. Questo è possibile ridefinendo P come
P w xi ii
n
1
(2.10)
Il modo più semplice per addestrare una rete di questo tipo è quello di far variare i
pesi (aumentarli o diminuirli) in modo proporzionale agli ingressi cioè secondo la formula
w x dove è un coefficiente detto “learning rate”.
E’ ovvio che la rete descritta funziona solo se esiste un iperpiano che divide le due
classi e che ciò non sempre avviene. Supponiamo adesso di considerare lo spazio
bidimensionale binario. Gli elementi dello spazio sono le quattro coppie 00,01,10 e 11. E’
facile separare, ad esempio, la forma logica AND = 11 dalle altre, o la forma logica OR =
10,01,11 da 00 ed anzi è facile verificare, graficamente o analiticamente, che esistono
infinite rette che operano questa separazione. Se però consideriamo la forma XOR = 01,10
i suoi due elementi non sono separabili dagli altri due punti con una retta. In tal caso la
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
14
separazione è effettuabile mediante linee curve cioè mediante l’introduzione di reti più
complicate con almeno un livello di neuroni nascosti.
2.1.4 Algoritmo di apprendimento di Widrow-Hoff
Estendiamo i discorsi precedenti ad una rete con m neuroni. Se esistono m forme
diverse Fj, ciascuna delle quali costituisce una configurazione di n punti x ed è separabile
linearmente dalle altre, allora ogni neurone può riconoscere una configurazione particolare
e la rete, globalmente, può riconoscere m configurazioni. Per ottenere questo occorre
assegnare agli m n pesi sinattici. L’algoritmo di Widrow-Hoff calcola i pesi necessari,
partendo da pesi casuali e apportando ad essi piccole variazione, graduali e progressive, in
un processo che converge alla soluzione finale.
La rete abbia quindi n ingressi x, ed m neuroni (uscite). Gli m neuroni abbiano tutti la
stessa funzione di trasferimento associata f e che tale funzione sia differenziabile. Sia
inoltre disponibile un training set di p esempi. Ciò premesso l’algoritmo consiste nel
ripetersi ciclico di alcuni passi fino al raggiungimento dei risultati desiderati. Tali passi
sono:
1) Presentazione di un input generico X x x x xi n 1 2, ,..., ,... (2.11)
2) Calcolo degli output corrispondenti y f Pj j con P w xj ji ii
n
1
(2.12)
3) Calcolo dell’errore quadratico medio E y dj jj
m
1
2
2
1
(2.13)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
15
4) Calcolo delle variazioni w t w t wdE
dwji ji ji
ji
1 (2.14)
dove è un coefficiente compreso tra zero ed uno detto “learning rate”.
Il processo si interrompe quando E raggiunge un valore piccolo prefissato. Per
giustificare la formula dell’aggiornamento dei pesi sinattici rileviamo che occorre
minimizzare E quindi se E aumenta con w (dE/dw>0) i pesi devono diminuire (w 0 )
mentre se E diminuisce all’aumentare di w (dE/dw<0) i pesi devono essere aumentati
(w 0).
Vediamo come si possono scrivere le formule di aggiornamento scritte al punto quattro.
Essendo
dE
dwy d
dy
dwy d
dy
dP
dP
dwji
i j
j
ji
i j
j
j
j
ji
(2.15)
dove
dy
dPf P
j
j
j ' e dP
dwx
j
ji
i (2.16)
si ha allora
w y d f P x D xji j j j i j i ' (2.17)
avendo posto D y d f Pj j j j ' . (2.18)
Se la funzione di trasferimento considerata è la sigmoide si ha f P y yj j j' 1 e
dunque
w y d y y xji j j j j i 1 (2.18)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
16
L’inconveniente della sigmoide è allora che per y vicino a zero le variazioni dei pesi
tendono a zero e dunque il sistema non apprende più.
Se la funzione di trasferimento è lineare la sua derivata è costante e dunque
w y d xji j j i (2.19)
Dopo la presentazione di un congruo numero di esempi in altrettanti cicli consecutivi
l’errore diventerà più piccolo di un minimo prefissato ed il processo di apprendimento sarà
così concluso. Se invece, dopo una prima presentazione di tutti gli esempi del training set
(prima epoca) l’errore non è ancora accettabile si procede a una seconda epoca a così via.
Solo nel caso di funzione di trasferimento lineare l’errore avrà un minimo assoluto mentre
negli altri casi esistono dei minimi locali. E’ opportuno allora in alcuni momenti inserire
delle perturbazioni casuali sui pesi in modo da evitare lo stallo in uno di questi minimi.
Negli sviluppi matematici precedenti si è considerata la versione on-line dell’algoritmo
cioè quella che prevede l’aggiornamento dei pesi alla presentazione di ogni singolo
esempio. La versione batch dell’algoritmo prevede invece che l’aggiornamento sia
effettuato ad ogni epoca. L’errore da minimizzare in questo caso risulta
E y dkj kjj
m
k
p
1
2
2
11
(2.20)
In generale la versione on-line è preferita alla versione batch in quanto fornisce
normalmente risultati migliori cioè convergenza più veloce e minori oscillazioni.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
17
2.1.5 Reti a separazione non lineare
Ritorniamo al problema dello XOR per dimostrare che esso può essere risolto mediante
una rete più complessa cioè con un maggior numero di gradi di libertà. Un modo per
risolverlo è quello di aumentare fittiziamente il numero di ingressi del sistema
aggiungendo a x1 e x2 un terzo input x3=x1x2. Gli esempi del training set sono allora quelli
della seguente tabella:
x1 x2 x3 Y
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Il problema è stato trasformato in un problema a separazione lineare e dunque può
essere risolto con un perceptrone. Tuttavia già con tre ingressi avremmo dovuto inserire
quattro ingressi fittizi. Possiamo allora concludere che questo metodo è scarsamente
applicabile con un numero realistico di ingressi.
Un altro modo di aumentare i gradi di libertà del sistema è quello di aggiungere uno
strato di neuroni intermedi. Per il problema da noi considerato la soluzione può essere
ricavata dalla formula del calcolo combinatorio
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
18
x1 XOR x2 = (x1 AND x2) OR (x1 OR x2) (2.21)
che suggerisce di adottare la seguente rete:
Fig 2.2 Rete neurale a due strati dove i neuroni intermedi realizzano uno la funzione
OR e uno la funzione AND ed il neurone di uscita realizza la funzione OR.
Una rete neurale con uno stadio di ingresso, uno o più strati intermedi ed uno stadio di
uscita è denominato Multi-Layers Perceptron (perceptrone multistadio MLP). Tale rete è
anche definita di tipo feed-forward perchè i segnali si propagano dagli ingressi alle uscite,
attraverso i neuroni intermedi, non avendosi connessioni trasversali o connessioni feed-
back.
In conclusione una rete neurale MLP può, in teoria, eseguire qualunque separazione
risolvendo così qualsiasi problema di classificazione, di riconoscimento, di scelta. Tuttavia,
nel caso di problemi complessi, la realizzabilità teorica di una rete MLP che risolva il
x1 x2
y
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
19
problema, può non essere di grande aiuto. Infatti il grande numero richiesto di neuroni
intermedi, la notevole lunghezza del processo di addestramento e la non disponibilità di un
training set adeguato potrebbero diventare ostacoli insormontabili per una realizzazione
effettiva.
2.1.6 Apprendimento delle reti MLP
Purtroppo l’algoritmo di Widrow-Hoff (WH) non può essere applicato al caso di reti
MLP. Sappiamo infatti calcolare l’errore E y dj j j per ogni neurone di uscita ma non
sappiamo calcolarlo per i neuroni intermedi k non conoscendo i valori voluti dk. Questo
fatto ha impedito per molto tempo lo sfruttamento pratico delle notevoli possibilità delle
reti MLP. Solo nel decennio scorso è stato proposto l’algoritmo back-propagation (BP) che
supera tale problema. Sostanzialmente l’algoritmo BP è un estensione del WH. Il punto
chiave è l’opportuna ripartizione dell’errore, noto al livello di uscita, tra i neuroni dello
strato e quelli degli strati intermedi. In ogni ciclo dell’algoritmo si hanno due fasi: una
(forward) per il calcolo degli errori che è virtualmente identica al caso del perceptrone e
l’altra per la ripartizione degli errori negli strati intermedi.
Per fissare le idee, consideriamo una rete di tre strati; il primo con attività neurali xi, il
secondo (intermedio) con attività yj e pesi sinattici wji, il terzo con attività zk e pesi sinattici
wkj. L’aggiornamento dei pesi wkj è identico a quello già visto per l’algoritmo WH
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
20
wdE
dwz d f P ykj
kj
k k k j ' (2.22)
cioè anche ponendo D z d f Pk k k k '
w D ykj k j (2.23)
Per quanto riguarda l’aggiornamento dei pesi sinattici wji si ha, similmente a quanto
visto per l’algoritmo Widrow-Hoff
wdE
dwji
ji
dE
dw
dE
dy
dy
dP
dP
dwji j
j
j
j
ji
dy
dPf P
j
j
j ' e dP
dwx
j
ji
i
dE
dw
dE
dyf P x
ji j
j i ' (2.24)
Per ottenere dE/dwji occorre ora conoscere dE/dyi , ma gli errori noti sono (zk-dk),
differenza tra gli output ottenuti zk e quelli desiderati dk. Dovremmo quindi esprimere
dE/dyi in funzione di questi errori
dE
dy
dE
dz
dz
dP
dP
dyy d f P w D w
j k
k
k
k
jkk k k kj
kk kj
k
' (2.25)
Ne deriva finalmente che è
dE
dwf P x D w
ji
j i k kjk
' (2.26)
cioè anche, ponendo D f P D wj j k kjk
'
wdE
dwD xji
ji
j i (2.27)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
21
Quanto sopra può essere generalizzato dicendo che, dati due strati successivi con attività
neurali xi e pesi wji, l’aggiornamento w ji deve essere effettuato con la formula
w D xji j i (2.28)
dove però
D y d f Pj j j j ' se j è un neurone di uscita
D f P D wj j k kjk
' se j è un neurone intermedio.
Generalmente l’aggiornamento dei pesi viene eseguito con una formula modificata
nel seguente modo
w t D x w tji j i ji 1 (2.29)
dove è un coefficiente positivo minore di uno denominato “momentum”. In questo
caso l’aggiornamento nel ciclo t tende a non differenziarsi molto da quello nel precedente
ciclo t-1 per una sorta di effetto di inerzia. Si può anche affermare che il termine di
momentum ha l’effetto di filtrare le variazioni ad alta frequenza della superficie di errore
E, nello spazio dei pesi w. In sostanza l’adozione di tale termine (tipicamente =0.9)
consente di assumere un coefficiente più elevato (tipicamente =0.7) senza incorrere in
oscillazioni.
Rileviamo infine che non esiste a tutt’oggi una teoria che suggerisca, per risolvere un
determinato problema, il numero di strati intermedi o il numero di neuroni necessari per
ognuno di questi strati. Occorre quindi procedere per tentativi applicando criteri empirici.
La scelta oculata del numero di neuroni intermedi è molto importante perché da essa deriva
la più o meno buona capacità di generalizzazione della rete. Se ci sono troppi neuroni
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
22
intermedi la rete impara troppo il training set, non generalizza e richiede anche un processo
di apprendimento più lungo. D’altra parte, se ci sono pochi neuroni intermedi la rete non
riesce ad apprendere nemmeno il training set. La capacità di generalizzazione della rete
dipende anche da altri fattori quali la lunghezza del processo di apprendimento o la
presentazione degli esempi.
2.1.7 Apprendimento non supervisionato
Consideriamo adesso l’apprendimento senza supervisione dove, come già è stato detto,
il training set è costituito da numerosi campioni X x x xi i i in 1 2, ,..., che si vogliono
classificare in un numero limitato p di classi C C Cp1 2, ,..., . Nel presentare i campioni, non
viene ora dichiarata la loro classe di appartenenza (a priori ignota), al contrario di quanto
avviene nell’apprendimento supervisionato. E’ la stessa rete ad auto-organizzarsi,
cambiando progressivamente i suoi pesi sinattici, in modo tale da eseguire classificazioni
corrette ad apprendimento completato.
La rete in questione ha n ingressi e m (m>p) neuroni di uscita collegati con pesi sinattici
wji. Ad ogni neurone j è associato quindi un vettore W w w wj j j jn 1 2, ,..., cioè anche un
punto nello spazio ad n dimensioni. Anche i vettori X x x xi i i in 1 2, ,..., rappresentano
dei punti nello stesso spazio. Se gli ingressi X i sono raggruppati in p classi distinte si
avranno p “nuvole” distinte di punti. L’apprendimento consiste nella migrazione dei punti
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
23
Wj verso i centroidi di queste nuvole partendo da una generica configurazione iniziale.
Presentando dunque un certo input X i tutti i neuroni competono per essere attivati ma
vince uno solo di essi cioè quello per cui Wj è più vicino a X i . Il premio di tale vittoria
consiste in un ulteriore piccolo avvicinamento a X i secondo la formula
w X Wj i j (1.30)
dove è il solito coefficiente di apprendimento detto learning rate e compreso tra zero
ed uno. Presentando in successione tutti i punti del training set si avrà come risultato
l’avvicinamento progressivo dei punti Wj ai centroidi delle classi. Alla fine
dell’apprendimento gli input che si riferiscono ad una certa classe attiveranno solo il
neurone i cui pesi nello spazio rappresentano tale classe. Se questo avviene la rete ha
imparato il problema di classificazione.
L’apprendimento che abbiamo ora descritto è denominato “competitive learning” per il
fatto che i neuroni si competono la vittoria ad ogni presentazione di un ingresso. Tale
strategia è denominata “Winner Takes All” (WTA)[7].
Esistono altri e diversi tipi di apprendimento ed altre importanti topologie di reti neurali
quali l’apprendimento Hebbiano o le reti di Hopfield per le quali si rimanda alla
bibliografia [8] [9] [10].
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
24
2.2 LA LOGICA FUZZY
In molti campi di applicazione la metodologia fuzzy si è resa utile per la progettazione
di dispositivi che richiedono una certa intelligenza nel loro modo di operare. Essa,
contrariamente all' "Hard Computing", si prefigge di tollerare l'incertezza e l'imprecisione
in fase di calcolo, di elaborazione e di decisione, risultando così meno accurata, ma nello
stesso tempo più robusta e soprattutto capace di ridurre complessità e quindi costi.
La Fuzzy Logic, in particolare, è una disciplina scientifica che imita l'abilità della mente
umana di impiegare metodi di ragionamento approssimati anziché esatti; essa si rende
molto utile per ridurre la complessità di sistemi intelligenti che possono tollerare
l'imprecisione e l'incertezza, apprendere dall'esperienza ed adattarsi ai cambiamenti delle
condizioni di lavoro.
Nata intorno al 1965 [11], con l'introduzione della teoria degli insiemi fuzzy (Fuzzy
Set), a partire dagli anni '80 comincia ad essere usata nelle applicazioni industriali e poi,
dagli anni '90, ha interessato sempre più vari prodotti di largo consumo, anche in
combinazione con le tecniche delle reti neurali, per renderli capaci di adattarsi e di
apprendere dall'esperienza. A tal proposito si può dire che i principali costituenti del Soft
Computing, ovvero la logica fuzzy (FL), la teoria delle reti neurali (NN) ed il ragionamento
probabilistico che include gli algoritmi genetici (GA), pur avendo aree che si
sovrappongono, sono complementari piuttosto che competitivi, quindi è conveniente
impiegarli insieme anziché da soli. Di essi, il primo tratta fondamentalmente con
l'imprecisione, il secondo con l'apprendimento e il terzo con l'incertezza.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
25
Recentemente la logica fuzzy ha raggiunto enorme popolarità, tanto nel mondo
accademico che in quello industriale, vincendo la naturale resistenza al cambiamento. Il
suo successo ha spinto le industrie di microelettronica a creare una nuova classe di
macchine (i circuiti integrati denominati fuzzy machine) in grado di superare i limiti che si
incontrano con i sistemi di calcolo tradizionali quando sono usati in ambito fuzzy.
Il termine Fuzzy Logic in senso letterale indica un sistema logico che mira ad una
formalizzazione del modo di ragionare approssimato; oggi, invece, va inteso in senso più
ampio come sinonimo di teoria degli insiemi fuzzy, ovvero teoria di classi con confini non
netti.
2.2.1 La teoria dei fuzzy set
Nella teoria degli insiemi tradizionale un elemento dell'universo può appartenere ad un
dato insieme oppure no. Ad esempio tra tutte le persone di una famiglia, elementi u di U,
l'elemento persona "a" appartiene all'insieme A delle persone con età inferiore ai 30 anni e
non appartiene all'insieme B delle persone con più di 70 anni (si veda la Fig 2.3). Quindi, il
grado di appartenenza di un elemento nei confronti di un dato insieme può assumere solo i
valori logici "vero" o "falso" cioè, come si suol dire, valori "crisp".
Nelle situazioni più comuni, tuttavia, si incontrano casi nei quali non conviene delineare
un confine netto per gli insiemi; ad esempio, volendo considerare la classe delle persone
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
26
giovani, sembra una forzatura fissare dei valori numerici in anni per delimitarne l'intervallo
di appartenenza.
Fig 2.3 Esempio di insiemi tradizionali.
In un caso del genere è più interessante invece conoscere quanto una data persona può
definirsi giovane, cioè in che misura può considerarsi tale. E’ proprio da questa semplice
constatazione che prende spunto la teoria dei fuzzy set.
Un fuzzy set è una generalizzazione di un insieme tradizionale, ottenuta assegnando ad
ogni suo elemento un grado di appartenenza compreso tra 0 ed 1. In questo modo si può
capire quanto più una data persona "a" soddisfa la caratteristica del concetto "giovane",
continuando ad indicare con i valori estremi 1 e 0 la perfetta appartenenza o meno al dato
insieme. In questo modo l'insieme A delle persone giovani sarà costituito da tutti elementi
persone di U, ognuno con il suo grado di appartenenza ad A, il quale, potendo assumere
valori con continuità e non in modo brusco, fornisce un'idea più vicina alla realtà del
concetto di giovane riferito a quella persona. Si evince quindi che, con tale definizione,
nessun elemento dell’universo U risulta essere non appartenente (nel senso
U A
B
a
b
c
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
27
dell’insiemistica ordinaria) ad un fuzzy set, e ciò in virtù del concetto di grado di
appartenenza. Pertanto un elemento che nell’insiemistica ordinaria verrebbe considerato
come non appartenente ad un dato insieme, in un contesto fuzzy gli verrebbe invece
associato un grado di appartenenza basso, o, al limite, nullo.
In sintonia con quanto detto, la teoria dei fuzzy set rappresenta il superamento della
concezione secondo la quale una data asserzione può essere o solo vera o solo falsa.
2.2.2 Variabili linguistiche
La logica fuzzy permette di approdare alle soluzioni attraverso un metodo
deterministico che, mascherato da una struttura di tipo “linguistico”, consente di avere una
struttura versatile e adattabile ad ogni tipo di sistema. E’ noto infatti che il linguaggio
verbale è ridondante, ovvero lascia abbastanza spazio all’ambiguità e all’incertezza. La
logica fuzzy quindi rappresenta una sorta di fusione tra due approcci basilarmente
antitetici.
Una variabile linguistica è una variabile i cui valori sono parole o frasi anziché numeri.
Tornando all'esempio precedente, asserendo che una data persona è giovane, si fa
riferimento alla variabile linguistica "età", i cui valori linguistici potrebbero appunto essere
"giovane", "di mezza età" ed "anziano". Quindi, fissata una variabile linguistica, la
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
28
specificazione dei suoi valori comporta allo stesso tempo la specificazione degli insiemi
fuzzy prima discussi.
Analiticamente una variabile linguistica x nell'universo del discorso U è caratterizzata
da un insieme W(x) = (W1x , ... , Wnx) e da un insieme M(x) = (M1x , ... , Mnx).
W(x) è l’insieme contenente tutti i valori linguistici che può assumere x,
M(x) contiene invece un set di funzioni Mix specificanti, ciascuna, il grado di
appartenenza di ogni elemento dell’universo U a Wix, cioè all’i-esimo fuzzy set individuato
dalla variabile linguistica x.
2.2.3 Funzione di appartenenza
Considerando una variabile linguistica, ad ogni suo valore linguistico, per quanto detto
in precedenza, si può associare un sottoinsieme fuzzy, i cui elementi saranno caratterizzati
da un grado di appartenenza. Si può così identificare una funzione di appartenenza ad un
sottoinsieme fuzzy, che associa ad ogni elemento u dell'Universo del Discorso U il
corrispondente grado di appartenenza a quel sottoinsieme. Nella insiemistica ordinaria tale
funzione può assumere solo i valori logici "vero" o "falso", è cioè "crisp"; invece, nella
teoria dei sistemi fuzzy ha un ruolo molto importante, potendo assumere valori reali che
variano con continuità da 0 ad 1.
In un sistema di assi cartesiani si può rappresentare, ad esempio, il sottoinsieme fuzzy
giovane con il grafico della funzione di appartenenza come in figura 2.4 .
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
29
Fig 2.4 Fuzzy set.
Analiticamente si può dire che nell' Universo del Discorso U un fuzzy set F è
caratterizzato da una funzione di appartenenza mf ( ) definita in U, che assume valori reali
nell'intervallo 0 1, ; è quindi rappresentato da un insieme di coppie ordinate, ognuna
composta da un generico elemento appartenente ad U e dal suo grado di appartenenza mf
(u), cioè
F = ( u, mf (u)) u U . (2.31)
ETA’ IN ANNI
GRADO DI
APPARTENENZA
GIOVANE MEZZA ETA’
VECCHIO
1
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
30
2.2.4 Regole fuzzy
I fuzzy set possono essere considerati un'estensione degli insiemi ordinari, d'altra parte
la fuzzy logic costituisce un'estensione della logica ordinaria. Quindi, così come avviene
tra l'insiemistica e la logica ordinarie, si possono ricavare delle corrispondenze anche tra la
teoria dei fuzzy set e la fuzzy logic. Ad esempio agli operatori unione, intersezione e
complemento agenti sui sistemi fuzzy corrispondono rispettivamente gli operatori logici
OR, AND e NOT, al grado di appartenenza di un elemento in un fuzzy set può
corrispondere il valore vero di una proposizione nella fuzzy logic.
Infine anche le implicazioni tra sottosistemi fuzzy possono essere rappresentate
mediante regole. Le regole che governano un sistema fuzzy vengono spesso scritte usando
espressioni linguistiche che formalizzano le regole empiriche per mezzo delle quali un
operatore umano è capace di descrivere un processo usando la sua esperienza.
Tali regole fanno uso di relazioni logiche tra argomenti chiamate predicati. Si parla in
particolare di predicati fuzzy i quali si contrappongono su certi aspetti ai predicati normali.
Ad esempio gli esempi seguenti costituiscono rispettivamente un predicato normale e
fuzzy.
Prezzo = 28
Prezzo = alto
Nel primo caso, il predicato può essere vero o falso, nel secondo caso, alto è un insieme
fuzzy, definito in un dominio Pmin- Pmax, e il prezzo può essere “alto” con gradi di verità
compresi tra zero e uno.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
31
In generale, quindi, un predicato fuzzy ha la forma X = F, dove X è una variabile
definita in un dominio Xmin- Xmax e F, denotato da un termine linguistico, come “alto”,
“veloce”, “caldo”, è un insieme fuzzy nello stesso dominio.
In generale una regola condizionale fuzzy è del tipo:
if premessa then conclusione.
La premessa è costituita da un asserzione in cui i predicati fuzzy Pi (che chiameremo
antecedenti) della forma generale (xi is Ai) possono essere combinati da diversi operatori
quali gli operatori logici AND e OR; in questo caso xi è una variabile linguistica definita
nell'universo del discorso U ed Ai è uno dei nomi del term set di xi .
La conclusione indica le azioni da intraprendere quando vengono soddisfatte le
condizioni della premessa.
Un esempio di regole condizionali fuzzy che usano tali operatori è dato da:
if (P1 and P2 or P3) then P4
dove
P1 = (x1 is A1), P2 = (x2 is A2),
P3 = (x3 is A3), P4 = (y4 is B4), (2.32)
Il predicato ( xi is Ai) restituisce come risultato il grado di appartenenza i della
variabile linguistica xi relativamente all'insieme fuzzy Ai. L'applicazione degli operatori
fuzzy ai predicati della premessa fornisce ancora un valore compreso tra 0 ed 1, ricavato
mediante le corrispondenze riportate nella tabella seguente.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
32
Operatore Significato
i AND j MIN( i , j )
i OR j MAX( i , j )
NOT i 1- i
Considerando un universo del discorso finito, cioè con un numero finito di elementi,
una funzione di appartenenza ad un sottosistema può essere identificata da un array, i cui
valori sono dati dal grado di appartenenza a quel sistema di ogni elemento dell'universo.
2.2.5 Sistemi Fuzzy
Un sistema fuzzy trasforma determinati input (per esempio, la temperatura T di una
stanza, rilevata da un sensore) in opportuni output (per esempio, la velocità V di un
ventilatore che deve raffreddare la stanza) : C = f(V).
In generale, si hanno però n input Ii e m output Oj, per cui :
O1 = f1 (I1 , I2 , ... , In)
O2 = f2 (I1 , I2 , ... , In)
O3 = f3 (I1 , I2 , ... , In) (2.33)
Il comportamento dei sistemi fuzzy è definito da una specie di base di conoscenza : essa
comprende la descrizione degli insiemi fuzzy, input e output, e le regole che associano gli
uni agli altri. Le regole dei sistemi fuzzy sono principi generali piuttosto che regole
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
33
precise : ad esempio non ci sono regole come “se la velocità supera 100 Km/h, allora
occorre girare la valvola di 30 gradi”, ma piuttosto regole come “se la velocità è media,
allora occorre girare la valvola di un angolo medio”.
Infine le regole fuzzy vengono eseguite tutte contemporaneamente, in parallelo
conferendo al sistema la possibilità di comprendere le relazioni tra input e output.
Esaminiamo ora il funzionamento generale di un sistema fuzzy.
Si abbiano r regole del tipo (x = Ai and y = Bj z = Ck), con due input, un output, N
insiemi Ai (nel dominio x1 , ... , xn) M insiemi Bj (nel dominio y1 , ... , ym), e P insiemi Ci
(nel dominio z1 , ... , zp).
Il funzionamento comprende le seguenti tre fasi :
1) Fuzzificazione. Vengono opportunamente attivati gli insiemi input (fuzzy), in
funzione dei valori attuali delle variabili input (non fuzzy).
Nel caso di due variabili x, y e dei relativi insiemi input :
A1 , A2 , ... , AN
B1 , B2 , ... , BM
si otterranno, come vedremo tra poco, per i valori attuali x = xo, y = yo, i sottoinsiemi
input :
A’1 , A’2 , ... , A’N,
B’1 , B’2 , ... , B’M .
2) Associazione input-output. E’ la trasformazione dei precedenti insiemi input
(con apice) negli insiemi output fuzzy :
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
34
(C’1 , C’2 , ... , C’P),
applicando le regole :
A’i and B’j C’k,
3) Defuzzificazione. In questa fase i precedenti insiemi output C’k vengono
consolidati in un solo insieme output C’ che, a sua volta, deve essere convertito in un ben
determinato valore attuale zo della variabile output z (viene cioè “defuzzificato”).
L’architettura di un sistema fuzzy (Fig. 2.5), ha quindi come componenti : una base di
dati che descrive gli insiemi fuzzy (funzioni di appartenenza), una base di regole fuzzy, un
fuzzificatore dell’input, un associatore input-output (valutazione regole) e un
defuzzificatore dell’output.
Fig 2.5 Architettura di un sistema fuzzy.
FUZZIFICAZIONE
INPUT
FUZZY
INPUT
VALUTAZIONE
REGOLE
FUZZY
OUTPUT
DEFUZZIFICAZIONE
OUTPUT
FUNZIONI
MEMBERSHIP
REGOLE
BASE DATI E REGOLE
INPUT
OUTPUT
OUTPUT
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
35
La prima operazione di un sistema fuzzy consiste nell’attivare gli insiemi input, in
funzione del valore attuale delle sue variabili input. Abbiamo visto che un insieme fuzzy A
si può rappresentare nel dominio discreto n-dimensionale x1 , x2 , ... , xn, tramite il vettore :
A = (a1 , a2 , ... , an)
dove :
ai = m (A, xi) 1 (2.34)
è il grado di appartenenza di xi ad A.
Il valore attuale di x coincide con un ben determinato x1 xi xn (poniamo con x4), al
quale corrisponde una determinata funzione di appartenenza a4 = m (A, x4), grado di verità
dell’appartenenza di x4 ad A. Questo valore x4 attiva, come giustificheremo tra poco, un
sottoinsieme A’ di A.
Si hanno due modalità di attivazione : Correlation-Minimum Encoding e
Correlation-Product Encoding.
Nel primo caso viene attivato un sottoinsieme (si veda la Fig. 2.6) :
A’ = (a’1 , a’2 , ... , a’n), con a’i = min (a4 , ai)
cioè la figura A’ si ottiene dalla figura A tagliandone la parte superiore ad a4.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
36
Fig 2.6 Correlation minimum encoding.
Nel secondo caso viene attivato un sottoinsieme (si veda la Fig. 2.7) :
A’ = (a’1 , a’2 , ... , a’n), con a’i = a4 ai
cioè la figura A’ si ottiene dalla figura A riducendone le ordinate nella scala a4 1.
Naturalmente, se fosse a4=0, l’insieme A’ avrebbe, in entrambi i casi, elementi tutti nulli e
coinciderebbe con l’insieme vuoto.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
37
Fig 2.7 Correlation product encoding.
2.2.6 Associazione fuzzy input-output
La seconda operazione di un sistema fuzzy consiste nell’attivare gli insiemi output, in
funzione delle regole applicabili e degli insiemi già attivati in input. Nel nostro esempio di
riferimento, avendo già attivato gli insiemi A’i, B’i, occorrerà ora determinare in che misura
attivare gli insiemi Ck nel dominio (z1 , z2 , ... , zp) della variabile z.
Incominciamo a considerare il caso di una sola associazione input-output, espressa da
una sola regola con un solo antecedente : A B, per esempio “Temperatura alta
Velocità ventilatore alta”.
Sappiamo che A e B sono due vettori non binari :
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
38
A = (a1 , a2 , ... , an)
B = (b1 , b2 , ... , bm)
di dimensioni rispettive n, m.
Per ottenere l’output B dall’input A occorrerebbe allora, da un punto di vista
matematico, moltiplicare il vettore A per una opportuna matrice M di dimensioni n m e
con determinati elementi mij :
B = A M , con bj = i ai mij , per 0 i n, 0 j m. (2.35)
Le operazioni fuzzy su vettori e matrici vengono eseguite nel modo seguente : alla somma
di elementi si sostituisce l’operatore max e al prodotto di elementi l’operatore min.
Questa operazione fondamentale è denominata Composizione Min-Max :
i ai diventa max (ai)
ai aj diventa min (ai, aj)
(ai aj) diventa max(min(ai , aj))
Pertanto avremo, al posto della moltiplicazione B = A M la Composizione Min-Max (“o”
è il relativo operatore) :
B = (A o M), con bi = max min (ai, mij) (2.36)
Vi sono due modi per ottenere gli elementi di mij di M :
Correlation-Minimum Encoding : mij = min (ai, bj)
Correlation-product Encoding : mij = ai bj
Nei due casi, mij è il prodotto, fuzzy o normale, degli elementi ai, bj e la matrice M è
fornita rispettivamente da :
M = AT o B (2.37)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
39
oppure
M = AT B (2.38)
dove AT è il vettore trasposto di A (verticale se A è orizzontale).
In pratica, però, non si ha mai una sola regola, bensì un repertorio di r regole :
A1 B1 A’1 B’1
A2 B2 cioè anche A’2 B’2
Ar Br A’r B’r
Non tutte le regole saranno generalmente applicabili, perché al valore attuale della
variabile x corrisponderanno solo pochi insiemi A’i non nulli, come abbiamo già rivelato.
Otterremo quindi solo pochi insiemi output B’i , che sarà opportuno consolidare in un solo
insieme B’ .
Il modo più semplice per farlo è il ricorso ad una loro combinazione lineare :
B’ = i (Wi B’j) (2.39)
dove i pesi Wi dovrebbero riflettere la credibilità, la frequenza o la forza della regola
Ai Bi .
Comunemente però si adotta Wi = 1, per cui B’ si riduce a una semplice somma :
B’ = i B’i (2.40)
Esaminiamo, infine il caso più realistico costituito da regole con più antecedenti nella
premessa.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
40
Basterebbe considerare due antecedenti A, B connessi da “and”, poiché i risultati possono
essere generalizzati facilmente a qualunque numero di antecedenti, comunque connessi.
Si abbia dunque la regola :
A and B C
che potremo scindere nelle due seguenti :
A C1
B C2
C = C1 and C2
I valori attuali delle variabili x, y attivano i sottoinsiemi A’ e B’, quindi l’applicazione in
parallelo delle due regole produrrà, nel caso di correlation-Minimum Encoding, i
corrispondenti C’1 e C’2 .
Nel caso invece di due antecedenti con connettivo “or” :
A or B C ,
al posto dell’intersezione occorrerebbe operare la congiunzione tra C’1 e C’2 .
2.2.7 Metodi di defuzzificazione
Il processo di defuzzificazione consiste nell'estrapolazione del valore più
rappresentativo dall’universo del discorso.
Dato un sottoinsieme fuzzy F sullo spazio d’uscita Y, il processo di defuzzificazione ha
il compito di selezionare un opportuno elemento y. I metodi utilizzati per realizzare tale
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
41
operazione sono diversi; i più noti sono il metodo del massimo ed il metodo del centro di
gravità.
Il primo metodo assume come punto rappresentativo di C’ il suo valore massimo
max ',m C zk con 1 k p . Si ottiene così un determinato valore di k in corrispondenza
del quale si ha il valore cercato. Il metodo però fallisce nel caso di più massimi e ignora la
maggior parte dell’informazione contenuta nella funzione m C zk' , . Il secondo metodo,
quello più usato, consiste nel determinare l’ascissa del centroide dell’area sottesa alla
funzione m C zk' , , cioè del suo baricentro
z
m C z z
m C z
k kk
kk
0
' ,
' , (2.41)
Naturalmente nel caso di dominio continuo della variabile z occorre sostituire alle
sommatorie gli integrali. Posto m C z f z' , si ha
z
f z zdz
f z dz
f z zdz
A0
(2.42)
dove A è l’area sottesa alla funzione f(z). Una proprietà importante, e di interesse pratico, è
la seguente: tagliando l’area globale in n strisce verticali di area Ai e centroide zi si ha
zA z
A
A z
A
i i
i
i i
0
(2.43)
Questa proprietà semplifica i calcoli in quanto l’area A è generalmente la somma di figure
semplici (triangoli, rettangoli o trapezi) il cui centroide si calcola facilmente.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
42
2.3 GLI ALGORITMI GENETICI
Gli algoritmi genetici (GA = Genetic Algorithms) furono proposti inizialmente da J.H.
Holland [12] nel 1975. Da allora sono stati oggetto di molti studi e recentemente si è
iniziato ad utilizzarli anche per applicazioni pratiche. Essi costituiscono un modello
computazionale idealizzato dell'evoluzione darwiniana, basata sui due principi della
variazione genetica e della selezione naturale. Gli individui di una popolazione hanno
patrimoni genetici più o meno differenti (variazione genetica). Ad ogni generazione,
coppie di individui si uniscono per generare altri individui, che saranno dotati di un
patrimonio genetico risultante dalla combinazione dei patrimoni dei genitori.
L'adattamento degli individui all'ambiente ("fitness") dipende dal loro patrimonio genetico.
Gli individui con maggiore fitness sono mediamente favoriti (selezione naturale) rispetto
agli altri: essi tendono a vivere di più, a riprodursi di più, trasmettendo alla discendenza
parte del loro patrimonio genetico, già rivelatosi competitivo.
Negli algoritmi genetici il patrimonio genetico di un individuo è rappresentato
generalmente da una stringa di n simboli o geni. Ogni gene è un simbolo tratto da un
alfabeto di p simboli; in particolare, i simboli possono essere 0, 1 (p = 2), avendosi allora
stringhe binarie. Si possono pertanto avere pn individui diversi che, nel caso binario, sono
vertici di un iper-cubo di n dimensioni. Una popolazione è costituita da m stringhe, aventi
tutte la stessa lunghezza n. Nella soluzione di un problema, mediante un algoritmo
genetico, le stringhe di una popolazione rappresentano altrettante ipotesi di soluzione di
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
43
quel problema. La bontà delle soluzioni è misurata dalla fitness delle stringhe. Inizialmente
le fitness sono piuttosto scadenti e si cerca allora di fare evolvere la popolazione in modo
da fare emergere, dopo un numero ragionevole di generazioni, almeno una soluzione
"molto buona", con fitness elevata. Per ottenere tale evoluzione, gli algoritmi si valgono di
operazioni genetiche, ciascuna eseguita su uno o più individui, scelti con criteri
probabilistici. Le operazioni genetiche più comuni sono:
1) Riproduzione. In una popolazione di M individui (generazione attuale) se ne
scelgono, con probabilità proporzionale alla loro fitness solo m<M, che costituiscono
la generazione successiva.
2) Cross-over. Questa operazione coinvolge due stringhe genitrici
A A A
B B B
n
n
1 2
1 2
, ,...,
, ,...,
Dopo aver scelto in modo random un indice k (1 k n) si effettua uno scambio di
geni tale da produrre le stringhe figlie
A A A A B B B
B B B B A A A
k k k k n
k k k k n
1 2 1 1 2
1 2 1 1 2
, ,..., , , , ,...,
, ,..., , , , ,...,
Una variante di questa operazione sceglie in modo random due indici k ed l ed
effettua lo scambio
A A A B B A A
B B B A A B B
k k l l n
k k l l n
1 2 1 1
1 2 1 1
, ,..., , ,..., , ,...,
, ,..., , ,..., , ,...,
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
44
3) Mutazione. Opera su una sola stringa A nel modo seguente: dopo aver scelto, in
modo casuale, un indice k si sostituisce al simbolo Ak un nuovo simbolo Ak
' tratto
in modo random dall’alfabeto dei geni. Si ottiene così la trasformazione
A A A A A Ak n k n1 1,..., ,..., ,..., ,...,'
L’algoritmo genetico di base (dal quale derivano molte versioni) è il seguente
Si ha una popolazione U di m stringhe, ordinate in funzione della loro fitness.
Si sceglie con probabilità Pmut (molto piccola) un gene di una stringa e si opera la
mutazione.
Si scelgono con probabilità P Pcross mut due stringhe e si opera il cross-over.
Si riordinano le stringhe in funzione della loro fitness e se ne scelgono m, con
probabilità proporzionale alla fitness, costituendo così la nuova popolazione U.
Si ritorna al punto 1 fino a che non è stato soddisfatto un predefinito criterio di stop
(per esempio un numero massimo di iterazioni).
Il problema sarà risolto se almeno una delle stringhe della popolazione finale costituisce
una soluzione vicina all’ottimo assoluto. Sostanzialmente l’algoritmo genetico è un metodo
di ricerca di soluzioni ottimali nel “paesaggio” multidimensionale della fitness. Tale
metodo è considerato più efficiente di quello denominato “hill climbing” che presenta
l’inconveniente di offrire soluzioni che sono minimi relativi e non assoluti. Per l’algoritmo
genetico la mutazione introduce, così come il coefficiente di momentum per le reti neurali,
un disturbo che tende ad evitare la convergenza prematura su un ottimo relativo.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
45
E’ importante anche rilevare che, nell’ambito di una stringa, possono emergere, in un
certo momento, determinate sequenze di geni che le conferiscono una fitness superiore alla
media. Un esempio di schema, in una stringa binaria con n=13 è
01###100#1101
dove # indica un qualunque simbolo legale. Si definisce “ordine” di uno schema il
numero di simboli definiti in esso (9 nel precedente esempio). Si ritiene che l’operazione di
cross-over faciliti la combinazione di schemi buoni di ordine basso (“building blocks”) in
schemi migliori di ordine elevato. Un teorema dovuto ad Holland assicura, sotto
determinate condizioni, la convergenza dell’algoritmo. Gli schemi con fitness superiore
alla media tendono a diffondersi esponenzialmente nella popolazione.
Tuttavia, se esistono soluzioni diverse, ugualmente buone ma con schemi
contrastanti, l’operazione di cross-over può produrre, da genitori buoni, ibridi cattivi.
Generalmente nel passaggio da una generazione all’altra che, come abbiamo visto, tende a
riprodurre gli m individui migliori, si preferisce comunque copiare l’individuo migliore
della generazione precedente, per non rischiare la perdita del suo prezioso patrimonio
genetico.
Per risolvere un problema mediante l’algoritmo genetico è necessario formalizzare le
ipotetiche soluzioni con stringhe di simboli aventi la stessa lunghezza . Come primo
esempio consideriamo il semplice problema di trovare la regola che sintetizza i casi
accettabili della tabella:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
46
Caso Prezzo Qualità Accettabilità
1 450 3 si
2 500 3 si
3 600 3 no
4 450 2 si
5 500 2 si
6 600 2 no
7 450 1 no
8 500 1 no
9 600 1 no
La regola cercata sarà del tipo
(Op1 VP) Op2 (Op1 VQ)
con la seguente codifica binaria
Op1 = operatore 1 (0 = maggiore o uguale, 1 = minore o uguale)
VP = valore prezzo (01 = 450, 10 = 500, 11 = 600, 00 non usato)
Op2 = operatore 2 (0 = AND, 1 = OR)
VQ = valore qualità (01 = 1, 10 = 2, 11 = 3, 00 non usato)
Per esempio la regola 0111101, una stringa di 7 bit equivale a
(Prezzo 600) OR (Qualità 1)
La fitness di una regola è uguale al rapporto tra il numero di casi accettabili che esso
soddisfa e il numero totale di tali casi (la regola precedente ha fitness nulla). Partendo
allora da una popolazione sufficientemente grande di stringhe (nel nostro caso ne sono
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
47
possibile 128), applicando l’algoritmo genetico, si giunge, in un ragionevole numero di
generazioni, alla migliore soluzione che ha fitness 1 ed è
1100010=(Prezzo 500) OR (Qualità 2).
Per completare la breve trattazione sugli algoritmi genetici occorre sottolineare che
esistono una serie di operatori genetici non standard che permettono di migliorare le
prestazioni dell’algoritmo genetico sia in termini di velocità di convergenza che in termini
di accuratezza della soluzione [13] [14].
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
48
2.4 LE RETI NEURALI CELLULARI
Le reti neurali cellulari (CNN), la cui prima formulazione si deve a L.O.Chua, fanno
la loro prima apparizione nell’ottobre 1988 [15]. Le CNN, costituiscono un particolare tipo
di reti neurali artificiali, da cui traggono alcuni aspetti innovativi tra cui il processamento
asincrono parallelo, tempo continuo (circuiti analogici), derivante dalle interazioni degli
elementi della rete: esse trovano un ottimo campo di impiego nell’elaborazione delle
immagini. Oggi il campo di applicazione di tali sistemi si è ampliato enormemente tanto da
trovare impiego in ambiti totalmente differenti da quello originale. Sono state proposte
applicazioni nella elaborazione dei dati di tipo biomedicale, nella robotica, nelle memorie
associative, nella simulazione di sistemi complessi sia fisici che biologici [16],[17].
2.4.1 Architettura delle reti neurali cellulari (CNN): il modello elettrico
L’unità di base di una CNN è detta cella ed è implementata mediante un circuito
elettrico elementare costituito da elementi lineari come condensatori, resistenze, generatori
indipendenti e generatori pilotati, e non lineari implementati anch’essi con generatori
pilotati non lineari.
Ogni singola cella è in grado di interagire in modo diretto con le celle ad essa adiacenti
ed indirettamente con tutte le altre, sfruttando l’effetto di propagazione degli stimoli
[15],[17].
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
49
Una CNN computazionalmente, può essere considerata come una matrice di celle n-
dimensionale: nel nostro caso ci limiteremo a CNN bidimensionali ovvero considereremo
matrici MxN, tenendo conto del fatto che quanto diremo potrà essere facilmente esteso ai
casi a più dimensioni.
Un esempio di CNN bidimensionale 3x3 in cui vengono indicate le connessioni tra le
celle, è mostrato in Fig. 2.8.
C(1,1) C(1,2) C(1,3)
C(2,1) C(2,2) C(2,3)
C(3,1) C(3,3)C(3,2)
Fig. 2.8 Schema di CNN 3x.3
Detta C(i,j) la cella della matrice/CNN, appartenente alla i-esima riga e alla j-esima
colonna, si definisce intorno Nr(i,j) di raggio r della cella, il seguente:
N i j C k l k i l j r k M l Nr( , ) ( , )|max | |,| | , , 1 1 (2.44)
con r 0 .
La figura 1.9 mostra due esempi di intorni di una cella C(i,j), indicata in nero,
rispettivamente di raggio r=1 ed r=2.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
50
(a) (b)
Fig. 2.9 Intorni di raggio 1 e 2 di una CNN .
Si noti come ad un raggio r=1 corrisponda un intorno 3x3, ad un raggio r=2 corrisponda
un intorno 5x5 e così via.
Indicando ancora con C(i,j) la cella generica, per una CNN è inoltre valida la seguente
proprietà di simmetria:
Se C i j Nr k l( , ) ( , ) , allora C k l Nr i j( , ) ( , ) , (2.45)
C i j( , ) , C k l( , )
In Fig.2.9 è riportato il circuito elettrico equivalente di una generica cella di CNN [1]:
+
Eij I C
Ixu(i,j;k,l) Iyu(...) Iyx
Stato VxijIngresso Vuij Uscita Vyij
C Rx Ry
Fig. 1.9 Struttura circuitale di una cella di CNN.
fig
.3
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
51
I suffissi u, x e j, indicano rispettivamente l’ingresso, lo stato e l’uscita del circuito.
L’unico elemento non lineare la cui caratteristica supporremo lineare a tratti, è il
generatore di corrente controllato in tensione Iyx, la cui caratteristica viene riportata in
Fig.2.10:
f(V)
V
+1
-1
-1 +1
Fig. 2.10 Caratteristica del generatore di corrente non lineare.
Vale dunque la seguente relazione:
f V V V( ) | | | | 1
21 1 (2.46)
detto ciò, per i generatori di corrente valgono le seguenti equazioni (normalizzate
rispetto ad una tensione d’uscita unitaria | |V voltyij 1 ):
Iyx i j Ry f Vxij Ry Vxij Vxij( , ) ( / ) ( ) ( / ) (| | | |) 1 1 2 1 1 (2.47)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
52
Ixy i j k l A i j k l VyklRy
A i j k l Iyx k l( , ; , ) ( , ; , ) ( , ; , ) ( , ) 1
(2.48)
Ixu i j k l B i j k l Vukl( , ; , ) ( , ; , ) (2.49)
Si noti come l’interazione tra la cella C(i,j) e la cella C(k,l) avvenga mediante generatori
di corrente controllati in tensione.
Le grandezze A e B vengono dette maschere di convoluzione o “templates”: esse,
unitamente alla corrente I, influenzano il comportamento dell’intera CNN.
Una condizione necessaria per la convergenza verso uno stato stabile della CNN, è che
A sia una matrice simmetrica, ovvero:
k l Nr, , sia: A k l A l k( , ) ( , ) (2.50)
inoltre, se A(0,0) > 1, ogni uscita dello stato stabile sarà compresa tra i valori 1 e -1.
La template A viene denominata “feedback template”, essendo legata alle uscite
circuitali e svolgendo una vera e propria azione di retroazione sullo stato.
Per quel che riguarda la matrice B, essa può interpretarsi come un operatore di controllo
e pertanto viene denominata “control template”, essendo peraltro legata agli ingressi
circuitali [18] [19].
Lo schema a blocchi di una CNN standard viene rappresentato in Fig. 2.11 [16]:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
53
B
A
U I
x dx y
+
-
+
+
Fig.2.11 Schema a blocchi di una CNN.
Applicando al circuito equivalente in fig.2.9 le leggi di Kirchhoff sulla corrente e sulla
tensione si ottengono per la cella C(i,j) di una CNN le seguenti equazioni di stato:
EQUAZIONI DI STATO
Cd
dtVxij t
RxVxij t A i j k l Vykl B i j k l Vukl
C k l Nr i j C k l Nr i j
( ) ( ) ( , ; , ) ( , ; , )( , ) ( , ) ( , ) ( , )
1
I
(2.51)
con 1 i M e 1 j N
dove M ed N si sono assunti rispettivamente il numero di righe e di colonne della CNN.
EQUAZIONI DI OUTPUT
Vyij t Vxij t Vxij t( ) (| ( ) | | ( ) |) 1
21 1 (2.52)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
54
con 1 i M e 1 j N
EQUAZIONI DI INPUT
Vuij Eij (2.53)
con 1 i M e 1 j M
VINCOLI
| ( )|Vxij 0 1 (2.54)
| |Vuij 1 (2.55)
con 1 i M e 1 j N
PARAMETRI
A i j k l A k l i j( , ; , ) ( , ; , ) (2.56)
C 0 (2.57)
Rx 0 (2.58)
con 1 i M e 1 j N
Sono da rilevare i seguenti aspetti:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
55
(1) Detta C(i,j) una cella della CNN, denominata cella centrale, (“inner cell”); le celle ad
essa confinanti sono dette celle vicine o di confine (“boundary cell”) ed il loro numero,
avendo indicato con r il raggio dell’intorno di C(i,j), sarà pari a ( )2 1 2r .
(2) Ogni cella di una CNN ha al più tre nodi (come si rileva dal circuito in Fig.2.9), infatti
scegliendo ad es. Eij = 0 se B(i,j;k,l) = 0, per tutte le celle, i nodi di ogni cella si
ridurranno a due (stato e uscita).
(3) Gli elementi delle templates A e B hanno la funzione di pesi per le equazioni di stato e
agiscono come veri e propri operatori di convoluzione, realizzando rispettivamente un
feedback in uscita ed un controllo in ingresso.
(4) I valori delle resistenze Rx ed Ry rappresentanti le perdite joule circuitali, sempre in
riferimento al circuito in Fig.2.9, hanno valori normalmente compresi entro un
intervallo tra i mille ohm ed il milione di ohm.
(5) La costante di tempo del circuito ossia RC ha valori compresi tra i cento
picosecondi e i dieci microsecondi, caratteristica, questa, che rende adatte le CNN a
impieghi come l’image processing, permettendo un processamento in tempo reale
(tempo continuo, trattandosi di circuiti analogici).
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
56
2.4.2 Stabilità di una rete neurale cellulare
Una delle proprietà fondamentali delle CNN consiste nella caratteristica che esse
hanno, nell’ipotesi di simmetria della “feedback template”, di convergere ad una situazione
di equilibrio stabile, a partire da delle date condizioni iniziali, che analizzeremo di seguito
in dettaglio [15],[20].
Quando una CNN viene applicata ad es. al processamento di un’immagine, essa,
partendo dall’immagine originale in ingresso, “mappando” progressivamente tutti i pixel
della data immagine, fornisce, in dipendenza dai coefficienti di A, B e della corrente I della
(2.51), un sistema di n equazioni differenziali, le quali costituiscono le equazioni di stato
della cella-pixel su cui è centrata in quel momento la CNN, essendo n il numero di celle
del suo interno. Qualunque sia a partire dallo stato iniziale, il regime transitorio di
evoluzione, delle singole celle, l’immagine di partenza dovrà convergere ad un’immagine
di uscita rappresentante uno stato di equilibrio stabile (“steady state”). Distingueremo di
seguito, tra equilibrio della singola cella ed equilibrio dell’intera CNN (equilibrio globale):
quest’ultimo è principalmente l’oggetto del nostro interesse.
Vediamo ora quali e quante sono le condizioni necessarie affinché la CNN possa
raggiungere la convergenza allo steady state.
Lo studio della stabilità di una CNN, sarà ristretto, per semplicità, al caso di (valori di
tensione d’uscita Vyij) immagini binarie d’uscita con livelli di intensità dei pixel -1 ed +1;
tale studio potrà essere esteso facilmente al caso di immagini d’uscita a più livelli di grigio.
Essendo le celle della rete caratterizzate da equazioni differenziali non lineari,
sfrutteremo il criterio di convergenza di Lyapunov per circuiti dinamici non lineari.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
57
L.O. Chua, nei suoi articoli, definisce funzione di Lyapunov per una CNN la seguente
espressione:
E t A i j k l Vyij t Vyki tRx
Vyij tk l i ji j
( ) ( , ; , ) ( ) ( ) ( )( , ) ( , )( , )
1
2
1
2
2
B i j k l Vyij t Vukl t I Vyij ti jk li j
( , ; , ) ( ) ( ) ( )( , )( , )( , )
(2.59)
La (2.59) non ha un preciso significato fisico: ci limiteremo a considerarla una energia
in senso generalizzato. Si noti come nella (2.59) non compaia lo stato Vxij della cella:
nonostante ciò da essa potranno comunque essere tratte informazioni sullo steady state
della CNN.
Si dimostra che la funzione di Lyapunov sopra definita converge sempre ad un minimo
locale in cui la CNN produce l’uscita desiderata.
Vediamo adesso le proprietà di cui gode la (2.59).
TEOREMA 1
La funzione di Lyapunov E(t) è limitata superiormente, ossia:
ma x E t Et
| ( )| max (2.60)
dove Emax ha la seguente espressione:
E A i j k l B i j k l M NRx
Ik l k li ji j
max
( , ) ( , )( , )( , )
| ( , ; , )| | ( , ; , )| ( | |) 1
2
1
2 (2.61)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
58
per una CNN di M righe ed N colonne.
Tale Emax, per un circuiti integrati è tipicamente un valore intorno ai 20 V.
TEOREMA 2
La funzione di Lyapunov E(t) è una funzione monotona decrescente e risulta:
d
dtE t C
d
dtVxij t
Vxij
( ) ( )| |
2
1
0 (2.62)
o anche
d
dtE t C
d
dtVyij t
Vxij
( ) ( )| |
2
1
0 (2.63)
o anche
d
dtE t C
d
dtVyij t
i j
( ) ( )( , )
2
0 (2.64)
Vyij f Vxij( ):
d
dVxijVyij 0
Dai teoremi 1 e 2 deriva il seguente teorema:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
59
TEOREMA 3
Per la funzione di Lyapunov E(t), per ogni ingresso Vu e per qualunque stato iniziale
Vx, valgono le seguenti:
lim ( )t
E t c
(2.65)
lim ( )t
d
dtE t
0 (2.66)
dove c è un valore costante.
COROLLARIO al TEOREMA 3
Ad esaurimento del transitorio di una CNN, come uscite si ottiene sempre una costante,
cioè:
lim ( )t
Vyij t c
(2.67)
oppure
lim ( )t
d
dtVyij t
0 (2.68)
con 1 i M e 1 j N
Dal teorema 3, segue che per lo stato di una cella, al tendere all’infinito del tempo, per
dE(t)/dt= 0, ci sono solo le tre seguenti possibilità:
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
60
d
dtVxij t( ) 0 e | ( )|Vxij t 1 (2.69)
d
dtVxij t( ) 0 e | ( )|Vxij t 1 (2.70)
d
dtVxij 0 e | ( )|Vxij t 1 (2.71)
Dalla osservazione della caratteristica rappresentata in Fig.2.10 nel tratto in cui si ha
Vyij = f(Vxij), (intervallo -1,+1) e della (2.62) è possibile capire come si giunga alle
equazioni (2.69)-(2.71).
Infatti, in virtù della validità della (2.63) quando risulta | Vxij(t) | < 1, da quanto
mostrato in Fig.2.10 sarà Vyij(t) = Vxij(t) e di conseguenza risulteranno uguali le rispettive
derivate rispetto al tempo, cioè ( dVyij(t)/dt )= ( dVxij(t)/dt ): dal teorema 3 e dal suo
corollario segue la (2.69).
Per quanto riguarda la (2.70), sempre tenendo conto della Fig. 2.10,per| Vxij(t) | > 1,
Vyij(t) e Vxij(t) sono diverse: Vyij varrà +1 o -1,
ovvero sarà in ogni caso costante con conseguente derivata nulla; per la (2.46) si avrà
che dVxij(t)/dt = 0, cioè la (2.70).
Il caso (2.71), infine, è valido per funzioni Vxij(t) periodiche o aperiodiche, purché
limitate.
Si ricerca adesso la condizione dei parametri circuitali per cui possa verificarsi solo la
possibilità (2.70), per ogni Vxij nello “steady state” o stato consolidato.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
61
2.4.3 Equilibrio stabile di una cella di una CNN
Uno stato di equilibrio stabile di una cella di una CNN, V xij , è una variabile di stato
Vxij della cella C(i,j), soddisfacente le seguenti condizioni:
d
dtVxij t Vxij V xij( ) * 0 e V xij* 1 (2.72)
avendo assunto: Vykl 1 C k l Nr i j( , ) ( , )
Lo stato di equilibrio stabile di ogni cella in evoluzione libera, dipende quindi dal suo
stato iniziale e da quello delle celle ad essa confinanti.
Una cella può arrivare ad uno stato di equilibrio stabile ben preciso se le sue condizioni
iniziali rimangono invariate.
Si noti come la definizione suddetta sia valida per una qualunque combinazione di
Vykl=1 o Vykl=-1 e pertanto può non rappresentare una componente di uno stato di
equilibrio stabile dell’intero circuito: ciò significa che le singole stabilità di tutte le celle di
una CNN non garantiscono la stabilità di quest’ultima.
Un punto di equilibrio stabile del sistema di una CNN è definito essere un vettore di
stato avente come componenti gli stati di equilibrio delle celle: la CNN deve sempre
convergere ad uno dei punti di equilibrio stabile del sistema, ad esaurimento del transitorio.
Ogni punto di equilibrio stabile del sistema di una CNN (come appena definito), è un
punto limite di un set di traiettorie delle corrispondenti equazioni differenziali (2.51); tale
punto limite rappresenta un punto di confluenza cioè l’unione di tutte le traiettorie
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
62
converge a tale punto. Lo spazio di stato di una CNN può dunque essere partizionato in un
set di traiettorie centrate sui punti di equilibrio stabile del sistema.
Si dimostra valere il seguente teorema:
TEOREMA 5
Se i parametri circuitali soddisfano la seguente condizione:
A i j i jRx
( , ; , ) 1
(2.73)
allora, ogni cella della CNN tenderà, all’esaurirsi del transitorio, ad punto di equilibrio
stabile.
Varranno inoltre le seguenti:
lim ( )t
Vxij t
1 (2.74)
e
lim ( )t
Vyij t
1 (2.75)
con 1 i M e 1 j N
Da questo teorema si evince come le uscite convergano a due valori possibili ,+1 e -1 ed
il circuito non diventerà caotico e non subirà delle oscillazioni.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
63
Inoltre, essendo A(i,j;i,j) corrispondente al feedback positivo della cella C(i,j), la (2.73)
ne stabilisce un limite inferiore (mimino feedback positivo in grado di garantire lo steady
state; strutturalmente è dunque una indicazione sulla scelta dei parametri circuitali.
2.4.4 Funzionamento circuitale di una CNN
Una CNN, matematicamente, opera come una funzione, avente un dominio di valori di
ingresso ed un codominio di valori di uscita.
Analizziamo adesso il circuito in Fig.2.9 di una cella per capirne il funzionamento, sia
dal punto di vista della singola unità base (cella), che da quello dell’intero sistema.
Tutti gli elementi del circuito, generatori controllati compresi, sono lineari, fatta
eccezione per il generatore di corrente Iyx.
Il nodo di tensione Vxij della cella C(i,j) è chiamato “stato della cella” e la sua
condizione iniziale si assume essere minore o uguale ad 1.
Il nodo di tensione Vuij costituisce l’ingresso della cella C(i,j) e si assume essere una
costante con grandezza minore o uguale ad 1.
Il nodo di tensione Vyij si assume come uscita della cella C(i,j).
Ogni cella contiene un generatore indipendente di tensione Eij, due resistori ed al più
2m (con m pari al numero di celle confinanti) generatori di corrente (lineari) controllati in
tensione, accoppiati alle celle confinanti tramite l’ingresso di controllo Vykl di ogni cella
C(k,l).
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
64
Un valore di ingresso di una CNN può essere, dunque, interpretato circuitalmente come
una tensione: considerando di far riferimento alla singola generica cella C(i,j), tale valore
sarà proprio la Vuij.
Ciò che interessa è, allora, data una cella, ottenere un sistema di equazioni differenziali
(non lineari), che ne rappresenti lo stato.
Tale sistema è dato dalle equazioni (2.51), in cui il contributo dei circuiti delle celle
dell’intorno Nr della cella in questione è fornito, come detto sopra, tramite le correnti dei
generatori controllati, legati da relazioni lineari con le rispettive tensioni di controllo Vukl
e Vykl, rispettivamente input e output della cella generica C(k,l) dell’intorno; in che modo
e con che peso si eserciti tale controllo lo vedremo più in dettaglio nel primo paragrafo del
capitolo successivo, in cui il funzionamento della CNN sarà messo in relazione con le
applicazioni di image processing, oggetto principale della dissertazione.
L’uscita della cella generica è caratterizzato da una relazione non lineare:
IyxRy
f Vxij 1
( ) (2.76)
dove f è la funzione lineare a tratti rappresentata in Fig.2.10: come si nota, la corrente di
non linearità dipende, direttamente dallo stato della cella considerate (C(i,j)).
Le uscite non lineari Vykl delle celle dell’intorno, moltiplicate per i corrispondenti
coefficienti A, saranno la causa della non linearità delle equazioni differenziali ( azione di
feedback).
Vedremo in seguito quali potranno essere i metodi più appropriati per la soluzione dei
sistemi di equazioni differenziali rappresentanti lo stato della CNN.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
65
Lo stato globale della CNN sarà dato dall’insieme degli stati delle celle, interconnesse
tra loro nel modo appena visto.
Per concludere c’è da dire che, attualmente, per le CNN si è ancora ad uno stadio di
simulazione ed è proprio della simulazione di una rete neurale cellulare, con relative e
particolari sue applicazioni che ci si occuperà nei capitoli successivi.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
66
2.5 I SISTEMI IBRIDI
Tra i metodi di soft computing quello che senz’altro ha richiamato l’attenzione degli
studiosi del settore è la fuzzy logic. Tuttavia, così come è stata concepita, essa esula
completamente dal concetto di apprendimento automatico che invece è intrinseco, per
esempio, alle reti neurali. Quindi se si rimane nell’ambito della teoria fuzzy originaria, non
è possibile utilizzare la fuzzy logic in tutti quei campi applicativi nei quali non si abbiano
già a disposizione degli esperti che formulino le regole. Per diversi anni, questa
caratteristica negative della fuzzy logic è stato l’aspetto più fortemente limitante per la sua
diffusione in molti campi applicativi. Il sorgere delle prime tecniche di apprendimento
automatico sviluppate apposta per la fuzzy logic è da considerarsi una pietra miliare nel
campo della ricerca sul soft computing. Attualmente una percentuale elevata dei lavori
nell’ambito di tale disciplina è basata sulla commistione fra le varie tecniche. Questa
interazione è ormai così stretta che, talvolta, appare veramente difficile individuare quali
siano le reali frontiere fra le reti neurali, la logica fuzzy e gli algoritmi genetici.
Esistono dunque numerosi tools applicativi che permettono di progettare sistemi
basati sui metodi di soft computing. La maggior parte di questi accoppia la logica fuzzy
con metodi di apprendimento automatico basati sulle reti neurali [21].
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
67
2.5.1 Fuzzy neural networks (FNNs)
Le reti neuro fuzzy sono un particolare tipo di reti neurali in cui i pesi delle connessioni
rappresentano i parametri di un set di regole fuzzy detta base di regole.
Sfortunatamente l’estrazione manuale di una base di regole fuzzy e l’identificazione
delle rispettive funzioni di membership nel corrispondente universo del discorso, risulta
molto difficoltosa. Per superare tale limitazione è possibile utilizzare le capacità di
apprendimento delle reti neurali per estrarre automaticamente una base di regole fuzzy da
dati di tipo input-output [22].
Il seguente paragrafo mostrerà brevemente come una base di regole fuzzy del tipo
menzionato precedentemente può essere estratto da un’appropriata rete neurale. Le FNNs
sono state classificate da in tre tipi [23]. In questa sede per brevità verranno presentate solo
le strutture di tipo I, a cui faremo riferimento nella presente trattazione.
Una rete neuro-fuzzy di tipo I, la cui struttura è riportata in Fig. 2.11, è caratterizzata
dall’avere i conseguenti costanti. Nell’esempio la rete FNN ha due ingressi (x1, x2), un
variabile d’uscita (y*) e tre funzioni di membership A1j(xj), A2j(xj), e A3j(xj) per ogni
variabile d’ingresso (vedi Fig.2.11). I cerchi ed i rettangoli riportati in figura rappresentano
unità della rete. Le notazioni wc, wg, wf, 1 e -1 tra le unità sono i pesi delle connessioni.
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
68
1
1
f
f
f
f
f
f
f
f
x1
x2
1
1
1
1
-1
1
1
1
-1
wc wg
wf
wc wg
(A) (B) (C) (D) (E) (F)
conseguents antecedents
y*
(a)
(b)
Fig. 2.11. Struttura di una rete Neuro-Fuzzy (a) e relative funzioni di membership (b).
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
69
Le unità con il simbolo 1 sono le unità di bias con uscita pari ad 1.
Definiamo inoltre le seguenti grandezze:
Ij(n) e Oj
(n) sono rispettivamente l’ingresso e l’uscita dell’unità j-esima dello strato n;
Wj k(n,n-1) è il peso della connessione tra la K-esima unità dello strato (n-1)-esimo e
la j-esima unità dello strato n-esimo.
Le relazioni ingresso-uscita delle unità f , e ̂ sono definite dalle seguenti equazioni:
OwI dove , Iexp1
1O funità
k
1n
k
1nn
jk
n
jn
j
n
j
)(),()(
)(
)(
)( : (2.77)
eespression precedentenella definito stato è I dove , IO unità n
j
(n)
j
n
j: )()( (2.78)
k
1)(n
k
1)n(n,
jk
(n)
j
(n)
j)(
)(
(n)
j
OwI
segue come definito è I caso questo in dove , Oˆunità :
k
n
k
n
j
I
I
(2.79)
Le unità rappresentate senza simboli sono unità lineari a semplice somma. La parte
relativa alla premessa di una regola viene processata dagli strati da A ad E. I gradi di verità
della premesse della funzione di membership sono calcolati negli strati da A a D. I pesi
delle connessioni Wc e Wg sono i parametri che determinano rispettivamente la posizione
centrale e il gradiente della funzione sigmoidale nelle unità dello strato C. Inizializzando
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
70
opportunamente i pesi delle connessioni, le funzioni di membership Aij(xj) di ogni regola
possono essere allocate nell'universo del discorso come riportato ad esempio in Fig. 2.11b
(dove per ogni variabile d’ingresso sono state considerate tre funzioni di membership di
tipo sigmoidale A1j(xj), A2j(xj), A3j(xj)). I gradi di verità delle regole fuzzy si ottengono
dalle uscite delle unità poste nello strato E. Gli ingressi e le uscite dello strato E sono
rispettivamente:
k
k
ii
j
jiji
outputs
xAinputs
ˆ:
)(:
(2.80)
dove i è l'attivazione della regola i-esima e i è il valore normalizzato di i . In fine
l’uscita dello strato F è la somma dei prodotti tra i e wfi e rappresenta il valore
defuzzificato y*
y
wfi i
i
n
ii
n
*
1
1
(2.81)
Ciò dimostra che la rete neurale considerata è equivalente ad una base di regole fuzzy della
forma:
Ri : If x1 is Ai1(x1) and x2 is Ai2
(x2) then y=wfi (i=1,2..n) (2.82)
CAPITOLO II- TECNICHE DI TIPO SOFT COMPUTING
71
Il processo di identificazione di un modello fuzzy può essere suddiviso nelle due fasi di
identificazione dei parametri strutturali (di topologia) della rete e, successivamente, di
identificazione delle premesse e dei conseguenti, con apprendimento del tipo back-
propagation. La prima fase viene normalmente eseguita attraverso una procedura di fuzzy
clustering, ovvero attraverso il metodo di Sugeno [24].
Il problema più rilevante nell’utilizzo delle reti neuro-fuzzy per l’estrazione automatica
delle regole è la dipendenza esponenziale dal numero di ingressi. Ad esempio una rete con
8 ingressi e 3 fuzzy set per ogni ingresso genera una base di 38=6561 regole. Ciò
rappresenta una controindicazione sia in fase d’implementazione della base di regole sia
nella analisi dei risultati. Tuttavia tale problema può essere superato utilizzando degli
appropriati algoritmi di “clustering”, quale ad esempio il noto “winner take all” [7] in
grado di ridurre in maniera drastica il numero di regole di una base della conoscenza.
Naturalmente algoritmi di questo tipo si trovano già implementati nei software disponibile
sul mercato per la modellizzazione neuro-fuzzy: si veda ad esempio AFM (Adaptive
Fuzzy Modeler, 1995 ) fornito dalla SGS - Thomson Microelectronics [21].
CAPITOLO III
MODELLISTICA DELL’INQUINAMENTO
ATMOSFERICO TRAMITE TECNICHE DI
SOFTCOMPUTING
3.1 INTRODUZIONE
L’atmosfera terrestre è caratterizzata da un equilibrio molto delicato di sostanze e gas.
Normalmente i meccanismi naturali sono in grado, da soli, di smaltire e riciclare molte
delle sostanze dannose per gli esseri viventi. Tuttavia, esiste un’altra forma di
inquinamento d’origine antropica che è concentrato particolarmente nelle aree urbane e
industriali.
Il meccanismo di diffusione degli inquinanti atmosferici è molto complicato e dipende
da una molteplicità di parametri di natura diversa tra cui acquistano rilievo le
caratteristiche orografiche dell’area presa in analisi. Ciò causa un incremento di particolari
sostanze nocive che si verifica in certe ore del giorno, o in certe stagioni, fortemente
influenzato e dipendente sia dalle condizioni meteorologiche che dalla presenza di
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
73
inquinanti primari che reagiscono tra loro. Il presente lavoro non vuole rappresentare uno
studio sui complessi fenomeni di inquinamento dell’aria, per i quali si rimanda a testi
specifici sull’argomento [24], si prefigge essenzialmente di focalizzare sull’utilità
d’impiegare le tecniche basate su softcomputing per l’identificazione di modelli di
predizione a breve termine. Tra le numerose possibilità di studio di inquinamento, in
questo lavoro, si è preso in considerazione la modellizzazione degli inquinanti prodotti
dall’alterazione del cosiddetto ciclo fotolitico dell’NO2 dovuto alla presenza di idrocarburi
rilasciati nell’atmosfera i quali favoriscono la formazione di NO2 e di ozono (O3). Si
descrive in modo elementare e sintetico il processo chimico di tale ciclo:
La reazione chimica di sintesi che avviene nell’atmosfera dovuta alla combinazione di
sostanze in essa contenute con la luce del sole è
322 ONOsoledelluceOHCNO (3.1)
Dove HC sta per idrocarburi: essi sono pure denominati VOC (composti organici
volatili), ROG (gas organici reattivi), NMHC (idrocarburi non metanici) e NMOG (gas
organici non metanici). Gli ultimi due nomi derivano dall’osservazione che in atmosfera il
metano è molto meno reattivo che gli idrocarburi a più elevato peso molecolare. Per il resto
della discussione sarà usato il termine VOC.
I composti NO, NO2 e O3 interagiscono in atmosfera secondo le reazioni:
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
74
NOOhvNO2 (3.2)
dove hv rappresenta un fotone di luce con appropriata lunghezza d’onda:
MOMOO 32 (3.3)
dove M rappresenta ogni altro tipo di molecola (usualmente N2 o O2 ) le quali riescono
a sottrarre una certa quantità di energia sviluppata con la reazione se O3 è instabile per cui
223 ONOONO (3.4)
Il composto NO2 viene scisso da un fotone di luce per produrre NO più il radicale
dell’ossigeno O il quale, a sua volta, reagisce con la molecola di ossigeno O2 per riformare
una molecola di ozono
32 OOO (3.5)
A sua volta, ancora l’ozono reagisce con la molecola di monossido di azoto per formare
una molecola di biossido di azoto più una molecola di ossigeno (3.4). Se si assume che
tutte le reazioni considerate hanno un uguale rapporto stechiometrico (una molecola per
ogni composto reagente), considerato allo stato di regime, allora il tutto si può risolvere in
funzione della concentrazione di O3
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
75
NOK
NOhvO
3.D
23 (3.6)
nella quale hv è l’intensità della luce solare , misurata con appropriata unità di misura,
e .4.3K è il rapporto costante della reazione 3.4. In assenza di composti VOC questa
equazione conduce ad un equilibrio tra NO, NO2 e O3 il quale equilibrio è dipendente
dall’intensità delle radiazioni solari ma non è fortemente dipendente dalla concentrazione
di composti NOx in quanto viene contemplato solamente il rapporto tra le concentrazioni
di NO ed NO2: ogni molecola di NO2 che è prodotta, a sua volta, produce sia una molecola
di NO sia una molecola di O3 la quale può ancora reagire con una molecola di NO secondo
la reazione 3.4.
Il ruolo di VOC è quello di convertire NO in NO2 senza coinvolgere la molecola di O3
il quale si accumula. Un meccanismo con il quale il VOC fa ciò è:
OHNONOHO
HORCHOORO
RONONORO
OHROVOCOH
22
22
22
22
(3.7)
Sommando queste quattro reazioni ed eliminando i termini simili la reazione risultante
è
222 NO2RCHOOHONO2VOC (3.8)
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
76
Il termine R sta per ogni tipo di idrocarburo. Queste reazioni, così come scritte
normalmente, non sono bilanciate stechiometricamente per O.
L’NO2 complica questo processo perché esso può reagire con il radicale OH per
formare acido nitrico con conseguente riduzione della concentrazione disponibile del
radicale OH stesso.
32 HNOOHNO (3.9)
Questa equazione suggerisce anche il fatto che, in qualche situazione, addizionando
NO2 all’atmosfera si otterrà una riduzione della concentrazione di O3 sviluppato.
In altre parole se nel ciclo non interferissero i VOC, l’NO2 si convertirebbe in NO per
convertirsi nuovamente in NO2 senza modifiche nelle concentrazioni dei due composti. Ma
i VOC presenti nell’atmosfera interferiscono nel ciclo permettendo che l’NO si converta
più rapidamente in NO2 di quando l’NO2 venga dissociato in NO e O, con un conseguente
accumulo di NO2 ed ozono [26].
La modellistica di fenomeni di inquinamento atmosferico presenta una certa difficoltà a
causa delle influenze di numerose variabili esterne (es. temperatura, umidità, direzione e
velocità del vento etc.), della presenza di effetti di tempo varianza e di non linearità che
rendono talvolta il processo di identificazione difficoltoso con le tecniche tradizionali.
In letteratura si trovano diversi approcci per la modellistica dei dati riguardanti
l’inquinamento atmosferico. In particolare i metodi di identificazione parametrica
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
77
mediante modelli stocastici di tipo ARMAX (Auto Regressive Moving Average with
eXogenous inputs).
La struttura generale di un modello ARMAX è del tipo seguente
)()()()()()( teqCtuqBtyqA (3.10)
dove le y(t) sono le uscite, u(t) gli ingressi, e(t) un rumore bianco e A(q), B(q), C(q) sono
vettori di parametri. Per una descrizione più esaustiva dei modelli ARMAX si rimanda il
lettore alla letteratura [28].
Tuttavia a causa della citata complessità dei fenomeni in gioco, la predizione effettuata
sulla base di modelli ARMAX può talvolta risultare poco affidabile.
Appare quindi giustificata la ricerca di tecniche di calcolo più innovative e potenti,
quali appunto quelle basate su soft computing che consentano di superare alcune delle
difficoltà sopra citate.
In questo lavoro vengono utilizzate delle reti neurali di tipo Multilayer Perceptron
Neural Networks (MLPs) per l’identificazione di modelli di predizione delle
concentrazioni di inquinanti. Le prestazioni ottenute con questo approccio vengono messe
a confronto con quelle dei tradizionali modelli ARMAX.
Vengono inoltre considerate le reti di tipo neuro-fuzzy che com’è noto consentono di
descrivere il legame tra le variabili d’ingresso e quelle d’uscita di un assegnato processo
mediante un insieme di regole di tipo if.....then. Queste ultime risultano molto più
espressive dell’insieme dei pesi delle interconnessioni tra i neuroni di una rete neurale di
tipo MLPS e possono essere utili a vari scopi. Sarà infatti possibile un’analisi dei fenomeni
in gioco e un esperto potrà effettuare una integrazione della base di regole traendo
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
78
conoscenze dal proprio “bagaglio” o semplicemente effettuare un “tuning” delle regole
stesse, analogamente a quanto avviene in taluni sistemi di controllo.
In fine si valuta la possibilità di utilizzare un modello di predizione “misto” che si basa
sulla combinazione di due modelli di predizione AR e MLP al fine di migliorare i risultati
ottenuti con i precedenti modelli.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
79
3.2 PREDIZIONE DELLE CONCENTRAZIONI DEGLI
INQUINANTI ATMOSFERICI IN UNA ZONA CON ALTA
DENSITA’ DI INSEDIAMENTI INDUSTRIALI
Sin dal 1983 esistono in Italia delle leggi che fissano i massimi valori delle
concentrazioni di inquinanti al fine di valutare e rispettare la qualità dell’aria. Solo di
recente si sono costituiti degli enti territoriali che mediante delle reti di monitoraggio
rilevano le concentrazioni degli inquinanti e alcuni dati meteorologici fornendo sia alle
autorità civili che alle industrie informazioni sulla base delle rilevazioni effettuate. L’area
industriale presa in considerazione è quella della provincia di Siracusa e più precisamente
quella di Priolo-Melilli-Augusta, caratterizzata da un’alta densità di industrie
petrolchimiche. L’area in questione è controllata da una rete di monitoraggio degli
inquinanti atmosferici posta nei punti geograficamente ritenuti più strategici.
I dati considerati in questo lavoro sono stati forniti dal C.I.P.A. (Consorzio Industriale
per la Protezione Ambientale) e si riferiscono ad un arco temporale di circa tre mesi. E’
stata necessaria una fase di pre-elaborazione al fine di rimuovere gli eventuali dati non
accettabili a causa dei problemi tecnici. I dati non validi sono stati marcati con un valore
negativo dalle stazioni di monitoraggio. All’occorrenza di questi dati invalidi il campione
corrispondente viene eliminato dall’insieme dei pattern (stringa contenete gli ingressi e le
uscita del modello da identificare) necessari alla modellizzazione delle serie temprali. Per
fare ciò si possono impiegare diverse tecniche. In alcuni casi quando il numero dei dati
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
80
mancanti è relativamente basso si possono sostituire i dati mancanti con dei dati ottenuti
tramite modelli di predizione oppure tecniche di interpolazione. Tuttavia, è sempre
rischioso sostituire dei dati perché potrebbero corrompere il modello finale del sistema
preso in esame. Per questo motivo è stato deciso di evitare la formazione dei pattern
relativi ai dati mancanti. Le serie temprali prese in considerazione sono: la concentrazione
di O3, NMHC, NO2 e l’NOx. Tali serie temporali sono alla base del presente studio che si
articolerà in quattro parti in relazione alle quattro differenti tecniche di identificazione che
come anticipato sopra sono basati sull’uso di modelli ARMAX, modelli neurali di tipo
MLP, modelli di tipo neuro-fuzzy e modelli “misti” AR/MLP.
Per quel che concerne l’ordine dei modelli ai fini dell’identificazione delle singole serie
temporali, sono state utilizzate le indicazioni fornite dalle funzioni di autocorrelazione
delle serie temporali considerate, unitamente a dei tipici processi di “trial and error” volte
al conseguimento del miglior risultato. Più dettagliatamente, decisa la struttura del modello
(data secondo il giudizio di un esperto umano in funzione ad esempio delle analisi di
correlazioni delle serie temprali), il numero degli ingressi viene progressivamente
incrementato sino a raggiungere un buon compromesso tra il numero degli ingressi e la
bontà del modello trovato.
Per l’identificazione dei modelli di predizione ad un’ora sono stati usati 350 dei 700
pattern selezionati, mentre la totalità dei dati sono stati usati per la fase di test dei modelli.
Per l’identificazione dei modelli di predizione a 24 ore sono stati adoperati invece 40
pattern (ottenuti sottocampionando le serie temprali originarie ad intervalli di T=24 ore),
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
81
mentre la totalità dei dati, consistenti di 80 campioni, sono stati considerati per la fase di
test dei modelli.
3.2.1 Modelli di predizione mediante strutture di tipo ARMAX
I modelli usati, uno per ciascuno degli inquinanti considerati (O3, NMHC, NO2 e NOx),
sono del tipo MISO (Multi Input Single Output), essendo stati assunti quali ingressi
esogeni gli inquinanti di volta in volta disponibili.
Dall’analisi dei risultati corrispondenti ai vari tentativi effettuati si è potuto riscontrare
che i risultati migliori sono quelli relativi all’uso di modelli del 2° ordine senza ingressi
espliciti (per esempio modelli AR) . I risultati della previsione ad un passo (corrispondente
ad un’ora) ed il relativo errore sono riportati nelle Fig. 3.3-3.6.
In ogni figura vengono riportate due curve che rappresentano rispettivamente le serie
temporali reali, quelle simulate ed il relativo errore. Per rendere le figure molto più
leggibili viene riportato solamente un set limitato di campioni. Per le figure che si
riferiscono ai modelli di predizione ad un ora il tempo rappresentato corrisponde a circa
quattro giorni, mentre nelle figure che rappresentano i modelli di predizione a 24 ore il
tempo rappresentato corrisponde a circa 80 giorni. Da un’attenta analisi delle figure è
possibile evidenziare l’accuratezza con cui viene prevista la concentrazione di O3 nel
modello di previsione ad un’ora, lo stesso non si può dire per i rimanenti inquinanti.
Un’analisi numerica più accurata dei risultati, riportata nei paragrafi successivi, conferma
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
82
queste considerazioni. In fine in Fig. 3.7 si riportano i risultati relativi alla predizione a 24
ore della concentrazione di NOx.
Fig. 3.3. Concentrazione di O3: confronto tra dati reali e dati simulati e relativo errore,
ottenuti mediante un modello AR ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
83
Fig. 3.4. Concentrazione di NMHC: confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
84
Fig. 3.5. Concentrazione di NO2: confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
85
Fig. 3.6. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
86
Fig. 3.7. Concentrazione di NOx: confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR ad 24 ore.
3.2.2 Identificazione mediante perceptrone multistrato (MLPs)
Si riporta di seguito lo schema del modello neurale adoperato per l’identificazione
delle serie di dati sopra indicati, facendo per semplicità solo riferimento all’O3 (Fig. 3.8).
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
87
Fig. 3.8. Struttura del modello basato sul perceptrone multistrato usato per la
predizione dell’ O3.
Lo schema opportunamente modificato vale anche per NMHC, NO2 e NOx. Si osservi
che non essendovi particolari limitazioni nella complessità della rete, a differenza di
quanto accade per le reti neuro-fuzzy, è possibile considerare più ingressi. I risultati delle
previsioni ad un’ora e a 24 ore sono riportati nelle figure 3.9-3.13. Un’analisi più
dettagliata dei risultati viene riportata nei prossimi paragrafi. Tramite una semplice
ispezione si può notale l’accuratezza delle curve di previsione rispetto a quelle reali.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
88
Fig. 3.9. Concentrazione di O3: confronto tra dati reali, dati simulati e relativo errore,
ottenuti mediante un modello neurale di tipo MLP ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
89
Fig. 3.10. Concentrazione di NMHC confronto tra dati reali, dati simulati e relativo
errore, ottenuti mediante un modello neurale di tipo MLP ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
90
Fig. 3.11. Concentrazione di NO2: confronto tra dati reali, dati simulati e relativo
errore, ottenuti mediante un modello neurale di tipo MLP ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
91
Fig. 3.12. Concentrazione di NOX: confronto tra dati reali, dati simulati e relativo errore,
ottenuti mediante un modello neurale di tipo MLP ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
92
Fig. 3.13. Concentrazione di NOx: confronto tra dati reali, dati simulati e relativo
errore ottenuti mediante un modello neurale di tipo MLP a 24 ore.
3.2.3 Modelli Neuro-Fuzzy
I risultati migliori sono stati ottenuti considerando modelli simili a quello riportato in
Fig. 3.14. Il modello si riferisce al caso particolare dell’O3.e resta valido, con ovvie
modifiche, anche nel caso degli altri inquinanti considerati: cioè NMHC, NO2 e NOx.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
93
La struttura di tale modello è stata individuata dopo un adeguato numero di tentativi
volti, da un lato, alla ricerca del migliore risultato e dall’altro a non aumentare
eccessivamente la complessità della rete che com’è noto cresce esponenzialmente con il
numero di ingressi e dei fuzzy sets per ciascun ingresso. Queste limitazioni in effetti
possono rappresentare dei seri ostacoli nell’utilizzo di reti neuro-fuzzy.
O3(k)
O3(k-1)
NMHC(k-1)
NO2(k)
NOx(k)
NOx(k-1)
O3(k+1)Neuro-Fuzzy
Model
NMHC(k)
NO2(k-1)
Fig. 3.14. Struttura del modello Neuro-Fuzzy per la predizione dell’O3.
Nel presente lavoro è stato utilizzato il software tool denominato AFM (Adaptative
Fuzzy Modeller), per l’occasione messo a disposizione dalla SGS Thomson [21]. Per
ciascun ingresso del modello sono state utilizzate tre funzioni di membership di tipo
gaussiano e come metodo d’inferenza il prodotto. Si riportano i risultati ottenuti con questa
tecnica nelle Fig. 3.15-3.19.
Con riferimento a quanto esposto precedentemente nel caso dell’apprendimento
competitivo “winner take all” riportiamo in Tabella 3.1 la distribuzione delle regole
ottenute (con riferimento al modello di predizione ad un’ora dell’ozono), è da notare che
da un set di 6561 possibili regole ne sono state estratte solamente 40. Nella prima colonna
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
94
della Tabella 3.1 viene riportato il numero identificativo (nel range [1-6561]) riferito alle
regole estratte dall’algoritmo su menzionato. Ogni riga della tabella rappresenta una regola
fuzzy espressa nella forma:
if O3(k) is ... and O3(k-1) is ... and NMHC(k) is ... and NMHC(k-1) is ... and NO2(k) is
... and NO2(k-1) is ... and NOx(k) is ...and NOx(k-1) is ... then O3(k+1) is ...
Come è stato osservato precedentemente, la base di regole fuzzy è caratterizzata da
un conseguente costante (crisp) il cui valore è riportato (in g/m3) nell’ultima colonna
della tabella. I fuzzy set, che compaiono nella premessa, sono chiamati rispettivamente
LOW, MEDIUM e HIGH.
Il software AFM, usato per l’estrazione delle regole, fornisce il valore del centroide per
ogni fuzzy set che appare nella premessa della base di regole considerata; questi valori
sono riportati nella Tabella 3.2. Si può notare come le regole ottenute rappresentino un
modello linguistico che risulta molto più espressivo rispetto ai pesi sinaptici, tipici dei
modelli basati sul perceptrone multistrato. Tuttavia bisogna evidenziare che, da un punto di
vista numerico, le regole riportate nella Tabella 3.1 non possono essere valutate
singolarmente per il calcolo del valore defuzzificato della variabile d’uscita. Per ottenere
ciò è invece necessario il contributo di tutte le regole (si veda l’espressione 2.81).
Nonostante ciò da un punto di vista logico, il modello linguistico dovrebbe essere di più
facile interpretazione per un esperto.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
95
Fig. 3.15. Concentrazione di O3: confronto tra dati reali, dati simulati e relativo errore
ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
96
Fig. 3.16. Concentrazione di NMHC: confronto tra dati reali, dati simulati e relativo
errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
97
Fig. 3.17. Concentrazione di NO2: confronto tra dati reali, dati simulati e relativo
errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
98
Fig. 3.18. Concentrazione di NOX : confronto tra dati reali, dati simulati e relativo
errore ottenuti mediante un modello Neuro-Fuzzy ad 1 ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
99
Fig. 3.19. Concentrazione di NOx : confronto tra dati reali, dati simulati e relativo errore
ottenuti mediante un modello Neuro-Fuzzy a 24 ore.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
100
Numero
identificativo
delle regole
vincenti
If
O3(k)
is
and
O3(k-1)
is
and
NMHC(k)
is
and
NMHC(k-1)
Is
and
NO2(k)
is
And
NO2(k-1)
Is
and
NOx(k)
is
and
NOx(k-1)
is
then
O3(k+1)
is
3727 LOW MEDIUM LOW LOW LOW LOW LOW LOW 56.65
3855 LOW MEDIUM LOW LOW LOW LOW MEDIUM LOW 23.65
2428 MEDIUM MEDIUM MEDIUM LOW LOW LOW MEDIUM LOW 43.29
4253 LOW LOW MEDIUM LOW LOW LOW MEDIUM LOW 48.00
4321 LOW LOW LOW LOW MEDIUM LOW MEDIUM LOW 76.21
2681 MEDIUM LOW LOW MEDIUM LOW LOW LOW LOW 64.37
4428 LOW LOW LOW MEDIUM LOW LOW LOW LOW 45.00
2857 MEDIUM LOW LOW MEDIUM LOW MEDIUM LOW LOW 68.43
2974 MEDIUM LOW LOW LOW LOW LOW LOW MEDIUM 75.00
4697 LOW LOW LOW LOW LOW MEDIUM LOW MEDIUM 78.00
4721 LOW LOW MEDIUM LOW MEDIUM LOW LOW MEDIUM 62.02
3449 MEDIUM MEDIUM LOW LOW LOW LOW LOW MEDIUM 63.54
4976 LOW MEDIUM LOW LOW LOW LOW MEDIUM LOW 45.05
5124 LOW MEDIUM LOW LOW LOW LOW MEDIUM MEDIUM 23.87
5153 LOW MEDIUM LOW LOW LOW LOW LOW MEDIUM 109.00
5157 LOW LOW LOW LOW MEDIUM MEDIUM LOW MEDIUM 76.99
5173 LOW LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 32.06
3523 MEDIUM LOW LOW LOW LOW MEDIUM LOW MEDIUM 62.56
3729 LOW LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 29.54
3873 LOW LOW LOW LOW HIGH MEDIUM LOW LOW 88.64
4143 LOW LOW MEDIUM LOW MEDIUM MEDIUM MEDIUM MEDIUM 44.76
5126 LOW LOW LOW MEDIUM MEDIUM HIGH HIGH MEDIUM 189.43
2565 LOW LOW MEDIUM MEDIUM MEDIUM HIGH HIGH HIGH 126.40
2917 MEDIUM MEDIUM LOW LOW LOW LOW LOW LOW 43.51
2920 MEDIUM MEDIUM LOW LOW LOW LOW LOW LOW 199.00
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
101
2921 LOW MEDIUM LOW LOW LOW LOW HIGH MEDIUM 142.00
2922 LOW MEDIUM LOW LOW LOW LOW HIGH HIGH 94.05
2926 LOW MEDIUM LOW LOW LOW MEDIUM LOW LOW 105.63
2929 LOW MEDIUM LOW LOW LOW MEDIUM MEDIUM LOW 115.00
2930 LOW LOW LOW HIGH LOW LOW MEDIUM MEDIUM 67.00
2948 LOW LOW LOW HIGH MEDIUM LOW MEDIUM LOW 174.00
2957 LOW LOW LOW LOW MEDIUM MEDIUM LOW MEDIUM 117.52
2992 LOW LOW LOW LOW HIGH HIGH LOW LOW 157.80
2998 LOW LOW LOW MEDIUM LOW LOW LOW LOW 93.01
3015 MEDIUM LOW LOW MEDIUM LOW MEDIUM LOW MEDIUM 97.01
3158 MEDIUM LOW MEDIUM LOW LOW LOW LOW LOW 64.60
3168 MEDIUM MEDIUM MEDIUM LOW LOW LOW LOW MEDIUM 124.50
3271 MEDIUM MEDIUM MEDIUM MEDIUM LOW LOW LOW LOW 54.01
3282 MEDIUM MEDIUM MEDIUM MEDIUM LOW LOW LOW MEDIUM 86.60
3299 LOW MEDIUM LOW MEDIUM LOW LOW HIGH HIGH 115.61
Tab. 3.1 – Base di regole Fuzzy (40 regole) del modello di predizione ad un’ora dell’O3.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
102
Tab. 3.2. Fuzzy sets e centroidi del modello di predizione ad un’ora dell’O3.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
103
3.2.4 Modelli AR/MLP
In questo paragrafo si propone un modello “misto” di predizione che prevede l’uso in
cascata di due predittori rispettivamente uno AR ed uno neurale di tipo MLP. Il modello
riportato in Fig. 3.20 si ispira alla predizione della concentrazione dell’ozono, con ovvie
modifiche si può estendere agli altri inquinanti.
Fig. 3.20. Modello AR/MLP per la predizione ad un’ora della concentrazione di O3.
Il primo modello ha la stessa struttura dei modelli presentati nei precedenti paragrafi, il
secondo invece ha in più le previsioni della concentrazione di inquinante del modello
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
104
precedente. Ciò si può interpretare dicendo che si tenta di recuperare l’errore di predizione
del primo modello. Nelle figure che seguono (Fig. 3.21-3.25) si riportano i risultati relativi
alle varie simulazioni del modello presentato, sia esso ad un’ora che a 24 ore (caso
specifico dell’NOx).
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
105
Fig. 3.21. Concentrazione di O3 : confronto tra dati reali e dati simulati e relativo errore,
ottenuti mediante un modello AR/MLP ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
106
Fig. 3.22. Concentrazione di NMHC : confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR/MLP ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
107
Fig. 3.23. Concentrazione di NO2 : confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR/MLP ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
108
Fig. 3.24. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR/MLP ad un’ora.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
109
Fig. 3.25. Concentrazione di NOX : confronto tra dati reali e dati simulati e relativo
errore, ottenuti mediante un modello AR/MLP a 24 ore.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
110
3.3 ANALISI DEI RISULTATI
Per valutare oggettivamente le prestazioni delle singole tecniche qui considerate, sono stati
analizzati gli errori di predizione dell’O3 ,dell’NMHC, dell’NO2 e dell’NOx in una finestra
temporale di 700 campioni (circa un mese). Di tali errori di predizione sono stati estratti
quattro indici di qualità indicati rispettivamente con IQ1, IQ2, IQ3 e IQ4.
Più dettagliatamente tali indici sono:
- IQ1 rappresenta il valor medio del quadrato del residuo;
- IQ2e la deviazione standard del quadrato del residuo;
- IQ3 rappresenta il rapporto tra la covarianza del residuo e la covarianza della serie
temporale dell’inquinante dato;
- IQ4 rappresenta il coefficiente di correlazione tra le serie temporali reali e quelle
simulate.
Naturalmente, il modello migliore è quello che presenta valori bassi di IQ3 e valori alti
di IQ4, nel range [0,1].
Introduciamo in fine altri due indici di qualità, indicati rispettivamente con IQ5 e IQ6.
Tali indici sono stati definiti con lo scopo di confrontare la capacità dei modelli di
prevedere quando la concentrazione di un inquinante (per esempio l’O3 ) supera una soglia
prefissata. Le autorità pubbliche non sono interessate a conoscere la previsione dell’esatta
concentrazione di un inquinante, ma sono invece interessate a prevedere quando un
prefissato inquinante supera una determinata soglia. L’indice QI5 viene quindi definito con
lo scopo di misurare la percentuale di correttezza dei campioni identificati che eccedono
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
111
una prefissata soglia di concentrazione. L’indice QI6 rappresenta invece la percentuale dei
campioni identificati erroneamente, ossia i campioni che hanno superato la soglia
prefissata. I risultati riguardanti gli indici di qualità sono riportati nelle Tabelle 3.3-3.7.
Modello
AR
Modello
Neuro-Fuzzy
Modello
Neurale
Modello
AR/MLP
IQ1 17.35 19.14 29.96 10.91
IQ2 1.15 0.58 1.42 0.36
IQ3 0.14 0.29 0.09 0.08
IQ4 0.92 0.79 0.85 0.96
IQ5 soglia MAX 90g/cm3 78.57 82.3 96.6 99.37
IQ6 soglia MAX 90g/cm3 7.14 9.34 8.69 4.22
IQ5 soglia MIN 50g/cm3 89.98 92.48 99.59 99.81
IQ6 soglia MIN 50g/cm3 29.70 25.45 2.47 1.38
Tab. 3.3. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad
un’ora della concentrazione di O3
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
112
Modello
AR
Modello
Neuro-Fuzzy
Modello
Neurale
Modello
ARP/MLP
IQ1 472.19 253.40 128.35 122.84
IQ2 22.39 9.1 0.66 0.37
IQ3 0.54 0.18 0.11 0.08
IQ4 0.78 0.81 0.92 0.98
IQ5 soglia MAX 400g/cm3 45.56 78.19 94.26 96.37
IQ6 soglia MAX 400g/cm3 1.23 1.35 0.75 0.43
IQ5 soglia MIN 300g/cm3 36.75 76.65 92.52 96.74
IQ6 soglia MIN 300g/cm3 2.50 1.59 1.12 0.91
Tab. 3.4. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad
un’ora della concentrazione di NMHC.
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
113
Modello
AR
Modello
Neuro-Fuzzy
Modello
Neurale
Modello
AR/MLP
IQ1 51.60 8.26 6.29 4.13
IQ2 21.86 12.72 8.92 6.84
IQ3 0.32 0.25 0.17 0.18
IQ4 0.73 0.84 0.92 0.98
IQ5 soglia MAX 90g/cm3 42.58 78.35 89.99 99.93
IQ6 soglia MAX 90g/cm3 1.59 2.56 1.01 0.81
IQ5 soglia MIN 50g/cm3 25.84 73.65 93.54 93.64
IQ6 soglia MIN 50g/cm3 6.74 5.81 4.51 3.21
Tab. 3.5. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad
un’ora della concentrazione di NO2
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
114
Modello
AR
Modello
Neuro-Fuzzy
Modello
Neurale
Modello
AR/MLP
IQ1 46.18 5.8 4.00 3.28
IQ2 1.09 0.33 0.03 0.02
IQ3 0.39 0.58 0.11 0.06
IQ4 0.67 0.69 0.93 0.99
IQ5 soglia MAX 90g/cm3 60.28 74.09 98.67 99.90
IQ6 soglia MAX 90g/cm3 8.54 4.23 5.90 3.28
IQ5 soglia MIN 50g/cm3 81.48 78.29 93.88 98.68
IQ6 soglia MIN 50g/cm3 24.29 11.46 5.54 2.36
Tab. 3.6. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione ad
un’ora della concentrazione di NOx
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
115
Modello
AR
Modello
Neuro-Fuzzy
Modello
Neurale
Modello
AR/MLP
IQ1 6.34 8.36 3.87 2.46
IQ2 1.30 0.98 0.76 0.35
IQ3 0.21 0.17 0.09 0.06
IQ4 0.91 0.93 0.98 0.99
IQ5 soglia MAX 90g/cm3 97.1 98.8 99 100
IQ6 soglia MAX 90g/cm3 0.61 0.85 0.33 0
IQ5 soglia MIN 50g/cm3 86.66 90.31 95.65 100
IQ6 soglia MIN 50g/cm3 0.23 0.19 0.11 0
Tab. 3.7. Confronto tra i modelli AR, Neuro-Fuzzy, MLP e AR/MLP di predizione a 24
ore della concentrazione di NOx
Si può evidenziare che, considerando una soglia alta di 90 g/m3 (soglia a cui fanno
riferimento le autorità pubbliche), i modelli neurali ed in particolare quelli MLP,
forniscono risultati migliori rispetto agli altri modelli di predizione di tipo “semplice”
(AR,MLP,Neuro-Fuzzy).
CAPITOLO III- MODELLISTICA DELL’INQUINAMENTO ATMOSFERICO TRAMITE TECNICHE DI SOFTCOMPUTING
116
Si noti che a volte i predittori AR presentano indici IQ5 migliori dei rispettivi indici dei
predittori neuro-fuzzy, di contro però questi ultimi presentano sempre un indice IQ6
corrispondente nettamente migliore.
Se però si considerano i modelli di predizione di tipo “misto” AR/MLP si evidenzia un
netto miglioramento rispetto ai precedenti modelli senza che il carico computazionale sia
notevolmente aumentato.
Da un’analisi globale dei risultati si può concludere che i predittori AR/MLP sono
superiori rispetto a quelli neurali (di tipo MLP e NF) che a loro volta sono superiori
rispetto a quelli AR.
CAPITOLO IV
SISTEMA PER LA DETERMINAZIONE DELLA
CARICA BATTERICA TRAMITE RETI NEURALI
CELLULARI
4.1 INTRODUZIONE
Gli studi più avanzati riguardanti le tecniche di cultura cellulare ancora oggi non riescono
ad offrire metodologie e tecniche, sufficientemente precise ed economiche, per la
valutazione della velocità di crescita delle cellule batteriche. Tale parametro è di
fondamentale importanza per la valutazione delle variabili in studio negli esperimenti
biologici, poiché è importate riuscire a capire la dipendenza della crescita cellulare con
l’esperimento che si intende eseguire.
L’applicazione del sistema per la determinazione della carica batterica basato su Reti
Neurali Cellulari (CNN), suggerisce un approccio innovativo per l’implementazione di
nuove tecniche nella moderna microbiologia. Di particolare importanza è il fatto che
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
118
mediante questa tecnica in ogni istante di tempo è possibile conteggiare un numero elevato
di cellule in modo parallelo. Questa caratteristica permette quindi il confronto di popolazioni
di cellule in differenti stati di sviluppo e crescita. Ripetendo più volte la conta delle cellule,
ad intervalli regolari, è possibile ottenere con precisione delle curve che correlano il numero
delle cellule all’incremento di alcuni parametri della massa protoplasmatica quali ad
esempio: il contenuto di acidi nucleici, il volume delle cellule ecc.
In più il ricercatore ha un notevole risparmio di tempo nella valutazione della loro
velocità di crescita.
Le considerazioni espresse precedentemente hanno incoraggiato lo studio e lo sviluppo di
un sistema per la conta delle cellule animali di tipo “on-line” basato su un sistema di
processamento di immagini. Le reti neurali cellulari, proposte da L. O. Chua [29-30], hanno
dimostrato di avere una grande capacità nell’implementazione di un sistema di
processamento molto veloce di immagini; ciò ha spinto ricercatori ed aziende di tutto il
mondo verso la realizzazione di un chip capace di espletare le funzionalità di una CNN [31].
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
119
4.2 DETERMINAZIONE QUANTITATIVA TRAMITE
METODI TRADIZIONALI
La determinazione quantitativa o "carica batterica" è quella tecnica microbiologica che si
prefigge di accertare il numero di microrganismi presenti, per unità di volume, o di peso, in
un campione. Innanzi tutto occorre stabilire se la popolazione batterica presente nel
campione è costituita da batteri di una sola specie oppure se è una popolazione mista.
In quest'ultimo caso verrà determinata una "carica batterica totale". Se invece si vuol fare
una ricerca quantitativa di una specie batterica, bisogna procedere al suo isolamento.
Occorre aggiungere che in una popolazione batterica mista, non sempre è possibile avere un
eguale sviluppo di tutti i componenti, sia per le diverse esigenze nutrizionali, sia per le
diverse esigenze di temperatura di crescita, sia per i metaboliti prodotti da alcune specie che
possono inibire la crescita di altre.
Per la determinazione quantitativa i metodi usati sono molti, dei quali alcuni determinano
il numero totale dei germi (vivi e morti), altri determinano solo quelli vivi [31]. Una ulteriore
distinzione può essere fatta tra metodi "diretti" e , metodi “indiretti".
a) Conta al microscopio: è un metodo diretto e rapido, che però determina sia i batteri
vivi che quelli morti. Si utilizzano delle camere di conta particolari che si differenziano per il
tipo di reticolo che li costituisce: Petroff-Hauser, Breed, Thoma-Zeiss, Burcher. Il reticolo
della camera di Thoma-Zeiss (Fig. 4.1) ha la grandezza di 1 mm2 ed è suddiviso in 16
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
120
quadrati ognuno dei quali ha una superficie di 1/25 di mm2. Ognuno di questi quadrati è
ulteriormente suddiviso in 16 quadratini che hanno una superficie di 1/400 di mm2.
Fig. 4.1 Reticolo camera Thomas-Zeiss.
Coprendo la camera con il suo vetrino coprioggetto, l'altezza viene ad essere di 1/10 di
mm. Il reticolo della camera di Burker (Fig. 4.2) ha invece una superficie di 9 mm2 ed è
suddivisa in 9 quadrati di 1 mm2. Ognuno di questi quadrati è poi ancora suddiviso in 16
quadrati di 1/25 di mm2 e in quadratimi di 1/400 di mm2 o di rettangolini di 1/100 di mm2.
Anche qui lo spessore della camera è di 1/10 di mm.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
121
Fig. 4.2 Reticolo camera di Burker..
La carica batterica si determina contando le cellule batteriche presenti in non meno di 5
quadrati grandi (Thoma-Zeiss) da 1/25 di mm2 oppure in non meno di 20 quadratini da 1/400
di mm2 o di rettangolini da 1/100 di mm2, se si usa la camera di Burker.
Si fa la media dei batteri contati, si moltiplica per il reciproco dell'area e per il reciproco
dell'altezza e si ottiene il numero dei batteri per ml (occorre tenere conto anche della
eventuale diluizione iniziale).
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
122
Es. Camera Thoma-Zeiss:
media n.batteri x 25 x 10 = n.batteri/ml
(contati in 5 quadrati da 1/25 mm2)
Però in uno spessore di 1/10 di mm i batteri si dispongono in un centinaio di piani mentre
con il microscopio è possibile mettere a fuoco solo quelli situati in un solo piano. Per
limitare questa imprecisione si possono usare le camere di Petroff-Hausen (Fig. 4.3 4.4) che,
pur avendo un reticolo del tutto uguale a quello di Burker, hanno un'intercapedine alta 1/100
di mm.
Fig. 4.3. Camera di Petroff-Hausen: il campione da analizzare viene posto nella parte
centrale del vetrino; bisogna stare attenti che non fuoriesca del liquido. Lo spazio tra il
vetrino copri oggetto e la camera deve essere di 1/100 di mm. All’interno si compone di 25
quadratini più grandi per un’area totale di 1 mm2 ed un volume di 0.01 mm3.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
123
Fig. 4.4. Osservazione al microscopio: si contano le cellule contenute nei quadrati più
grandi. In genere si effettua la conta su più quadrati e se ne considera la media.
Il vetrino della camera di Breed porta invece inciso un quadrato di 1 cm di lato sul quale
viene sparsa, usando un'ansa calibrata, 1/100 di ml di sospensione di coltura batterica. Dopo
aver fissato e colorato, si osserva al microscopio, usando un obbiettivo ad immersione il cui
campo abbia un 0 di 0,16 mm.
Sapendo che in 1 cm2 si possono osservare 5000 campi, si moltiplica il numero medio
dei batteri per 5000 e per 100 (reciproco di 1/100 di ml) e si ottiene il numero dei batteri
presenti in 1 ml (tenere conto della eventuale diluizione iniziale)
media n.batteri x 5000 x 100 = n.batteri/ml
b) Contatori coulter counter: sono strumenti capaci di contare rapidamente le cellule o
altri corpi sospesi in un fluido che viene fatto passare attraverso un, foro tra due elettrodi
capaci di registrare il volume delle cellule e quindi di contare quelle che hanno il volume per
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
124
il quale è stato tarato lo strumento. L’apparecchio però non sa distinguere le cellule vive da
quelle morte ed inoltre conta indiscriminatamente corpuscoli di qualsiasi natura, di
conseguenza il campione in esame deve essere opportunamente trattato per eliminare i corpi
estranei e falsamente influenti. Il coulter counter viene utilizzato prevalentemente nei
laboratori di analisi cliniche per il conteggio dei globuli rossi e dei globuli bianchi. Esso
trova anche applicazione nell'analisi citologica del latte ovvero nel conteggio dei leucociti.
In questo caso il latte deve subire un trattamento chimico per eliminare i globuli di grasso
che interferiscono nel conteggio. C'è anche da aggiungere che il coulter counter non
permette un esatto conteggio dei batteri che formano aggregati, come ad es. diplococchi,
stafilococchi, ecc.
e) Metodo di Wright: è un metodo diretto che però ha una percentuale di errore molto
elevata. La sospensione batterica viene mescolata con una soluzione di globuli rossi a titolo
noto, si fa uno striscio su di un vetrino portaoggetti e lo si colora opportunamente: gli
eritrociti risultano colorati in rosa e i batteri in blu.
Si contano i vari campi microscopici, facendo una media del numero dei batteri e dei
globuli rossi:
n.eritrociti totali : n.eritrociti contati = x : n.batteri contati
d) Metodo turbidimetrico: qui viene evidenziata la massa delle cellule batteriche. La
sospensione batterica viene fatta attraversare da un raggio luminoso e la quantità di luce
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
125
assorbita è proporzionale al numero di batteri presenti. Riportando in un grafico i valori di
assorbimento ottenuti alle diverse diluizioni della stessa sospensione, si otterrà una curva.
Batteri di specie diverse hanno forma e dimensioni diverse e quindi si dovrà costruire
una curva di taratura per ciascuna specie.
e) Metodo nefelometrico: è basato sul fenomeno della diffrazione della luce. Anche in
questo caso la sospensione batterica viene fatta attraversare da un raggio luminoso e la
quantità di luce diffratta è proporzionale al numero dei batteri. Anche con questo metodo si
dovrà costruire una curva di taratura per ogni specie batterica.
f) Calcolo dell'indice MPN: MPN significa "numero maggiormente probabile" ed è
stato introdotto da MeCrady nel 1915. E' un metodo di conteggio statistico e si bassa
sull'ipotesi che i microrganismi siano distribuiti in modo casuale nel campione in esame.
Importante è la scelta del terreno liquido che permetta la crescita esclusiva del
microrganismo in esame, specialmente quando ci si trova di fronte a materiali polimicrobici.
Il calcolo si avvale di apposite tabelle studiate in base al tipo di conta da attuare e il metodo
varia a seconda della tabella in uso. I risultati ottenuti sono indicativi in quanto il metodo
MPN è più impreciso della conta in piastra.
g) Metodo della filtrazione su membrana: si filtra un esatto volume di campione
microbico attraverso una membrana sterile di 0,45 micron di porosità. Il filtro viene poi
deposto, con tecnica sterile, in una piastra di Petri con agar-nutriente. Dopo opportuna
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
126
incubazione si contano le colonie ottenute. Il numero dei microrganismi per unità di volume
(ml) è dato dal rapporto tra il numero delle colonie contate e il volume del campione filtrato
(bisogna tenere conto dell'eventuale diluizione iniziale).
h) Metodo di dip-slides: è un metodo semplice e veloce per una determinazione
orientativa di una carica microbica. E' usato: per campioni liquidi, per superfici (anche
cutanee), per materiali pastosi, in dermatologia, ecc..
Il dip-slides consiste in una striscia imbevuta di terreno che viene messa a contatto con il
materiale di cui si vuol determinare la carica batterica (Fig. 4.5). Dopo incubazione, che può
avvenire anche a t° ambiente, si confronta la crescita avvenuta, con delle apposite schede
campione (Fig. 4.6) che danno direttamente la concentrazione microbica nel campione in
esame in correlazione alla densità delle colonie cresciute. In commercio esistono
"dip-slides" diversi in rapporto alla carica batterica che si vuol determinare. Questo metodo
è diretto e determina il numero dei germi attivi.
Fig. 4.5. Tecnica di conta batterica con “dip-slides”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
127
Fig. 4.6. Schede campione per la determinazione della concentrazione microbica del
campione in esame.
i) Metodo al blù di metilene: è un saggio usato per l'analisi batterica del latte e si basa sul
fatto che una piccola quantità di blù di metilene aggiunta al campione in esame, viene
decolorata per la presenza di batteri. Questo metodo non dà un valore esatto della carica
batterica, ma un'approssimativa valutazione in base ad una tabella di riferimento (Tab. 4.1)
che si basa sui tempi di decolorazione.
Tab. 4.1. Tabella di riferimento per il metodo al blu metile.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
128
1) Metodo della semina in piastra: è un metodo diretto che determina il numero di
germi vivi. E' detto anche metodo delle diluizioni successive. Si prepara una serie di
provette contenenti 9 ml di acqua distillata sterile. Mediante una pipetta sterile si trasferisce
1 ml di campione in esame nella prima provetta (diluizione a 1/10 = 10-1). Successivamente
si preleva 1 ml di questa sospensione batterica e la si trasferisce in una seconda provetta
(diluizione 10-2 ) e così via sino alla provetta 10-9.
Si preparano e si siglano alcune piastre di Petri e si effettuano delle semine per inclusione
a partire dalla provetta 10-4, prelevando 1 ml di sospensione batterica. Contemporaneamente
si possono allestire delle semine per “spatolamento", prelevando, sempre a partire dalla
provetta 10-4 , 0,1 ml della sospensione. Dopo opportuna incubazione, si contano le piastre
con più di 30 colonie e quelle con meno di 300 colonie, si moltiplica per la diluizione iniziale
e si fa la media, ottenendo cosi il numero di batteri per 1 mi. Questo metodo si presta a degli
errori interpretativi poiché ogni colonia contata non sempre corrisponde ad un
microrganismo iniziale; molti di loro, crescono in gruppi (es. diplococchi, staffilococchi,
sarcine, ecc, ) altri tendono a dare colonie confluenti.
m) Metodo della spirale: prevede l'uso di una particolare apparecchiatura per la semina
automatica del campione. La piastra di Petri viene sistemata su un supporto rotante e la
coltura batterica o il campione in esame in soluzione viene seminato mediante uno stilo
erogatore che si muove a spirale dal centro alla periferia. La semina avviene con
diminuzione proporzionale e costante del volume man mano che lo stilo si sposta dal centro
verso i margini della piastra.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
129
Il conteggio delle colonie viene fatto:
a) sistema manuale: ci si avvale di uno schermo di lettura suddiviso in 8 settori uguali
(Fig. 4.7), ciascuno dei quali suddiviso in 4 segmenti numerati (1,2,3,4). L'area di ciascun
segmento è rapportata ad un volume noto del campione seminato. Dopo incubazione la
piastra viene posta sullo schermo di lettura, viene scelto uno degli 8 settori e si contano le
colonie contenute in uno dei segmenti. Quindi si contano le colonie contenute nello stesso
segmento del settore opposto (es. settore D segmento 3 - settore H segmento 3).
Mediante un'apposita tabella (Tab. 4.2) che associa volumi di campione a ciascun
segmento in rapporto al diametro della piastra e al volume totale, si può calcolare la densità
batterica.
Esempio:
n.colonie conteggiate = 26 + 28 = 54
densità batterica =54/0.0027 = 2 x 10 batteri/ml
Se il numero totale delle colonie contate in un settore è inferiore a 20 si devono contare
tutte le colonie della piastra di Petri.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
130
b) sistema Laser: la lettura della piastra seminata sia per inclusione che con il sistema
della spirale può essere fatta con un contatore a raggio Laser. L'operazione di conteggio
richiede pochi secondi.
Fig.4.7. Schermo per la lettura delle piastre seminate “a spirale”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
131
Tab. 4.2. Volumi crescenti di campione depositati nei vari segmenti anulari di una piastra di
Petri di 150 mm e con volume di 40 microliti
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
132
4.3 APPLICAZIONI DELLE RETI NEURALI CELLULARI
PER L’ELABORAZIONE DELLE IMMAGINI
L'elaborazione delle immagini in tempo reale è senza dubbio un processo
computazionalmete oneroso e le classiche operazioni di preprocessamanto, segmentazione
ed interpretazione, sono strettamente condizionate dal tipo di processare utilizzato.
Esistono fondamentalmente due problemi, quali la conversione analogico\digitale
dell'immagine ed il processamento sequenziale di tale informazioni, che causano ritardi
nella visualizzazione e sono inaccettabili per tutte le applicazioni che riguardano la robotica
o monitoraggio real time.
Le reti cellulari neurali data le loro capacità di processamento parallelo e l'elevata rapidità
di esecuzione rappresentano un valida alternativa ai metodi di elaborazione classica.
Numerose implementazioni hardware di reti cellulari neurali sono state proposte [31], ed
alcune di esse in poche anni saranno integrate in prodotti commerciali.
In [32] è stata sviluppata una CNN 20*20 implementata in tecnologia 0.7m CMOS con
costante di tempo della cella pari a T=5s, il ché significa circa 10000 op/sec, con un tempo
di convergenza globale di circa 20.
Sfortunatamente ancora oggi l’implementazione hardware delle reti neurali cellulari
esiste solamente a livello prototipale, tali prototipi inoltre non superano la capacità di
processamento di 32x32 [31] or 64x64 pixel.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
133
Si pensa che nel prossimo futuro verranno implementati chip CNN la cui architettura sarà
sufficientemente ampia da poter trovare applicazioni pratiche. Questo permetterà di
processare le immagini direttamente in forma analogica tramite una precedente conversione
A/D dell’immagine. Considerando un circuito CNN della stessa dimensione dell’immagine
si ottiene un processamento parallelo di quest’ultima.
Attualmente per superare questa limitazione si adoperano dei simulatori software di
CNN, in particolare in questo lavoro si ci riferisce al SimulCN² scritto nel linguaggio “C”
[33].
Fig. 4.8. Schema a blocchi in cui sono riportati i passi di processamento del simulatore
CNN.
True
True
U, X(0)
(bitmap)
Circuital parameters
Rx, C
INPUT A, B, I
(templates)
N, intstep
START
i = 1, n = 1, X = X(0)
Pixel(n,i) State Equation
Runge-Kutta Integration
i = M i = i +1
False
X = X(n)
n = N i = 1, n = n + 1
False
Y = X, OUTPUT
STOP
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
134
Come evidenziato precedentemente (si veda il par.1.4), la dinamica delle CNN può essere
sviluppata mediante l’integrazione di equazioni di stato riguardanti le celle della rete
mediante il metodo di Runge-Kutta ed Eulero [34].
Nel simulatore a cui si ci riferisce sono state implementate delle routines ottimizzate per
garantire il carico minimo computazionale. Queste caratteristiche rendono possibile
l’impiego di tale software anche in personal computer di media potenza. In Fig. 4.8 si riporta
lo schema a blocchi rappresentante i passi seguiti dal simulatore durante le fasi di
processamento.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
135
4.4 DETERMINAZIONE QUANTITATIVA TRAMITE RETI
NEURALI CELLULARI
Le procedure per la determinazione quantitativa viste sino ad ora sono relativamente lente
e per dare risultati accettabili richiedono una concentrazione minima di cellule. Inoltre, si
possono commettere errori dovuti all’erroneo conteggio delle cellule da parte dell’operatore
umano. Altri errori possono essere dovuti alla sedimentazione e quindi aderenza delle cellule
nella celle campione ecc..
Fig 4.12: Diagramma a blocchi rappresentante l’algoritmo per la conta delle cellule.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
136
In questo paragrafo si riporta la descrizione di un algoritmo basato sulle CNN per il
conteggio delle cellule animali. Il relativo diagramma a blocchi è riportato in Fig. 4.12.
Il software implementato necessita come ingresso immagini a 256 toni di grigio. In
questo lavoro si è adoperata una fotografia (“Cellule.bmp” di 70x70x256 pixel) generata al
calcolatore ponendo in essa oggetti di forma diversa distribuiti in modo random. In
particolare con riferimento alla Fig. 4.14: sono stati generati 8 oggetti diversi,
rappresentativi di un gruppo di cellule all’interno di un quadrato della cella di conteggio.
Successivamente l’immagine viene convertita in bianco e nero (due toni di grigio), come
mostrato in Fig 4.15. Questa conversione è ottenuta mediante l’uso della “threshold”
template (4.1) [37].
“Threshold” template
11
000
000
000
000
020
000
IBA (4.1)
(a) (b)
Fig. 4.13. Esempio d’applicazione della template “Threshold”.(a) figura originale,(b)
figura elaborata.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
137
Fig. 4.14. Immagine generata al computer “Cellule.bmp”.
Fig. 4.15. Processamento “Threshold”.
L’immagine risultante è alla base delle successive elaborazioni che includono:
“Hole filling ”
Questa operazione serve ad identificare gli oggetti in esame: essa prende gli oggetti
rappresentanti le cellule batteriche cave e le riempie. Tale elaborazione è di fondamentale
importanza per la conta degli oggetti presenti all’interno di un quadrato della cella di
conteggio.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
138
La template che viene utlizzata per tale scopo è la “Hole filling” (4.2) (Fig. 4.16) [37].
“Hole filling” template
1
000
020
000
010
211
010
IBA (4.2)
(a) (b)
Fig. 4.16. Esempio d’applicazione della template ”HOLE_FILLING”.(a) figura
originale,(b) figura elaborata.
Si noti, confrontando le Fig. 4.15 e le Fig. 4.17, come sono state eliminate le concavità negli
oggetti mediante il loro riempimento con aree nere.
Fig.4.17: Immagine “A” (processamento“Hole filling”).
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
139
L’immagine “A” è soggetta a due processamenti paralleli ognuno dei quali è costituito
da due processamenti in cascata (si veda la Fig 4.12).
La prima operazione produce un immagine denominata “A1” mediante le templates
“LSE” (4.3) e “CCD_HOR” (4.4) [37].
“LSE” template
5.5
111
020
000
000
200
000
IBA (4.3)
“CCD_HOR” template
0
000
000
000
000
121
000
IBA (4.4)
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
140
(a) (b)
Fig. 4.18. Esempio d’applicazione della template “LSE”.(a) figura originale,(b)
figura elaborata.
(a) (b)
Fig. 4.19 Esempio d’applicazione della template “LCP”.(a) figura originale,(b)
figura elaborata.
Il compito della template “LSE” è quello di determinare le parti SUD degli oggetti
(Fig.4.18). La seconda template invece intercetta e connette le parti orizzontali della figura
(Fig.4.19).
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
141
(a) (b)
Fig. 4.20. Esempio d’applicazione della template “CCD_HOR”.(a) figura
originale,(b) figura elaborata.
Nel nostro caso ciò significa che ad ogni oggetto della figura viene ridotto ad un pixel
di esso rappresentativo. Le Fig. 4.21 e 4.22 (immagine “A”) illustrano i risultati ottenuti
tramite queste operazioni applicate alla Fig. 4.17.
Fig. 4.21: Processamento”LSE”
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
142
Fig. 4.22.Processamento“CCD_HOR” (immagine“A1”).
La seconda operazione produce l’immagine “A2” riportata in Fig. 4.24. Tale figura è
generata dall’applicazione consecutiva delle templates “LCP” (4.5) (Fig. 4.19) e
“CCD_HOR” (4.4) (Fig. 4.20) [37].
“LCP” template
5.5
5.015.0
121
000
000
200
000
IBA (4.5)
La template “LCP” estrae le concavità degli oggetti (si veda la Fig. 4.19). I risultati ottenuti
dall’applicazione di queste templates sono riportati nelle Fig. 4.23 e 4.24.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
143
Fig. 4.23: Processamento“LCP”.
La differenza numerica ottenuta tra il numero di pixel neri dell’immagine “A1” (Fig. 4.22)
e il numero dei pixel neri della “A2” (Fig. 4.24) corrisponde al numero di oggetti presenti
nella figura di partenza (Fig. 4.12). Nell’esempio riportato si ha la seguente differenza
8-1=7.
Bisogna sottolineare che l’algoritmo presentato, in questo stato di sviluppo, non è in
grado di distinguere due oggetti sovrapposti che quindi verranno conteggiati come un
singolo oggetto. Per superare questa limitazione si potrebbero correggere i risultati mediante
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
144
medie statistiche su diverse misurazioni (visto che le cellule possono muoversi, al variare del
tempo si disporranno diversamente).
Fig. 4.24. Processamento“CCD_HOR” (immagine“A2”).
Un altro problema può essere dovuto alla presenza di rumore nella fotografia proveniente
dal microscopio ottico (si veda ad esempio la Fig. 4.25).
Fig. 4.25. Possibile immagine affetta da rumore.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
145
Per prevenire ciò è necessario lavorare in condizioni ottime che assicurino la perfetta
pulizia delle lenti sia del microscopio che del sistema di acquisizione delle immagini.
Alternativamente si possono utilizzare le proprietà di filtraggio delle CNN, tramite un
un’opportuna template quale per esempio la “Figextr” [37].
“Figextr” template
0
25.025.025.0
25.025.025.0
25.025.025.0
000
200
000
IBA (4.6)
La template “Figextr” converte in bianco ogni pixel che non ha contorni neri, lascia solo
gli elementi che hanno un contorno (Fig. 4.26).
(a) (b)
Fig. 4.26. Esempio d’applicazione della template “Fixextr”.(a) figura originale,(b)
figura elaborata.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
146
Fig. 4.27. Diagramma a blocchi per le operazioni di filtraggio.
Il filtraggio dell’immagine è ottenuto mediante l’applicazione della templates “Figextr”,
”Threshold” secondo il diagramma a blocchi riportato in Fig. 4.27.
Fig. 4.28. Processamento “Threshold”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
147
Fig. 4.29. Processamento “Figextr”.
Le Fig. 4.25 ->4.28 ->4.29 illustrano i passi per filtrare un’immagine corrotta da rumore
che si distingue dalle cellule biologiche. Questi passi includono un primo processamento
mediante la template “Threshold” (4.1) della Fig. 4.25 ed un secondo mediante la template
“Figextr” (4.6) della Fig. 4.28. L’immagine depurata dal rumore (Fig. 4.29) può quindi
essere usata come ingresso dell’algoritmo di conteggio precedentemente esposto.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
148
4.5 DETERMINAZIONE QUANTITATIVA: UN
CASO REALE
Si riporta di seguito un caso di studio reale riguardante l’applicazione esposta nel paragrafo
precedente. La Fig. 4.30 rappresenta una foto reale proveniente da un microscopio ottico
riguardante una cella di Petroff-Hausbauer contenente un campione di cellule da analizzare.
Tale fotografia,”Cell.bmp”, ha le seguenti dimensioni 100x112x256 livelli di grigio.
Fig. 4.30. Fotografia al microscopio ottico di una camera di Petroff-Hausen contenente
un campione di cellule animali da analizzare.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
149
Il primo processamento della Fig. 4.30 consiste nell’applicazione della templates
“Threshold” (si veda par. 4.3) Fig. 4.31.
Fig. 4.31 Processamento “Threshold” dell’immagine “Cell.bmp”.
Fig. 4.32. Processamento “Figextr”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
150
Si può visivamente notare come l’immagine “Cell.bmp” sia stata convertita in bianco e
nero. Poiché l’algoritmo di conteggio esposto è sensibile al rumore presente nelle fotografie
si effettua alla Fig. 4.31 un processamento “Figextr”. Dalla Fig. 4.32 si può notare la
rimozione del rumore dovuto ai minuscoli puntini presenti nella Fig. 4.31.
La figura così ottenuta presenta ancora oggetti con cavità, di conseguenza si applicherà
all Fig. 4.32 un processamento “Hole Filling”, Fig. 4.33.
Fig. 4.33. Processamento “Hole Filling”.
Adesso rimangono da applicare i due processamenti paralleli LSE-CCD_Hor e
LCP-CCD_Hor (si veda la Fig. 4.12), Fig. 4.34-4.35.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
151
(a) (b)
Fig. 4.34. Processamento: (a) “LSE”; (b) “CCD_Hor”.
(a) (b)
Fig. 4.35. Processamento: (a) “LCP”; (b) “CCD_Hor”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
152
IL numero delle cellule conteggiate dall’algoritmo sarà dato dalla differenza del numero
dei pixel delle Fig. 4.34b e 4.35b, ovvero 77-51=26.
Si vuole sottolineare che la robustezza dell’algorimo può essere incrementata mediante
l’applicazione ripetuta della template “Erosion” (4.7) che ha lo scopo di corrodere gli oggetti
presenti in una fotografia (si veda la Fig. 4.36) al fine di separare eventuali cellule
sovrapposte [37].
Template “Erosion”
5.4
010
111
010
000
200
000
IBA (4.7)
(a) (b)
Fig. 4.36. Esempio d’applicazione della template “Erosion”.(a) figura originale,(b)
figura elaborata..
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
153
4.6 ALGORITMO PER LA DISCRIMINAZIONE
DELLE CELLULE CON DIMENSIONE FISSATA
Come estensione delle elaborazioni presentate nei precedenti paragrafi, si riporta di
seguito un algoritmo innovativo basato su CNN capace di discriminare il numero di cellule
appartenenti ad una fotografia aventi la proprietà di possedere la stessa dimensione.
L’algoritmo proposto prevede che sia nota a priori la dimensione ( in numero di pixel)
degli oggetti da discriminare (Fig. 4.37).
Fig. 4.37. Algoritmo per la discriminazione degli oggetti di dimensione prefissata.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
154
Attraverso un uso ripetuto della template “Erosion” (4.7) si corrodono gli oggetti sino a
lasciare quelli della dimensione fissata, dopodiché si ricostruiscono gli oggetti originari
attraverso la template “Recostruction” (4.8) Fig. 4.38. Si noti che l’immagine che
rappresenta lo stato iniziale per la template “Erosion” può subire un processamento
“PEELHOR” (4.9) (Fig. 4.39) nel caso in cui la dimensione selezionata è un numero dispari.
Template “Recostruction”
5.2
000
010
000
010
211
010
IBA (4.8)
(a) (b) (c)
Fig. 4.38. Esempio d’applicazione della template “Recostruction”.(a) figura
originale,(b) stato iniziale,(c) figura elaborata..
Template “PEELHOR”
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
155
5
000
330
000
000
020
000
IBA (4.9)
(a) (b)
Fig. 4.39. Esempio d’applicazione della template “PEELHOR”.(a) figura
originale,(b) figura elaborata..
Di seguito si riportano le immagini intermedie dell’algoritmo descritto applicato ad un caso
reale (foto “Cell.bmp” Fig. 4.30) Fig. 4.40-4.42.
Fig. 4.40. Processamento “Threshold”.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
156
Fig. 4.41. Processamento “Erosion”.
Fig. 4.42. Processamento “Recostruction”.
La figura finale del processamento (Fig. 4.42) contiene gli oggetti (nell’esempio cellule)
aventi la dimensione di 9x9=81 pixel. Tale immagine può quindi essere usata come
immagine d’ingresso per l’algoritmo di conteggio presentato in 4.4.
CAPITOLO IV- SISTEMA PER LA DETERMINAZIONE DELLA CARICA BATTERICA TRAMITE RETI NEURALI CELLULARI
157
Si noti che applicando più volte l’algoritmo appena esposto è possibile fare uno screening
delle dimensioni degli oggetti presenti in una immagine ed ottenere quindi una distribuzione
del numero di oggetti presenti in funzione della loro grandezza.
CAPITOLO V
CONCLUSIONI
Con riferimento all’applicazione riguardante la predizione delle concentrazioni degli
inquinanti atmosferici possiamo trarre le seguenti conclusioni:
- Il fatto che i predittori NF si dimostrino meno accurati dei PMS può essere spiegato
ricordando che ci si è dovuti limitare nella complessità del modello NF per le ragioni
sopra esposte. E’ facile attendersi che i risultati miglioreranno ulteriormente
ottimizzando i parametri delle funzioni di membership mediante nuovi algoritmi di
ottimizzazione quali ad esempio Simulated Annealing o gli Algoritmi Genetici;
- L’utilità delle reti neuro-fuzzy è da ricercarsi principalmente nella loro capacità di
estrarre conoscenze, che rappresentano una forma trasparente di modellizzazione, dalla
quale l’utente può trarre utili indicazioni sui fenomeni, o per ulteriori integrazioni delle
conoscenze medesime attingendo al proprio bagaglio di conoscenze;
- L’uso combinato dei modelli di predizione AR/MLP offre numerosi vantaggi in
termini di capacità di predizione anche rispetto ai singoli predittori MLP.
Si vuole sottolineare in fine che il carico computazionale dei modelli AR è notevolmente
inferiore rispetto ai modelli neurali poiché non necessita di fase di allenamento. L’uso
CAPITOLO V - CONCLUSIONI
156
congiunto dei modelli AR e MLP introduce quindi un carico computazionale simile a
quello del singolo predittore neurale di conseguenza se ne giustifica l’eventuale utilizzo.
L’applicazione di questi algoritmi dovrebbe andare alle autorità pubbliche al fine di
limitare l’emissione degli inquinanti quando si prevedono elevati tassi. Un uso intelligente
di questi meccanismi di previsione potrebbe in qualche modo limitare i danni e le malattie
provocate dall’inquinamento urbano ed industriale.
Tra i possibili sviluppi futuri di questa ricerca si può considerare lo studio di predittori a
più passi al fine di prevedere non solo un campione ma un’intera dinamica del sistema in
questione.
L’aspetto innovativo della seconda applicazione presentata in questo lavoro consiste
nell’uso delle Reti Neurali Cellulari per operazioni di conteggio, in particolare si evidenzia
l’indipendenza della velocità dell’algoritmo proposto dalla complessità dell’immagine e
dal numero di oggetti in essa contenuti. La caratteristica evidenziata mette notevolmente in
risalto la versatilità del metodo di conteggio proposto rispetto ai metodi tradizionalmente
adoperati. Nel processo di simulazione descritto il tempo richiesto per effettuare il
conteggio è dell’ordine dei 10 minuti. La stima di questo tempo è puramente indicativa e si
riferisce ad immagini della dimensione 100x112 pixel e si fa uso di un Pc con processore
Pentium a 200MHz. Bisogna però tenere conto che quando sarà disponibile nel mercato
una tecnologia capace di integrare le CNN in un chip questo tempo sarà dell’ordine dei s.
Tale tempo di processamento sarà quindi trascurabile rispetto al tempo di acquisizione
CAPITOLO V - CONCLUSIONI
157
delle immagini. Si ribadisce in fine che le CNN possono essere implementate in un
comune DSP e di conseguenza seppure non si giunge alla velocità di processamento dei s
si possono comunque ottenere risultati che incoraggiano nell’utilizzo di questa tecnologia.
In fine si vuole sottolineare l’efficienza del metodo di screening riferito alla dimensione
delle cellule in funzione del loro numero.
Tra i possibili sviluppi futuri di questa tecnologia si può considerare lo sviluppo di un
sistema on-line per la determinazione del numero di particelle che passa attraverso un
capillare. Tale applicazione è di notevole interesse nel campo delle biotecnologie con
particolare riferimento alla produzione di batteri ed enzimi.
CAPITOLO VI
BIBLIOGRAFIA
[1] Nunnari G., Randieri C., Nucifora A., Occhipinti L., Applicazioni di tecniche neurali
per la modellistica di fenomeni di inquinamento atmosferico, Giornata di studio su
"Applicazione del Soft-Computing al Controllo di Processo e dell'Ambiente, pp 32-44,
Firenze, Aprile 1997,
[2] Nucifora A., Nunnari G., Randieri C., Occhipinti, Tecniche neurali per la
modellistica dell’inquinamento atmosferico. Automazione e Strumentazione, Settembre
1997,pp. 97-104
[3] Nunnari G., Nucifora A. Randieri C. The application of neural techniques to the
modelling of time-sries of atmosferic pollution data, Elological Modelling, 1998, Vol 111,
pp. 187-205.
[4] Bertucco L., ,Nunnari G.,Randieri C.,Rizza V.,Sacco A. A cellular neural network
based system for cell couning in culture of biological cells, Proc. Of the 1998 IEEE
International Conference on Control Application, Vol. I, pp. 341-345, Trieste, Sept. 1998
CAPITOLO VI - BIBLIOGRAFIA
161
[5] Shepherd, G. M., 1990. The Synaptic Organization of the Brain. Oxford, Oxford
Univerity Press.
[6] McCulloch, W. e Pitts, W. 1993. A logical calculus of the ideas immanet in nervous
activity, Bulletin of mathematica biophysics, vol. 5 pp. 115-133.
[7] Jang, J.S.R., Sun, C.T. and Mizutani, E., 1997. Neuro-Fuzzy and Soft Computing - A
Computational Approach to Learning and Machine Intelligence. Prentice Hall.
[8] Hebb, D.O. The organisation of behavior, New York, Whiley & Sons
[9] Hopfield, J.J. 1982. Neural networks and physical systems with emergent collective
computational abilities, Proceedings of the National Academy of Science USA, vol. 79 pp.
2554-2558.
[10] Hopfield, J.J. 1984. Neurons with graded responses have collective computational
proprietis like those of two state neurons. , Proceedings of the National Academy of
Science USA, vol. 81 pp. 3088-3092.
[11] Yager R.R., Zadeh L.A. ed. 1992.An introduction to fuzzy logic applications in
intelligent system. Kluwer Academic.
CAPITOLO VI - BIBLIOGRAFIA
162
[12] Holland, J.H. 1975. Adaption in natural and artificial systems, Ann Arbor, The
University of Michigan Press.
[13] Hoffmeisterrrr F. e Beack T. 1991. Geneic algorithms and evolution strategies:
Similarieties and differences. Parallel problem solving from nature, Sringer-Verlag, pp.
455-469.
[14] Goldberg, D.E. 1989. Genetic algorithms in search, optmization and machine
learning, Reading , MA, Addison-Wesley.
[15] Chua L. O. 1998. A paradigm for complexity, World Scientific.
[16] Arena P. Et al. 1995. Cellular neural networks: a survey IFAC Symp. On Large Scale
Systems, London.
[17] Arena P. Et al. 1994. CNN image processing for the automatic classification of
oranges. CNNA-94 Third IEEE International Workshop on CNN and their Application,
Rome.
[18] Cardilli G.C., Sargeni F. 1993. Very efficent VLSI implementation of CNN with
discrete templates, IEEE Electronics Letters, vol. 29, n. 14, pp. 1286-1287.
CAPITOLO VI - BIBLIOGRAFIA
163
[19] Salerno M. Et al. 1996. 6x6 DPCNN: A programmable mixed analouge-digital chip
for CNN. 4th IEEE Int. Workshop on CNN and their app., pp. 451-456, Spain.
[20] Roska T. Et al. 1992. Stability and dynamics of delay-type general and CNN. IEEE
Transaction on Circuits Systems-I: Fundamental Theory and Application, vol. 39, n.6.
[21] SGS - Thomson Microelectronics, 1995. AFM 1.0, Adaptive Fuzzy Modelling.
[22] Yamaguchi, T., Imasaki, N. and Haruchi, K., 1990. Fuzzy rule realization on
associative memory system. Proc, IJCNN ’90, Vol. II, pp 720-723.
[23] Horikawa, S., Furuhashi, T. and Uchikawa, Y, 1992. On fuzzy modeling using fuzzy
neural networks with the back-propagation algorithm. IEEE Trans. On Neural Networks,
Vol. 3, N. 5.
[24] Sugeno, M. and Takagi, T., 1985. Fuzzy identification of Systems and its application
to modeling and control. IEEE Transaction on System, Man and Cibernetic, Vol. 15, No.1,
pp. 116-132.
[25] Zannetti, P., 1990. Air pollution modeling (Theories, computational methods and
available software). Van Nostrand Reinhold.
[26] Noel de Nevers, 1995. Air pollution control engineering. McGraw-Hill.
CAPITOLO VI - BIBLIOGRAFIA
164
[27] Seinfeld, J.H., 1986. Atmospheric chemistry and physics of air pollution. J. Wiley and
Sons, New York.
[28] Ljung, L., 1987. System Identification, Theory for the user. Prentice Hall.
[29] Chua L. O. and Yang L., October 1988.Cellular Neural Networks: Theory, in IEEE
Transactions on Circuits and Systems, vol.35, no.10.
[30]. Crounse K. R and Chua L. O. October 1995. Methods for Image Processing and
Pattern Formation in Cellular Neural Networks: a Tutorial, in IEEE Transactions on
Circuits and Systems: Fundamental Theory and Applications, vol.42.
[31] Rodriguez-Castro A. Et al Dec. 1994, A CNN Universal Chip in CMOS technology,
Third IEEE Int. Workshop on Cellular Neural Networks and their Applications,
Rome, Italy, pp. 91-96.
[32] Espejo S. Et al 1994. Smart pixel cellular neural networks in analog current mode
CMOS technology. J. Of Solid State Circuits. Vol.29, pp. 895-905
[33] Nunnari Et al. 1997.A cellular neural network simulator for on-line image
processing : An application to monitoring active volcanoes, accepted to 15th IMACS
World Congress, Vol. 4, pp. 215-220, Berlin.
[34] J. R. Rice, 1992.Numerical Methods, Software and Analysis.
[35] T. D. Brock el al., 1994.Biology of Microorganism.