Studio e verifica sperimentale di algoritmi neurali per il riconoscimento di odori da parte di un sistema olfattivo artificiale
Scritto da Ing. Giovanni Del Papa http://www.ing-gdp.com
Â
1 Â
Ringraziamenti Si ringrazia il Prof. Danilo De Rossi del Centro Piaggio della Facolta' di Ingegneria dell’Università di Pisa, il Prof. Aldo Balestrino dell’istututo di controllii Automatici della Facolta' di Ingegneria dell’Università di Pisa ed in particolare il Prof. P. Ancilotti, della Scuola Superiore S. Anna di Pisa, per la concessione dell'uso del software Neural-Works Professional II. Giovanni Del Papa
2
INDICE PARTE PRIMA ................................................................................................................................................................ 8 Capitolo 1 ........................................................................................................................................................................... 9 Il sistema olfattivo nell'uomo .................................................................................................................................... 9 1.1 Introduzione ......................................................................................................................................................... 9 1.2 Organizzazione generale .............................................................................................................................. 13 Capitolo 2 ................................................................................................................................................................ 16 Disegno del sistema olfattivo in generale ..................................................................... 16 2.1 Modelli del sistema olfattivo ...................................................................................................................... 16 2.2 Un modello della codifica degli odori mediante spazi vettoriali. ............................................... 21 2.2.1 Attivita' delle cellule recettrici. ......................................................................................................... 21 2.2.2 Convergenza recettori-‐glomeruli. ................................................................................................... 24 2.2.3 Proiezione glomeruli-‐cellule mitrali .............................................................................................. 28 2.2.4 Inibizione laterale. ................................................................................................................................. 30 2.2.5 Una descrizione alternativa: immagini di attivita' .................................................................. 31 2.2.6 Immagine della attivita' glomerulare ............................................................................................ 32 2.2.7 Ingresso alla cellula mitrale ............................................................................................................... 32 2.2.9 Immagine dell'uscita della cellula mitrale. .................................................................................. 34 2.2.9 Due tipi di discriminazione nel sistema olfattivo (ordine spaziale e inibizione laterale) .................................................................................................................................................................. 34 2.2.10 Riconoscimento qualitativo e memoria associativa ............................................................. 34 2.2.11 Costruzione di un sensore di odori intelligente ..................................................................... 35 PARTE SECONDA ....................................................................................................................................................... 36 Introduzione .................................................................................................................................................................. 37 Capitolo 3 ........................................................................................................................................................................ 38 Nozioni generali sulle reti neuronali. ................................................................................................................. 38 3.1 Generalita' .......................................................................................................................................................... 38 3.2 Operazioni di una rete . ................................................................................................................................ 39 3.3 Operazioni di strato. ...................................................................................................................................... 41 3.4 Memoria associativa distribuita. .............................................................................................................. 42 Capitolo 4 ........................................................................................................................................................................ 44 Reti neuronali e sistema olfattivo ....................................................................................................................... 44 4.1 Reti neuronali e organizzazione della corteccia cerebrale ........................................................... 44 4.2 Formazione auto-‐organizzata di "mappe topografiche" di neuroni ......................................... 44 4.3 Definizione di mappature ordinate ......................................................................................................... 47 4.4 Formazione di "mappe topografiche" in un array bidimensionale con ingressi identici a tutte le unita'. ........................................................................................................................................................... 48 4.5 Una possibile realizzazione della auto-‐organizzazione in una struttura neurale. .............. 49 4.6 Comportamento dinamico della attivita' di rete ............................................................................... 51 4.7 Modello analitico della plasticita' sinaptica ........................................................................................ 52 4.8 Dimostrazione della autoorganizzazione in reti di elementi di tipo neurone-‐simile. ....... 53 Capitolo 5 ........................................................................................................................................................................ 56 Rete contropropagazione o Kohonen-‐Grossberg .......................................................................................... 56 5.1 Generalita' sulla rete contropropagazione .......................................................................................... 56 5.1.1 Struttura della rete di contropropagazione. .................................................................................... 58 5.2 CPN in versione forward ( senza flusso retrogrado) ....................................................................... 61 5.3 Rete CPN Forward e sistema olfattivo ................................................................................................... 64 5.4 Architettura CPN usata nelle simulazioni (vedi TERZA PARTE) ............................................... 65 Capitolo 6 ........................................................................................................................................................................ 69 La rete Hamming ......................................................................................................................................................... 69
3
6.1 Generalita' .......................................................................................................................................................... 69 6.2 Architettura della rete ed equazioni: ...................................................................................................... 71 6.3 Recupero dell'informazione. ...................................................................................................................... 72 Capitolo 7 ........................................................................................................................................................................ 76 Teoria della risonanza adattiva (A.R.T.) ............................................................................................................ 76 7.1 Introduzione ...................................................................................................................................................... 76 7.2 Rete ART: generalita' . ................................................................................................................................... 76 7.2.1 Organizzazione di codici di riconoscimento neurale. ............................................................. 76 7.2.2 Plasticita' .................................................................................................................................................... 77 7.2.3 Stabilita' ...................................................................................................................................................... 77 7.2.4 Il dilemma Stabilita'-‐Plasticita' ......................................................................................................... 77 7.2.5 Il ruolo dell' attenzione nell'apprendimento .............................................................................. 77 7.2.6 Complessita' .............................................................................................................................................. 78 7.3 ART e codifica olfattiva ................................................................................................................................. 78 7.4 Reti ART in dettaglio ...................................................................................................................................... 80 7.5 Modo di operare di una rete ART. ............................................................................................................ 80 7.5.1 Apprendimento. ...................................................................................................................................... 83 7.5.2 Conseguenze dell' ipotesi del Top-‐Down. .................................................................................... 84 7.5.3 Controllo del guadagno. ....................................................................................................................... 84 7.5.4 Inibizione intermodale. ........................................................................................................................ 86 7.5.5 Il rivelatore di novita' ........................................................................................................................... 87 7.5.6 Parametro di vigilanza. ........................................................................................................................ 89 7.5.7 Equazioni della rete ART1 .................................................................................................................. 89 Capitolo 8 ........................................................................................................................................................................ 94 8.0 La memoria bidirezionale associativa (BAM) .......................................................................................... 94 8.1 Generalita' sulla BAM .................................................................................................................................... 94 8.2 La codifica BAM. ............................................................................................................................................... 97 8.3 Decodifica BAM ................................................................................................................................................ 98 8.4 L'energia di una associazione in termini analitici. ......................................................................... 100 8.5 Algoritmo BAM .............................................................................................................................................. 101 PARTE TERZA .......................................................................................................................................................... 103 (Parte sperimentale) ................................................................................................................................ 103 Capitolo 9 ..................................................................................................................................................................... 104 Applicazione delle reti neuronali alla realizzazione di un sistema olfattivo artificiale ............. 104 9.1 Introduzione ................................................................................................................................................... 104 9.1.1 Il sensore artificiale di odori .............................................................................................................. 105 Capitolo 10 .................................................................................................................................................................. 117 Simulazione di reti CPN per il riconoscimento degli alcool .............. 117 10.1 Descrizione delle reti: tesicpna e tesicpnp. .................................................................................... 117 10.2 Descrizione dei dati utilizzati per addestrare le reti CPN ........................................................ 118 10.2.1 Dati di Manchester: ............................................................................................................................... 118 10.2.2 Dati del C. Piaggio .................................................................................................................................. 121 10.3 Interpretazione della simulazione Tesicpna ................................................................................. 122 10.3.1 Fase di learning con i dati Inglesi ................................................................................................... 122 10.3.2 Fase di learning con i dati del C. Piaggio. ..................................................................................... 124 10.3.3.1 Fase di recall con i dati Inglesi ................................................... 124 10.3.3.2 Fase di recall con i dati del C. Piaggio. ........................... 126 10.3.3.3 Nota sul parametro T impiegato per aggiungere rumore ai dati in ingresso ......................................................................................................................... 126
4
10.3.3.4 Illustrazione dei risultati con i dati Inglesi in presenza di rumore. ......................................................................................................................... 126 10.3.3.5 Illustrazione dei risultati con i dati del C. Piaggio in presenza di rumore. ................................................................................................................ 127 10.4 Miglioramenti delle reti CPN ................................................................................................................ 134 10.4.1 La rete Cpnsup0a (con i dati Inglesi) ............................................................................................ 134 10.4.2 La rete Cpnsup0a (con i dati del C. Piaggio) ............................................................................... 134 10.4.3 Minimizzazione della rete di tipo CPN con i dati Inglesi. ..................................................... 136 10.4.4 Minimizzazione della rete di tipo CPN con i dati del C. Piaggio. ........................................ 137 10.4.5 Considerazioni finali sulle reti di tipo CPN ................................................................................. 141 Capitolo 11 .................................................................................................................................................................. 142 Simulazione di una rete Hamming .................................................................................................................... 142 11.1 Descrizione della rete Hamtesia ......................................................................................................... 142 11.2 Funzionamento della rete Hamtesia. ............................................................................................... 143 11.2.1 Descrizione dei dati Di Manchester con cui Hamtesia e' stata addestrata: .................. 144 11.2.2 Dati del C. Piaggio con cui Hamtesia e' stata addestrata: ..................................................... 147 11.3 Interpretazione della simulazione della rete Hamtesia. ........................................................... 151 11.3.1 Fase di learning ...................................................................................................................................... 151 11.3.2 Fase di recall con aggiunta di rumore ........................................................................................... 151 11.3.3. Nota sul parametro T impiegato per aggiungere rumore ai dati in ingresso ............. 151 11.4 Minimizzazione della rete Hamtesia ................................................................................................. 159 11.5 Considerazioni finali sulle reti Hamming ....................................................................................... 161 Capitolo 12 .................................................................................................................................................................. 163 Simulazione di una rete ART:artesib. .............................................................................................................. 163 12.1 Descrizione della rete artesib ............................................................................................................. 163 12.2 Descrizione dei dati di addestramento. ....................................................... 164 12.3 Interpretazione della simulazione di Artesib. ................................... 168 12.3.1 Fase di learning .................................................................................................................. 168 12.3.2 Fase di recall ............................................................................................................................................ 169 12.4 Illustrazione delle prove fatte con i dati Inglesi e con quelli del C. Piaggio anche in presenza di rumore ...................................... 169 12.5 Minimizzazione della rete Artesib ...................................................................... 176 12.6 Osservazioni conclusive su Artesib ................................................................................................... 179 Capitolo 13 .................................................................................................................................................................. 180 Simulazione di una rete BAM: Bamtesia ........................................................................................................ 180 13.1 Descrizione della rete Bamtesia .......................................................................................................... 180 13.2 Descrizione dei dati utilizzati per addestrare Bamtesia .......................................................... 181 13.2.2 dati del C. Piaggio utilizzati per Bamtesia ................................................................................... 185 13.3 Interpretazione delle simulazioni di Bamtesia ............................................................................. 186 13.3.1 Fase di learning sia con i dati Inglesi che del C. Piaggio ........................................................ 186 13.3.2 Fase di recall realizzata con i dati Inglesi. ............................. 190 13.4 Risultati in presenza di rumore e miglioramenti con i dati Inglesi ..................................... 190 13.5 Minimizzazione .............................................................................................................................. 195 13.6 Risultati con i dati del C. Piaggio ......................................................................................................... 195 13.7 Osservazioni conclusive sulle tabelle dei risultati di Bamtesia con i dati Inglesi ......... 197 13.8 Osservazioni conclusive sulle tabelle dei risultati di Bamtesia ottenuti con i dati del C. Piaggio. ..................................................................................................................................................................... 199 13.9 Conclusioni e commenti sulle simulazioni svolte finora ......... 200
5
13.10 Descrizione dell'esperimento sulla rete CPN modificata e addestrata per discriminare la fusione tra i dati Inglesi e quelli del C.Piaggio. ........................................................................................................................ 203 13.11 Considerazioni sulle tabelle .................................................................................. 209 Capitolo 14 .......................................................................................................................................................... 210 Proposta di un nuovo modello di rete neuronale: RMDCP o (MLPDCN) 210 Rete Multistrato a Divergenza Convergenza Progressiva ............................... 210 14.1 Introduzione .................................................................................................................................... 210 14.2 Descrizione della rete: MLPDCN ............................................................................... 211 14.3 Le equazioni del modello MLPDCN ............................................................................ 215 Strato1:(In) ............................................................................................................................................. 215 Strato2:(Norm) ....................................................................................................................................... 216 Strato 3:(Kohonen-SPR) ................................................................................................................ 217 Strato 5: (Kohonen2) ...................................................................................................................... 220 Strato 6: (Grossberg-Outstar) ............................................................................................ 221 14.4 Descrizione dei dati utilizzati per addestrare la rete. ...... 223 14.5 Interpretazione della simulazione: MLPDCN ............................................... 223 14.5.1 Descrizione della Fase di Learning ............................................................. 223 14.5.2 Descrizione della fase di recall ................................................................... 224 14.6 Illustrazione dei risultati delle simulazioni con MLPDCN ... 231 14.6.1 Conclusioni e osservazioni finali sul modello proposto ... 236 Capitolo 15 ..................................................................................................................................................... 238 Realizzazione alternativa di un modello BAM mediante un programma in C:Odorbam .................................................................................................................................................. 238 15.1 Descrizione di una esecuzione di Odorbam. ............................................... 238 15.2 Esecuzione del programma ................................................................................................................... 240 15.3 Descrizione e listato del programma Odorbam. .......................................... 255 Conclusioni riassuntive e considerazioni finali sul lavoro svolto. ................................................................................................................................................................. 262 Bibliografia. ................................................................................................................................................................. 272
6
Introduzione Argomento della presente tesi e' lo studio di un modello di sistema sensoriale olfattivo mediante l'impiego delle reti neuronali. Cominceremo con l'esaminare il sistema olfattivo da un punto di vista anatomico e funzionale; quindi studieremo un possibile modello matematico, basato sugli spazi vettoriali, della codifica degli odori ed accenneremo ad una diversa interpretazione degli odori come "immagini" di attivita' neuronale. Verra' proposto un modello di codifica olfattiva. Esso presenta le risposte alla stimolazione di tutte le cellule recettrici con l'uso degli spazi vettoriali. Il concetto di codifica proposta mostra come la rete del bulbo olfattivo sia capace di discriminare gli odori con alta selettivita'. Si conclude che insiemi di cellule mitrali che codificano odori similari operano come filtri adattati ottimi che si inibiscono mutuamente. Il problema del basso livello di selettivita' delle cellule recettrici, relativo all'olfatto, viene superato dalle reti neurali che seguono lo stadio dei recettori. La descrizione formale della codifica olfattiva suggerisce che la percezione della qualita', che non varia rispetto a spostamenti di concentrazione, e' ottenuta da una memoria associativa nel bulbo olfattivo. In seguito ci occuperemo dell' analisi di alcuni modelli di reti neurali artificiali che possono contribuire a spiegare come avvenga il riconoscimento e la codifica degli odori nel sistema olfattivo. Tali modelli inoltre possono fornire dei metodi con cui effettuare il riconoscimento degli odori da parte di un sistema artificiale, dotato di sensori di specie chimiche. La terza parte della tesi sara' sperimentale e verra' dedicata alla simulazione al computer di alcune di queste reti e ad una applicazione reale per il riconoscimento di un gruppo di "patterns", ricavati dalla elaborazione di segnali provenienti da un array di sensori di gas che e' stato sviluppato in Inghilterra presso l'Universita' di Manchester dal Prof. Krishna C. Persauds e colleghi. Confronteremo i risultati con quelli ottenuti usando i dati (ovviamente elaborati con lo stesso metodo impiegato per quelli Inglesi) provenienti da un sistema sensoriale che viene attualmente sviluppato presso il C.Piaggio da parte di una equipe guidata dal Prof. D. De Rossi. Quindi sceglieremo il modello o i modelli di reti neuronali, che saranno risultati i migliori dopo l'analisi delle simulazioni e cercheremo di addestrare le reti con l'insieme dei dati Inglesi e del C. Piaggio, nel tentativo di costruire una rete di tipo standard, che sia capace di effettuare il riconoscimento degli odori indipendentemente dall'hardware utilizzato per creare i dati. Poi tenteremo di sviluppare un nuovo modello di rete che riproduca, nel modo piu' dettagliato possibile, l'architettura del modello di Schild e addestreremo la rete che ne risultera' con la fusione dei dati Inglesi e Italiani, confrontando le prestazioni con le reti precedentemente considerate. Per finire svilupperemo un programma in C di una rete che si dimostri adatta per lo sviluppo di un sensore olfattivo capace di operare in tempo reale .
7
PARTE PRIMA
8
Capitolo 1 Il sistema olfattivo nell'uomo
1.1 Introduzione I recettori olfattivi posseggono siti ricettivi specializzati per certi odori. John Amoore e coll. [9] hanno esaminato piu' di cento sostanze odorifere riuscendo ad individuare l'esistenza di almeno sette odori primari: l'odore di canfora, di muschio, di fiori, di menta, l'odore etereo, pungente e l'odore putrido. Le sostanze appartenenti a una certa categoria hanno configurazioni molecolari simili, tuttavia, sebbene molti odori ricadano in queste sette categorie, vi sono molte eccezioni. Odori simili non sono sempre prodotti da molecole con strutture analoghe. Gli uomini possono distinguere fra migliaia di specie odorifere. Noi siamo in grado di rilevare la presenza anche di solo 108 molecole di una certa sostanza odorifera sparsa in un ambiente di centinaia di m3. La soglia che permette di apprezzare la presenza di un odore e' inferiore a quella che consente il riconoscimento specifico. Se le concentrazioni delle sostanze odorifere sono molto basse, la sensazione e' aspecifica; solo a concentrazioni maggiori e' possibile identificare con esattezza il tipo di odore. Il senso dell'olfatto [10] e' dovuto a recettori olfattivi situati nella profondita' delle cavita' nasali. Nella specie umana i recettori sono limitati a un tratto di epitelio specializzato, di color bruno giallastro, che costituisce l'epitelio olfattivo e che copre all'incirca 5 cm2 del recesso dorsale della cavita' nasale. Quest' epitelio contiene tre tipi di cellule: i recettori, le cellule di sostegno e le cellule basali. I recettori sono cellule nervose bipolari che hanno un tratto periferico breve e un lungo tratto centrale. Il tratto periferico breve si estende verso la superficie della
9
mucosa, dove si espande in un piccolo corpicciolo che da' origine a parecchie ciglia. Queste ciglia formano un groviglio denso sulla superficie della mucosa e si ritiene che interagiscano con molecole odorifere. Il tratto centrale lungo e' costituito da un assone amielinico che va dalla cavita' nasale al bulbo olfattivo. Da 10 a 100 di questi assoni si associano in fascetti circondati da cellule di Schwann. L'insieme di questi fascetti di assoni viene detto nervo olfattivo, che e' il primo paio di nervi cranici. Prima di raggiungere il bulbo olfattivo, gli assoni devono passare attraverso la lamina cribrosa dell'osso etmoide.
Fig. 1 ( tratta da:[11] ) Vista laterale della cavita' nasale Il bulbo olfattivo e' una parte del sistema nervoso centrale che prende origine dal telencefalo. Esistono due bulbi olfattivi simmetrici deputati alla mucosa olfattiva delle due cavita' nasali, percio', a differenza delle altre modalita' sensoriali, la via olfattiva ha le prime sinapsi nel telencefalo. Le cellule recettrici olfattive sono piu' di 108. I recettori olfattivi si ricambiano completamente ogni 60 giorni a partire dalle cellule basali
10
che ne sono i precursori. I recettori olfattivi costituiscono gli unici neuroni del sistema nervoso dell'adulto, in grado di andare incontro a mitosi cellulare. Da questo fatto prendono spunto alcuni modelli di tipo neuronale impiegati in sistemi artificiali per la discriminazione di odori, in cui i neuroni possono aumentare di numero dinamicamente [12]. Le cellule che si sviluppano devono mandare il dendrite neoformato verso la superficie della mucosa e l'assone nella direzione opposta per stabilire sinapsi nel bulbo olfattivo.
Fig. 2 ( tratta da:[11] ) I circuiti olfattivi fondamentali presenti nel bulbo olfattivo umano
Le molecole odorifere stimolano le cellule olfattive, in quanto vengono assorbite in primo luogo nello strato mucoso. [13] Le molecole diffondono quindi verso le ciglia dei neuroni recettori e si legano a siti specifici che si occupano del riconoscimento molecolare . Si ritiene che il legame di una specifica sostanza odorifera a un sito della cellula recettrice, deputato al riconoscimento molecolare, determini l'apertura di canali ionici specifici per gli ioni Na+ e i K+, [14] generando in tal modo
11
un potenziale di recettore depolarizzante. Le cellule recettrici posseggono un'attivita' spontanea. Il potenziale di recettore, determinato dai diversi tipi di stimolazione olfattiva, provoca un aumento della frequenza di scarica di tipo graduato; quanto maggiore e' la stimolazione olfattiva e quanto piu' ampio il potenziale di recettore, tanto maggiore e' la frequenza di scarica. Anche le cellule di sostegno, che circondano i recettori, rispondono alla stimolazione odorifera con piccole depolarizzazioni o iperpolarizzazioni, ma non generano potenziali d'azione. Studi elettrofisiologici, fatti da Gordon Sheperd e Thomas Getchell, a Yale, [15] mediante l'impiego di quantita' controllate di sostanze odorifere, dimostrano che i singoli recettori sono particolarmente sensibili ad una o due diverse categorie di odori. Mediante l'uso di 2-‐deossiglucosio marcato per lo studio dell'attivita' metabolica dei diversi neuroni, Sheperd, William Stewart e John Kauer [16] hanno cercato di determinare quali cellule del bulbo olfattivo rispondono a sostanze odoranti specifiche e hanno dimostrato l'esistenza di particolari linee dedicate. Questi autori hanno osservato che i diversi tipi di odori evocano attivita' di tipo diverso nelle diverse zone del bulbo olfattivo, percio', analogamante a quanto accade negli altri sistemi sensoriali, la codificazione ha luogo in particolari linee dedicate modificate. Nel caso del nervo olfattivo le diverse linee dedicate distribuiscono la propria attivita' a zone diverse del bulbo olfattivo . A differenza degli altri sistemi sensoriali, nei quali le localizzazioni centrali contengono una rappresentazione topografica in termini di coordinate spaziali del mondo fisico, il bulbo olfattivo ed i centri olfattivi superiori impiegano il proprio spazio neurale non per rappresentare lo spazio fisico del mondo esterno, ma per dare una rappresentazione distinta dei diversi odori fondamenteli ossia codificano uno spazio degli odori .
12
1.2 Organizzazione generale
Fig. 3 (tratta da [17]) Posizione del bulbo olfattivo e le proiezioni di questo nel resto del cervello I piccoli assoni amielinici dei recettori olfattivi terminano nel bulbo olfattivo, che e' il primo centro di ritrasmissione del sistema olfattivo . All'interno del bulbo olfattivo, gli assoni dei recettori olfattivi fanno sinapsi (in formazioni sferiche specializzate dette glomeruli) con diversi tipi di cellule e in particolare con grandi cellule mitrali e piccole cellule a pennacchio, che sono i principali neuroni efferenti . Gli assoni delle cellule mitrali e delle cellule a pennacchio si immettono nel tratto
13
olfattivo e si distribuiscono ai centri olfattivi secondari che vengono anche chiamati corteccia olfattiva. Questo tipo di corteccia puo' venir suddivisa in cinque parti: (1) il nucleo olfattivo anteriore (che connette i due bulbi olfattivi attraverso una parte della commessura anteriore; (2) il tubercolo olfattivo, (3) la corteccia piriforme ( che e' il principale centro di discriminazione olfattiva), (4) il nucleo corticale dell'amigdala e (5) l'area entorinale, che proietta a sua volta nell'ippocampo . Tutte queste aree corticali fanno parte della paleocorteccia (paleocortex). E' chiaro tuttavia che l'analisi olfattiva non ha termine nel paleocortex. Come per tutti gli altri sistemi sensoriali, le informazioni olfattive vengono alla fine ritrasmesse al talamo e al neocortex. Il tubercolo olfattivo proietta al nucleo dorso-‐mediale del talamo. Questo nucleo talamico a sua volta proietta alla corteccia orbito frontale, che si ritiene essere la parte di corteccia implicata nella percezione cosciente degli odori. Percio' il sistema olfattivo ha due diversi tipi di proiezioni, uno verso il sistema limbico (l'amigdala e l'ippocampo) e l'altra verso il talamo ed il neocortex (integrandosi con il sistema gustativo). I nuclei dell'amigdala sono anche centri di ritrasmissione che connettono la corteccia olfattiva all'ipotalamo e al tegmento del mesencefalo. Si ritiene che questa via limbica sia deputata a mediare le componenti affettive degli stimoli odoriferi. Al contrario, la proiezione talamo-‐neocortex e' deputata alla percezione cosciente dell'olfatto, percio' il sistema olfattivo rappresenta un esempio di sistema in cui viene impiegata un'analisi in parallelo.
14
Fig. 4 tratta da [11] Sezione del bulbo olfattivo dei mammiferi composto dai diversi strati cellullari illustrati nel testo
15
Capitolo 2 Disegno del sistema olfattivo in generale
Fig. 5 Tratta da [14]. Cervello di un ratto, animale in cui e' particolarmente sviluppato il sistema olfattivo
2.1 Modelli del sistema olfattivo Dopo aver descritto la struttura del sistema olfattivo nell'uomo, vediamo gli elementi che sono comuni ai sistemi olfattivi delle varie specie animali e che utilizzeremo nella modellizzazione analitica. Useremo in realta' una rappresentazione semplificata, per poter costruire in seguito un modello che potra' accordarsi con una realizzazione in termini di reti neuronali. La struttura dettagliata del sistema olfattivo differisce da specie a specie. Comunque, quando sono considerati solo i primi stadi dell'elaborazione dell'informazione, tutti i sistemi mostrano delle caratteristiche comuni. Queste caratteristiche sono di seguito esposte. 1)Il primo stadio e' composto di cellule recettrici che possono essere inserite in una mucosa, come avviene nei vertebrati o che possono essere situate in diverse parti del corpo, come antenne o zampe. Le cellule recettrici olfattive sono numerose in tutte le specie. (Per un confronto si
16
veda il riferimento [19]). 107 cellule e' il numero medio che si trova nei vertebrati. Una tipica cellula recettrice di vertebrato non e' molto selettiva; risultati sperimentali indicano che una cellula e' capace di rispondere ad un grande numero di stimoli, benche' con differenti livelli di attivita' [20]. A parte le collocazioni delle cellule recettrici che differiscono nelle diverse specie, le loro connessioni nello strato successivo del sistema sono piutttosto simili. Gli assoni delle cellule recettrici, che lasciano la mucosa, formano il nervo olfattivo che entra nel bulbo olfattivo. Qua gli assoni terminano nei cosiddetti glomeruli che sono dei conglomerati di forma sferica di sinapsi, poste tra gli assoni dei recettori e le cellulle mitrali a pennacchio, i neuroni di uscita del bulbo olfattivo. L'attivazione dei glomeruli sembra che sia omogenea, quando il sistema viene stimolato, come indicato dagli studi 2-‐DOG [21]. Le cellule mitrali ricevono i loro segnali di ingresso dai glomeruli, posti nelle loro vicinanze o per mezzo di pochi dendriti che entrano nei glomeruli adiacenti o per mezzo di un dendrite principale che, a sua volta, deriva dal glomerulo in cui esso entra. Le cellule mitrali possono anche ricevere input dai glomeruli limitrofi attraverso interneuroni eccitatori (come nei vertebrati superiori ). Ortogonalmente a questa direzione del flusso di informazione dai recettori al SNC, vi sono dei circuiti locali che incorporano cellule periglomerulari, cellule con un corto assone e cellule granulari portatrici di segnali inibitori ed eccitatori tra le cellule mitrali a pennacchio. Gli interneuroni inibitori sono sotto il controllo efferente. Le cellule a granulo, stimolate dalle cellule mitrali a pennacchio, inibiscono queste ultime nelle loro vicinanze, cioe' esse inibiscono le cellule mitrali a pennacchio dalle quali sono state precedentemente eccitate (facendo pensare ad una sorta di meccanismo di controllo in retroazione negativa vedi ART). Vediamo ora cosa succede al livello di cellule recettrici. Le cellule recettrici generano potenziali di
17
azione ad un tasso relativamente lento, circa 0-‐15 spike/s. Il tasso spontaneo e' ben al disotto di 1spike/s . La risposta ad un impulso di odore a gradino e' chiaramente uno stato dinamico, che comincia con un salto brusco, seguito da un' attivita' approssimativamente costante. La distribuzione degli intervalli tra gli spikes e' ( eccetto che per un breve intervallo di tempo) approssimativamente esponenziale . Il verificarsi degli spike e' causale ( ossia si ha dopo il verificarsi dell'evento gradino di odore) ed i treni di spike, prodotti dalle cellule recettrici, sono realizzazioni di un processo di Poisson . Gli assoni dei recettori convergono sulle cellule mitrali con all'incirca 1000 assoni per cellula mitrale, comunque, poiche' vi sono circa 25 volte piu' cellule mitrali che glomeruli, il fattore di convergenza di un recettore sui glomeruli e' di circa 25000. Questi numeri dimostrano chiaramente un' enorme convergenza di cellule recettrici sui glomeruli ed una divergenza dai glomeruli verso le cellule mitrali. I numeri precisi non sono fondamentali in questo contesto. Si considera che circa 1000 treni di spike con un tasso medio di circa uno spike/s formano l'ingresso di una cellula mitrale. L'ingresso complessivo alla cellula mitrale e' di circa 1000 spikes al secondo, corrispondenti ad un intervallo medio tra gli spikes di 1 ms. Data la lunga costante di tempo eccittatoria di una cellula mitrale (circa >100 ms) , e' ovvio che l'ingresso globale ad una cellula mitrale e' una funzione monotona che segue il corso dinamico temporale dell' attivita' della cellula recettrice. Questi fenomeni sono stati registrati nelle scariche delle cellule mitrali del pesce dorato da Schild stesso. [22]. E' stato registrato un brusco salto dinamico, seguito da una attivita' statica. Il brusco salto e' talora positivo come nelle cellule recettrici, talora negativo e seguito da una depressione dell' attivita' .Vi e' anche un altro, piu' significativo, aspetto della convergenza dalle cellule recettrici alle cellule mitrali. Come menzionato, i treni di spike delle cellule recettrici
18
sono in buona approssimazione dei processi di Poisson. Poiche ' la somma di piu' processi di Poisson e' ancora un processo di Poisson, l'ingresso totale ad una cellula mitrale e' ancora un processo di qesto tipo. L'attivita' relativa ai treni di spike sommati e' approssimativamente proporzionale al numero N di treni sommati. La deviazione standard del processo somma aumenta, comunque, solo proporzionalmente a N . In altre parole, l'ampiezza del rumore relativo (r.m.s.) diminuisce come N-‐ 1/2.
E' chiaro che questa diminuizione del rumore incrementa la capacita' di elaborazione dell' informazione da parte del canale " recettori -‐-‐> cellule mitrali". La descrizione precedente mette in luce caratteristiche che sono comuni ai livelli periferici di tutti i sistemi olfattivi. Solo queste caratteristiche generali sono necessarie per la formulazione del seguente concetto di codifica olfattiva. Nella figura 6 e' rappresentata sinteticamente la struttura olfattiva.
Fig. 6 Tratta da [23]. Generico sistema olfattivo. In cui sono evidenziati tutti gli strati descritti nel modello proposto da Schild e che noi abbiamo
19
utilizzato come riferimento per la realizzazione del modello di rete neuronale RMDCP proposto da noi nella Terza parte di questa tesi.
20
2.2 Un modello della codifica degli odori mediante spazi vettoriali.
Fig 7,8 Tratte da [18] Attivita' di risposta r di due distinte celllule recettrici di fronte ad un insieme di 10 diversi stimoli odoriferi. 2.2.1 Attivita' delle cellule recettrici. La proiezione degli odori [18] Sk, k=1, 2, . . . , K sulla attivita' di tutti i recettori puo' essere descritta dai vettori r(Sk),
f1 : S k → r(S k ) ∈ R = R L ove R ha una base ortonormale r1, r2, . . . rL. Qua, gli indici indicanti gli stimoli sono scritti come apici e quelli indicanti le componenti vettoriali come pedici. La l-‐esima componente rl di r(Sk) e' l'insieme che indica la
21
risposta all'odore S k da parte della l-‐esima classe di cellule recettrici. Una classe di cellule recettrici e' rappresentata come un insieme di recettori che rispondono tutti quanti nello stesso modo ad un qualsiasi insieme di stimoli successivamente applicati L 0 . Nel caso piu' semplice che non vi siano due cellule recettrici che rispondono nella stessa maniera agli stimoli, il numero L di classi di cellule recettrici eguaglia il numero di cellule recettrici stesse. Il numero L e' attualmente sconosciuto, comunque esistono esperimenti che indicano la probabile esistenza, a livello biochimico, di differenti classi di cellule recettrici . In seguito, le componenti vettoriali verranno trattate come variabili stazionarie; si deve comunque tenere presente che essi sono in realta' funzioni del tempo; per l'esattezza l'insieme rappresenta risposte di attivita' delle classi di recettori. La dissimilarita' fisiologica D di due odori S k e S i puo' essere descritta in R come la lunghezza D (k , i ) del vettore differenza tra rk e ri:
D = rk − ri . Una definizione della somiglianza tra stimoli a livello di recettori e' il coefficiente di correlazione C r (k , i ) tra le componenti vettoriali
rlk , l = 1, 2, . . . , L ed rli , l = 1, 2, . . . , L dei due stimoli k e i . L
(
)
C r (k , i )= ∑ (rlk rli ) / L = r k • r i / L l=1
E' interessante come vengano rappresentati a livello di recettori stimoli dovuti a sostanze aventi stessa struttura molecolare e composizione, ma differenti concentrazioni . Uno studio indica che si verifica un reclutamento di cellule recettrici, se la concentrazione cresce. Come
22
conseguenza, un incremento nella concentrazione portera' sia ad un aumento nella lunghezza sia ad un cambio di direzione di r. La concentrazione non viene cosi' solo codificata da un incremento della frequenza con cui una singola cellula emette impulsi, ma anche dal pattern tra le fibre delle classi di recettori attivi. I grafici indicanti come la concentrazione influenzi le attivita' delle cellule recettrici sono mostrati nella figura 9.
Fig 9. Tratta da [18]. Attivita' di una classe di recettori in funzione della concentrazione. (a) Attivita' di risposta r di 4 differenti classi di recettori i,j,m e n in funzione del logaritmo negativo della concentrazione c. (b) le attivita' di risposta delle classi di cellule mostrate in forma di istogrammi. Un istogramma per ciascun valore della concentrazione da c1 fino a c5. (c) La qualita' di uno stimolo, cioe' lo stimolo indipendente dalla sua concentrazione, corrisponde alla curva che connette questi vettori.
23
Il vettore r, visto come una funzione della concentrazione, da' una curva r(c) nello spazio di attivita' dei recettori R (per il caso bidimensionale, si veda la figura c). Due odori S k e S i sono fisiologicamente distinguibili a livello dei recettori, se le curve rk (c ) e ri (c ) non si sovrappongono; se le curve r(c) di due odori coincidono ad una certa concentrazione, questi odori sono codificati in modo identico a questa concentrazione. Sorprendentemente, comunque, questa ambiguita' a livello dei recettori puo' essere rimossa in un successivo stadio del sistema, come vedremo in seguito. Occupiamoci ora del problema dell'invarianza della percezione olfattiva. Nell'olfatto, c'e' un fenomeno di questo tipo. Si immagini uno sperimentatore che misuri la risposta a due stimoli applicati in successione, diciamo A e B, che vengono registrati simultaneamente da 4 cellule recettrici. Supponiamo che egli non conosca ne' le qualita' ne' le concentrazioni degli stimoli, ne' da quali classi di recettori stia registrando. Se i due stimoli risultano nella misura come due pattern che si sovrappongono cosi' come quelli di c1 e c5 in fig. 9 c), allora non esiste alcun modo con il quale si possa decidere se gli stimoli abbiano o non abbiano la stessa qualita'. In altre parole, la concentrazione e la codifica della qualita' non sono ben separate a livello dei recettori. Stimoli della stessa qualita', ma di differenti concentrazioni non vengono proiettate sugli stessi insiemi di classi di recettori. L'invarianza nella percezione di qualita' (che si mantiene per la maggior parte degli stimoli) significa che una curva rk (c) e' vista come un tutt'uno in uno stadio successivo nella elaborazione dell'informazione. Invece la sovrapposizione di rk (c) con un'altra curva in un solo punto e' solo di importanza secondaria. 2.2.2 Convergenza recettori-glomeruli. La convergenza delle fibre delle cellule dei recettori sui glomeruli puo' venire adeguatamente descritta dai coefficienti cln . dove cln indica il
24
numero di fibre recettrici di classe l che entra nell'n-‐esimo glomerulo. La proiezione f2 delle attivita' della classe dei recettori sull' attivita' in ingresso dei glomeruli, f2 : R → G = R N e' data da
L
g n = ∑ c lnrl
(2.1)
l =1
l'ingresso a tutti i glomeruli e' allora:
g = (g1 , g2 , g3, . . . , gN ) Al livello di glomeruli, gli stimoli S k , k = 1, 2,..., K sono cosi' rappresentati in uno spazio N-‐dimensionale. Il numero N di glomeruli puo' andare da un minimo di 20 , come nel tentacolo della chiocciola , a 3000 nei vertebrati superiori. Quando i coefficienti c ln vengono scritti in forma di matrice C = (c ln ) , la relazione lineare tra r e g e' g = C r
o quando lo stimolo e' indicato,
g k = C rk Ove i coefficienti c ln sono incogniti. Questo fatto comunque non ci impedisce alcuni commenti sul loro significato:
25
(a) Tutti i coefficienti c ln sono positivi o zero. La trasformazione non e' percio' una rotazione del sistema di coordinate, poiche' per questo caso sarebbero necessari anche coefficienti negativi. (b) I coefficienti c ln dell' ennesimo glomerulo compongono il vettore c n = (c1n , c 2n , . . . , c Ln ) ,
e l'ingresso complessivo g n all'ennesimo glomerulo (Eq. 2.1) puo' essere scritto come il prodotto scalare: g n = c n • r
Da cui emerge che l'ingresso complessivo glomerulare e' massimo se c n ed r sono paralleli. La convergenza recettori-‐glomeruli puo' cosi' essere ben visualizzata come segue: si immagini per ciascun glomerulo un vettore di forma predeterminata c n , in modo che la forma di convergenza possa essere visualizzata come un numero di vettori c n nello spazio delle classi di recettori. Quando uno stimolo rappresentato da rk viene applicato, le proiezioni di rk su tutti i vettori c n rappresentano il pattern di ingresso ai glomeruli. Un altro modo di vedere questo fenomeno e' che la somma in eq. (2.1) non e' niente altro che il coefficiente di correlazione incrociata tra le componenti dei vettori c n ed r. Con r parallelo a c n , la correlazione e' massima e l' n-‐esimo glomerulo riceve l'input massimo. Altri glomeruli, i cui vettori di convergenza non sono ortogonali a c n , ricevono input da questo stimolo rk . Fino a questo momento, i vettori di convergenza sono stati considerati come fissi, laddove gli stimoli erano variabili. Anche
26
l'opposto potrebbe essere importante, data la plasticita' del sistema. Se vi fosse uno stimolo predominante ( rk ) ed una convergenza recettore glomerulo che possa variare nel tempo, allora l'ingresso ad un determinato glomerulo potrebbe diventare massimo, se c ln cambiasse in modo tale che cn terminasse parallelo ad rk. In questo caso, il vettore dell'attivita' dei recettori verrebbe mappato ottimamente su di un glomerulo ed il glomerulo correlatore sarebbe un filtro ottimo adattato ed un riconoscitore auto-‐organizzato di caratteristiche, come indicato da Kohonen [24]. Una analogo fenomeno di convergenza auto-‐organizzata puo' essere ipotizzata, considerando piu' di un glomerulo . (c) I numeri L e N, ed in particolare il loro rapporto L/N influenzano considerevolmente il processo di elaborazione dell'informazione. N puo', almeno in linea di principio, venire misurato. L e' attualmente sconosciuto, cosicche' occorre discutere tre casi: L<N, L=N, e L>N. Nel primo caso la matrice C ha piu' righe che colonne, ed N differenti odori potrebbero essere mappati in modo ottimo sui glomeruli. Per tutti gli altri stimoli, il vettore rk non coincide con alcuno dei vettori di convergenza gn, e la forma in ingresso glomerulare di questi stimoli e' una combinazione lineare degli stimoli mappati in modo ottimo. La rappresentazione glomerulare di uno stimolo rk e' poi tanto piu' ridondante quanto piu' e' grande il rapporto N/L. Questa ridondanza garantisce una trasmissione molto sicura dell'informazione. Se, d'altra parte, gli spazi R e G hanno lo stesso numero di dimensioni (L=N), i vettori rk vengono semplicemente trasformati in un altro sistema di coordinate; la mappatura puo' venir descritta come sopra "mappatura ottimale ", ma vi sono anche altre ragionevoli ipotesi. Se le connessioni tra i glomeruli e gli strati seguenti del sistema operano come una memoria associativa (si veda le reti neurali BAM), il che sembra la cosa
27
piu' plausibile, l'intera informazione odorifica potrebbe venire recuperata da solo una parte del sistema anche nel caso di L=N. Esperimenti condotti da Schild stesso non sembrano fornire nessuna indicazione circa la dimensione di L. Se e' L>N, e' importante conoscere il numero L 0 di vettori rk linearmente indipendenti. E' possibile che vi siano meno ( L 0 <L ) vettori di attivita' dei recettori indipendenti, di quanto non vi siano classi di recettori ( un semplice esempio di un tale caso sarebbe geometricamente rappresentato da un certo numero di vettori su di un piano di orientazione arbitraria in un sistema di coordinate tridimensionali). Se L0>N, allora l'informazione andrebbe persa. In questo caso differenti odori potrebbero avere rappresentazioni identiche. Nel caso opposto (L0 < N), la trasformazione C potrebbe ridurre la dimensione dello spazio in cui gli odori sono rappresentati. (d) Una leggera variazione di uno stimolo (r-‐-‐>r+dr) risulterebbe in una proporzionale variazione del vettore g a livello glomerulare. In altre parole, quali che siano i coefficienti della matrice C, stimoli simili sono mappati su forme di attivita' similari in ingresso ai glomeruli . Vedremo meglio in seguito cosa questo fatto significhi. 2.2.3 Proiezione glomeruli-cellule mitrali La mappatura dai glomeruli agli ingressi delle cellule mitrali e' data da
f3 : G → M = R J con mkj = ∑n=1 p g kn o con la matrice scritta come P = (pnj ), nj N
mk = P g k
28
Poiche' vi sono circa 25 volte piu' cellule mitrali che glomeruli, J ≈ 25N . La matrice P ha proprieta' speciali: essa e' una matrice di proiezione con elementi positivi che non tendono ad annullarsi su e nell'intorno della diagonale. Questa proprieta' corrisponde ad una divergenza localmente ristretta dai glomeruli alle cellule mitrali. L'informazione di S k , rk e g k e' decomposta e proiettata su differenti sottospazi di M corrispondenti a differenti aree dello strato di cellule mitrali . Poiche' gli odori sono rappresentati in al massimo N dimensioni (la massima dimensione dello spazio G), non possono esservi piu' di N vettori linearmente indipendenti in ingresso alle cellule mitrali . Poiche' ci sono 25 volte piu' cellule mitrali che glomeruli, questo significa che 24*N (ossia 25*N -‐ N) cellule mitrali, cioe' la maggior parte di esse, hanno vettori in ingresso che sono linearmente dipendenti e principalmente non necessari per la convergenza dell'informazione di uno specifico odore. Comunque , la combinazione delle cellule coinvolte nella trasmissione delle informazioni cambia da stimolo a stimolo. Una particolare cellula mitrale, per esempio , la j-‐esima riceve i suoi ingressi secondo il vettore:
pj = (p1j , p2 j , . . . pnj ) ove pnj si annulla al di fuori di un certo intorno della j-‐esima cellula mitrale,
pj = (0, . . . , 0, pn − 1, j , pn, j , . . . pn + 1, j , 0, . . . , 0).
Una cellula mitrale adiacente riceve il suo ingresso da (quasi) gli stessi glomeruli, benche' con differenti pesi
29
pj + 1 = (0, . . . , 0, pn − 1, j + 1 , pn, j + 1 , . . . pn + 1, j + 1 , 0, . . . , 0). Le attivita' di ingresso di queste cellule sono mj = pj • g e
mj + 1 = pj + 1 • g . La cellula con il vettore proiezione p che corrisponde meglio a g riceve l'input maggiore. Estendendo questo ragionamento a tutte le cellule mitrali, vediamo che vi sono insiemi di cellule mitrali che vengono attivate in modo ottimo, un insieme per ciascuna forma di attivazione dei glomeruli.
2.2.4 Inibizione laterale. Nel bulbo olfattivo , l'inibizione laterale e' presente principalmente tra i glomeruli adiacenti e tra le cellule mitrali. Le esatte forme di connessione cosi' come le intensita' sinaptiche sono, comunque, non note in dettaglio. Secondo Schild e' attualmente impossibile giustificare con precisione gli effetti di questi circuiti con inibizione laterale (con i modelli di reti neuronali da noi impiegati tenteremo di dare una possibile spiegazione. A tale proposito si veda la CPN, ART e le reti Hamming nel seguito della tesi). Schild ipotizza che l' inibizione laterale agisca come un filtro spaziale passa alto, che incrementi il contrasto di una forma di attivita' spaziale. Altri possibili effetti come il guadagno dipendente dall' attivita' (vedi ART) non vengono considerati nel modello di Schild. Quest'ultimo suppone che l'input delle cellule mitrali sia trasformato in uscita della cellula mitrale mediante la relazione: f4 : M → M con, J
bik = ∑ s ji m kj o j =1
b k = Sm k
30
(2.2)
ove la matrice S di soppressione ha valori negativi in prossimita' della diagonale e valori che tendono ad annullarsi altrove. Le attivita' negative
bki vengono scartate come non significative per la generazione dello spike:
aik = max(0, bik )
(2.3)
Il vettore ak fornisce una approssimazione grossolana delle attivita' delle cellule mitrali dovute agli stimoli S k . Una forte soppressione laterale puo' inibire tutte le attivita', eccetto una entro un certo sottospazio; in questo modo, un vettore, che prima dell'azione dell'inibizione laterale aveva diverse componenti positive in un sottospazio, viene trasformato in un vettore che ha solo una componente positiva. Questo effetto di ortogonalizzazione e' riportato dalla equazione (2.2) e dalla trasformazione non lineare (eq. 2.3). Inoltre tale trasformazione agisce separatamente su molte aree del bulbo olfattivo piuttosto che su tutte le cellule mitrali assieme. 2.2.5 Una descrizione alternativa: immagini di attivita' Schild propone anche un modello alternativo della codifica degli odori. Nel seguito verra' brevemente descritta una rappresentazione equivalente alternativa che tiene esplicitamente in conto la posizione geometrica dei glomeruli e delle cellule mitrali nei rispettivi strati. La posizione specifica di una cellula su di uno strato viene opportunamente data in coordinate sferiche (scritte come α , β o φ , δ ) prendendo come origine il punto di mezzo del bulbo.
31
2.2.6 Immagine della attivita' glomerulare Si consideri un campo vettoriale discreto in modo che per ciascun glomerulo sia assegnato un vettore (il vettore "convergenza") c( α , β ) . La l-‐esima componente c l (α, β) di tale vettore rappresenta il numero di fibre dell'l-‐esima classe di recettori che entra nel glomerulo alle coordinate ( α, β ). Allora prendendo lo stimolo S k , rk si proietta sui glomeruli secondo la relazione :
g(α, β) = c(α, β) • rk valida per ciascuna coppia α, β . La principale differenza dalla precedente descrizione e' che g(α, β) dipende da due coordinate geometriche, invece di essere un vettore componente. Le componenti di c(α, β) e c n sono identiche per lo stesso glomerulo .
rk viene mappato su di un array bidimensionale g(α, β) , che puo' venire
interpretato come un' immagine spaziale dell'odore, costituita da punti (i glomeruli), a ciascuno dei quali e' assegnato un valore, (corrispondente ad un livello di grigio in una immagine classica) ottenendo una descrizione simile a quella che puo' essere fatta per le immagini retiniche ( vedi ART, BAM, HAMMING etc. e per un paragone neurofisiologico [25] ). La succesiva elaborazione di questa immagine puo' cosi' venire compresa in termini di elaborazione digitale di immagine e di filtraggio digitale. 2.2.7 Ingresso alla cellula mitrale La proiezione glomerulo cellula mitrale e' ristretta ad una certa zona ed e' data da :
32
m(φ, δ) = ∑ pα,β (φ, δ)g(α, β)
(2.2.7.1)
α, β
con pα,β (φ, δ ) = 0 per α − φ ≥ Δδ e β − δ ≥ Δδ e pα,β (φ, δ ) ≥ 0 altrimenti. I valori Δφ e Δδ sono determinati dal range spaziale di ingresso di una cellula mitrale ( comprendendo gli interneuroni eccitatori). I coefficienti del filtro pα,β (φ, δ ) determinano il tipo di filtro: essi sono zero per ogni
φ, δ eccetto che in una piccola regione del piano α, β . I filtri cosi' descritti sono filtri spaziali passa basso. Se i coefficienti dei filtri fossero spazio-‐invarianti cioe' ,
pα,β (φ, δ ) = p(α − φ, β − δ ), l'equazione (2.2.7.1) diverrebbe
m(φ, δ) = ∑ p(α − φ, β − δ)g(α, β) α, β
ove la somma e' effettuata solo per piccoli intervalli di α − φ e β − δ . Questa espressione ha la forma di una convoluzione, ed il carattere passa basso e' piu' ovvio. Comunque potrebbe essere che per ciascuna cellula mitrale i coefficienti del filtro siano differenti, cioe' i coefficienti non sono spazio-‐invarianti. In ogni caso, ogni cellula mitrale agisce come un filtro passa basso sulla immagine glomerulare, campionando ed elaborando solo una piccola parte di esso. L'immagine glomerulare viene cosi' filtrata da un filtro passa basso composto da un numero di cellule mitrali 25 volte piu' grande di quanto non siano i glomeruli. Cellule mitrali adiacenti, che ricevono ingresso da (quasi) lo stesso insieme di glomeruli, hanno ingressi simili che differiscono solo per il fatto di essere differenti combinazioni lineari dei coefficienti del filtro in ingresso.
33
2.2.9 Immagine dell'uscita della cellula mitrale. La funzione in ingresso alla cellula mitrale mk viene trasformata in una funzione in uscita dalla cellula mitrale bk mediante la relazione:
bk (φ, δ) = ∑ sα,β (φ, δ)mk (α, β) α, β
Di nuovo, i valori negativi sono scartati : ak (φ, δ) = max 0, bk (φ, δ) . ak e' una funzione che assegna alla cellula mitrale di coordinate (φ, δ ) l'attivita' ak (φ, δ ) . ak e' cosi' la forma di attivita' spaziale delle cellule mitrali nello strato bidimensionale delle cellule mitrali stesse. 2.2.9 Due tipi di discriminazione nel sistema olfattivo (ordine spaziale e inibizione laterale) (vedi CPN) Dalle considerazioni fatte nei paragrafi precedenti e' chiaro che odori che sono simili nello spazio di attivita' delle cellule recettrici vengono mappati su pattern spazialmente adiacenti di glomeruli e sulle cellule mitrali con attivita' similari . Percio' e' stata introdotta una relazione di ordine spaziale (vedi mappe di Kohonen nel Capitolo 4) tra gli odori . L'inibizione laterale a livello di cellula mitrale ha cosi' l'effetto di introdurre un meccanismo di competizione che ha lo scopo di incrementare il contrasto tra le rappresentazioni neurali degli odori. Odori simili possono cosi' essere ben discriminati a livello di cellula mitrale. 2.2.10 Riconoscimento qualitativo e memoria associativa Non esiste alcuna prova sperimentale che possa spiegare come il sistema olfattivo possa associare la stessa qualita' con i differenti insiemi di cellule mitrali attivate da diverse concentrazioni. Anche da
34
osservazioni tratte dalle reti neuronali, si puo' ipotizzare che la percezione invariante della qualita' di un odore potrebbe essere dovuta ad un meccanismo di memoria associativa (tipo quello alla base delle reti BAM descritte nel Capitolo 8) che si manifesterebbe entro il bulbo olfattivo. Come in tutti i casi di memoria associativa, il manifestarsi di una informazione parziale in ingresso (uno stimolo dovuto ad un odore a concentrazione specifica ) provoca un recupero totale dell'informazione (la forma di qualita' associata con tutti i valori di concentrazione. 2.2.11 Costruzione di un sensore di odori intelligente La costruzione di un sensore di odori intelligente artificiale, corrispondente ad un sistema biologico, pone un problema pratico: come dovrebbero essere realizzate artificialmente le connessioni tra i tre principali tipi di elementi (cellule recettrici, glomeruli e cellule mitrali) ? Attualmente queste connessioni non sono note nel dettaglio; e' percio' impossibile copiarle. Mediante le reti neuronali, pero', si puo' tentare di riprodurre i meccanismi che portano ai comportamenti esaminati nel sistema olfattivo biologico (riconoscimento e codifica degli odori) e, in seguito, a partire dal modello cosi' costruito, andare a verificarlo mediante un confronto parallelo tra il sistema artificiale e quello neurofisiologico. Questo e' proprio cio' che tenteremo di fare nel seguito della presente tesi .
35
PARTE SECONDA
36
Introduzione Terminata la parte descrittiva del sistema olfattivo vedremo ora come le reti neuronali possano fornirci degli utili sistemi con cui approfondire la sua conoscenza al punto da permetterci di tentare una realizzazione di un sistema artificiale che sia capace di discriminare odori. Il prossimo passo sara' dunque quello di dare una descrizione sommaria generale delle reti neuronali prima di passare allo studio di alcuni modelli specifici che, a nostro avviso e secondo gli studi condotti da J. W. Gardner & P. N. Bartlett della Facolta' di Ingegneria e Chimica dell'Universita' di Warwick [26], potrebbero essere utilizzate come tecniche per il riconoscimento di odori da parte di un sistema olfattivo artificiale, oltre che spiegare alcune questioni neurofisiologiche .
37
Capitolo 3 Nozioni generali sulle reti neuronali.
3.1 Generalita' In una rete neuronale (o neurale artificiale) [27] l'unita' analoga al neurone biologico viene chiamata "processing element" o PE. Un PE ha molti ingressi ( dendriti ) e combina, spesso semplicemente sommando, i valori degli ingressi. L'ingresso totale, derivante da tale somma, e' poi modificato da una funzione di trasferimento. Tale funzione assume varie forme a seconda del modello di neurone che si considera. Essa puo' essere una funzione a soglia che lascia passare l'ingresso totale, se questo supera un certo livello, oppure puo' essere una funzione continua dell'ingresso o altro. Il valore di uscita della funzione di trasferimento puo' essere direttamente l'uscita del PE oppure puo' ricevere altre influenze, prima di divenire l'output vero e proprio. L'uscita del PE puo' poi essere agganciata a collegamenti in ingresso ad altri PE, attraverso connessioni pesate che corrispondono alle "forze" sinaptiche delle connessioni neuronali.
x0
W
j0
x1
W
x2
W j2
PE j-esimo
j1
I=
W x ji i
funz Y=f(I) j di trasfer
W jn x n
Fig. 10 Generico PE
38
La figura 10 illustra tale descrizione e rappresenta le notazioni che useremo nel seguito. Una rete neuronale consiste di molti PE collegati tra di loro nel modo descritto. Gli elementi sono di norma organizzati in sequenze di strati che tra di loro si connettono variamente.
strato di uscita
strato nascosto
strato di ingresso
Fig 11. Esempio di una semplicissima rete neuronale costituita da uno strato di ingresso, uno strato di uscita e da una strato nascosto interposto tra i due precedenti.
3.2 Operazioni di una rete . Ci sono 2 fasi fondamentali nelle operazioni di una rete: l'apprendimento ed il recupero dell'informazione (recall). L'apprendimento e' il processo consistente nell'adattamento dei pesi delle connessioni in risposta a stimoli presentati allo strato di ingresso e talora allo strato di uscita. Ad uno stimolo in uscita corrisponde una risposta desiderata per un certo input. Tale risposta e' fornita da un insegnante "omnisciente". In questo caso l'apprendimento dicesi apprendimento con supervisore (supervised learning).
39
Se l'uscita desiderata e' differente dall'ingresso, la rete in fase di apprendimento e' detta eteroassociativa. Se per tutti gli esempi di istruzione l'uscita desiderata e' uguale al vettore in ingresso, la rete e' detta autoassociativa. Se non viene indicata l' uscita desiderata, si dice che siamo in presenza di apprendimento senza supervisione (unsupervised learning). Un terzo tipo di apprendimento, che si trova a meta' tra quello con supervisione e quello senza, e' "l'apprendimento con rinforzo" (reinforcement learning), nel quale un insegnante esterno indica se la risposta ad un ingresso e' valida o non valida. Quale che sia il tipo di apprendimento usato, una caratteristica essenziale di ogni rete e' la sua regola di apprendimento (learning rule), che specifica come adattare i pesi in risposta ad un esempio presentato in fase di apprendimento. Spesso quest'ultimo richiede di presentare in ingresso alla rete molti esempi molte migliaia di volte. I parametri che governano una regola di apprendimento possono cambiare nel tempo mano a mano che la rete procede nell'apprendimento. Il controllo di lungo termine dei parametri di apprendimento viene chiamato "learning schedule". Il recupero dell'informazione (recall) si riferisce al modo in cui la rete globalmente elabora uno stimolo presentato al suo buffer di ingresso (o strato di ingresso) e crea una risposta al suo buffer ( strato ) di uscita. Spesso un "recall" e' parte integrante del processo di apprendimento, in particolare quando una risposta desiderata della rete deve essere comparata con l'uscita reale per creare una funzione dell' errore. La forma piu' semplice di "recall" si verifica quando non ci sono connessioni in retroazione, da uno strato con gli altri o con se stesso. Un tale tipo di rete e' detta rete "feedforward". In tali reti l'informazione e' trasferita in avanti da uno strato al successivo, senza tornare indietro ,
40
fino a giungere allo strato di uscita. Se invece ci sono connessioni in "feedback", l'informazione oscillera' entro la rete, attraverso gli strati o al loro interno, finche' non sara' raggiunta una qualche condizione di convergenza. In seguito l'informazione sara' passata allo strato di uscita. In questi tipi di rete una strategia di controllo governa la sequenza con cui gli strati sono processati. Molti tipi di reti hanno una funzione di energia a loro associata. Ogni stato della rete, definito da un particolare insieme di valori di uscite del PE, ha un valore di energia. Il processo di "recall" iterativamente modifica gli stati, in modo tale da diminuire l'energia fino ad arrivare ad uno stato rappresentante un minimo locale nella funzione energia. Per le reti con il "feedback",durante la fase di "recall", puo' essere usato un "recall schedule" (annealing schedule), per controllare i parametri di "recall", mentre si progredisce. Un' altra considerazione da fare, per valutare le prestazioni di una rete, dipende dal fatto che la rete operi in modo sincrono o asincrono. Comportamento sincrono significa che tutti i PE "sparano" simultaneamente ad ogni quanto temporale. Comportamento asincrono significa che i vari PE "sparano" in modo casuale ed indipendente da ogni altra unita' nella rete. Il comportamento asincrono puo' essere modificato per mezzo di linee di ingresso addizionali che si agganciano a ciascun PE e controllano se esso sara' o meno aggiornato.
3.3 Operazioni di strato. Due operazioni che influenzano l'uscita di uno strato nel suo insieme sono la normalizzazione e la competizione. La normalizzazione prende il vettore dei valori corrispondenti all'uscita di uno strato completo e lo scala in modo che l'uscita totale ( per esempio
41
la somma dei vettori componenti ) sia un qualche valore fissato. Biologicamente questo viene fatto connettendo ogni elemento di uno strato ad ogni altro elemento. Queste connessioni permettono al PE di sentire individualmente l'uscita totale dello strato e di aggiustare i propri valori corrispondentemente. La competizione si riferisce alla interazione che un PE puo' avere con ogni altro PE nello stesso strato. A differenza della normalizzazione, dove tutti i PE aggiustano la loro uscita per creare un livello di attivita' fissato, nella competizione solo uno o pochi PE vincono e producono una uscita. Una forma molto comune di competizione si verifica quando il PE con la piu' alta attivita' e' l'unico che emette una uscita nel proprio livello.
3.4 Memoria associativa distribuita. Una caratteristica importante delle "neural networks" e' il modo in cui esse memorizzano le informazioni. La memoria neuronale e' contemporaneamente distribuita ed associativa. I pesi delle connessioni sono le unita' di memoria di una rete neuronale. I valori dei pesi rappresentano lo stato corrente della conoscenza della rete. Una unita' di conoscenza, rappresentata per esempio da una coppia ingresso, uscita desiderata, e' distribuita attraverso tutte le unita' di memoria nella rete. La memoria neuronale e' associativa nel senso che, se alla rete che e'stata istruita viene presentato un input incompleto, la rete scegliera' nella sua memoria la configurazione che meglio si avvicina a quell'ingresso e generera' un' uscita che corrisponde ad un ingresso completo. Se la rete e' autoassociativa, la presentazione di un vettore parziale in ingresso alla rete provochera' il suo completamento. La natura distribuita ed associativa delle memorie neuronali conduce a risposte della rete ragionevoli, quando vengono presentati ingressi
42
incompleti o affetti da rumore o anche ingressi mai presentati precedentemente. L'ultima proprieta' viene chiamata generalizzazione. La qualita' ed il significato della generalizzazione e' dipendente dalla particolare applicazione e dalla complessita' della rete. Alcune reti ( reti interpolative) realizzano una forma di interpolazione. Altre ("accretive networks") mappano un ingresso con la risposta del vettore piu' simile precedentemente presentato. Reti non lineari multistrato, ( in particolare reti "back propagation" ) che apprendono nei loro strati nascosti caratteristiche importanti del dominio di conoscenza, possono usare questa conoscenza nascosta per realizzare generalizzazioni non banali.
43
Capitolo 4 Reti neuronali e sistema olfattivo Nella figura 12 e' mostrato un tratto del bulbo olfattivo con a fianco una generica rete neuronale composta con un solo strato nascosto.
Fig. 12 Tratta da [23] . Parallelo tra una rete neuronale ed un tratto di sistema olfattivo
4.1 Reti neuronali e organizzazione della corteccia cerebrale
4.2 Formazione auto-‐organizzata di "mappe topografiche" di neuroni
44
Il cervello e' strutturato a livello corticale in modo che le caratteristiche dell'ambiente sensoriale sono rappresentate nella forma di mappe bidimensionali [28] . Per esempio, sulla superficie della corteccia visiva vi sono delle mappe topografiche dello spazio visivo (mappe retinotopiche) e simili mappe dello spazio degli odori sono molto probabilmente presenti nella corteccia olfattiva [29] . Vi sono mappe organizzate della superficie corporea sia nelle aree motorie della corteccia (homunculo motorio) che in quelle somatosensoriali, e mappe tonotopiche della frequenza nella corteccia auditiva [30]. Il fatto fondamentale da tenere presente in un sistema organizzato topograficamente e' che unita' vicine tra loro rispondono in modo simile. Il meccanismo essenziale dello schema proposto da Kohonen e' quello di far si' che il sistema si auto-‐modifichi. Iniziamo con una descrizione a parole: le unita' incominciano rispondendo a caso al parametro di interesse, frequenza, posizione spaziale , etc. Viene applicato un segnale in ingresso, caratterizzato da un qualche valore del parametro. Una unita' risponde meglio a quell' ingresso. Questa unita' viene individuata. Vengono modificati i pesi ai vicini di questa unita', definiti per l'appartenenza ad una regione attorno a questa unita' e all' unita' stessa, cosicche' essi ora risponderanno meglio di quanto non facessero prima. Le sinapsi sono soggette ad una normalizzazione di qualche forma, in modo che la somma dei pesi sia approssimativamente costante. Incrementare la forza di una sinapsi riduce la forza delle altre verso quella unita'. Queste semplici assunzioni sembrano adeguate per compiere un ordinamento topografico: i neuroni vicini divengono simili nelle loro proprieta' di risposta, ed un ordine globale si manifesta a seguito della interazione, data da una funzione monotona di un vicino con il successivo. E' possibile dimostrare che il sistema cosi' fatto si
45
organizzera' opportunamente da solo. Kohonen suggerisce diversi meccanismi biologici che potrebbero dare origine ad un tale sistema. Egli suggerisce che sia possibile formare i 'clusters' con un meccanismo di inibizione per distanze maggiori, considerando un sistema ove cellule vicine si eccitano l'una con l'altra, mediante una organizzazione molto simile al genere di quella 'center-‐surround' osservata in un gran numero di regioni cerebrali. Interazioni eccitatorie tra le cellule vicine tendono a formare regioni compatte che vengono fortemente eccitate. Tali regioni, accoppiate con una semplice modifica della regola di apprendimento
hebbiano, potrebbero implementare il sistema.
46
4.3 Definizione di mappature ordinate
A k
rete di collegamento S 1
S i
S n
rete interattiva
uscite 1
2
3
n
Fig. 13 Tratta da [24]. Semplice sistema monolivello auto-‐organizzante.
Si consideri la figura 13 che delinea un semplice sistema monolivello auto-‐organizzante. L'informazione sugli eventi A1, A2, A3, . . . che si verificano nel mondo esterno viene trasmessa, attraverso una rete di collegamento, nella forma di segnali sensoriali verso un insieme di unita' di elaborazione, qui indicate per semplicita' come un array monodimensionale. L'insieme dei segnali sensoriali Si distribuiti su ciascuna unita' elaborativa (i-‐esima) possono essere differenti ed il numero di segnali su ciascuna Si puo' essere differente. Comunque si ritiene che questi segnali siano coerenti nel senso che essi sono univocamente determinati dagli eventi distinti Ak. Poniamo che gli eventi Ak possano essere ordinati secondo una qualche metrica e topologia in cui A1RA2RA3. . RAn ( ove R sta per una generica relazione di ordinamento che gode della proprieta' transitiva). Poniamo inoltre che le unita' di elaborazione producano, in risposta agli eventi, uscite (i-‐ esime) con valori scalari ηi(A1) , ηi(A2) , . . . Si ha la seguente definizione.
47
Definizione. Si dice che il sistema di figura 13 costituisca una mappatura ordinata monodimensionale, se per i1>i2>i3>. . . in. , e' vero che:
ηi ( A1 ) = m a x{η j ( A1 ) j = 1,2,..., n} 1
j
2
j
3
j
ηi ( A2 ) = m a x{η j ( A2 ) j = 1,2,..., n} ηi ( A3 ) = m a x{η j ( A3 ) j = 1,2,..., n}
etc. La definizione di sopra e' facilmente generalizzabile per arrays di unita' elaborative di due o piu' dimensioni. In questo caso deve essere definito un qualche ordinamento topologico per gli eventi Ak, a partire da piu' di una relazione di ordinamento rispetto a differenti attributi. D'altra parte, la topologia dell'array e' semplicemente definita dalla definizione di vicini per ciascuna unita'.
4.4 Formazione di "mappe topografiche" in un array bidimensionale con ingressi identici a tutte le unita'. Si consideri una rete composta da un array rettangolare di unita' elaborative. Nel primo esperimento descritto da Kohonen la rete di collegamento e' stata trascurata, e lo stesso insieme di segnali in input { ξ1, ξ2, . . . ξn} e' stato connesso a tutte le unita'. In accordo con le notazioni usate nella teoria dei sistemi, questo insieme di segnali e'
[
espresso come un vettore colonna x = x1 , x 2, ..., x n
]
T
∈ R n ove T
rappresenta la trasposta. L' unita' i-‐esima avra' pesi in ingresso o parametri µi1, µi2, . . . , µin che sono esprimibili come un altro vettore colonna mi = [µi1 , µi 2 ,..., µin ]T ∈ R n . L'unita' formera' la funzione discriminante n
ηi = ∑ µijξ j = m i T x j =1
48
(4.1)
Inoltre operera' un meccanismo di discriminazione per cui il massimo di
ηi viene scelto mediante la relazione :
ηk = m a x{ηi } i
(4.2)
Per l'unita' k e tutte le 8 unita' sue vicine (eccettuato ai vertici dell'array dove il numero dei vicini e' diverso) si considera che sia attivo il seguente processo adattivo:
mi (t + 1) =
mi (t ) + αx(t) mi (t ) + αx(t) E
(4.3)
ove le variabili sono state etichettate per mezzo di un indice di tempo discreto t (un intero) , α e' un parametro di guadagno durante l'adattamento, e il denominatore e' la norma euclidea del numeratore. La normalizzazione incrementa la selettivita' nella discriminazione, ed e' anche utile nel mantenere le risorse di memoria entro certi limiti. Si noti che l' eq. (4.3) non cambia la lunghezza di mi ma soltanto lo ruota verso x. Non e' necessario tuttavia che la norma sia sempre euclidea come in eq. ( 4.3) .
4.5 Una possibile realizzazione della auto-‐organizzazione in una struttura neurale. I modelli illustrati nel precedente paragrafo sono stati trattati senza alcun riferimento alla loro realizzabilita' fisica. Qua tratteremo considerazioni che ci condurranno alla realizzazione di un sistema fisico neuronale capace di una simile auto-‐organizzazione. Vi sono due fasi:
49
1. La formazione di un aggregato (cluster) di attivita' nell'array attorno all' unita' che ha l'attivazione massima. 2. Un cambiamento adattivo nei pesi in ingresso da parte di quelle unita' su cui era confinata l'attivita' . E' importante ricordare che molte strutture del SNC sono essenzialmente bidimensionali, (lasciando da parte la stratificazione di cellule in diverse lamine). D'altra parte, e' anche generalmente accettato che nella neocorteccia per esempio, che ha una pronunciata struttura verticale, le risposte cellulari siano molto simili in direzione verticale. Molti studiosi pensano anche che la massa di cellule corticali sia funzionalmente organizzata in colonne verticali [31]. Sembra che tali colonne siano organizzate attorno a specifici assoni afferenti in modo da permettere che essi svolgano la trasformazione di base ingresso-‐uscita dei segnali. [32];[33]. Esistono prove sia anatomiche che fisiologiche per i seguenti tipi di interazione laterale tra le cellule (vedi fig 14) :
interazione
+ -
-
distanza laterale Assoni afferenti i
Assoni efferenti
i
Fig. 14. Interazione laterale tra le cellule nota come inibizione laterale.
50
1. eccitazione laterale a corto raggio che si svolge lateralmente per un raggio di 50-‐100 µm (nei primati); 2. L'area eccitatoria e' circondata da una penombra di azione inibitoria per un raggio di 200 fino a 500 µm; 3. Una piu' debole azione eccitatoria circonda la penombra inibitoria e arriva fino ad un raggio di diversi cm. La forma di tale azione e' mostrata in fig14.
4.6 Comportamento dinamico della attivita' di rete
I neuroni del SNC usualmente "sparano" in modo piuttosto regolare ad una frequenza che dipende dalla trasmissione presinaptica integrata. E' una buona approssimazione considerare che cambiamenti differenziali nel potenziale postsinaptico si sommino linearmente. La frequenza complessiva media di attivazione η (triggering) del neurone e' allora esprimibile come: ⎡ ⎤ (4.4) η = σ ⎢∑ β jξ j ⎥ j ⎣ ⎦ ove σ • definisce una forma caratteristica funzionale che studieremo in pochi casi, per (a < 0) ⎧ 0 ⎪ σ [a] = ⎨a per (0 < a < A) . ⎪ A per (a > A) ⎩ Gli ξ j sono le frequenze degli impulsi presinaptici di tutte le sinapsi e i β j ora corrispondono alle efficacie sinaptiche. I β j sono positivi per le sinapsi eccitatorie e negativi per quelle inibitorie. Si consideri un array di neuroni principali come descritto in fig. 14; gli interneuroni non sono stati mostrati esplicitamente, ma si manifestano da loro stessi attraverso accoppiamenti laterali. In accordo con la equazione (4.4) scriveremo per ogni uscita: ⎡ ⎤ (4.5) ηi (t ) = σ ⎢φi (t ) + ∑ γ kηk (t - Δt )⎥ k ∈ S i ⎣ ⎦ ove φi (t ) e' la depolarizzazione integrata causata da tutti gli ingressi afferenti (esterni), e il secondo termine rappresenta ingressi dovuti ad accoppiamenti
51
laterali. Qui Si e' l'insieme di cellule connesse alla cellula i-‐esima. I coefficienti γk dipendono non solo dalla efficacia sinaptica, ma anche dal tipo di interconnessioni laterali, e il γk attorno alla cellula i-‐esima dipendera' approssimativamente dalla distanza secondo la fig. 14. La trasmissione sinaptica ed il ritardo di latenza Δt degli accoppiamenti laterali vengono assunti come identici, poiche' le loro variazioni non interessano in questo contesto. E' essenziale studiare dapprima il processo ricorrente in cui gli ηi (t ) tendono nel tempo a stabilizzarsi verso i loro valori asintotici .
4.7 Modello analitico della plasticita' sinaptica L'efficacia sinaptica puo' dipendere adattivamente dai valori dei segnali in molti modi; effetti di potenziamento e abituazione possono avere durate ampiamente diverse ed essere proporzionali alla attivita' presinaptica o postsinaptica. Questa e' approssimativamente la legge nota come ipotesi di Hebb [34] . Alcune prove sperimentali della presenza di entrambi i fattori presinaptici e postsinaptici nella plasticita' delle cellule della corteccia visiva sono state portate [35] . Comunque, l'ipotesi originale di Hebb, che in effetti asserisce che l'efficacia di una sinapsi e' incrementata da stimolazioni simultanee presinaptiche e postsinaptiche, e' insoddisafcente per almeno due ragioni : 1. le modifiche si manifestano in una sola direzione. 2. Dovrebbero verificarsi cambiamenti anche con attivita' di sottofondo (rumore). Percio', una possibilita' piu' naturale e' che la somma delle risorse sinaptiche di una cellula, durante un arco di tempo relativamente breve, sia approssimativamente costante, e che i cambiamenti siano indotti solo sulle efficacie relative delle sinapsi. Questo e' possibile se l'efficacia sinaptica e' principalmente determinata da uno o piu' fattori post-‐ sinaptici che sono ridistribuiti tra i siti sinaptici in proporzione al loro uso. Si noti che per la trasmissione sinaptica devono essere applicati vari agenti chimici ed energia. Le loro riserve sono pure limitate. Sembra dunque opportuno esprimere il principio delle risorse sinaptiche limitate
52
in una forma o nell'altra, non solo per ragioni fisiche, ma anche perche' sembra essere utile per il verificarsi di molti processi di apprendimento. Una delle piu' semplici espressioni analitiche, per cambiare l'efficacia sinaptica, deriva da dinamiche piuttosto semplici:
dµ/dt = α (ξ - ξ b )η
(4.6)
ove µ e' l'efficacia che corrisponde al peso in ingresso espresso in eq.(4.1) fino ad eq.(4.3), ξ e' l'ingresso presinaptico (frequenza di stimolazione del neurone presinaptico), ξ b e' un valore di sottofondo effettivo, η e' la frequenza di stimolazione postsinaptica, ed α e' una costante di proporzionalita' ( che dipende dal tipo e dalla collocazione della sinapsi). Si noti che tutte le sinapsi plastiche nel presente modello possono essere eccitatorie.
4.8 Dimostrazione della autoorganizzazione in reti di elementi di tipo neurone-‐simile. Ora ci occuperemo dei modelli fisici che sono stati costruiti per implementare i due processi parziali menzionati all'inizio: 1) raggruppamento di attivita' (clustering) (fase1), 2) adattamento dei pesi in ingresso (fase 2). Fase1. Invece di utilizzare procedimenti di integrazione di equazioni differenziali, sono state suggerite diverse semplificazioni per la
53
simulazione del processo dinamico. Il metodo piu' efficiente, che non porti a perdita di fedelta' nei confronti dei processi originali, e' stato quello di fare gli incrementi di ηi (t ) piuttosto grandi per ogni intervallo di t. E' stato ipotizzato che la soluzione in ciascun processo discriminatorio (passo di apprendimento) possa essere una qualche funzione statica degli impulsi di eccitazione φ i =
n
∑µ
ij
ξ j .
j =1
Un' alternativa semplice, sebbene non equivalente, e' quella di introdurre una soglia, definendo una funzione (floating bias) δ comune a tutte le unita', poi mettendo le equazioni di sistema in una forma in cui la soluzione e' determinata implicitamente:
⎡
⎤
ηi = σ ⎢φi + ∑ γ kη k − δ ⎥ ⎣
⎦
k∈Si
δ = m a x{ηi }− ε
(4.7)
(4.8)
i
La non linearita' σ [•] potrebbe essere simile a quella applicata in eq. (4.4) ed ε e' una costante positiva piccola. Forse il modello piu' semplice che possa essere considerato come fisico, prima applica una funzione a soglia dell'eccitazione in ingresso e poi consente che la retroazione locale, a breve raggio, amplifichi l'attivita' e si diffonda alle unita' vicine.
φi ' = σ [φi − δ ], δ = m a x{φi }− ε η i = ∑ γ φ k∈Si
' k k
i
(4.9)
Tutte le equazioni di sopra portano a raggruppamenti di attivita' simili. Fase2.
54
Le operazioni che si vuole che avvengano nel processo di autoorganizzazione dovrebbero essere tali da far ruotare i vettori dei pesi in ciascun passo di addestramento nella direzione opportuna. Una formulazione semplificata della legge di modificabilita' del tipo espresso in eq. (4.7). condurrebbe alla seguente espressione:
µij (t + 1) = µij (t ) + αη i (t )(ξ j − ξ b )
(4.10)
Questa comunque non coinvolge ancora nessuna normalizzazione. Percio' si deve evidenziare che l'eq (4.7) e' gia' una approssimazione; essa e' stata infatti derivata postulando che ∑ µij sia costante. Percio' una piu' accurata versione dell'eq. (4.10) e' la seguente: µij (t ) + αηi (t )(ξ j − ξ b ) µij (t + 1) = ( ) ( ) ( ) µ t + αη t ξ − ξ ∑ ij i j b j
[
(4.11)
]
in cui e' stata fatta una normalizzazione basata sulla conservazione delle risorse di memoria. Questo processo pero', oltre a ruotare i vettori mi, modifica anche la loro lunghezza. Per ovviare a cio' infine si applica la seguente legge di adattamento : µ ij (t ) + αη i (t )(ξ j − ξ b ) µ ij (t + 1) = 1/ 2 ⎧n ⎫ 2 ⎨∑ µ ij (t ) + αη i (t )(ξ j − ξ b ) ⎬ ⎩ j =1 ⎭
[
]
(4.12)
Nella parte terza della presente tesi sono mostrate una serie di simulazioni che evidenziano le effettive capacita' auto-‐organizzative delle reti costruite secondo gli algoritmi esposti.
55
Capitolo 5 Rete contropropagazione o Kohonen-‐Grossberg Veniamo ora a trattare un tipo di rete che potrebbe per certi versi avere una struttura simile a quella del sistema olfattivo.
5.1 Generalita' sulla rete contropropagazione La CPN e' stata inventata da Robert Hecht-‐Nielsen della omonima Neuro-‐ Computing Corporation. La rete e' stata sviluppata come un mezzo per sintetizzare funzioni complesse. Essa lavora come una tabella di ricerca, trovando in parallelo l'esempio piu' prossimo ed estraendo il suo mappaggio equivalente. Essa esegue la selezione da un insieme di esemplari, permettendo a loro di competere l'uno con l'altro. Gli ingressi normalizzati e la competizione tra gli esemplari selezionano il neurone piu' prossimo. Questo fornisce un metodo per la costruzione di un classificatore adattivo di pattern. Combinando il metodo di apprendimento di Kohonen (esposto in dettaglio nel cap.4) e il metodo di apprendimento di Grossberg, Robert Hecht-‐Nielsen [37] ha ottenuto un nuovo tipo di rete. Questa rete (CPN) funziona come una tabella di ricerca statistica autoprogrammata. Sebbene problemi di mappatura siano meglio risolti con l'uso di una rete BP (rete back-‐propagation), quelle applicazioni, in cui una struttura a tabella di ricerca e' desiderabile, possono essere realizzate, usando reti CPN. Tipicamente vengono generati un insieme di esempi (x1 , y1 ) ,
(x2 , y 2 ). . . in seguito alla applicazione di una funzione φ ove, yi = φ (xi ) oppure y i = φ (xi ) + n (ove n e' un processo stazionario di rumore). Questi esempi stabiliscono statisticamente la relazione ingresso/uscita desiderata. La CPN funziona come una tabella di ricerca statisticamente ottimale (nel senso di minimizzare una qualche funzione errore)
56
autoprogrammata per generare la mappatura dei dati con cui essa e' stata addestrata.
57
5.1.1 Struttura della rete di contropropagazione.
y1' vet. x x1
1
1 1 y2'
x2
2
xn
n
2
2
x1'
1
x2'
2
m
N
vet. y'
1 2
xn'
ym'
vet. y
m
y1 y2
ym
n vet. x'
strati: 1 2 3 4 5 Fig. 15 Architettura della rete Contropropagazione nella sua versione integrale composta di 5 strati
L'idea di base e' che, durante l' adattamento, coppie di vettori esempio (x, y) assunti di lunghezza unitaria, siano presentati nella rete agli strati 1 e 5, rispettivamente. Questi vettori poi si propagano attraverso la rete, secondo un flusso retrogrado, per originare i vettori in uscita x', y' che sono approssimazioni di x e y . Da cui il nome di contropropagazione. Come mostrato in fig. 15, i vettori x e y in ingresso sono applicati a ciascun PE dello strato 3 (i segnali delle uscite dei PE dello strato 3, di cui ve ne sono N, che sono etichettate con zi). Quando una coppia di vettori x e y e' presentata alla rete, i PE dello strato 3 competono l'uno con l'altro, come mostrato nella equazione di zi di sotto. Il PE con il piu' alto vettore medio delle correlazioni tra i pesi relativi a x e y (cioe' con il piu' alto valore di Ii) ha la propria uscita zi posta a uno. Tutti gli altri N-‐1 zi (uscite) sono poste a zero. In virtu' della forma della legge di cambiamento dei pesi dello strato 3 mostrato in eq. sotto, solo il PE sullo strato 3, che risulta meglio adattarsi, riceve l'ordine di aggiustare il suo vettore dei pesi, in risposta a ciascuna coppia di vettori in ingresso durante l'addestramento.
58
b g
Come mostrato da Kohonen, [28] i vettori dei pesi ui , v i dello strato 3 (che emergono come vettori unitari) si autoorganizzeranno in risposta alle coppie di vettori in ingresso, in modo che questi vettori avranno le seguenti proprieta' : 1) i vettori ui e vi rimarranno approssimativamente vettori unitari 2)i vettori dei pesi, (ui vi ) sarranno distribuiti sul prodotto cartesiano della sfera unitaria, in modo che la probabilita' di una data scelta casuale (x, y) ( i vettori x sono scelti in accordo con una funzione densita' di probabilita' ρ e questo fatto induce una densita' per i vettori y) sia uguale approssimativamente a 1/N. I vettori dei pesi ui e vi del PE, che vince nello strato 3, vengono mossi verso x e y, rispettivamente di una quantita' uguale alla frazione α della distanza tra di loro ed i loro obiettivi. Poiche' questi vettori sono tutti normalizzati, questi movimenti si verificano lungo direzioni che sono approssimativamente perpendicolari alle direzioni di ui e vi e non variano di molto la loro lunghezza. Cosi' i vettori dei pesi dei PE dello strato 3 vengono organizzati come un set di esempi delle relazioni tra i vettori x e y piu' o meno statisticamente ottimale . Si noti che la funzione φ e' invertibile, lo strato 3 sara' ugualmente sensibile sia alla mappatura
in avanti che a quella retrograda. Lo strato 1 e 5 sono di Fanin. Modificazioni dei pesi entro lo strato 3 si verificano in accordo con le due eq. (5.5) e (5.6) Per lo strato 2 valgono le seguenti eq. n
y i' = ∑ w ijz j
(5.1)
j=1
•
W ij = (-aWij + by i )z j
(5.2)
Ove Wij e' la matrice dei pesi tra lo strato di ingresso e gli strati 2 e 4. Invece i coefficienti a e b sono dei coefficienti che agiscono
59
sull'apprendimento variando l'influenza dei vecchi pesi e delle uscite desiderate. Per lo strato 4 si hanno equazioni analoghe a quelle per lo strato 2 ( x 'i in modo analogo a y 'i ) Per lo strato 3 valgono invece: ⎧1 se Ii > I j , ∀j zi = ⎨ 0 altrimenti ⎩
(5.3)
n
m
j=1
j=1
I i = ∑ u ijx j + ∑ vij y j = u i ∗ x + v i ∗ y
(5.4)
. •
u i = α (x − u i )z i
(5.5) (modifica dei pesi nello strato 3)
•
v i = β (y − v i )z i
(5.6) (modifica dei pesi nello strato 3)
Ove u i e v i sono i vettori dei pesi nello strato3; zi e' definito in eq. (5.3);
x e' il vettore in ingresso. Questa legge di Kohonen ruota i vettori piu' vicini a quello da mappare verso i vettori in ingresso. Questo movimento perpendicolare al vettore dei pesi ha l'effetto di mantenere il vettore approssimativamente normalizzato. Gli strati 2 e 4 della rete apprendono la media dei valori dei vettori x e y che si verificano quando ciascuno dei PE dello strato 3 vince la competizione. Una tale struttura e' chiamata un "outstar" ed e' stata inventata da Grossberg [27] . Grossberg ha mostrato che, se le costanti a e b delle equazioni di sopra, nello strato 2 e 4, sono poste entrambe a dei valori positivi minori di uno, i risultanti x' e y', emessi dagli strati 2 e 4, dopo equilibrio statistico (ossia un certo valore di errore stabilizzato), eguaglieranno approssimativamente il valore medio dei vettori x e y che hanno consentito che quel particolare
60
elemento, nello strato 3, vincesse la competizione in quello strato. Insomma, dopo che gli strati 3, 2 e 4 sono andati all'equilibrio, una coppia di vettori x e y fara' si' che la rete emetta vettori x' e y' che sono approssimativamente la coppia dei vettori dei pesi vincenti dello strato 3. Se una coppia, avente alcune componenti dei vettori x e y azzerati, e' introdotta in ingresso, la rete completera' la coppia e le uscite saranno approssimativamente le stesse come gli elementi del vettore dei pesi dello strato 3. Una variante della rete CPN e' la CPN "forward" che e' ideale per problemi in cui sono di interesse solo trasformazioni da x a y. La CPN qua descrittta e' inferiore alla BP per molti problemi di mappatura, ma ha il vantaggio di essere assai piu' semplice e piu' simile al modello fisiologico del sistema olfattivo per la presenza dello strato di Kohonen. Nella presente tesi abbiamo considerato un modello semplificato rispetto alla CPN completa, perche' avevamo bisogno di un qualcosa che, da una parte, somigliasse alla struttura del bulbo olfattivo e dall'altra potesse indicarci un mezzo semplice con cui effettuare il riconoscimento di patterns provenienti dai sensori olfattivi .
5.2 CPN in versione forward ( senza flusso retrogrado) Questa architettura [39] consiste di tre strati: Uno strato di ingresso contenente n unita' di fanout che semplicemente trasferiscono i segnali in ingresso x1, x2, . . . , xn, uno strato intermedio di Kohonen con n PE che danno i segnali di uscita z1, z2, . . . , zn ed uno strato finale di Grossberg con m segnali di uscita y1', y2', . . . . , ym'. Le uscite dallo strato di Grossberg hanno dei ('), perche' esse rappresentano delle approssimazioni alle componenti y1, y2, . . . , ym di y = φ(x). Durante il training questi valori corretti sono forniti alle unita' degli strati di
61
Grossberg dalle unita' in ingresso y dello strato 1 (vedi fig16 ). Le operazioni della rete sono costituite di due fasi successive: training e normal operation (sebbene queste possano verificarsi in simultanea). Durante il training la rete e' esposta ad esempi di vettori x. Si assume che i vettori x siano presi da Rn, in accordo con una funzione di densita' di probabilita' fissa ρ. Dopo che ciascun x e' stato selezionato, si determinano y = φ(x) o y =φ(x) + n (ove n e' un processo di rumore stazionario relativamente piccolo). Le reti CPN sono addestrate per mezzo di un addestramento supervisionato. Durante il training le equazioni della funzione di trasferimento per lo strato di Kohonen sono:
⎧1 se i è il più piccolo intero per cui è ⎪ (5.7) z i = ⎨ w iold − x ≤ w old j − x ∀j ⎪ 0 altrimenti ⎩
(
)
w inew = w iold + α x − w iold z i
(5.8)
Cosi' come e' mostrato dall'eq. (5.1), ogni volta che un vettore x e' sottoposto allo strato di ingresso, ciascun PE dello strato di Kohonen riceve tutte le sue componenti. Viene poi effettuata una competizione tra le unita' dello strato di Kohonen; a seguito di questa competizione, l'unita', il cui vettore dei pesi w i e' piu' vicino ad x, vince. Il segnale zi di uscita di questa unita' e' poi settato ad 1 e gli altri segnali di uscita sono posti a 0 (vedi eq 5.7). Una volta che il vincitore e' stato determinato, si aggiusta il suo vettore dei pesi w i sulla base dell' equazione (5.8), muovendolo in una nuova posizione w new di una frazione α, nella i direzione della linea che si estende dalla sua posizione presente w old i verso x. All'inizio dell'addestramento, α usualmente e' inizialmente
62
settato ad un valore tra 0.5 e 0.8. Mano a mano che il training procede, tale valore e' abbassato verso 0.1 o meno. Dopo un certo numero di iterazioni, i vettori w i si organizzano in R n , in un modo tale che essi siano approssimativamente equiprobabili per quanto riguarda la distribuzione nei confronti del vicino piu' prossimo in R n , in accordo con la funzione densita' di probabilita' ρ . In altri termini, dato un qualsiasi i, 1<=i<=N e dato un vettore x preso da R n in accordo con ρ , la probabilita' che x sia il piu' vicino a w i e' approssimativamente 1/N. Una volta che lo strato di Kohonen si e' stabilizzato (in altre parole i vettori w i si sono congelati, dopo aver raggiunto l'equiprobabilita',) lo strato di Grossberg comincia ad apprendere il corretto segnale di uscita y per ciascun vettore dei pesi w i dello strato di Kohonen. Le equazioni di questo strato sono:
y 'k =
N
∑u
old ki
z i
(5.9)
i =1
(
)
old old u new ki = u ki + α − u ki + y k z i
(5.10)
ove 0<α<1 e dove y k e' la k-‐esima componente di y (il vettore desiderato in uscita per l'ingresso x) .Nell'equazione (5.9) un solo elemento e' diverso da 0. L'equazione (5.10) fa si' che il peso uki , associato con l'unico ingresso non zero, che chiamiamo zi, divenga approssimativamente uguale alla media della k-‐esima componente y k dei vettori y che sono introdotti, quando questa particolare unita' di Kohonen vince la competizione sullo strato 2. In poche parole, dopo che e' stato raggiunto l'equilibrio dell'intera rete, il vettore di uscita y ' dello strato di Grossberg sara' approssimativamente φ (w i ) ove i e' l'indice del PE vincente dello strato di Kohonen. Cosi', dopo l'equilibrio, la rete funziona
63
essenzialmente come una tabella di ricerca con N entrate: approssimativamente (w1 ,φ (w1 )), (w2 ,φ (w2 )),..., (wn ,φ (wn )). Se si presenta un vettore in ingresso x, la rete trova il vettore w i che e' piu' vicino ad x e poi emette il valore y ' associato con questo vettore dei pesi. All'inizio dell'addestramento α e' posto a 0.1. Questo valore e' mantenuto fino a che lo stato di kohonen non si e' stabilizzato. Di li' in poi α e' ridotto a 0. Durante la normale operazione, la CPN puo' operare in modo interpolativo. In questa maniera piu' di un PE puo' vincere la competizione. Questi PE vincenti suddividono il segnale di uscita dell'unita' che formalmente si era concentrato nel segnale di uscita del singolo PE vincente: la divisione e' ordinariamente ottenuta, usando il criterio che le unita' con i loro vettori dei pesi, piu' prossimi ad x, ricevano le uscite maggiori. La somma degli zi rimane uguale a 1. Le unita' di Kohonen non vincenti avranno i segnali di uscita a zero. Il risultato dell'impiego dell'interpolazione e' che il vettore di uscita y diviene una miscela (una combinazione lineare) delle possibili uscite. Questo fatto conduce ad una maggiore accuratezza della approssimazione della mappatura.
5.3 Rete CPN Forward e sistema olfattivo
64
Fig. 16 Rete Contropropagazione in versione Forward Per mezzo del paradigma di Kohonen, presente nel primo strato di questa rete, e' stato possibile realizzare una struttura avente lo stesso ordine spaziale che si ritrova nello strato delle cellule mitrali. A questo livello viene riconosciuta la classe dell'odore e, per determinare l'odore effettivo, occorre svolgere una competizione. Nel sistema olfattivo naturale la competizione tra i neuroni adiacenti e' probabilmente svolta per mezzo di collegamenti in forma di cicli di retroazione, dovuti agli interneuroni (cellule periglomerulari e granuli). Il successivo strato di Grossberg realizza un meccanismo per il quale viene effettuata una semplice decodifica di cio' che e' stato mappato al livello di Kohonen.
5.4 Architettura CPN usata nelle simulazioni (vedi TERZA PARTE) Nelle nostre simulazioni useremo la versione a flusso unidirezionale in avanti (Forward). Inoltre abbiamo operato alcune modifiche al modello
65
di base, inserendo una serie di collegamenti inibitori tra i neuroni dello strato di Kohonen. Quindi abbiamo fatto in modo che uno stesso neurone si autoeccitasse con un peso unitario; il tutto e' stato effettuato per simulare uno dei probabili comportamenti causati dall'azione delle cellule periglomerulari e dei granuli (cellule inibitorie). Il risultato ottenuto e' stato quello di un notevole miglioramneto della velocita' di convergenza in fase di learning di un fattore pari a circa 30 (vedasi la terza parte della tesi) . La figura 16 mostra un disegno di una rete CPN operante in una sola direzione. Lo strato di ingresso agisce come un buffer. L' operazione della rete richiede che ogni vettore in ingresso abbia la stessa lunghezza ( i vettori in ingresso sono normalizzati). In altre parole: x = 1
(5.11)
x • x = 1
(5.12)
O dato che x1 , x 2 ,...x n sono le componenti di x , allora:
x1 ∗ x1 + x 2 ∗ x 2 + ... + xn ∗ xn = 1
(5.13)
quando questa richiesta sara' soddisfatta, tutti i vettori in ingresso x giaceranno sulla sfera unitaria. Lo strato di Kohonen agisce come un classificatore del vicino piu' prossimo. I PE in questo strato competono. Quello con le uscite piu' alte vince. La regola di apprendimento di Kohonen e': Wi' = Wi + α (x − Wi )
66
(5.14)
α e' il tasso di apprendimento. 0 < α < < 1.
A(X-W) X-W W
X
Fig. 17 Apprendimento di Kohonen espresso in forma vettoriale
Come e' mostrato in figura di sopra, questo significa che i vettori W tenderanno a ruotare attorno alla sfera unitaria, finche' essi non creeranno l' uscita massima . In forma vettoriale, l'uscita I del PE ( prima della competizione) e': I = W • x
(5.15)
Questo prodotto interno ( prodotto punto ) e' quindi: I = W ∗ x cos ( t)
(5.16)
Poiche' la lunghezza di entrambi i vettori dei pesi W ed il vettore in ingresso x vale 1 (equazione 5.11 e 5.14 ) l'equazione (5.16) si riduce a :
67
I = cos ( t)
(5.17)
Lo strato di Kohonen misura il coseno dell'angolo tra il vettore in ingresso x ed il vettore dei pesi W. Il PE con il vettore dei pesi piu' prossimo ( con il piu' piccolo angolo t) ha l'uscita piu' alta e vince. Cio' che effettivamente avviene, mentre si verifica l'apprendimento, e' che i PE nello strato competitivo aggiustano i loro vettori dei pesi, per dividere lo spazio in ingresso, in un modo corrispondente alla frequenza con cui si presentano gli ingressi. Lo strato di uscita usa un 'Grossberg Outstar'. Questo e' un strato che impara a produrre una certa uscita, quando un particolare ingresso e' applicato. Poiche' lo strato di Kohonen produce solo una singola uscita ( attraverso la competizione), questo strato provvede un modo di decodificare quell'ingresso in una classe di uscita. Ricordiamo che la regola di apprendimento di Widrow-‐Hoff usata nel "Grossberg-‐Outstar e': Wij' = Wij + α ∗ x j ∗ (di − x i )
(5.18)
Ove Wij e' ancora la solita matrice dei pesi, xi sono gli ingressi allo strato, α e' un coefficiente di apprendimento, di e' l'uscita desiderata e infine Wij' e' il nuovo vettore dei pesi dopo l'apprendimento. Poiche' solo una uscita alla volta xj dallo strato competitivo e' attiva e tutte le altre sono 0, l'unico peso aggiustato per il PE i-‐esimo, e' quello connesso al PE vincitore j-‐esimo nello strato competitivo. In questo modo lo strato di uscita impara a riprodurre una certa forma per ciascun PE attivo nello strato competitivo.
68
Capitolo 6 La rete Hamming
6.1 Generalita' Una rete Hamming [27] realizza, in forma di rete neuronale, un classificatore a errore minimo per vettori binari, dove l'errore e' definito usando la distanza di Hamming . In un classificatore ad errore minimo, le classi sono definite per mezzo di vettori esemplari. I vettori in ingresso sono poi assegnati alla classe per cui la distanza tra il vettore esemplare ed il vettore in ingresso e' minima. La distanza di Hamming e' un modo per misurare la distanza tra due vettori binari ed e' definita come il numero di bit nel vettore di ingresso che non eguagliano i corrispondenti bit nel vettore esemplare. Un classificatore ad errore minimo e' un insieme di esemplari o prototipi di vettori che definisce le differenti categorie della classificazione. Per esempio, se consideriamo un insieme di esemplari (vettori bipolari costituiti da +1 e -‐1) rappresentanti le categorie C1, C2, C3 e C4, il vettore in ingresso, di cui non si conosce la classificazione, e' assegnato alla categoria il cui vettore esemplare e' piu' prossimo nel senso della distanza di Hamming al vettore in ingresso. Come precedentemente accennato, uno schema di questo tipo sembra assai adatto per implementare un riconoscitore di odori, dove le classi dei prototipi saranno appunto pattern di odori di riferimento ed i vettori in ingresso saranno odori sconosciuti . Lippmann ha comparato le reti di Hamming e le reti di Hopfield dal punto di vista dei risultati e della capacita' computazionali. Poiche' la rete Hamming classifica in modo ottimo vettori binari, quando gli errori sui bit sono indipendenti e casuali, una rete di Hopfield non puo' fare niente
69
di meglio in una tale situazione. Per quanto riguarda la sua capacita' ( il numero di esemplari che essa puo' memorizzare), una rete di Hopfield con N ingressi ha:
C Hop = N ∗ (N − 1)
(6.1)
connessioni ed ha limitata capacita' dipendente da N che Lippmann ha stimato si approssimi asintoticamente a:
0.5 ∗ N/log(N)
(6.2)
al crescere di N. La capacita' della rete Hamming non e' dipendente dal numero delle componenti del vettore in ingresso, ma dal numero di elementi M nel suo strato delle categorie che e' indipendente da N. Questa capacita' e' data da:
C Ham = M ∗ (N + 1)
(6.3)
Per esempio una rete di Hopfield con 100 componenti in ingresso potrebbe contenere 10 esemplari e richiede quasi 10000 connessioni. La rete Hamming equivalente richiede solo 1100 connessioni. Una rete Hamming con 10000 connessioni e 100 componenti in ingresso potrebbe contenere quasi 100 esemplari.
70
6.2 Architettura della rete ed equazioni:
strato di uscita strato delle categorie pesi negativi piccoli -e W ji totalmente connesso
BIAS
pesi unitari strato di ingresso
(input costante)
Fig. 18 Rete Hamming composta di 3 strati Una rete Hamming ha 3 strati: uno strato in ingresso con N PE, uno strato delle categorie con M PE ed uno strato di uscita. Ciascun PE, nello strato della categorie, rappresenta una differente categoria, che e' rappresentata da un vettore esemplare (o archetipo) , codificato nei pesi delle sue connessioni. Questi pesi sono sistemati nella fase di apprendimento con un'unica iterazione nel modo sotto illustrato: Siano
x j = (x1j , x 2j ,..., x nj ) con j = 1, . . . , M i vettori di M esemplari usati per definire le categorie. Si assuma che le componenti x ij di x j prendano i valori -‐1.0 o 1.0 Allora la fase di apprendimento consiste nell' aggiustamento dei pesi per avere:
71
w ji = x ij / 2.0 i = 1, . . . , N , j
= 1, . . . , M
(6.4)
w j0 = N / 2.0 j = 1, . . . , M
(6.5)
ove wji e' il peso della connessione dal PE i-‐esimo nello strato in ingresso al PE j-‐esimo nello strato delle categorie, wj0 e' il peso della connessione dalla costante in ingresso al PE j-‐esimo nello strato delle categorie.
6.3 Recupero dell'informazione. Durante il recupero (recall), un vettore in ingresso viene elaborato attraverso questi pesi nel modo bottom-‐up standard e combinato con il termine di polarizzazione (costante) per produrre il seguente ingresso al PE j-‐esimo nello strato delle categorie: N
I j = ∑ (w ji x i ) j = 1,..., M
(6.6)
i =0
dove x = (x1 , x 2 ,..., x N )
(6.7)
e' il vettore in ingresso che, come gli esemplari, ha componenti che prendono i valori -‐1.0 o 1.0 Dalle equazioni (6.5), (6.6), (6.7) segue:
72
N
I j = 0.5 ∗ (∑ (x ij x i ) + N) j = 1,..., M
(6.8)
i =0
poiche' x ij ed x i assumono solo i valori -‐1.0 o 1.0, l'equazione (6.8) puo' essere riscritta come: I j = 0.5 ∗ (Naj − Ndj + N) j = 1,..., M
(6.9)
dove N aj e' il numero di bit per cui x e x j si accordano ed N dj numero di bit ove x ed x j sono in disaccordo. Ma N = N aj + N dj j = 1, . . . , M
(6.10)
cosi' la (6.10) puo essere riscritta come:
(
(
) )
I j = 0.5 ∗ Naj − N − Naj + N = N aj j = 1,..., M
(6.11)
= N -‐ N dj j = 1, . . . , M
(6.12)
Le equazioni (6.11) e (6.12) indicano che il filtro bottom-‐up tra lo strato in ingresso e lo strato delle categorie calcola N meno la distanza di Hamming o, detto in altro modo, il numero di bit in cui il vettore in ingresso e l'esemplare si accordano. La funzione di trasferimento dello strato delle categorie e' la funzione di trasferimento del perceptrone Tp :
73
⎧ I se (I > 0.0 ) Tp (I ) = ⎨ ⎩0.0 se (I ≤ 0.0 )
(6.13)
Il PE con lo stato iniziale piu' grande sara' quello a cui corrisponde l'esemplare che ha la piu' piccola distanza di Hamming dal vettore di ingresso. Lo strato delle categorie e' uno strato competitivo in cui il PE con la piu' grande attivita' vince. Questo meccanismo puo' essere implementato in un modo iterativo attraverso un sistema di inibizioni laterali molto simile a quello che si ipotizza sia presente a livello del bulbo olfattivo e che potrebbe essere implementato dalle cellule periglomerulari e/o dai granuli. Ciascun nodo j e' lateralmente connesso a ciascun altro nodo k nello strato attraverso una connessione di intensita' fissata
⎧ 1.0 se (k = j ) l kj = ⎨ ⎩− e se (k ≠ j 0.0 < e < 1.0/M )
(6.14)
Vediamo ora di descrivere la competizione attraverso l'inibizione laterale. Posto che gli y j (t ) rappresentino l'uscita del j-‐esimo PE nello strato delle categorie alla t-‐esima iterazione della competizione e che come segue dalla equazione (6.13), lo strato delle categorie sia inizializzato come:
y j (0 ) = Tp (I j )
(6.15)
dopo l'inizializzazione dello strato delle categorie, lo stimolo viene rimosso dallo strato in ingresso e lo strato delle categorie viene lasciato iterare fino alla stabilizzazione. Alla t-‐esima iterazione , l'uscita del j-‐ esimo PE e':
74
⎛ ⎞ y j (t ) = Tp ⎜⎜ y j (t - 1) - e ∗ ∑ y k (t - 1) ⎟⎟ k≠ j ⎝ ⎠
(6.16)
si puo' dimostrare che questa equazione converge ad uno stato, dove solo un PE nello strato e' attivo; questo PE e' quello che aveva il piu' grande valore dello stato iniziale. Lo strato delle categorie e' connesso allo strato di uscita, in modo uno a uno, attraverso connessioni di peso fissato 1.0. Lo strato di uscita usa una funzione a gradino come funzione di trasferimento e cosi' solo i PE, nello strato di uscita, hanno valore di 0.0 o 1.0; quando viene raggiunta la convergenza della competizione, solo il PE vincitore e' attivo nello strato di uscita.
75
Capitolo 7
Teoria della risonanza adattiva (A.R.T.)
7.1 Introduzione
Veniamo ora a trattare degli studi compiuti da Grossberg su di un particolare tipo di reti neurali (ART) che potrebbero forse un giorno portare alla costruzione di una teoria unificatoria del funzionamento della corteccia e forse dell'intero cervello. La teoria ART si e' dimostrata capace, oltre che di spiegare molti fenomeni presenti nel cervello e da tempo conosciuti, anche di fare previsioni di comportamenti che hanno trovato verifiche sperimentali a livello neurofisiologico. In particolare ci occuperemo della connessione tra modelli ART e studi sulla corteccia olfattiva del gatto.
7.2 Rete ART: generalita' . 7.2.1 Organizzazione di codici di riconoscimento neurale. Uno dei problemi fondamentali della percezione e della scienza cognitiva riguarda la caratterizzazione di come gli esseri umani scoprono, apprendono e riconoscono proprieta' invarianti dell'ambiente che li circonda. Quando tali codici di riconoscimento emergono spontaneamente attraverso una interazione individuale con un ambiente, si dice che i processi danno origine ad autoorganizzazione. S.Grossberg [41] ha sviluppato una teoria che spiega come i codici di riconoscimento vengano auto-‐organizzati da una classe di reti neuronali. Le caratteristiche qualitative di queste reti sono state usate per analizzare dati riguardanti la percezione del parlato, il riconoscimento
76
della parola scritta, la percezione visiva, la codifica olfattiva , i potenziali evocati, le interazioni talamocorticali etc. 7.2.2 Plasticita' ogni sistema che generi codici di riconoscimento deve essere capace di farlo adattivamente in risposta ad una serie di stimoli ambientali. 7.2.3 Stabilita' I codici appresi sono dinamicamente immagazzinati e non devono venire alterati da ingressi irrilevanti. 7.2.4 Il dilemma Stabilita'-Plasticita' Un sistema di questo tipo deve essere capace di adattarsi dinamicamente alle necessita' ora di apprendere nuovi codici ora di mantenersi stabile, se arrivano ingressi che non siano significativi. Un sistema ART e' capace di distinguere tra eventi familiari e non familiari cosi' come tra eventi attesi e inattesi. Gli eventi familiari sono elaborati da parte di un sottosistema attenzionale. Questo sottosistema e' pero' da solo incapace di creare nuove categorie per forme non familiari. Il secondo sottosistema e' un sistema di orientamento che resetta il sottosistema attenzionale, quando si verifica un evento non familiare. Il sottosistema di orientamento e' essenziale, per esprimere se una forma nuova e' familiare e ben rappresentata da un codice di riconoscimento esistente. La Fig. 19 illustra tale architettura. 7.2.5 Il ruolo dell' attenzione nell'apprendimento In un sistema ART, i meccanismi attenzionali svolgono un ruolo preminente nella auto-‐stabilizzazione dell'apprendimento di un codice di
77
riconoscimento che va sviluppandosi. Vi sono 4 tipi di meccanismi attenzionali: l'iniezione attenzionale (innescamento o priming) , il controllo del guadagno attenzionale, la vigilanza attenzionale e la competizione intermodale. 7.2.6 Complessita' Un sistema ART riorganizza dinamicamente i suoi codici di riconoscimento per preservare il suo bilanciamento tra stabilita' e plasticita', mano a mano che la sua rappresentazione interna diviene piu' complessa e differenziata durante l'apprendimento. A differenza di molti altri modelli alternativi, tale modello consente l'impiego di forme binarie di arbitraria complessita'. In particolare essa non pone vincoli di ortogonalita' o di indipendenza lineare ai suoi vettori in ingresso. Il modello puo' immagazzinare quante forme si vuole con un numero arbitrario di ingressi.
7.3 ART e codifica olfattiva Secondo Grossberg [42] qualsiasi forma di sviluppo di codice (tipo il problema della codifica degli odori) o apprendimento non puo' essere separato dai processi di feedback che sono messi in relazione con l'attenzione. Il feedback e' essenziale per stabilizzare il codice che va sviluppandosi. Come puo' un errore nella codifica venire corretto, se nessuna cellula individualmente sa cio' che si e' verificato ? (i codici degli odori sono tra F1 e F2). C'e' una relazione tra porre attenzione ad un qualcosa e la sua codifica in LTM (Long Term Memory). Le risonanze adattive sono le unita' funzionali della codifica cognitiva. Vediamo alcuni possibili schemi di sistemi risonanti e predizioni concernenti la ART, che
78
suggeriscono la ragione del verificarsi del fenomeno della risonanza, come viene descritto dal lavoro di Freeman e da Grossberg [43] [44]. Freeman ha scoperto un fenomeno di risonanza svolgendo esperimenti con elettrodi posti in parallelo sulla corteccia prepiriforme del gatto. Quando il gatto annusa un profumo atteso (ossia un profumo per il quale il gatto e' stato condizionato nel senso Pavloviano del termine), i suoi potenziali corticali vengono amplificati, fino a che si innesca una oscillazione sincronizzata di attivita' attraverso il tessuto corticale stesso. L'oscillazione organizza l'attivita' corticale in una sequenza temporale di forme spaziali. Le forme spaziali di attivita', attraverso le cellule corticali, trasportano il codice olfattivo. Viceversa, quando il gatto annusa un odore inaspettato, allora l'attivita' corticale viene marcatamente soppressa. Freeman ha tracciato la differenza nell' attivita' corticale, dopo profumi aspettati contro quella che si manifesta, dopo odori inaspettati, per registrare cambiamenti entro il tessuto corticale. Freeman ha notato una tendenza per le popolazioni di neuroni piu' attive a portare in fase popolazioni meno attive. Poiche' la corteccia oscilla, Freeman ha creato un modello con i suoi dati, usando equazioni differenziali del secondo ordine, i cui coefficienti sono cambiati dalle aspettative, in una maniera che viene stabilita qualitativamente , ma non e' analiticamente spiegata dal suo modello. Grossberg invece suggerisce che le oscillazioni siano causate da feedback tra cellule che obbediscono ad equazioni differenziali del primo ordine, i cui guadagni sono cambiati da segnali accoppiati a particolari meccanismi. Grossberg [45] propone l'idea che la risonanza adattiva si verifichi anche in tessuti non neurali, ove essa e' ritenuta essere il principio universale di base per lo sviluppo di un meccanismo universale di codifica anche in processi biologici diversi da quelli neuronali, come ad esempio nella formazione del sincitio durante la gastrulazione del riccio di mare.
79
7.4 Reti ART in dettaglio Oltre ad essere biologicamente plausibile l'ART [41] riconosce che la maggior parte delle forme di apprendimento si verifica senza l'aiuto di un insegnante. Una rete ART, in sostanza, si comporta come un classificatore e riconoscitore di forme in ingresso, senza avere un insegnante omnisciente. Piu' precisamente una rete ART contiene un modello implicito della realta', e questo modello sostituisce l'insegnante. Una rete ART scopre da sola, in tempo reale, caratteristiche invarianti cruciali per la classificazione di forme presentate in ingresso. In realta' ci sono vari tipi di ART: ART1 ( per classificare forme binarie in ingresso ) ed ART2 per forme analogiche e ART3 (che spiega i meccanismi sinaptici). Nel seguito ci riferiremo ad ART1.
7.5 Modo di operare di una rete ART.
80
IL CUORE DELLA A.R.T. IL SISTEMA ATTENZIONALE xj
strato delle categorie the winner take all (memoria a lungo) termine LTM
F2
filtro adattivo (h(xi)) xi memoria a breve (STM)(pattern di attivita') termine vm rivelatori di caratteristiche
F1 v1 I1 stimolo in ingresso
Im
Fig. 19 Sistema attenzionale di una rete ART. Si confronti tale figura con la descrizione del modello di sistema olfattivo biologico. Come illustrato in Fig. 19 il cuore di una rete ART consiste di due strati interconnessi di neuroni, F1 ed F2 (i codici degli odori sono tra F1 e F2) i quali comprendono il sistema attenzionale. L'ingresso conduce ad attivita' nei neuroni rivelatori di caratteristiche nello strato F1 . Questa attivita' passa attraverso (connessioni) le sinapsi ai neuroni in F2. Ciascun neurone in F2 riceve il suo ingresso da tutti i neuroni in F1 e risponde. Inoltre, in una versione della ART, i neuroni nello strato F2 competono l'uno con l'altro, in modo che ad ogni istante, al massimo un neurone e' attivo ( il vincitore prende tutto). Se per esempio la forma rappresentava una visione punto a punto di una lettera stampata, una scelta possibile per i neuroni nello strato F1 sarebbe stata quella di assegnare un neurone per ogni pixel. Se la forma in ingresso avesse riguardato un odore, come l'odore del vino, allora una scelta naturale sarebbe stata un neurone dello strato F1 per ciascuna caratteristica fondamentale, per esempio dolciastro , aspro etc. Vediamo come la rete risulta organizzata durante l'apprendimento.
81
Consideriamo dapprima una rete che ha gia' imparato qualcosa. In questo caso lo stimolo in ingresso porta ad una certa attivita' nei neuroni dello strato F1, i neuroni di rivelazione delle caratteristiche. Tale attivita' rappresenta la memoria a breve termine, poiche' i neuroni ritornano indietro rapidamente al loro stato quiescente, dopo che lo stimolo e ' stato rimosso. L'attivita' nei neuroni dello strato F1 porta all' attivita', attraverso le interconnessioni e le sinapsi, dei neuroni in F2. L'insieme delle interconnessioni tra F1 ed F2 e' un filtro adattivo, (i codici degli odori sono tra F1 e F2) poiche' esso trasforma in modo adattivo l'attivita' in F1 in un insieme di ingressi ad F2. Ciascun neurone di F2 rappresenta una categoria differente. Nell'esempio sull'odore del vino ciascun nodo potrebbe rappresentare qualche caratteristica del vino, per esempio : buono o cattivo etc. Nella nostra applicazione, sul riconoscimento di specie alcoliche (vedi terza parte), si desidera una rappresentazione mediante categorie, cioe' ciascun modello in ingresso viene classificato come appartenente ad una ed una sola categoria. Per ottenere questo, i neuroni in una ART, nello strato F2, competono l'uno con l'altro, attraverso connessioni inibitorie intralivello, dando origine ad una rete, in cui il vincitore prende tutto. Solo il neurone piu' attivo rimane attivo, tutti gli altri neuroni vengono disattivati. La rete cosi' descritta ha pero' problemi di instabilita' (perdita di informazione gia' appresa). Per risolvere il problema della stabilita' occorre una architettura piu' sofisticata. ART ottiene questo risultato mediante l'innescamento attenzionale (top_down priming). Come si vede dalla figura, l'attivita', nel secondo nodo F2, rinforza l'attivita' nel primo e terzo nodo di F1. In generale ciascun neurone in F1 e' connesso a ciascun neurone in F2 per mezzo di un collegamento dal basso verso l'alto (bottom-‐up), e ciascun neurone in F2 e' connesso a ciascun neurone in F1, mediante un collegamento dall'alto verso il basso
82
(top-‐down). Il segnale dall'alto al basso rappresenta un insieme di caratteristiche critiche nella categoria. Ciascun neurone in F1 potrebbe ricevere due attivita', una dovuta al collegamento dal basso all'alto e l'altra dovuta al collegamento opposto. Durante il recall e la categorizzazione, lo scambio di informazioni, nei due versi detti, conduce alla risonanza nell' attivita' neuronale. Caratteristiche critiche in F1 sono rinforzate ed hanno la maggiore attivita'. 7.5.1 Apprendimento. Vediamo adesso come la rete si organizza per dare origine alla memorizzazione a lungo termine (LTM). Nella ART la memoria a lungo termine e' codificata sia attraverso i pesi nei collegamenti dal basso all'alto che in direzione opposta. L'apprendimento si verifica quando questi pesi sinaptici vengono cambiati in risposta alla presentazione di modelli in ingresso. Brevemente, una sinapsi nel filtro adattivo dall'alto al basso si approssimera' ad una forza di 1.0, se essa collega due neuroni attivi. Se entrambi i neuroni sono inattivi, essa rimarra' invariata. Se il neurone presinaptico in F2 e' attivo, ma il postsinaptico in F1 non lo e' , allora il peso sinaptico decade verso lo 0 (decadimento associativo). La regola di apprendimento per il filtro adattivo dal basso all'alto e' simile a quella appena illustrata, eccetto nel caso che entrambi i neuroni siano attivi. In questo caso il peso sinaptico viene incrementato, ma non ad un valore di 1. Invece i neuroni al livello F2 post-‐sinaptico competono e cosi' raggiungono un valore dipendente dal numero di neuroni attivi. Piu' grande e' il numero di neuroni presinaptici attivi, minore sara' la forza asintotica che ciascuna sinapsi raggiungera'. Questa regola di apprendimento viene chiamata regola di Weber. Tali regole di
83
apprendimento sinaptico sono non hebbiane, in virtu' del decadimento associativo e della competizione sinaptica. 7.5.2 Conseguenze dell' ipotesi del Top-Down. La rete attenzionale descritta ha pero' il problema che la risonanza puo' essere ottenuta in questo sistema anche senza nessun ingresso. Questo fatto e' come una allucinazione e non puo' essere tollerata. Vediamo come si manifesta. Quando c'e' un ingresso presente, ci aspettiamo che i neuroni dello strato F1 siano attivi. Supponiamo che non ci sia nessun ingresso presente, ma che ci sia un neurone F2 attivo ( tale attivita' potrebbe derivare da stadi neuronali piu' alti e potrebbe rappresentare una anticipazione di un particolare modello). L'attivita' nel neurone F2 potrebbe portare attraverso il filtro top-‐down ad una forma di attivita' in F1; questa forma potrebbe poi rinforzare l'attivita' di F2 e cosi' si avrebbe la risonanza, anche senza un pattern in ingresso. 7.5.3 Controllo del guadagno. La rete ART ha un sottosistema : l'unita' di controllo del guadagno attenzionale, che previene che segnali top-‐down da soli possano portare ad attivita' nello strato F1. Per tutto il tempo in cui l'ingresso e' presente, il guadagno e' alto. Se non c'e' nessuno stimolo in ingresso, ma solo lo strato F2 e' attivo, allora il guadagno sara' basso e cosi' solo una piccola attivita' subliminale in F1 puo' avere luogo. Il sistema di controllo del guadagno ha 3 ingressi ed una sola uscita. Gli ingressi sono: 1. lo stimolo in ingresso stesso (eccitatorio). 2. Il segnale di attivita' da F2 (inibitorio).
84
3. Inibizione intermodale. L'uscita del controllo di guadagno agisce come un guadagno complessivo o segnale di amplificazione per l'attivita' di F1. Se all'inizio non e' presente nessun ingresso, ma c'e' attivita' in un neurone di F2, il controllo di guadagno ha un ingresso inibitorio non centrato con il risultato di avere una piccola o nessuna uscita. Cosi' il guadagno in F1 sara' basso e non si potra' verificare risonanza. D'altra parte, se c'e' uno stimolo in ingresso, l'unita' di controllo del guadagno sara' stimolata; il guadagno in F1 sara' alto e ci sara' attivita' in F1. Questo comportamento puo' essere cosi' espresso: almeno due fra tre ingressi ad un neurone F1 devono essere attivi, affinche' il neurone di F1 diventi attivo a livello "cosciente" (superliminalmente) (regola dei 2/3).
85
7.5.4 Inibizione intermodale. Per capire tale meccanismo (vedi fig. 20), si puo' considerare il modo in cui una persona e' capace di concentrare la propria attenzione su un certo particolare, trascurando invece altri segnali non importanti che riceve. Ad esempio mentre uno cammina, puo' concentrarsi sul parlare con un'altra persona, senza curarsi delle persone che incrocia per la strada. Tale tipo di comportamento e' duplicato in ART, mediante un segnale di inibizione intermodale in ingresso all' unita' di controllo del guadagno. La persona con cui sta parlando, richiamando l'attenzione, inibisce il controllo del guadagno nella percezione dell'immagine delle altre persone. In generale , l' inibizione intermodale aiuta a restringere i segnali agli stadi piu' alti della comprensione, prevenendo in questo modo sovraccarichi cognitivi.
sottosistema attenzionale F2
inibizione intermodale controllo di guadagno
F1
ingresso
Fig. 20. Sottosistema attenzionale. Il controllo del guadagno consente ad F1 di distinguere tra i segnali puramente bottom-‐up e quelli top-‐down.
86
7.5.5 Il rivelatore di novita' Il sistema ART ha una sottorete , il sotto sistema di orientamento (vedi fig. 21), che agisce come un rivelatore di novita'. Questo sottosistema e' piuttosto semplice; ha solo due ingressi ed una sola uscita. I due ingressi sono costituiti dai dati stessi in ingresso e dalla attivita' complessiva in F1. Lo stimolo in ingresso e' collegato al sottosistema di orientamento con una connessione eccitatoria. Il livello di attivita' di F1 e' comunicato al sottosistema di orientamento attraverso una connessione inibitoria. La singola uscita va ad F2 ed e' un' onda di reset. Il sistema di orientamento agisce come un rivelatore di novita', inviando un'onda di reset a F2, qualora il modello di attivita' in F1, prodotto dal modello in ingresso, differisca significativamente da quello causato dalla lettura top-‐down di un neurone dello strato di categorizzazione F2. Il sistema di orientamente opera nel seguente modo: la presentazione di un modello in ingresso conduce ad eccitazione nel sistema di orientamento , attraverso le connessioni mostrate in figura 21.
sottosistema attenzionale F2
inibizione intermodale controllo di guadagno
sottosistema di orientamento
F1
ingresso il controllo del guadagno consente ad F1 di distinguere tra i segnali puramente bottom-up e quelli top-down
Fig. 21. Sottosistema di orientamento con l'onda di reset.
87
onda di reset
Quando i nodi in F1 sono attivi, ciascuno di essi invia un segnale inibitorio al sistema di orientamento. In circostanze normali questa inibizione al sistema di orientamento supera l'eccitazione, ed il sistema rimane inattivo. Ma supponiamo che un nuovo modello si presenti alla rete, un modello che differisca significativamente da quelli precedentemente illustrati. Il nuovo modello puo' condividere solo poche caratteristiche con le forme in ingresso presentate in precedenza e precedentemente codificate. Quando e' presente questo stimolo, porta alla attivazione di un neurone di F2 corrispondente ad una vecchia categoria, che condivide poche delle caratteristiche del modello in ingresso. Questo e' il massimo che puo' fare il sistema di attenzione da solo. Noi ovviamente vogliamo che uno stimolo in ingresso differente non sia categorizzato tra quelli gia' visti. Ecco dove interviene il sistema di orientamento. Il neurone di F2 che e' stato attivato, corrispondente alla vecchia categoria, porta attraverso il filtro top-‐down alla attivita' in F1. Dunque c'e' una grossa discrepanza (mismatch) a livello di F1 tra il segnale top-‐down e lo stimolo del modello in ingresso. L'attivita' in F1 diminuisce. Gli ingressi inibitori da F1 al sistema di orientamento sono superati dall'eccitazione prodotta dal pattern in ingresso che rende attivo il sistema di orientamento. Il sistema di orientamento segnala che c'e' uno stimolo, ma poiche' non c'e' una forte risonanza in F1, l'ingresso deve rappresentare un nuovo modello. Una volta che e' stato rivelato che il modello dello stimolo in ingresso e' nuovo, il sistema di orientamento deve impedire che i neuroni delle categorie precedentemente organizzate in F2 apprendano il nuovo modello, altrimenti la categoria diverra' crescentemente diffusa e non specifica. Per prevenire una tale forma di degradazione, il sistema di orientamento, quando e' attivo, invia un forte segnale ad F2 (onda di reset della memoria a breve termine) che interrompe durevolmente l'attivita' in ogni neurone di F2
88
che e' attivo. Il sistema di orientamento segnala cosi' a quel nodo di F2 che esso non puo' rappresentare la categoria corretta per questo modello, poiche' il suo schema top-‐down non concorda con il modello in ingresso. Una volta che l'attivita' del nodo di F2, precedentemente attivato, e' stata soppressa dall'onda di reset, il modello in ingresso puo' condurre ad attivita' in F1 di nuovo e la rete si rimette cosi' a cercare di far diventare attivo un altro neurone. Se un altro nodo diviene attivo, allora quel nodo diverra' la codifica del modello in ingresso. Altrimenti, tutti i nodi precedentemente attivi vanno in quiescenza ed un nuovo neurone in F2 puo' divenire attivo, definendo percio' una nuova categoria. Se tutti i nodi dello strato F2 sono tenuti a riposo, la capacita' di memorizzazione della rete si considera esaurita, e cosi' la rete non codifichera' la nuova forma in ingresso. In questo modo la rete e' protetta dalla degradazione dell'informazione. 7.5.6 Parametro di vigilanza.
Il sistema di orientamento della ART ha un solo parametro definito parametro di vigilanza che indica il grado di discrepanza (mismatch) al livello di F1 che puo' essere tollerato prima che il sistema di orientamento invii l'onda di reset. 7.5.7 Equazioni della rete ART1 Le equazioni riguardanti la memoria a breve termine, che governano il funzionamento di ciascun neurone in F1 e F2 ( chiamate talora equazioni
89
della membrana, poiche' esse ricordano le equazioni di Hodkin e Huxley che descrivono le attivita' nelle membrane neurali) sono:
ε
dx i = − x i + (1 − Ax i )J i+ − (1 − Bx i )J i− dt
(7.1)
ove
J i+ = e
J i− =
∑ w f(x ) + I
(7.2)
∑ w f(x )
(7.3)
ij
j∈(G E )
j∈G I
ij
j
j
i
sono gli ingressi eccitatori ed inibitori al neurone i-‐esimo; GE e GI rappresentano l'insieme di neuroni connessi per mezzo di sinapsi eccitatorie ed inibitorie al neurone i-‐esimo; wij e' la forza sinaptica che unisce il neurone i al neurone j. L'insieme GE includera' il neurone in questione; tipicamente c'e' auto-‐feedback. La funzione f(xi) e' una funzione di campionamento (sampling), la cui forma e' scelta in modo da essere una funzione non lineare compressiva con saturazione. I pesi sinaptici obbediscono ad una equazione di apprendimento della forma:
dw ij dt
[
]
= Kf(x j ) − E ijw ij + h(x i )
(7.4)
h(x i ) e' una funzione di campionamento.
Ammettendo che ε sia molto piccola, insieme con la richesta della regola di Weber e la legge del decadimento associativo, tutte queste equazioni in pratica si riducono alla seguente descrizione:
90
1. Gli ingressi {Ii } sono binari. Sia I l'insieme dei nodi di ingresso attivi cioe':
se (i ∈ I) ⎧1 Ii = ⎨ 0 altrimenti ⎩ 2. Attivazione di F1: Supponiamo che X sia l'insieme di nodi F1 attivi. Allora:
⎧ I se F2 ha tutti i nodi inattivi X=⎨ (j) ⎩I ∩ V se il nodo v j di F2 è attivo Ove V ( j ) e' l'insieme degli ingressi top-‐down ad F1 attivi. 3. Attivazione di F2: Solo un nodo di F2 alla volta e' attivo. In altre parole lo strato F2 e' uno strato competitivo. Comunque, i nodi vincenti possono essere resettati e poi essi rimarranno inattivi per il seguito del corrente tentativo di apprendimento. Supponiamo che J sia l'insieme di nodi di F2 che non sono ancora stati resettati durante il corrente tentativo di apprendimento e sia:
Tk =
∑w
ji
xi =
iex
allora x j e' attivo soltanto se :
91
∑w
ji
Tj = max{Tk : kεJ} 4. Regola di reset: Un nodo attivo di F2 e' resettato se
I ∩ V ( j) I
< v
5. Aggiornamento della memoria a lungo termine per i pesi bottom-‐ up:
[
]
⎡⎧k (1 − w ji )L − w ji ( x − 1) ⎢⎨ ⎢⎩ se (i ∈ X) e (x j ) è attivo ⎢ ⎢⎧ − k x w ji dw ji ⎢ ⎨ = ⎢ se (i ∉ X) e (x j ) è attivo ⎩ dt ⎢ ⎢ 0 ⎧ ⎢ ⎨ ⎢ ⎩se (x j ) è inattivo ⎢ ⎣
6. Aggiornamento di lungo termine per i pesi top-‐down:
⎡⎧ − w ij + 1 ⎢⎨ ⎢⎩se (i ∈ X) e (x j ) è attivo ⎢ ⎢⎧ − w ij dw ji ⎢⎨ = ⎢ se (i ∉ X) e (x j ) è attivo ⎩ dt ⎢ ⎢ ⎧ 0 ⎢ ⎨ ⎢ ⎩se (x j ) è inattivo ⎢⎣ 7. Inizializzazione dei pesi bottom-‐up: randomizzazione tra 0 e 1/M.
92
8. Inizializzazione dei pesi di top-‐down:
w ij = 1 Se in aggiunta si suppone un apprendimento "veloce", ossia che l' aggiornamento LTM raggiunga il suo valore asintotico, prima che il successivo vettore di addestramento sia presentato, le equazioni di aggiornamento LTM si riducono a : nel caso bottom-‐up
L ⎡ se (i ∈ X) ⎢ w ji = L − 1 + x ⎢ se (i ∉ X) ⎣ 0 nel caso top-‐down:
⎡1 se (i ∈ X) w ij = ⎢ ⎣ 0 se (i ∉ X) Si puo' sicuramente concludere che il modello ART e' quello che, tra le reti da noi precedentemente considerate, ha la massima somiglianza con il modello di sistema olfattivo biologico sia da un punto di vista anatomico che funzionale. In particolare si noti la presenza del filtro adattivo, tra gli strati F1 e F2, come proposto da Schild nel modello del bulbo olfattivo.
93
Capitolo 8 8.0 La memoria bidirezionale associativa (BAM)
FA b1
b2
bp
B
A a1
a2
an
FB
Fig. 22. Topologia di una BAM
8.1 Generalita' sulla BAM La memoria bidirezionale associativa e' stata sviluppata da Bart Kosko della Verac Corporation. La rete stessa e' stata ispirata dalla ART di Stephen Grossberg. Essa ha molte caratteristiche comuni con la ART, ma e' priva del sottosistema di orientamento della ART ed e' per questo motivo piu' semplice, quindi si presta meglio ad una implementazione, per un eventuale riconoscitore di odori artificiale, a livello sia software che hardware . ( A livello del bulbo olfattivo e' presente una memoria che ha queste caratteristiche almeno dal punto di vista funzionale.) Una BAM [47] memorizza e recupera associazioni (Ai, Bi) che vengono apprese sommando matrici di correlazione. Questa procedura sovrappone i patterns che devono essere immagazzinati nello stesso mezzo di memorizzazione, in modo che le coppie di dati possano essere
94
sovrapposte su di un ologramma come nelle BAM ottiche. La procedura di codifica pone le associazioni (Ai, Bi) sopra o vicino a dei minimi di energia. Ciascun insieme di associazioni "scolpisce" la propria superficie di energia sullo spazio degli stati BAM. Le associazioni sono poste sulla superficie di energia come rocce su di un foglio di gomma. Geometricamente e' chiaro che il numero di minimi di energia non influenzi la velocita' con cui un pattern in ingresso rotola giu' sulla superficie di energia fino ad un particolare minimo locale. Inoltre non importa quanto sia grande la BAM (se consista di 10 o di 10 miliardi di neuroni); essa comunque immediatamente converge al minimo piu' prossimo. La BAM e' una rete a due campi (strati) di neuroni, connessi simmetricamente, come mostrato in fig.22 . Vi sono n neuroni in Fa={a1, . . . , an} e p neuroni in Fb={b1, b2, . . . , bp}. Ciascun neurone e' una semplice funzione non lineare. Esso trasforma la somma dei segnali pesati in ingresso in un singolo segnale in uscita. Nel caso piu' semplice, l'uscita e' binaria: 1 o 0. Stephen Grossberg ha provato matematicamnete che per immagazzinare ed elaborare informazione distribuita in una rete neuronale, questa funzione di segnale deve essere una sigmoide come la
(1 + e )
-x −1
e in effetti la frequenza di emissioni di spike media dei neuroni
segue un andamento di tipo sigmoidale. La funzione a soglia di un neurone binario e' il caso limite di una funzione sigmoide continua a gradino. Qui ipotizzeremo che i neuroni negli strati Fa e Fb siano binari. Ciascun neurone si accende o si spegne, secondo una legge a soglia. Se l'input al neurone e' positivo, esso si accende, se e' negativo, si spegne. Quando l'input eguaglia lo zero (soglia), il neurone mantiene il proprio stato corrente. Piu' ampia e' la soglia, meno sono i neuroni che possono accendersi. Aumentando la soglia di tutti i neuroni in un campo (strato), in effetti si incrementa la competizione per l'attivazione entro il campo. Se tutti i neuroni in un campo applicano la legge di soglia ai loro ingressi
95
simultaneamente, si dice che la BAM sta operando in modo sincrono. Altrimenti essa opera in modo asincrono, simulando una raccolta di neuroni indipendenti, funzionanti stocasticamente. Per semplicita', di solito, si ipotizza un modo di operare sincrono.
96
8.2 La codifica BAM. La codifica e' l'apprendimento. Una rete neuronale apprende, modificando le sinapsi tra i suoi neuroni. In una BAM, tutta l'informazione sinaptica e' contenuta in una matrice di connessione M n*p. Ogni matrice M che si crea tra Fa e Fb produce una BAM stabile. Tutti gli ingressi rapidamente si mappano su di una forma di risonanza stabile, ma differenti matrici di connessione codificano differenti associazioni (A, B) come risonanze stabili. Una BAM codifica un particolare insieme di associazioni {(A1, B1), . . . (Am, Bm)}, sommando matrici di correlazione bipolare. Questo e' un esempio di apprendimento o correlazione hebbiana. Lo schema di codifica tende a porre associazioni distinte (Ai, Bi) su o vicino a minimi locali di energia, fermo restando che non vengano codificate troppe associazioni. Non si puo' efficacemente codificare (immagazzinare) piu' forme del numero n di neuroni nel campo Fa o del numero di neuroni p del campo Fb, cioe', ammesso di avere m patterns da immagazzinare, deve essere m<min(n, p). In un modo o nell'altro il numero di neuroni in ciascuna rete neurale artificiale o biologica, limita la sua capacita' di memorizzazione. I vettori bipolari o le matrici sono vettori binari o matrici con -‐1 che sostituiscono gli 0. In generale, (X, Y) indichera' la rispettiva versione bipolare dei vettori binari (A, B). Si puo' mostrare che la codifica di correlazione BAM e' migliorata, se vengono usati vettori e matrici bipolari, invece di vettori e matrici binarie. Lo schema di codifica BAM converte ogni coppia binaria (Ai, Bi) in una coppia bipolare (Xi, Yi), ossia converte ciascuna coppia bipolare in una matrice di correlazione bipolare X Ti Yi e poi addiziona le matrici di correlazione bipolari risultanti M = X1T Y1 + X T2 Y2 + ... + X Tm Ym , ove il vettore colonna
X Ti e' il vettore trasposto del vettore riga Xi. Un caso speciale di BAM si manifesta quando Fa = Fb e tutti gli Ai=Bi. Allora M = M T e la BAM
97
collassa in una memoria associativa unidirezionale che immagazzina i singoli patterns Ai in minimi locali di energia. La versione generale continua della memoria simmetrica unidirezionale associativa e' conosciuta come l'autoassociatore di Cohen-‐Grossberg; la versione speciale binaria e' conosciuta come il modello di Hopfield. Consideriamo il caso generale che Fa ed Fb siano distinti. L'elemento della matrice m ij indica la sinapsi simmetrica (dipendente dalla distanza) tra i neuroni ai e bj. La sinapsi e' eccitatoria se mij > 0 , inibitoria se mij < 0 . Si puo' cancellare l'associazione (A i , Bi ) da M, aggiungendo − X Ti Yi ad M.
(
) (
)
Questo e' equivalente a codificare A i , B ci o A ci , B i , ove l'apice c denota il complemento ( e si ottiene sostituendo gli 1 con 0 e gli 0 con 1). Da cio' segue che, quando si codifca (A i , Bi ) in M, si codifica anche
(A , B ) in M nella stessa maniera e viceversa. L'energia di un' c i
c i
associazione in una BAM e' cosi' definita: l'energia di una associazione o di uno stato (A i , Bi ) e' E(Ai , Bi ) =
− A i MB Ti
8.3 Decodifica BAM La decodifica BAM e' il recall associativo. Supponiamo che un pattern in ingresso sia presentato al campo BAM Fa. Gli n neuroni sono accesi o spenti, a seconda che i correspondenti valori di ai siano 1 o 0. Ciascun neurone ai in Fa invia la sua uscita binaria attraverso i p percorsi. Il valore sinaptico mij moltiplica il valore binario ai. Ciascun bj in Fb riceve un ingresso ai*mij da ciascuna delle sue n connessioni sinaptiche. bj poi si comporta come un OR, poiche' ciascun neurone in Fa puo' attivarlo. Il neurone bj somma il suo ingresso attraverso tutte le connessioni, a1*m1j+a2*m2j+. . . +an*mnj , poi fa la soglia su questa somma, per generare il suo segnale binario in uscita. Se la somma in ingresso eccede
98
la soglia di bj che si suppone sia 0, allora l'uscita di bj e' 1. Se la somma e' meno della soglia, l'uscita di bj e' 0. Se essa eguaglia la soglia, bj mantiene il suo stato corrente. Il neurone bj allora invia il suo segnale di uscita attraverso gli n percorsi mij a ciascun neurone ai in Fa. Questo significa che Fb usa la matrice trasposta MT per inviare informazioni, mentre Fa usa M. Ciascun ai allora genera il suo segnale binario da tutti i suoi ingressi sommati e li invia indietro a Fb e avanti e indietro la BAM procede. Fortunatamente vi e' un teorema matematico che garantisce che la BAM converga sempre rapidamente, cosi' essa non oscillera' caoticamente per sempre. (Si puo' dimostrare che un cambiamento di stato in Fa o Fb e la legge di soglia del segnale obbligano l'energia E a diminuire e che E non puo' diminuire per sempre. Questo e' sufficiente per provare che ciascuna matrice M produce una BAM stabile). Vediamo in termini di matrici la decodifica operata da una BAM in fase di recall. Supponiamo che la matrice di memoria M realmente memorizzi le coppie (A1, B1) e (A2, B2). Si fa il recall, presentando A1 alla BAM e osservando se (A1, B1) viene recuperata. Il flusso in avanti procede tramite M e quello retrogrado tramite MT. Il vettore riga A*M e' il vettore di ingresso ricevuto da Fb, mentre il vettore che torna su Fa e' B*MT. A1 evoca B1 che, tornando indietro, evoca A1 e cosi' via. In questo modo il pattern di memoria a breve termine oscilla ( o risona ) attraverso la BAM; esso e' un punto di equilibrio stabile del sistema dinamico. Inoltre la BAM pone i suoi stati memorizzati in minimi locali di energia. Geometricamente, quando si memorizzano solo pochi pattern di associazione (Ai, Bi), ciascuna associazione forma un vasto bacino di attrazione nello spazio degli stati della BAM. Mano a mano che vengono aggiunti patterns alla BAM, i bacini aumentano in numero, ma si riducono in diametro e profondita'. La BAM riconosce meno forme in ingresso, se ha gia' diversi patterns immagazzinati. Peggio ancora, possono emergere bacini di
99
attrazione spuri, che causano classificazioni errate. Quando questo si verifica, la BAM sperimenta una sorta di falso ricordo, poiche' essa ricorda qualcosa che non ha mai appreso.
8.4 L'energia di una associazione in termini analitici. Data la matrice dei pesi M, l'energia di una associazione (x, y) e' data da: E(x, y) = −x T ∗ M ∗ y
(8.1)
Il contributo a quella energia da una dei componenti della matrice dei pesi M ( k ) e':
E (k) (x, y) = −x T ∗ M (k) ∗ y
(8.2)
Usando la definizione di M (k) = x (k) ∗ y (k)T possiamo riscrivere (8.2) come:
(
) ∗ y)
E (k) (x, y ) = −x T ∗ x (k) ∗ y (k)T ∗ y =
(
= (−x T ∗ x (k) ) ∗ y (k)T
(8.3)
Ammettiamo ora che tutti i vettori costituenti le associazioni siano vettori binari bipolari, cioe' essi consistano interamente di -‐1 e +1. Allora il termine:
x T ∗ x (k) che e' il prodotto interno di due vettori e' massimo quando:
100
x = x ( k )
e
y (k)T ∗ y e' massimo quando: y = y ( k ) Cosi' l'associazione di forme che minimizza E ( k ) e' la coppia che definisce M ( k ) . In altre parole mostrando alla rete un' associazione di esempio, si aggiunge una componente alla funzione di energia, per cui essa ha localmente minimi di energia. Veniamo ora a descrivere l'algoritmo che abbiamo utilizzato per la realizzazione di un programma in C, realizzato dal sottoscritto, che simula il funzionamento di una BAM e che e' riportato nella parte terza, applicato ad un problema reale di riconoscimento di odori.
8.5 Algoritmo BAM passo1: per tutti gli i, j azzera M(i, j), A(i) , B(i), questo e' un primo passo di inizializzazione. passo2: Ricevi l'ingresso in A() e B() per poter apprendere una associazione. Gli ingressi avranno soltanto due possibili valori, 0 o 1. passo3: apprendi l'associazione in ingresso desiderata.
a. costruisci X(i) per A(i) ove X(i) =-‐1 se A(i)=0 e X(i) =1 se A(i) = 1 101
b. costruisci Y(i) da B(i) ove Y(i)=-‐1 se B(i)=0 ed Y(i)=1 se B(i)=1.
c. Per tutti gli i, j costruisci M(i, j)=M(i, j)+X(i)*Y(j).
passo4: Se vi e' un'altra associazione da apprendere , ritorna al passo 2. passo5. Introduci un nuovo A() e B() che deve essere elaborato dalla rete. L'ingresso per ciascun elemento avra' il valore 0 o 1. passo6. esegui l'iterazione da A a B della rete.
a. il nuovo B(j)=1 se la somma di A(i)*M(i, j) per tutti gli i e' maggiore
della soglia 0.
b. il nuovo B(j)=0 se la somma di A(i)*M(i, j) per tutti gli i e' minore
della soglia 0.
c. il nuovo B(j) e' inalterato se la somma di A(i)*M(i, j) per tutti gli i e'
uguale alla soglia 0. passo7. esegui l'iterazione da B ad A della rete.
a. il nuovo A(i)=1 se la somma di B(j)*M(i, j) per tutti i j e' maggiore
della soglia 0.
b. il nuovo A(i)=0 se la somma di B(j)*M(i, j) per tutti i j e' minore
della soglia 0.
c. il nuovo A(i) e' inalterato se la somma di B(j)*M(i, j) per tutti i j e'
uguale alla soglia 0. passo8. Ripeti i passi 6 e 7 finche' non vi sono piu' cambiamenti in A() e B(). passo9. Visualizza i risultati.
102
PARTE TERZA (Parte sperimentale)
103
Capitolo 9 Applicazione delle reti neuronali alla realizzazione di un sistema olfattivo artificiale
9.1 Introduzione Mentre nel sistema olfattivo reale, i vari tipi di cellule recettrici rispondono con un iniziale salto brusco per poi raggiungere frequenze di emissione di spike diverse, a seconda dell'odore a cui si trovano sottoposte, nel sistema sensoriale olfattivo artificiale, i recettori sono sostituiti da sensori di gas realizzati con dei polimeri. Tali polimeri rispondono ai vari odori, variando la loro resistenza (al posto della frequenza di spikes) di una certa quantita' percentuale rispetto ad un valore di riposo. In realta', la risposta inizia con un brusco salto molto simile ad un esponenziale, per poi raggiungere, dopo alcuni secondi, un valore di regime costante. Ci e' quindi sembrato naturale utilizzare tale valore di regime come rappresentativo della risposta dei sensori e porlo in ingresso alle reti neuronali che dovrebbero "simulare" il sistema olfattivo biologico, riconoscendo i vari odori. Nella terza parte illustreremo i risultati della realizzazione di tale idea, applicandola ai dati provenienti da un array di sensori di gas che e' stato sviluppato in Inghilterra presso l'Universita' di Manchester dal Prof. Krishna C. Persauds e colleghi. Confronteremo i risultati con quelli ottenuti, usando i dati (ovviamente elaborati con lo stesso metodo impiegato per quelli Inglesi) provenienti da un sistema sensoriale che viene attualmente sviluppato presso il C.Piaggio da parte di un' equipe guidata dal Prof. D. De Rossi, come gia' detto nell'introduzione generale.
104
rete neuronale
ingressi
strati nascosti
uscita
Fig.23 Struttura dei sistemi olfattivi naturale e artificiale.
9.1.1 Il sensore artificiale di odori La figura 23 mostra la generica architettura di un "naso elettronico". Un odore j-‐esimo viene presentato al materiale attivo di un sensore i-‐esimo, che converte un input chimico in un segnale elettrico. Vi sono molti tipi di sensori che sono stati sviluppati per rilevare specifici gas e vapori sin dal 1970 [50]. Comunque, il requisito fondamentale per i sensori di un "naso elettronico" e' quello che essi abbiano una sensibilita' parziale, cioe' essi devono essere capaci di rispondere ad un' ampia classe di odori, come avviene nel naso biologico, piuttosto che ad un solo tipo specifico. I sensori impiegati per ottenere i dati che verranno sottoposti
105
alle nostre reti neuronali, per ottenere il riconoscimento di odori, sono polimeri conduttori. Il sensore individuale i-‐esimo del "naso elettronico" produce un segnale
bg
elettrico dipendente dal tempo Vij t in risposta ad un odore j-‐esimo. Il tempo di salita e di discesa del segnale sensoriale dipendera' dai seguenti parametri: 1. il profilo del flusso ed il tipo di gas; 2. la natura dell'odore, cioe' il tipo e la concentrazione; 3. le cinetiche di reazione dell'odore e del materiale attivo; 4. la diffusione dell'odore entro il materiale attivo; 5. la natura del materiale sensibile, la struttura fisica, la porosita', le costanti di tempo termiche; 6.la natura del substrato su cui il materiale attivo si appoggia, cioe' la sua conduttivita' termica, l'impedenza acustica etc. 7.le condizioni ambientali, cioe' la temperatura del materiale attivo, il gas vettore, l'umidita', la pressione. Si deve osservare che, fino ad oggi, nessuno ha mai preso in considerazione informazioni sui transitori, per effettuare il riconoscimento di odori. Sono stati usati una grande varieta' di modelli di stati stazionari, per elaborare i segnali dai sensori di gas. Vi sono studi che indicano che modelli, basati su differenze frazionali, aiutano a compensare la sensibilita' in temperatura del sensore . La risposta da parte di un array, composto di n sensori, e' un vettore x j che puo' essere scritto come:
x j = {x1j , x 2j ,..., x nj }
106
Il vettore in questione puo' essere rappresentato in uno spazio n-‐ dimensionale e disegnato in un sistema di assi cartesiani (nel caso di n=3). Descriviamo ora i dati che abbiamo impiegato nelle reti neuronali da noi realizzate con lo scopo di ottenere un sistema che avesse sia possibilita' di impiego a livello ingegneristico sia plausibilita' biologica. Dal Dipartimento di Ingegneria Chimica dell' Universita' di Manchester abbiamo ricevuto patterns di risposte, provenienti da sensori polimerici, nella forma di variazioni percentuali della resistenza diviso un valore di resistenza di riferimento (ΔR/R % ).
107
Tabella 1 Numero del sensore 0, 1 2, 3 4, 5 6, 7 8, 9 10, 11 12, 13 14, 15 16, 17 18, 19
Tipo di polimero Poli bithiophene Poli n-octyl pirrolo Poli n-pentofluorobenzil pirrolo Poli n-fluorobenzil pirrolo Poli 2-cloroanilina Poli benzil pirrolo Poli n-decil pirrolo Poli n-piridil pirrolo Poli n-dodecil pirrolo poli anilina
I sensori impiegati sono in numero di 20, ma di 10 tipi diversi. Abbiamo considerato ogni coppia di sensori uguali come fossero un unico sensore. Per ogni coppia abbiamo preso il V1 + V 2 2 valore medio . La coppia di sensori 2&3 da' sempre risposta 0 quindi non e' stata considerata. La coppia 4&5 ha il solo sensore 4 funzionante, quindi e' stato preso solo il suo valore; analogamente nella coppia 6&7 funziona il solo sensore 6 e idem nella 18&19, in cui funziona solo il 18. In conclusione il numero di ingressi alla nostra prima rete neuronale e' 9 . I dati impiegati, sotto riportati, sono il risultato di una media effettuata su numerose prove realizzate sottoponendo i sensori a 5 specie alcoliche: metanolo, propanolo, metossietanolo, etanolo e butanolo, presentate in concentrazione costante di 6mg/L a 20 gradi centigradi con il 45% di umidita' relativa. I valori presentati alla rete neuronale Tesicpna sono stati divisi per 3, al fine di ridurli in un certo intervallo. Si noti infatti che la condizione da rispettare perche' la CPN operi correttamente, e' che i suoi ingressi siano nel range + N , -‐ N ossia +/-‐ 3.
108
Tabella 2 METANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4 5 6 7 8 9
0.55 2.40 0.80 1.00 0.85 0.65 1.35 1.10 0.40
109
Valore ottenuto dividendo per 3 0.18 0.8 0.26 0.33 0.28 0.21 0.45 0.36 0.13
Tabella 3 PROPANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4 5 6 7 8 9
0.50 1.70 0.60 0.90 0.56 0.55 0.90 0.65 0.40
110
Valore ottenuto dividendo per 3 0.16 0.56 0.20 0.30 0.18 0.18 0.3 0.21 0.13
Tabella 4
METOXIETANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4 5 6 7 8 9
2.75 8.70 4.90 6.00 4.85 4.15 5.45 5.60 2.00
111
Valore ottenuto dividendo per 3 0.91 2.9 1.63 2.00 1.61 1.38 1.81 1.86 0.66
Tabella 5
ETANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4 5 6 7 8 9
0.75 2.00 0.30 0.60 0.65 0.70 0.00 0.70 0.10
112
Valore ottenuto dividendo per 3 0.25 0.93 0.1 0.2 0.21 0.23 0 0.23 0.03
Tabella 6 BUTANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4 5 6 7 8 9
0.65 0.90 1.00 1.45 1.30 1.00 -‐0.90 2.20 0.00
Valore ottenuto dividendo per 3 0.21 0.3 0.33 0.48 0.43 0.33 -‐0.3 .73 0
I dati ricavati presso il Centro Piaggio sono anch' essi nella forma di ΔR/R %. I valori provengono da un array di 4 sensori polimerici, di 4 tipi diversi, ed erano originariamente nella forma di grafici di risposte che illustrano la ΔR/R % dei singoli sensori esposti a specie chimiche alcoliche a concentrazione costante. Tabella 7 Numero del sensore Tipo di polimero 1 Bipirrolo 2 Dimero 3 SAS 4 Pirrolo La tabellla 7 illustra i polimeri impiegati per realizzare i sensori utilizzati presso il C. Piaggio della facolta' di Ingegneria di Pisa. Per ogni alcool avevamo a disposizione 5 prove rappresentanti l'evoluzione nel tempo della Δ R/R % dei sensori esposti, in una camera a tenuta, a 5 alcool in condizioni di saturazione. Poiche' queste prove apparivano molto rumorose abbiamo sottoposto le serie temporali ad una prima elaborazione con tecniche a media mobile, utilizzando un software di nome Simstat, per ottenere delle risposte con variazioni meno brusche. Quindi abbiamo considerato, per ogni alcool, come risposta di ogni singolo sensore, la media calcolata sui valori di regime , scartando, nel calcolo, il valore massimo ed il minimo. Abbiamo cosi' ottenuto 5 training set, uno per ogni alcool ( si noti che nei dati del C. Piaggio compare l'alcool Amilico al posto del metoxietanolo). I valori utilizzati per addestrare le reti CPN, con i dati del C. Piaggio, sono stati quelli sopra descritti diviso per 8, essendo il massimo di variazione pari a circa il 16%. Il valore di 8 e' stato scelto per ricondurre tutti gli ingressi nel range +/-‐ N =+/-‐2 con N=4 come richiesto dalle reti CPN a 4 ingressi, per avere la garanzia della convergenza . Riportiamo qua sotto in forma di tabelle i dati ricavati nel modo sopra descritto. Tabella 8 METANOLO No. Ingresso alla rete Valore ottenuto ΔR/R % dividendo per 8 1 9.525 1.2 2 -‐3.512 -‐0.44 3 14.3 1.78
113
4
15.635
114
1.95
Tabella 9 PROPANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4
1.595 -‐1.555 3.65 2.275
ALCOOL AMILICO No. Ingresso alla rete
ΔR/R %
1 2 3 4
0.976 -‐0.498 2.835 0.965
Valore ottenuto dividendo per 8 0.19 -‐0.13 0.45 0.28
Tabella 10
115
Valore ottenuto dividendo per 8 0.12 -‐0.06 0.35 0.12
Tabella 11 ETANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4
1.485 -‐1.472 6.4 3.55
BUTANOLO No. Ingresso alla rete
ΔR/R %
1 2 3 4
1.56 -‐0.586 4.81 2.83
Valore ottenuto dividendo per 8 0.18 -‐0.18 0.8 0.44
Tabella 12 Valore ottenuto dividendo per 8 0.19 -‐.07 0.60 0.35
Le simulazioni che seguono sulle reti (CPN, HAMMING, ART, BAM) sono state condotte, impiegando il programma della Neural Ware Inc. "NeuralWorks Professional II", gentilmente fornito dal Prof. Ancilotti della Scuola Superiore S.Anna.
116
Capitolo 10 Simulazione di reti CPN per il riconoscimento degli alcool 10.1 Descrizione delle reti: tesicpna e tesicpnp.
La prima rete, di cui effettueremo la simulazione, e' una rete CPN in versione forward (vedi parte seconda per una descrizione teorica). Lo strato di ingresso si comporta come un semplice strato di Fan-‐in, composto di 9 unita' (quanti sono i valori presi dai sensori Inglesi). I valori in ingresso devono essere nel range :
+ / − N = + / − 9 = + / −3 Il secondo strato si compone di 10 PE, uno in piu' rispetto allo strato in ingresso. Questo secondo strato normalizza gli ingressi a 81 ossia normalizza i vettori in ingresso, in modo che essi stiano entro la sfera di raggio 9. Il terzo strato usa la regola di apprendimento di Kohonen, per codificare i dati in ingresso nella forma di codici stabili; esso si deve comporre di un numero di unita' pari al numero di codici stabili che si vuole siano appresi dalla rete; il numero minimo di unita' di tale strato e' pari al numero di patterns diversi, presentati in ingresso, quindi per 5 alcool, se avessimo solo 5 patterns distinti, il numero minimo sarebbe 5. Un certo grado di ridondanza e' desiderabile, per evitare che i codici appresi vengano cancellati. Inoltre, poiche' si avranno piu' patterns distinti per ogni alcool, a causa della dispersione delle risposte dei sensori, abbiamo dovuto sovradimensionare tale strato, per ottenere una rete che fosse capace di riconoscere correttamente i patterns.
117
Abbiamo cosi' scelto un valore di 54 PE, pensando anche a futuri sviluppi, dopo una serie di prove fatte, usando i 25 patterns. Lo strato di uscita, composto di 5 unita', che coincidono con il numero di classi da riconoscere, usa la regola di Widrow-‐Hoff, per decodificare le categorie, autoapprese, nella forma dei codici desiderati dal supervisore (nel nostro caso i 5 alcool). Lo strato in ingresso e lo strato di normalizzazione sono totalmente interconnessi (ossia ogni PE in ingresso emette connessioni verso ogni PE nello strato seguente). Stessa cosa dicasi per i collegamenti tra lo strato di Kohonen e lo strato di Grossberg. La rete e' stata poi arricchita con degli strumenti, che mostrano, graficamente, i livelli di attivazione dello strato di Kohonen "Kohonen Activation", l'istogramma dei pesi tra lo strato di Kohonen e quello di Grossberg "pesi Koh-‐Gros hist", la variazione massima dei pesi "max pesi Koh-‐Gross" ed infine lo strumento mostrante l'andamento dello scarto quadratico medio della funzione errore nello strato di uscita "err rms". La rete "tesicpnp" e' identica a quella "tesicpna" in tutto, meno che per l' etichetta simbolica dell'alcool Amilico, al posto di quella del metoxietanolo. E' ovvio che solo 4 dei 9 ingressi sono utilizzati, mentre gli altri sono a 0. Sono state anche compiute prove con reti composte di 4 ingressi (per tale ragione i dati sono stati adattati a reti con 4 ingressi) i cui risultati sono stati raccolti nelle tabelle.
10.2 Descrizione dei dati utilizzati per addestrare le reti CPN
10.2.1 Dati di Manchester:
A partire dai 5 pattern medi in ingresso, poiche' ci era nota la variazione max percentuale pari al 25% su di un valore medio max del 2.40%, abbiamo generato artificialmente altri pattern, aggiungendo ai pattern medi dei valori compresi tra +/-‐ 0.6 e +/-‐ 0.3 (che riportato sui dati in
118
ingresso alla rete genera +/-‐ 0.2 e +/-‐ 0.1). In questo modo si sono ottenuti un totale di 25 pattern, divisi in 5 training set. Il primo set, tra quelli indicati di sotto, rappresenta i valori originari, mentre gli altri sono quelli generati. Il file dei dati, sotto riportato, si compone di 2 righe per ogni pattern; la prima riga comincia con una "i" che indica che i numeri seguenti vanno applicati ai 9 ingressi della rete in un solo colpo. La seconda riga, che inizia con una "d", indica l'uscita desiderata. La riga preceduta da "!" indica il nome dell'alcool a cui il pattern si riferisce. alcoolf.nni ! 29 Giugno 94 (alcool.nni) ! dati inviati dall'Inghilterra ! 5 classi di alcool in output i 0.18 0.80 0.26 0.33 0.28 0.21 0.45 0.36 0.13 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.16 0.56 0.20 0.30 0.18 0.18 0.30 0.21 0.13 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.91 2.90 1.63 2.00 1.61 1.38 1.81 1.86 0.66 d 0.0 0.0 1.0 0.0 0.0 ! METOXIETANOLO i 0.25 0.93 0.10 0.20 0.21 0.23 0.00 0.23 0.03 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.21 0.30 0.33 0.48 0.43 0.33 -‐0.30 0.73 0.00 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 0.17 0.81 0.25 0.33 0.29 0.22 0.46 0.37 0.14 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.17 0.55 0.19 0.29 0.17 0.17 0.29 0.20 0.12 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.90 2.89 1.62 1.99 1.60 1.37 1.80 1.85 0.65 d 0.0 0.0 1.0 0.0 0.0 ! METOXIETANOLO i 0.24 0.92 0.09 0.10 0.20 0.22 0.00 0.22 0.02 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.20 0.29 0.32 0.47 0.42 0.32 -‐0.31 0.72 0.00 d 0.0 0.0 0.0 0.0 1.0
119
! BUTANOLO i 0.19 0.81 0.27 0.34 0.29 0.22 0.46 0.37 0.14 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.15 0.57 0.21 0.31 0.19 0.19 0.31 0.22 0.14 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.92 2.91 1.64 2.01 1.62 1.39 1.82 1.87 0.67 d 0.0 0.0 1.0 0.0 0.0 ! METOXIETANOLO i 0.26 0.94 0.11 0.21 0.22 0.24 0.01 0.24 0.04 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.22 0.31 0.34 0.49 0.44 0.34 -‐0.29 0.74 0.00 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 0.16 0.78 0.24 0.31 0.26 0.19 0.43 0.34 0.11 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.14 0.54 0.18 0.28 0.16 0.16 0.28 0.19 0.11 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.89 2.88 1.61 1.08 1.59 1.36 1.79 1.84 0.64 d 0.0 0.0 1.0 0.0 0.0 ! METOXIETANOLO i 0.23 0.91 0.08 0.018 0.19 0.21 0.00 0.21 0.01 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.19 0.28 0.31 0.46 0.41 0.31 -‐0.28 0.71 0.00 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 0.20 0.78 0.28 0.35 0.30 0.23 0.47 0.38 0.15 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.18 0.58 0.22 0.32 0.20 0.20 0.50 0.23 0.15 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.93 2.92 1.65 2.02 1.63 1.40 1.83 1.88 0.68 d 0.0 0.0 1.0 0.0 0.0 ! METOXIETANOLO i 0.27 0.95 0.12 0.22 0.23 0.25 0.02 0.25 0.05 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.23 0.32 0.35 0.5 0.45 0.34 -‐0.28 0.75 0.00 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO
120
10.2.2 Dati del C. Piaggio A partire dai 5 pattern medi in ingresso, poiche' nei dati reali avevamo una variazione max pari al 25% su di un valore medio max di 12.8%, abbiamo generato altri pattern, aggiungendo ai pattern medi dei valori compresi tra +/-‐ 3.2 e +/-‐ 1.6 (che diviso per 8 genera +/-‐ 0.4 e +/-‐ 0.2). In questo modo si sono ottenuti un totale di 25 pattern, suddivisi in 5 training set. L'organizzazione dei dati e' per il resto quella gia' descritta per i dati Inglesi con la sola differenza che gli ingressi sono 4. Il file dei dati e' riportato sotto. ! dati presi dal Centro Piaggio ! ALCOOLCPF.NNI i 1.20 -0.44 1.78 1.95 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.19 -0.13 0.45 0.28 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.12 -0.06 0.35 0.12 d 0.0 0.0 1.0 0.0 0.0 ! Alcool amilico i 0.18 -0.18 0.80 0.44 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.19 -0.08 0.60 0.35 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 1.40 -0.24 1.98 1.85 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.39 -0.43 0.65 0.48 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.32 -0.16 0.55 0.32 d 0.0 0.0 1.0 0.0 0.0 ! Alcool amilico i 0.38 -0.01 1.00 0.64 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.39 -0.38 0.80 0.55 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 1.00 -0.20 1.58 1.75
121
d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.01 -0.63 0.25 0.03 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.02 -0.05 0.25 0.02 d 0.0 0.0 1.0 0.0 0.0 ! Alcool amilico i 0.1 -0.31 0.60 0.24 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.03 -0.01 0.40 0.15 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 1.60 -0.04 1.98 2.00 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.49 -0.53 0.85 0.68 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.52 -0.16 0.75 0.52 d 0.0 0.0 1.0 0.0 0.0 ! Alcool amilico i 0.58 -0.28 1.12 0.84 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.59 -0.38 1.00 0.75 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO i 0.80 -0.48 1.38 1.55 d 1.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.21 -0.33 0.65 0.20 d 0.0 1.0 0.0 0.0 0.0 ! PROPANOLO i 0.32 -0.03 0.15 0.15 d 0.0 0.0 1.0 0.0 0.0 ! Alcool amilico i 0.01 -0.02 0.40 0.01 d 0.0 0.0 0.0 1.0 0.0 ! ETANOLO i 0.1 -0.01 0.20 0.15 d 0.0 0.0 0.0 0.0 1.0 ! BUTANOLO
10.3 Interpretazione della simulazione Tesicpna
10.3.1 Fase di learning con i dati Inglesi
122
Sono state necessarie 3564 iterazioni (corrispondenti ad un tempo di circa 6 minuti, avendo condotto tutte le simulazioni presenti in questa tesi, con un 80386-‐DX con un clock a 40 MhZ e 4 Mega Byte di RAM munito di un coprocessore matematico) per far si' che la rete raggiungesse la soglia di convergenza fissata a 0.0001. Il grafico, che illustra l'andamento dell'errore, viene aggiornato al tasso di un punto, ogni 66 iterazioni. Questo valore e' stato scelto per consentire di rappresentare interamente entro il riquadro il suo andamento. Come si puo' facilmente osservare dalla figura 24, l'errore "err rms" oscilla attorno ad un valore medio di 0.25 in modo regolare, fino a che lo strato di Kohonen non si e' stabilizzato in corrispondenza della 2000-‐esima iterazione. Da qui in poi ha inizio l'apprendimento a livello dei pesi nello strato di Grossberg, indicato da una brusca variazione nel grafico "max pesi Koh-‐Gross". L'oscillazione nel valore dell'errore ora cambia andamento. Alla 3000-‐esima iterazione ha inizio la fase finale coincidente con la variazione dei parametri di apprendimento (stabiliti nel Learning recall schedule di figura 32) e ora le oscillazioni decrescono in ampiezza, fino quasi a scomparire, mentre l'errore tende ad assumere un andamento monotono decrescente, fino alla convergenza che si ha alla 3564-‐esima iterazione. I pesi nello strato di Grossberg, inizialmente settati nel range +/-‐1 con distribuzione uniforme, vengono a ripartirsi, dopo la fase di learning, principalmente nel range tra -‐0.1 e 0.1 (vedi "pesi Koh-‐Gross hist") in fig 26,27,28,29,30.
123
10.3.2 Fase di learning con i dati del C. Piaggio. Sono state necessarie 5016 iterazioni con il medesimo computer gia' descritto (corrispondenti a un tempo di circa 9 minuti) per far si' che la rete raggiungesse la soglia di convergenza fissata a 0.0001. Per il resto la descrizione e' la stessa gia' fatta per i dati Inglesi, a parte una diversa evoluzione di "err-‐rms".
Fig 24 Rete tespcpnp, come appare al termine del learning con i 25 pattern del C. Piaggio. 10.3.3.1 Fase di recall
con i dati Inglesi
Nelle figure 26,27,28,29,30 e' mostrata la risposta della rete ad un set completo di 5 pattern, relativi ai 5 alcool usati. Le uscite dei neuroni (PE) sono indicate con dei quadrati di dimensioni diverse colorati in vario modo, a seconda del valore da essi rappresentato (piu' grosso e' il quadrato, maggiore e' la risposta). Le connessioni tra i vari PE sono
124
rappresentate da linee colorate. La legenda dei colori e' rappresentata in fig. 31.
125
10.3.3.2 Fase di recall
con i dati del C. Piaggio.
I risultati, in assenza di rumore, sono identici a quelli ottenuti con i dati Inglesi. Le figure non sono mostrate, perche' identiche a quelle relative alla simulazione di tesicpna con la sola differenza della etichetta di METOXIETANOLO, sostituita con AMILICO nella simulazione con dati del C. Piaggio. 10.3.3.3 Nota sul parametro T impiegato aggiungere rumore ai dati in ingresso
per
Si noti che la scelta di una data T significa aggiungere rumore nel range +/-0.01*T. E' chiaro che piu' grande sara' il valore del dato in ingresso, minore sara' l'effetto complessivo di T. Per fare un esempio, se si ha un valore di 10 in ingresso, porre una T=100 significa perturbare il dato con valori di +/-1 corrispondenti ad una perturbazione dell' 10%, mentre se il valore dell'ingresso e' al massimo 0.1 la medesima T=100 significhera' una perturbazione del 1000%. Si deve poi notare che nel caso delle reti binarie ( Hamming, ART1, BAM) che verranno nel seguito impiegate, l'immunita' al rumore dovrebbe essere sicuramente maggiore. Infatti tali reti rispondono a segnali di valore +/-1, quindi una pertubazione data con T=100 significa aggiungere o togliere 1 che corrisponde ad un 100% sui valori di ingresso. In conclusione, il parametro T consente un confronto in termini di immunita' al rumore, solo tra reti che sono state addestrate con il medesimo file di dati. Quindi va interpretato volta per volta, se si variano i file dei dati. 10.3.3.4 Illustrazione dei risultati Inglesi in presenza di rumore.
con i dati
Molte prove sono state condotte, sottoponendo la rete a rumore (facendo variare il parametro temperatura nella fase di learning ed in quella di recall). I risultati (vedi tabelle riassuntive) indicano che la rete non riesce a convergere correttamente, in presenza di rumore applicato in fase di learning . Il rumore aggiunto, in fase di recall, dopo un learning senza rumore, non impedisce la corretta categorizzazione fino a T=10.
126
Si noti che tale livello corrisponde ad aggiungere alla sommatoria di ciascun PE in ingresso un valore pari a +/-‐0.01*T=+/-‐0.1 che, rispetto ai dati Inglesi, significa livelli di circa il 50%, essendo 0.2 il valore medio della risposta dei sensori, dopo la divisione per 3 (vedi le tabelle dei dati e le tabelle riassuntive). 10.3.3.5 Illustrazione dei risultati del C. Piaggio in presenza di rumore.
con i dati
I risultati sono identici a quelli ottenuti con i dati Inglesi, se si mantiene T=0 . Se invece si pone T diverso da zero la situazione peggiora considerevolmente. Si deve notare che il numero ridotto degli ingressi, assieme al basso valore assoluto di alcuni di essi (risposta del dimero), fa si' che, in caso di rumore, le variazioni si ripartiscano su di un numero minore di ingressi e questo fatto peggiora le cose. Per migliorare le cose sarebbe opportuno avere variazioni di ΔR / R% maggiori in modulo e piu' simili tra di loro, ed escludere o rendere positive le risposte dei polimeri che producono uscite negative che, essendo il 25% dei dati, disturbano perche' producono una mancata omogeneita' che si rivela particolarmente dannosa nel recall con rumore. Si deve pero' notare che i polimeri a risposta negativa potrebbero rappresentare un utile elemento di discriminazione se si applicassero le reti per il riconoscimento di altri odori oltre quelli alcolici, quindi puo' risultare utile mantenere il dimero purche' si applichino opportune preelaborazioni (vedi pag. 223 dalla riga 10 fino alla 23 ). Inoltre si potrebbe considerare come ingresso alla rete il logaritmo dei valori resi positivi o la loro radice quadrata al fine di ridurre le differenze tra i valori troppo piccoli e troppo grandi. In ogni caso, una opportuna elaborazione dei dati puo' sicuramente consentire di risolvere tutti i problemi relativi al riconoscimento in presenza di rumore. Infatti le reti
127
di per se' sono in grado di operare correttamente, anche in presenza di rumore pari al 100% sui valori dei dati in ingresso.
Fig. 25 Rete tesicpna in fase di learning dopo 900 iterazioni. Si osservi l'istogramma dei pesi.
128
Vediamo, nelle figure seguenti, la fase di recall relativa ai primi 5 patterns.
0
2000
3000 3564
Fig. 26 Fase di recall con i dati di Manchester di fronte alla presentazione del pattern relativo al metanolo
129
Fig. 27Fase di recall con i dati di Manchester di fronte alla presentazione del pattern relativo al propanolo
130
Fig. 28 Fase di recall con i dati di Manchester di fronte alla presentazione del pattern relativo al metoxietanolo
131
Fig. 29 Fase di recall con i dati di Manchester di fronte alla presentazione del pattern relativo all'etanolo
Fig. 30 Fase di recall con i dati di Manchester di fronte alla presentazione del pattern relativo al butanolo
132
Fig. 31 Display Style mostra la legenda dei colori usati nella simulazione "tesicpna"
Fig. 32 L/R Schedule impiegato in fase di learning e di recall di tesicpna . Si osservi il learn count che indica come fino alla 3000-‐esima iterazione sia C1=0 ( nessun learning ma attesa della stabilizzazione dello strato di Kohonen ). Poi tra la 3000-‐esima e la 5000-‐esima si passa a C1=0.1 che comporta l'apprendimento sullo strato di Kohonen e la successiva ricodifica delle risposte sullo strato di Grossberg.
133
10.4 Miglioramenti delle reti CPN
10.4.1 La rete Cpnsup0a (con i dati Inglesi)
Sono stati ottenuti considerevoli miglioramenti nella rete, apportando una serie di modifiche. Nello strato di Kohonen, i PE sono stati collegati tra di loro con connessioni inibitorie di valore fisso, pari a -‐0.05 che e' un valore scelto in modo da ottenere una equidistribuzione dell'effetto inibitorio su tutti i PE dello stesso strato ( -‐0.05=-‐0.99/54 ove 54 e' il numero di PE dello strato nascosto). Inoltre ciascun neurone viene connesso con se stesso con un valore del peso pari a +1. Per il resto la rete e' come tesicpna. Si noti che, per ottenere la velocizzazione, abbiamo dovuto modificare anche il Recall Schedule; in particolare abbiamo alterato il coefficiente di learning C1 ( per il suo significato si rimanda alla teoria sulle reti CPN e si osserva che C1=α), in modo che la fase di apprendimento, fosse piu' rapida (vedasi fig. 33. ). La rete converge in 712 iterazioni con i soliti 25 pattern in ingresso. Il miglioramento ottenuto varia da un minimo di 5 volte , utilizzando un pattern per ogni specie alcolica, ad un massimo di 30 volte con 25 patterns (5 patterns per ogni specie alcolica). In fase di recall, invece, le prestazioni sono le stesse della rete di sopra sia in presenza che in assenza di rumore.
10.4.2 La rete Cpnsup0a (con i dati del C. Piaggio)
Tale rete differisce da quella usata con i dati Inglesi solo per l'etichetta AMILICO al posto di METOXIETANOLO. I risultati sono gli stessi per T=0, mentre in presenza di rumore valgono le considerazioni sopra fatte ossia si ha un peggioramento della situazione. Cio', come predentemente asserito, e' dovuto al minore numero di ingressi ed alla forma dei dati del C. Piaggio. Le prove fatte utilizzando un altro file dei dati ottenuto dal
134
primo, eliminando i valori negativi confermano i miglioramenti gia' registrati con le reti tesicpna, usando la stessa procedura. Cio' dipende dai fatti sopra esposti nel paragrafo 10.3.3.5 . La rete converge in 712 iterazioni con i soliti 25 pattern in ingresso presi dal C.Piaggio.
712
Fig. 33 Rete cpnsup0a con i dati inglesi, cosi' come risulta al termine della fase di learning. Si osservi in particolare l'andamento dell'errore rms che tende a zero, dopo 712 iterazioni
135
Fig. 34 Nuovo Learning Recall schedule applicato alla cpnsup0a per ottenere la velocizzazione. Si osservi come si abbia C1=0.2 nelle prime 1000 iterazioni e che tale valore, qualora la rete non abbia raggiunto ancora la convergenza, viene abbassato a C1=0.1 nelle successive. Analogamente C2 ( che determina la soglia dei neuroni) scende da 0.2 nelle prime iterazioni a 0.05 nelle succesive. Si ricorda che C1 indica di quanto devono esssere variati i pesi durante il learning. Quindi un valore alto, entro certi limiti da verificare di volta in volta, di C1 significa un apprendimento piu' rapido.
Fig. 35 Rete a 4 ingressi del tipo della cpnsup0a, addestrata con i dati del C. Piaggio, al termine della fase di learning.
10.4.3 Minimizzazione della rete di tipo CPN con i dati Inglesi. Esperimenti compiuti indicano che una rete minima con 9 ingressi, 5 classi in uscita e 25 pattern da apprendere potrebbe essere costituita con 25 PE nello strato nascosto. Analogamente, con 5 pattern da apprendere possono bastare 5 PE nello strato nascosto, in quanto ogni PE, in tale strato, si specializza nel riconoscimento di un pattern distinto. Si osservi come nel caso di 5 PE, nello strato nascosto, nella rete
136
cpnsup0a le connessioni inibitorie intrastrato ora varranno -‐0.99/5 per le solite ragioni di equidistribuzione dell' azione inibitoria.
10.4.4 Minimizzazione della rete di tipo CPN con i dati del C. Piaggio. Una rete minima con 4 ingressi, 5 classi in uscita e 25 pattern da apprendere puo' essere costituita con 25 PE nello strato nascosto. Analogamente con 5 pattern da apprendere possono bastare 5 PE nello strato nascosto. La ragione di tutto cio' e' ancora quella che i PE dello strato nascosto devono essere almeno lo stesso numero dei pattern da apprendere.
137
Tabella 13 Tabella riassuntiva delle prove effettuate sulle reti CPN utilizzando i dati Inglesi tempo rete num. num. num. num. num. per patter PE in PE PE in iter. la n da ingresso nascos. Uscita per conve appren conver. r. d. tesicpna 9 C1=0.1 tesicpna 9 C1=0.1 cpnsup0 9 a C1=0.1 cpnsup0 9 a C1=0.2 cpnsup0 9 a C1=0.6 tesicpna 9 tesicpna 9 cpnsup0 9 a C1=0.15 cpnsup0 9 a C1=0.15
% di riconos senza errore
rumor e in recall
54
5
5
3432
6'
100%
T=10
54
5
25
3564
6'20"
100%
T=10
54
5
5
192
25"
100%
T=10
54
5
25
712
1'30"
100%
T=10
54
5
25
184
24"
100%
T=10
5 25 5
5 5 5
5 25 5
3000 3500 180
4'30" 5'55" 20"
100% 100% 100%
T=10 T=10 T=10
25
5
25
686
1'15"
100%
T=10
138
Tabella 14 Tabella riassuntiva delle prove effettuate sulle reti CPN utilizzando i dati del C. Piaggio rete
num.
num.
num.
num.
num.
tempo
%
PE in
PE
PE in
patter
iter.
per la
ricono
rumo
ingress
nascos
Uscit
n
per
conve
s
re
o
.
a
appre
conver.
r.
senza
in
errore
reca
da
nd
di
ll
tespcpn
9
54
5
5
4990
8'
100%
T=0
9
54
5
25
5016
8'40"
100%
T=0
9
54
5
5
192
25"
100%
T=0
9
54
5
25
712
1'27"
100%
T=0
9
5
5
5
3300
4'30"
100%
T=0
9
25
5
25
3900
5'55"
100%
T=0
9
5
5
5
180
20"
100%
T=0
9
5
5
5
180
20"
100%
T=0
4
54
5
5
4990
8'
100%
T=0
4
54
5
25
5016
8'40"
100%
T=0
4
54
5
5
192
25"
100%
T=0
p tespcpn p cpnsup 0p cpnsup 0p tesicpn a tesicpn a cpnsup 0p cpnsup 0p tespcpn p tespcpn p cpnsup 0p
139
cpnsup
4
54
5
25
712
1'27"
100%
T=0
4
5
5
5
3300
4'30"
100%
T=0
4
25
5
25
3900
5'55"
100%
T=0
4
5
5
5
180
20"
100%
T=0
4
5
5
5
180
20"
65%
T=10
4
54
5
25
5016
8'40"
65%
T=10
9
54
5
5
4990
8'
65%
T=10
9
54
5
25
5016
8'40"
65%
T=10
0p tesicpn a tesicpn a cpnsup 0p cpnsup 0p tespcpn p tespcpn p tespcpn p
140
10.4.5 Considerazioni finali sulle reti di tipo CPN Se si osservano le tabelle riassuntive delle prove fatte con i dati Inglesi, notiamo che le reti minime ( quelle con meno PE) convergono piu' rapidamente ( anche se di poco ) di quelle con 54 PE. In realta' questo fatto e' dovuto all'uso di un L/R schedule leggermente diverso. Infatti nelle reti minime si e' usato un valore di C1 ( coefficiente di apprendimento) leggermente piu' grande, con la conseguenza di una maggiore variazione dei pesi per ogni iterazione e quindi la convergenza viene raggiunta piu' rapidamente. Osservando le tabelle, si nota che la rete tesicpna ( per i dati Inglesi ) e' la piu' lenta e analogamente la piu' lenta con i dati Italiani e' la rete tesicpnp. Questo e' dovuto al fatto che tali reti sono prive delle connessioni inibitorie e utilizzano un L/R schedule con un valore di C1 basso. Invece nelle reti cpnsup0a e cpnsup0p il valore di C1 e' piu' alto con la conseguenza di una maggiore variazione dei pesi in fase di learning , come sopra spiegato. Inoltre l'inibizione laterale, nello strato nascosto, fa si' che il PE che per primo si trova ad avere (inizialmente a seguito della randomizzazione) un valore di attivita' piu' alto, in risposta ad un determinato pattern, tenda ad inibire maggiormente gli altri PE nel medesimo strato, piu' di quanto possano fare gli altri con lui stesso e cio' rafforza ulteriormente la sua risposta. Si deve infine notare il peggioramento, nel caso di presenza di rumore, delle reti addestrate con i dati Italiani. Questo e' un problema che affligge sia le reti normali che le versioni migliorate per le stesse ragioni gia' descritte e spiegate sopra trattando delle singole reti in presenza di rumore e mostra come occorrerebbe una diversa preelaborazione per i dati del C. Piaggio ( si noti che cio' non e' stato da noi fatto per mantenere uniformita' con le elaborazioni fatte sui dati Inglesi ).
141
Capitolo 11 Simulazione di una rete Hamming
11.1 Descrizione della rete Hamtesia La rete si compone dei seguenti strati: uno strato in ingresso, costituito da 36 unita' nella versione per i dati Inglesi e di 20 unita' nella versione per i dati del C. Piaggio. Il numero di 36 unita' dipende dalla codifica impiegata per i dati che e' di 4 bit per ogni ingresso con 9 ingressi analogici per un totale di 36 ingressi binari. mentre la scelta di 20 unita' con i dati del centro Piaggio e' dovuta all'uso di una codifica a 5 bit per i 4 ingressi. Si noti che in realta' le unita' sono 42 di cui le ultime sono state inserite, pensando a possibili sviluppi. Poi vi e' uno strato delle categorie, composto da 50 unita' ed uno strato di uscita con 50 unita' (numeri largamente ridondanti scelti pensando a sviluppi futuri). Nello strato delle categorie sono state usate connessioni con inibizione laterale, ossia ogni PE e' connesso con i suoi vicini mediante sinapsi inibitorie con valori di -‐0.99/M=-‐0.99/50=-‐0.0198. dove M e' il numero di PE dello strato nascosto. Inoltre ogni PE, nello strato delle categorie, si autoeccita con connessioni di +1. Lo strato di ingresso si connette allo strato delle categorie in maniera totale (uno a tutti) con pesi iniziali di 0.0. Lo strato delle categorie riceve ingresso da una sorgente di polarizzazione costante con valore di N/2=21 (ove N=42 e' il numero degli ingressi totali attivi e non). Tale polarizzazione serve per fornire un offset diverso da zero , in modo che i PE dello strato delle categorie ricevano un' attivazione immediata, prima che inizi la competizione che altrimenti non potrebbe neppure iniziare su tale strato.
142
Lo strato delle categorie e' infine connesso in modo uno a uno con lo strato di uscita con pesi fissati a 1.0. Sono stati aggiunti poi degli strumenti (vedi fig. 38). "Input" mostra una rappresentazione, in forma di matrice bidimensionale, dei dati in ingresso, bipolare a due colori, dando cosi' forma all'idea di vedere gli odori come immagini; "weight" e' una rappresentazione anch' essa in forma di matrice binaria a due colori, rappresentante i pesi delle connessioni tra lo strato in ingresso e lo strato delle categorie. " Category activity " mostra invece i livelli di attivita' dei neuroni nello strato delle categorie e consente di seguire gli effetti della competizione, operata dai meccanismi di inibizione laterale, durante la fase di recall.
11.2 Funzionamento della rete Hamtesia. La rete Hamtesia , da noi implementata, ha una semplice struttura feedforward. A livello dello strato delle categorie, viene realizzata una forma di competizione che pero' e' diversa da quella che si realizza nella rete CPN a livello dello strato di Kohonen, per il fatto che si utilizza una speciale strategia di controllo. I passi principali di questa strategia sono: 1. I dati vengono letti ed elaborati attraverso lo strato in ingresso. 2. I dati sono elaborati attraverso i pesi dall'ingresso allo strato delle categorie ed una sola volta a livello di quest'ultimo . 3. Se lo strato delle categorie non ha una funzione di uscita competitiva, allora i dati vengono iterativamente elaborati a livello dello strato delle categorie, fino a che un solo PE rimane attivo. 4.I dati vengono passati ed elaborati attraverso lo strato di uscita. I passi principali di un ciclo della strategia di controllo durante la fase di learning sono:
143
1.Il pattern in ingresso viene letto ed e' elaborato a livello dello strato di ingresso. 2. L'uscita desiderata viene letta e presentata al buffer di uscita. Questa uscita desiderata dovrebbe essere un vettore con una componente avente il valore di 1.0 e tutte le altre componenti 0.0. Ciascun vettore di addestramento dovrebbe avere un vettore di uscita desiderata diverso. 3. Il campo di errore e' settato a 0.0 per ciascun PE nello strato delle categorie. 4. L'uscita desiderata viene propagata all'indietro verso lo strato delle categorie. A questo punto , il campo di errore per ciascun PE e' 0.0, ad eccezione di uno che ha il valore 1.0. In altre parole, il vettore dell'uscita desiderata viene ora memorizzato nel vettore errore per lo strato delle categorie. Sia J l'indice del nodo non zero . 5.Viene effettuato un apprendimento . La regola di apprendimento usata e' quella di "Widrow-‐Hoff" (vedi teoria)
11.2.1 Descrizione dei dati Di Manchester con cui Hamtesia e' stata addestrata:
I dati impiegati sono una rappresentazione in forma binaria bipolare dei dati usati per le reti CPN. Per i dati inglesi e' stata impiegata la seguente procedura. Valori numerici analogici positivi sono stati moltiplicati per 100. Per i valori negativi si e' considerato il valore assoluto, prima di moltiplicare per 100 ( questo fatto non crea problemi per i dati inglesi, poiche' un solo sensore da' risposte di valore negativo ) e su di essi e' stata effettuata l'operazione di modulo16 aritmetico, consistente nel dividere per 16 e prendere il resto. Si ottiene cosi' un numero tra 0 e 15 che puo' essere rappresentato mediante 4 bit. In conseguenza di questa scelta, ogni valore numerico in ingresso e' stato convertito in un numero binario di 4 bit, ottenendo alla fine, per i 9 numeri di cui si compone un
144
pattern, 36 ingressi binari. Infine gli 0 sono stati convertiti in -‐1 e gli 1 sono stati lasciati cosi'. Facciamo un esempio esplicativo: sia 0.18 il valore da binarizzare a 4 bit. 0.18*100= 18. 18 mod16 = 2. 2 in forma binaria a 4 bit e' 0010 che, messo in notazione bipolare, diviene ( -‐1 -‐1 1 -‐1 ). Il risultato della applicazione di tale metodo all'intero insieme dei pattern e' riportato sotto. Il file che segue e' composto di gruppi di 2 insiemi di dati: il primo, preceduto da una "i", rappresenta il pattern in ingresso, il secondo, che comincia con una "d" rappresenta l'uscita desiderata. Come sempre preceduto da un "!" vi e' un commento. alchamf.nni i -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. d 1. 0. 0. 0. 0. ! metanolo i -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. d 0. 1. 0. 0. 0. ! propanolo i 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. d 0. 0. 1. 0. 0. ! metoxietanolo i 1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐ 1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. d 0. 0. 0. 1. 0. ! etanolo i -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐ 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 0. 0. 1. ! butanolo
145
i -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. d 1. 0. 0. 0. 0. ! metanolo i -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐ 1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. d 0. 1. 0. 0. 0. ! propanolo i 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. d 0. 0. 1. 0. 0. ! metoxietanolo i 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐ 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. d 0. 0. 0. 1. 0. ! etanolo i -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐ 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 0. 0. 1. ! butanolo i -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. d 1. 0. 0. 0. 0. ! metanolo i 1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. d 0. 1. 0. 0. 0. ! propanolo i 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. 1. 1. d 0. 0. 1. 0. 0. ! metoxietanolo i 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐ 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. d 0. 0. 0. 1. 0. ! etanolo i -‐1. 1. 1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐ 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 0. 0. 1. ! butanolo i -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1.
146
d 1. 0. 0. 0. 0. ! metanolo i 1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. d 0. 1. 0. 0. 0. ! propanolo i 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐ 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 1. 0. 0. ! metoxietanolo i -‐1. 1. 1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐ 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. d 0. 0. 0. 1. 0. ! etanolo i -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 0. 0. 1. ! butanolo i -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. 1. d 1. 0. 0. 0. 0. ! metanolo i -‐1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. d 0. 1. 0. 0. 0. ! propanolo i 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. d 0. 0. 1. 0. 0. ! metoxietanolo i 1. -‐1. 1. 1. 1. 1. 1. 1. 1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐ 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. d 0. 0. 0. 1. 0. ! etanolo i -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐ 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. d 0. 0. 0. 0. 1. ! butanolo
11.2.2 Dati del C. Piaggio con cui Hamtesia e' stata addestrata:
147
Per i dati provenienti dal C. Piaggio, codificando i valori analogici con solo 4 bit per ogni ingresso, avremmo ottenuto vettori di 4*4=16 bit (ossia avremmo avuto solo 16 vettori linearmente indipendenti). Dovendo i pattern da riconoscere essere 25, anche se le classi sono solo 5, si capisce bene che sarebbe stato assai difficile, senza usare una codifica ad hoc, come siamo stati costretti a fare con la BAM, trovare una codifica che consentisse di realizzare un riconoscimento con un basso livello di errore. Infatti nelle reti a codifica binaria, in genere, e' richiesto che i vettori da apprendere, presentati in ingresso, siano o linearmente indipendenti o ortogonali tra di loro, ad eccezione di ART1 che non ha queste restrizioni. Abbiamo quindi scelto di realizzare, per i dati del C. Piaggio, una codifica a 5 bit: 4 bit per il valore assoluto, ricavati come per i dati Inglesi, ed un bit che indichi, se vale 1, che il numero di 4 bit e' negativo e se vale 0 indichi che il numero e' positivo. In tal modo si sono ottenuti vettori di 20 bit che, anche se non garantiscono, con i 25 pattern, il 100% di riconoscimento, sono un buon compromesso. Si noti che una codifica a 7 bit avrebbe sicuramente garantito il successo del riconoscimento, nel 100% dei casi con ogni tipo di rete. Un modo alternativo di risolvere il problema sarebbe stato quello di portare ad almeno 7 il numero di sensori di odore, mantenendo a 4 bit la codifica. In tal caso si sarebbero avuti 28 bit con cui codificare i 25 pattern. Noi abbiamo scelto di mantenere la codifica a 5 bit, per poter fare un confronto tra i dati Inglesi e quelli del C. Piaggio che fosse il piu' omogeneo possibile. Il risultato di tale metodo e' il file di addestramento sotto riportato e per il quale valgono le convenzioni gia' dette a proposito dell' analogo file dei dati Inglesi. ! Alchampf.nni ! File di addestramento rete Hamming con dati ! del C. Piaggio i -1. 1. -1. -1. -1. 1. 1. 1. -1. -1. -1. -1. -1. 1. -1. -1. -1. -1. 1. 1. d 1. 0. 0. 0. 0.
148
! METANOLO i -1. -1. -1. 1. 1. 1. 1. 1. -1. 1. -1. 1. 1. -1. 1. -1. 1. 1. -1. -1. d 0. 1. 0. 0. 0. ! PROPANOLO i -1. 1. 1. -1. -1. 1. -1. 1. 1. -1. -1. -1. -1. 1. 1. -1. 1. 1. -1. -1. d 0. 0. 1. 0. 0. ! Alcool Amilico i -1. -1. -1. 1. -1. 1. -1. -1. 1. -1. -1. -1. -1. -1. -1. -1. 1. 1. -1. -1. d 0. 0. 0. 1. 0. ! ETANOLO i -1. -1. -1. 1. 1. 1. 1. -1. -1. -1. -1. 1. 1. -1. -1. -1. -1. -1. 1. 1. d 0. 0. 0. 0. 1. ! BUTANOLO i -1. 1. 1. -1. -1. 1. 1. -1. -1. -1. -1. -1. 1. 1. -1. -1. 1. -1. -1. 1. d 1. 0. 0. 0. 0. ! METANOLO i -1. -1. 1. 1. 1. 1. 1. -1. 1. 1. -1. -1. -1. -1. 1. -1. -1. -1. -1. -1. d 0. 1. 0. 0. 0. ! PROPANOLO i -1. -1. -1. -1. -1. 1. -1. -1. -1. -1. -1. -1. 1. 1. 1. -1. -1. -1. -1. -1. d 0. 0. 1. 0. 0. ! Alcool Amilico i -1. -1. 1. 1. -1. 1. -1. -1. -1. 1. -1. -1. 1. -1. -1. -1. -1. -1. -1. -1. d 0. 0. 0. 1. 0. ! ETANOLO i -1. -1. 1. 1. 1. 1. -1. 1. 1. -1. -1. -1. -1. -1. -1. -1. -1. 1. 1. 1. d 0. 0. 0. 0. 1. ! BUTANOLO i -1. -1. 1. -1. -1. 1. -1. 1. -1. -1. -1. 1. 1. 1. -1. -1. 1. 1. 1. 1. d 1. 0. 0. 0. 0. ! METANOLO i -1. -1. -1. -1. 1. 1. 1. 1. 1. 1. -1. 1. -1. -1. 1. -1. -1. -1. 1. 1. d 0. 1. 0. 0. 0. ! PROPANOLO i -1. -1. -1. 1. -1. 1. -1. 1. -1. 1. -1. 1. -1. -1. 1. -1. -1. -1. 1. -1. d 0. 0. 1. 0. 0. ! Alcool Amilico i -1. 1. -1. 1. -1. 1. 1. 1. 1. 1. -1. 1. 1. -1. -1. -1. 1. -1. -1. -1. d 0. 0. 0. 1. 0. ! ETANOLO i -1. -1. -1. 1. 1. 1. -1. -1. -1. 1. -1. 1. -1. -1. -1. -1. 1. 1. 1. 1. d 0. 0. 0. 0. 1. ! BUTANOLO i -1. -1. -1. -1. -1. 1. -1. 1. -1. -1. -1. -1. 1. 1. 1. -1. 1. -1. -1. -1. d 1. 0. 0. 0. 0. ! METANOLO i -1. -1. -1. -1. 1. 1. -1. 1. -1. 1. -1. -1. 1. -1. 1. -1. -1. 1. -1. -1. d 0. 1. 0. 0. 0. ! PROPANOLO i -1. -1. 1. -1. -1. 1. -1. -1. -1. -1. -1. 1. -1. 1. 1. -1. -1. 1. -1. -1. d 0. 0. 1. 0. 0.
149
! Alcool Amilico i -1. 1. -1. 1. -1. 1. 1. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. 1. -1. -1. d 0. 0. 0. 1. 0. ! ETANOLO i -1. 1. -1. 1. 1. 1. -1. 1. 1. -1. -1. -1. 1. -1. -1. -1. 1. -1. 1. 1. d 0. 0. 0. 0. 1. ! BUTANOLO i -1. -1. -1. -1. -1. 1. -1. -1. -1. -1. -1. 1. -1. 1. -1. -1. 1. -1. 1. 1. d 1. 0. 0. 0. 0. ! METANOLO i -1. -1. 1. -1. 1. 1. -1. -1. -1. 1. -1. -1. -1. -1. 1. -1. -1. 1. -1. -1. d 0. 1. 0. 0. 0. ! PROPANOLO i -1. -1. -1. -1. -1. 1. -1. -1. 1. 1. -1. 1. 1. 1. 1. -1. 1. 1. 1. 1. d 0. 0. 1. 0. 0. ! Alcool Amilico i -1. -1. -1. -1. 1. 1. -1. -1. 1. -1. -1. 1. -1. -1. -1. -1. -1. -1. -1. 1. d 0. 0. 0. 1. 0. ! ETANOLO i -1. -1. -1. -1. 1. 1. -1. -1. -1. 1. -1. -1. 1. -1. -1. -1. 1. 1. 1. 1. d 0. 0. 0. 0. 1. ! BUTANOLO
150
11.3 Interpretazione della simulazione della rete Hamtesia.
11.3.1 Fase di learning
La fase di learning si svolge in un solo passo. Quindi per i 25 pattern bastano 25 iterazioni e questo e' vero sia per i dati Inglesi che per quelli del C. Piaggio.
11.3.2 Fase di recall con aggiunta di rumore Nella fase di recall, il meccanismo della inibizione laterale interviene facendo competere i neuroni adiacenti fino a che uno vince. Abbiamo previsto di aggiungere, durante questa fase, del rumore distribuito tra -‐ 1.2 e 1.2 (T=120) in modo uniforme e questo e' stato fatto, ponendo il parametro temperatura T del "recall schedule" ad un valore di 120. Infatti con tale operazione, otteniamo di aggiungere alla somma per ogni PE un valore uniformemente distribuito tra -‐0.01*T e 0.01*T. Per T=120 la percentuale di errore della rete e' del 4% per i dati Inglesi e del 28% con i dati del C. Piaggio. Cio' e' dovuto all'uso della codifica a 5 bit, utilizzata con i dati del C. Piaggio, che ci da' la possibilita' di avere solo 20 bit in ingresso contro i 36 dei dati Inglesi ( per maggiori spiegazioni si vedano le conclusioni al termine di questo capitolo)
11.3.3. Nota sul parametro T impiegato per aggiungere rumore ai dati in ingresso Si ricorda che, nelle reti binarie ( Hamming, ART1, BAM), l'immunita' al rumore apparira' sicuramente maggiore rispetto alle reti analogiche. Infatti, come precedentemente asserito, tali reti rispondono a segnali di valore +/-1 quindi una pertubazione data con T=100 significa aggiungere o togliere 1 che corrisponde al 100 % sui valori di ingressso, mentre T=10 corrisponde, nelle reti binarie al 10% su valori max in ingresso. In conclusione il parametro T consente un confronto in termini di immunita' al rumore solo tra reti che sono state addestrate con il medesimo
151
file di dati. Quindi va interpretato volta per volta, se si variano i file dei dati.
Fig. 36 Legenda dei colori usati nella rete Hamtesia.
Fig. 37 L/R Schedule usato da Hamtesia. Si noti il termine C1 che vale 0.5 durante tutto il learning
152
Fig. 38. Fase di recall di Hamtesia a seguito della presentazione di un pattern relativo al metanolo
Â
153 Â
Fig. 39. Fase di recall di Hamtesia a seguito della presentazione di un pattern relativo al propanolo
Â
154 Â
Fig. 40. Fase di recall di Hamtesia a seguito della presentazione di un pattern relativo al metoxietanolo
Â
155 Â
Fig. 41. Fase di recall di Hamtesia a seguito della presentazione di un pattern relativo all'etanolo
Â
156 Â
Fig. 42. Fase di recall di Hamtesia a seguito della presentazione di un pattern relativo al butanolo.
Â
157 Â
Fig. 43. Rete che e' stata congelata in un momento intermedio del suo recall, tre neuroni competono con il meccanismo della inibizione laterale per stabilire chi vincera', ma uno e' gia' in vantaggio su tutti gli altri.
158
Fig. 44. Eesempio di classificazione errata, dovuta all'alto livello di rumore a cui e' stata sottoposta la rete in fase di recall. Vediamo che in risposta al pattern del metanolo, si attivano 2 neuroni contigui, nello strato di uscita.
11.4 Minimizzazione della rete Hamtesia Sono state effettuate prove, per minimizzare la rete, che hanno condotto ai seguenti risultati. La rete, con 5 pattern in ingresso, 5 PE nello strato delle categorie e 5 PE in uscita, sia con i dati Inglesi che con i dati del C. Piaggio, opera molto bene ed e' capace di fare riconoscimenti corretti al 100%, anche con forti dosi di rumore, mentre con 25 pattern in ingresso la stessa rete riconosce il 100% dei pattern, solo in assenza di rumore o con un rumore fino a T=100 . Per T=200 le prestazioni di questa rete minima decadono bruscamente a causa dell'eccessivo rumore aggiunto ( T=200 corrisponde in tutte le reti binarie al 200% sui valori in ingresso. Vedi nota sul rumore al paragrafo 11.3.3).
159
Tabella 15 Tabella riassuntiva delle prove fatte con Hamtesia con i dati Inglesi: rete num. num. num. num. num. PE in PE PE in pattern iter. ingresso nasco Uscita da per non 0 s. appren conver d . Hamtesia 36 50 50 25 25 Hamtesia 36 50 50 25 25
tempo per la conver.
% di ricon os. senza error e
rumo re in recall
2" 2"
100% 96%
T=0 T=12 0 T=20 0 T=0 T=12 0 T=20 0 T=20 0 T=0
Hamtesia 36
50
50
25
25
2"
72%
Hamtesia 36 Hamtesia 36
50 50
50 50
5 5
5 5
2" 2"
100% 98%
Hamtesia 36
50
50
5
5
2"
75%
Hamtesia (min) Hamtesia (min) Hamtesia (min) Hamtesia (min)
36
5
5
5
5
2"
100%
36
5
5
25
5
2"
100%
36
5
5
25
5
2"
100%
36
5
5
25
5
2"
50%
160
T=10 0 T=20 0
Tabella 16 Tabella riassuntiva delle prove fatte con Hamtesia con i dati del C. Piaggio: rete num. num. num. num. num. tempo PE in PE PE in pattern iter. per la ingresso nascos Uscita da per conver non 0 . appren conver . d . Hamtesia 20 50 50 25 25 2" Hamtesia 20 50 50 25 25 2"
% di ricono s senza errore 76% 72%
rumo re in recal
T=10 0 T=20 0
Hamtesia 20
50
50
25
25
2"
Hamtesia 20 Hamtesia 20
50 50
50 50
5 5
5 5
2" 2"
Hamtesia 20
50
50
5
5
2"
Hamtesia (min) Hamtesia (min) Hamtesia (min) Hamtesia (min)
20
5
5
5
5
2"
20
5
5
25
5
2"
T=0 T=12 0 < 50% T=20 0 100% T=0 98% T=12 0 75% T=20 0 100% T=20 0 76% T=0
20
5
5
25
5
2"
68%
20
5
5
25
5
2"
50%
11.5 Considerazioni finali sulle reti Hamming Con T=0 e 25 pattern da apprendere, Hamtesia con i dati
Inglesi
funziona
bene
nel
100%
dei
casi,
avendo 36 ingressi utili (con una capacita' massima di discriminazione pari a 36 pattern, essendo 36 il numero
di
possibili). avendosi sbaglia
pattern Invece,
solo almeno
riconoscimento
20
con
i
ingressi
5, ad
linearmente dati
del
utili,
il
portando un
max
indipendenti
la del
C.Piaggio, sistema
ne
percentuale
di
76%
con
T=0
e
scendendo al 68% con T=100. Ovviamente, se si usano in fase di recall solo i 5 pattern medi presi dai
161
dati del C. Piaggio, la rete dei casi, anche con T=200 .
Â
162 Â
opera bene nel 100%
Capitolo 12 Simulazione di una rete ART:artesib. 12.1 Descrizione della rete artesib La rete "Artesib" da noi realizzata riguarda un modello ART1 . A differenza delle reti costruite fino ad ora, la rete ART1 da noi realizzata, e' un modello autoassociativo (si veda la parte seconda per una descrizione teorica). Essa e' costituita da 10 strati di cui uno, che fa da buffer in ingresso, e' composto da 36 PE utili nella versione con i dati Inglesi e 20 nella versione con i dati del C. Piaggio ( In realta' sono 42 di cui gli ultimi sono in eccesso e sono stati inseriti, pensando a sviluppi futuri). Lo strato F1 ha lo stesso numero di elementi del buffer in ingresso; i PE dello strato F1 hanno un' uscita diretta. Lo strato F2 comprende 50 PE (e' lo strato delle categorie) ed e' uno strato competitivo, in cui vince un solo neurone, quello attivo. Poi vi sono 4 strati di un PE ciascuno per realizzare il sottosistema attenzionale di una rete ART1 ( IP Sum, IP Active, F2 Active, Gain Control ). Infine vi sono 3 strati che implementano il sottosistema di orientamento (Vigilance, F1 Sum, Reset). F1 ed F2 sono connessi in modo totale l'uno con l'altro nei due sensi. Il parametro vigilanza e' ottenuto mediante il "Mod factor" nel "learnig recall schedule". Variando questo parametro, siamo riusciti (dopo molti tentativi senza successo ) a far apprendere alla rete le giuste categorizzazioni, in modo da far si' che, dopo aver presentato 25 patterns, fossero solo 5 i neuroni a rispondere su tutti i 50. Infatti, senza dei particolari accorgimenti, la rete inizialmente riconosceva i pattern come appartenenti a 25 classi distinte. In aggiunta alla rete abbiamo creato degli strumenti che mettessero in evidenza l' attivita' che andava svolgendosi. Lo strumento "Input" rappresenta, i pattern indicativi dei vari odori (immagini degli odori) in forma di matrice 4X9 binaria, utilizzando 2 colori (bianco per lo zero e rosso per l'uno). Lo strumento
163
"F1 activity" indica invece l'attivita' dello strato F1 sempre in forma di matrice binaria. "Weber Law" mostra, in forma di grafico a barre, composto di 36 aree, i pesi bottom-‐up (tra lo strato F1 e F2). Tale grafico fornisce un'immagine coincidente con "F1 activity" solo a stabilizzazione avvenuta, mentre, in fase di apprendimento, consente di seguire la risonanza, durante il suo svolgimento. Vi e' infine uno strumento (rettangolo lungo 50 plots) che mostra la funzione di uscita (in formato rms) dello strato F2; in tale strumento appare, in rosso, il neurone corrispondente alla classe alcolica riconosciuta.
12.2 Descrizione dei dati di addestramento. I dati impiegati per addestrare la rete sono in forma binaria ordinaria e sono identici a quelli utilizzati, per addestrare la rete Hamtesia e questo e' vero sia per i dati Inglesi che per quelli del C. Piaggio. Per questa rete i -‐1 sono sostituiti dagli 0, mentre gli 1 sono sempre 1. La particolarita' di questa rete di essere autoassociativa fa si' che non venga fornito un pattern indicante l'uscita desiderata. Infatti la rete decidera' di volta in volta (in maniera imprevedibile a priori ) quali neuroni dello strato F2 codificheranno una determinata classe alcolica ma, un volta stabilito il codice in fase di learning, esso restera' fissato (e' un po' quello che succede nel sistema olfattivo biologico). I pattern di dati Inglesi utilizzati, sono composti di 1 riga ciascuno di 36 elementi. La riga comincia con una "i" ed e' seguita da 36 numeri binari (0. e 1.) che codificano soltanto il pattern in ingresso (essendo la rete autoassociativa). La riga, preceduta dal "!", indica un semplice commento per l'utente. Quello sotto riportato e' il file di addestramento di Artesib con i dati Inglesi. alcart3f.nni i 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 1. 0. 1. 1. 1. 0. 1. 0. 1. 0. 0.
164
1. 1. 0. 1. ! metanolo i 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 1. 1. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 1. 1. 1. 0. 0. 1. 0. 1. 1. 1. 0. 1. ! propanolo i 1. 0. 1. 1. 0. 0. 1. 0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0. 1. 0. 0. 1. 0. 1. 1. 0. 1. 0. 0. 0. 1. 0. ! metoxietanolo i 1. 0. 0. 1. 1. 1. 0. 1. 1. 0. 1. 0. 0. 1. 0. 0. 0. 1. 0. 1. 0. 1. 1. 1. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 1. 1. ! etanolo i 0. 1. 0. 1. 1. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1. 0. 0. 0. 0. ! butanolo i 0. 0. 0. 1. 0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 0. 1. 1. 1. 0. 1. 0. 1. 1. 0. 1. 1. 1. 0. 0. 1. 0. 1. 1. 1. 1. 0. ! metanolo i 0. 0. 0. 1. 0. 1. 1. 1. 0. 0. 1. 1. 1. 1. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. 1. 1. 0. 1. 0. 1. 0. 0. 1. 1. 0. 0. ! propanolo i 1. 0. 1. 0. 0. 0. 0. 1. 0. 0. 1. 0. 0. 1. 1. 1. 0. 0. 0. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 1. ! metoxietanolo i 1. 0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 1. 1. 0. 1. 0. 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0. ! etanolo i 0. 1. 0. 0. 1. 1. 0. 1. 0. 0. 0. 0. 1. 1. 1. 1. 1. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. ! butanolo i 0. 0. 1. 1. 0. 0. 0. 1. 1. 0. 1. 1. 0. 0. 1. 0. 1. 1. 0. 1. 0. 1. 1. 0. 1. 1. 1. 0. 0. 1. 0. 1. 1. 1. 1. 0. ! metanolo i 1. 1. 1. 1. 1. 0. 0. 1. 0. 1. 0. 1. 1. 1. 1. 1. 0. 0. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 0. 1. 1. 0. 1. 1. 1. 0. ! propanolo i 1. 1. 0. 0. 0. 0. 1. 1. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 1. 0. 1. 1. 0. 1. 1. 0. 1. 0. 1. 1. 0. 0. 1. 1. ! metoxietanolo
165
i 1. 0. 1. 0. 1. 1. 1. 0. 1. 0. 1. 1. 0. 1. 0. 1. 0. 1. 1. 0. 1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. ! etanolo i 0. 1. 1. 0. 1. 1. 1. 1. 0. 0. 1. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 1. 0. 1. 1. 0. 1. 1. 0. 0. 1. 0. 0. 0. 0. ! butanolo i 0. 0. 0. 0. 1. 1. 1. 0. 1. 0. 0. 0. 1. 1. 1. 1. 1. 0. 1. 0. 0. 0. 1. 1. 1. 0. 1. 1. 0. 0. 1. 0. 1. 0. 1. 1. ! metanolo i 1. 1. 1. 0. 0. 1. 1. 0. 0. 0. 1. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 1. 1. 1. 0. 1. 1. ! propanolo i 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. ! metoxietanolo i 0. 1. 1. 1. 1. 0. 1. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 1. 1. 0. 1. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0. 1. ! etanolo i 0. 0. 1. 1. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 0. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. ! butanolo i 0. 1. 0. 0. 1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 1. 1. 1. 1. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. 0. 1. 1. 0. 1. 1. 1. 1. ! metanolo i 0. 0. 1. 0. 1. 0. 1. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 1. 1. 1. 1. 1. 1. 1. ! propanolo i 1. 1. 0. 1. 0. 1. 0. 0. 0. 1. 0. 1. 1. 0. 1. 0. 0. 0. 1. 1. 1. 1. 0. 0. 0. 1. 1. 1. 0. 0. 1. 0. 0. 1. 0. 0. ! metoxietanolo i 1. 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 1. 1. 0. 0. 1. 1. 1. 1. 0. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1. 0. 1. 0. 1. ! etanolo i 0. 1. 1. 1. 0. 0. 0. 0. 0. 0. 1. 1. 0. 1. 0. 1. 1. 1. 0. 1. 0. 0. 1. 0. 1. 1. 0. 0. 1. 0. 1. 1. 0. 0. 0. 0. ! butanolo
166
I
pattern
con
i
dati
del
C.
Piaggio
e
sotto
riportati sono composti di righe di 20 elementi, avendo
usato
ingresso.
Per
una il
codifica resto
a
tutto
5
bit e'
descritto a proposito dei dati Inglesi. ! Alcartpf.nni ! File di addestramento rete ART1 con dati ! del C. Piaggio i 0. 1. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 1. ! METANOLO i 0. 0. 0. 1. 1. 1. 1. 1. 0. 1. 0. 1. 1. 0. 1. 0. 1. 1. 0. 0. ! PROPANOLO i 0. 1. 1. 0. 0. 1. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 1. 1. 0. 0. ! Alcool Amilico i 0. 0. 0. 1. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. ! ETANOLO i 0. 0. 0. 1. 1. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 1. 1. ! BUTANOLO i 0. 1. 1. 0. 0. 1. 1. 0. 0. 0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 1. ! METANOLO i 0. 0. 1. 1. 1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. ! PROPANOLO i 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 1. 1. 0. 0. 0. 0. 0. ! Alcool Amilico i 0. 0. 1. 1. 0. 1. 0. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. ! ETANOLO i 0. 0. 1. 1. 1. 1. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 1. ! BUTANOLO i 0. 0. 1. 0. 0. 1. 0. 1. 0. 0. 0. 1. 1. 1. 0. 0. 1. 1. 1. 1. ! METANOLO i 0. 0. 0. 0. 1. 1. 1. 1. 1. 1. 0. 1. 0. 0. 1. 0. 0. 0. 1. 1. ! PROPANOLO i 0. 0. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 0. 1. 0. 0. 0. 1. 0. ! Alcool Amilico i 0. 1. 0. 1. 0. 1. 1. 1. 1. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 0. ! ETANOLO i 0. 0. 0. 1. 1. 1. 0. 0. 0. 1. 0. 1. 0. 0. 0. 0. 1. 1. 1. 1. ! BUTANOLO i 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 0. 0. 1. 1. 1. 0. 1. 0. 0. 0. ! METANOLO i 0. 0. 0. 0. 1. 1. 0. 1. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1. 0. 0. ! PROPANOLO i 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 1. 0. 0. 1. 0. 0. ! Alcool Amilico i 0. 1. 0. 1. 0. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. ! ETANOLO
167
per
come
ogni sopra
i 0. 1. 0. 1. 1. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 1. 1. ! BUTANOLO i 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 1. 0. 1. 1. ! METANOLO i 0. 0. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 1. 0. 0. ! PROPANOLO i 0. 0. 0. 0. 0. 1. 0. 0. 1. 1. 0. 1. 1. 1. 1. 0. 1. 1. 1. 1. ! Alcool Amilico i 0. 0. 0. 0. 1. 1. 0. 0. 1. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. ! ETANOLO i 0. 0. 0. 0. 1. 1. 0. 0. 0. 1. 0. 0. 1. 0. 0. 0. 1. 1. 1. 1. ! BUTANOLO
12.3 Interpretazione Artesib.
della
simulazione di
12.3.1 Fase di learning Le prove effettuate riguardano i due insiemi di dati ,Inglesi e del C. Piaggio che sono stati presentati in 2 gruppi distinti di 25 pattern ciascuno. La fase di addestramento della rete e' stata piuttosto complessa. Infatti, se si presentano alla rete appena costruita i 25 patterns relativi alle 5 specie alcoliche con un valore del parametro di vigilanza di default, posto a 0.8 (grande attenzione), la rete sviluppa 25 codici distinti ossia individua 25 classi di odori. Limitandoci a ridurre il parametro di vigilanza a valori inferiori, mantenendo gli stessi pattern, si riesce a ridurre il numero delle categorie, ma vi sono problemi per fare in modo che ad uno stesso neurone sia sempre associata la classe alcolica corretta: la rete tende a confondere i vari odori tra di loro. Dopo molte prove abbiamo percio' pensato di fare le seguenti modifiche. In primo luogo (Fase1) abbiamo sottoposto alla rete i 5 pattern medi, fissando il parametro di vigilanza ("mod factor" ) a 0.8. In questa maniera abbiamo obbligato la rete a creare 5 codici relativi a 5 odori, che vengono mappati su 5 categorie distinte (ossia 5 PE). Quindi
168
(Fase2) abbiamo abbassato l'attenzione del sistema, portando il valore del parametro di vigilanza a 0.0010, ottenendo un sistema che non poteva sviluppare nuove categorie, ma era obbligato a mappare ogni pattern sulle cinque specie fissate, nella prima fase. Il risultato di tutto cio' e' stato un sistema che ottiene delle buone prestazioni. In conclusione, sebbene il sistema ART1 sia assai interessante da un punto di vista biologico, in particolare per il fatto di non richiedere un supervisore omnisciente, ha presentato difficolta' per poter divenire un' applicazione concreta.
12.3.2 Fase di recall Durante il recall vengono presentate al sistema le 25 forme . Dopo una certa oscillazione, il sistema riconosce i pattern, attivando le uscite dei neuroni di F2. Si puo osservare che la percentuale di riconoscimento, in presenza di rumore, e' non troppo buona. Si vedano le figure illustranti il recall, relativo a 5 pattern scelti a caso tra i pattern Inglesi.
12.4 Illustrazione delle prove fatte con i dati Inglesi e con quelli del C. Piaggio anche in presenza di rumore La rete e' capace di convergere, in pochi passi, uno per ogni pattern, (sono state necessarie 5 ripetizioni nella prima fase e 25 nella seconda). Essa quindi potrebbe prestarsi assai bene per un sistema che richiedesse il riconoscimento degli odori in tempo reale, ma si deve notare che i dati andrebbero presentati in sequenze, scelte ad hoc, con opportuni valori del parametro di vigilanza da scegliere empiricamente volta per volta. Tutto cio' ci fa ritenere che l'uso utile di un tale sistema richiederebbe, oltre alla rete stessa, un algoritmo che evolvesse in parallelo e fosse in grado di regolare il parametro di vigilanza, in modo
169
"adattivo" al variare dei dati presentati. In fase1, per formare le categorie (le codifiche degli odori) occorre un sistema molto attento, mentre in fase2 si possono fornire gli altri dati, riducendo l'attenzione del sistema. Inoltre si deve notare la scarsa immunita' al rumore che e' sicuramente peggiore rispetto alle reti Hamming.
170
Fig. 45 Un momento della fase di recall della rete addestrata con 5 pattern, con il parametro di vigilanza posto a 0.8 (Fase1). Si osservi la sostanziale coincidenza tra "input", "F1 activity" e "pesi bottom-‐up", dovuta all'alto valore del parametro di vigilanza.
Fig. 46 Un altro momento della fase di recall della rete addestrata con 5 pattern, con il parametro di vigilanza posto a 0.8 (Fase1).
171
Fig. 47. "Learning recall schedule" usato da Artesib in Fase1. Si noti il mod factor (=parametro di vigilanza ) posto a 0.8
Fig.48 Nuovi valori del learning recall schedule applicati nella fase2 si noti che ora il mod factor e' stato posto a 0.0010. Di seguito e' illustrata la fase di recall dopo la fase2 , relativa a 5 esempi di pattern Inglesi, in cui il parametro vigilanza e' stato abbassato al valore di 0.0010. Si osservi come l'input e l'attivita' di F1 e i pesi Bottom-‐up siano ora diversi, sebbene la rete riconosca correttamente gli odori a livello dello strato F2. Le diversita' tra le risposte degli
172
strumenti ora e' dovuta proprio al fatto di aver fortemente abbassato il livello di attenzione della rete.
173
Fig. 49 Recall di fronte ad un pattern relativo al metanolo dopo la fase2. Si osservi F1 Activity che ora e' diverso da Input.
Fig. 50 Recall di fronte ad un pattern relativo al propanolo dopo la fase2.
174
Fig. 51 Recall di fronte ad un pattern relativo al metoxietanolo dopo la fase2. Si osservi ora F1 Activity che ora e' diverso da Input.
Fig. 52 Recall di fronte ad un pattern relativo all'etanolo dopo la fase2. Si osservi F1 Activity che ora e' diverso da Input.
175
Fig. 53 Recall di fronte ad un pattern relativo al butanolo dopo la fase2.
12.5 Minimizzazione della rete Artesib Gli esperimenti compiuti indicano che si puo' realizzare una rete con 36 ingressi, 36 PE nello strato F1 e 36 PE nello strato F2 (un numero inferiore di neuroni sembra portare alla cancellazione dei codici autoappresi). Questa rete minima ( ricavata usando i dati Inglesi e' idonea ad effettuare riconoscimenti ,una volta riaddestrata, con i dati del C. Piaggio). Sotto vengono riportate le tabelle relative alle prove fatte con i dati Inglesi e quelli del C. Piaggio.
176
Tabella 17 Tabella riassuntiva rete num. PE in ingres so Artesi 42 b Artesi 42 b Artesi 42 b Artesi 42 b
delle prove fatte con i dati inglesi num. num. num. num. tempo % di PE PE in pattern iter. per la riconos nasco Uscita da per conver. senza s. F1 F2 appren conve errore d r. 42 50 5 5 2" 100%
valore rumor param e in vigilan recall z 0.8
T=0
42
50
5
5
2"
80%
0.8
T=100
42
50
25
25
18"
24%
0.8
42
50
25
2"+5"=7 "
64%
0.8 e 0.001
T=0 (1) T=0 (2)
2"+5"=7 "
44%
0.8 e 0.001
T=100
1" e 30/100
100%
0.8
T=0
Artesi b
42
42
50
25
Artesi b (min) Artesi b (min) Artesi b (min) Artesi b (min) Artesi b (min)
36
36
36
5
5+25= 30 in 2 fasi 5+25= 30 in 2 fasi 5
36
36
36
5
5
1" e 30/100
80%
0.8
T=100
36
36
36
25
25
16"
24%
0.8
T=0
36
36
36
25
0.8 e 0.001
T=0
36
36
25
1".30+5" =6" e 30/100 1".30+5" =6" e 30/100
64%
36
5+25= 30 in 2 fasi 5+25= 30 in 2 fasi
44%
0.8 e 0.001
T=100
177
Si notino, nella tabella 17, le 2 prove (1) e (2); nella (1) si e' usato il solo ρ=0.8 e si e' addestrata la rete con 25 pattern ottenendo una percentuale di riconoscimento del 24%. In (2) si e' invece compiuto l'addestramento in 2 fasi come descritto nel testo e la % di riconoscimento e' salita al 64% Tabella 18 Tabella riassuntiva delle prove fatte con i dati del C. Piaggio tempo rete num. num. num. num. num. % di valore patte per la PE in PE PE in rn da iter. ricon param conver. ingres nasco Uscita appre per os vigilan so s. F1 F2 nd conver. senza z error e 2" artesip 42 42 50 5 5 100% 0.8 a 2" artesip 42 42 50 5 5 80% 0.8 a 18" artesip 42 42 50 25 25 24% 0.8 a artesip 42 42 50 25 5+25=3 2"+5"=7 64% 0.8 e " a 0 in 2 0.001 fasi artesip 42 42 50 25 5+25=3 2"+5"=7 44% 0.8 e " a 0 in 2 0.001 fasi 1" e Artesip 20 20 20 5 5 100% 0.8 30/100 a (min) 1" e Artesip 20 20 20 5 5 80% 0.8 30/100 a (min) 16" Artesip 20 20 20 25 25 24% 0.8 a (min) Artesip 20 20 20 25 5+25=3 1".30+5 64% 0.8 e "=6" e a (min) 0 in 2 0.001 30/100 fasi Artesip 20 20 20 25 5+25=3 1".30+5 44% 0.8 e "=6" e a (min) 0 in 2 0.001 30/100 fasi
178
rumo re in recall
T=0 T=10 0 T=0 T=0 T=10 0 T=0 T=10 0 T=0 T=0 T=10 0
12.6 Osservazioni conclusive su Artesib Si osservi come
i risultati ottenuti con i dati
del
siano
C.
Piaggio
praticamente
identici
a
quelli ottenuti con i dati Inglesi e questo e' dovuto al fatto che nel modello ART1 ogni PE dello strato
nascosto
F1
riconosce
piu'
distinti. Quindi su 20 PE dello strato F1 configurazione
minima
si
riescono
a
pattern della mappare
abbastanza correttamente i 25 pattern in ingresso. Infatti nei modelli ART, riducendo il numero di PE in
ingresso,
purche'
non
di
troppo,
non
si
riducono le prestazioni, poiche' non esiste per ART1 il vincolo che i vettori da apprendere siano linearmente
indipendenti;
altresi'
ART1
risulta
maggiormente sensibile al rumore , rispetto alle altre reti binarie.
179
Capitolo 13 Simulazione di una rete BAM: Bamtesia
13.1 Descrizione della rete Bamtesia Con la rete Bamtesia abbiamo implementato un modello BAM. Essa si compone di uno strato di 36 ingressi che ricevono i dati presi dai sensori e li trasformano in binario nel modo descritto precedentemente. Il secondo strato si chiama "BAM I" ed ha 36 elementi. Il terzo strato si chiama "BAM II" ed e' costituito di 5 PE, tanti quanti sono le classi alcoliche. Infine vi e' un quarto strato composto di 5 elementi. La rete da noi realizzata puo' considerarsi in forma minima. I PE dello strato in input sono connessi in modo uno a uno con "BAM I" con pesi fissati ad 1. I PE di "BAM I" si connettono poi ai PE di "BAM II", in modo uno a molti con pesi variabili, inizialmente settati a 0.0. Identiche sono le connessioni in direzione opposta da "BAM II" a "BAM I". Infine i PE di "BAM II" si connettono a quelli di uscita, in modo uno a uno, con pesi fissati a 1.0. Per seguire l'evoluzione della rete in fase di learning e di recall, sono stati aggiunti vari strumenti . Lo strumento "BAM I" mostra l'uscita binaria (-‐1 o 1 in forma di presenza o assenza di colore ) di ciascun PE dello strato "BAM I", percio' si compone di 36 barre. Lo strumento "BAM II" rappresenta le uscite dello strato omonimo, percio' si compone di 5 barre che indicano se l'uscita e' +1 o -‐1 ( presenza o assenza di colore rispettivamente ). Lo strumento "Uscita" rappresenta nello stesso modo di sopra i valori dell'output che non sempre corrispondono a quelli di "BAM II",come vedremo nelle simulazioni. Infine lo strumento "BAM 1-‐2 pesi" rappresenta, in forma di grafico a barre, i valori rms dei pesi tra lo strato "BAM I" e "BAM II" (ne abbiamo preso un campione di 180 sui 900 totali ).
180
13.2 Descrizione dei dati utilizzati per addestrare Bamtesia I dati sono sempre gli stessi utilizzati, per addestrare le altre reti binarie, ma posti in una forma opportuna per la BAM. Infatti, per la sua natura, la rete deve ricevere 2 patterns in ingresso da associare l'uno con l'altro. Una scelta impropria delle forme da associare puo' condurre alla formazione di apprendimenti spuri o anche alla mancata associazione dei pattern. La nostra scelta e' stata quella di mettere in ingresso, al primo strato, il pattern relativo alle uscite dei sensori binarizzate. In uscita (ingresso finale) poniamo un pattern per ogni specie alcolica, rappresentato da un vettore con un solo 1 in corrispondenza del PE che volevamo rappresentasse un alcool. In sostanza, la rete deve essere in grado di associare a 5 pattern, relativi ad un solo alcool, un solo pattern fissato sulla strato di uscita. E' ovvio che la forma del pattern in uscita e' cruciale, perche' non puo' essere arbitraria per ragioni teoriche. I dati in ingresso alla rete sono nella forma di due righe; ciascuna inizia con una lettera "i" che sta per input. La prima riga e' composta di 36 valori bipolari (+1, -‐1) (per i dati Inglesi) e 20 (per quelli del C. Piaggio avendo usato per tale rete la solita codifica a 5 bit ), mentre la seconda si compone di 5 valori con un solo +1 e gli altri 4 valori -‐1. (Il posto del metoxietanolo ,nei dati Inglesi, e' preso dall'alcool Amilico nei dati del C. Piaggio). La riga preceduta da
un "!" inizia un commento.
! Alcbamf.nni ! dati Inglesi i -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! metanolo
181
i -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. i -‐1. 1. -‐1. -‐1. -‐1. ! propanolo i 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. i -‐1. -‐1. 1. -‐1. -‐1. ! metoxietanolo i 1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. i -‐1. -‐1. -‐1. 1. -‐1. ! etanolo i -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐ 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. -‐1. -‐1. 1. ! butanolo i -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. i 1. -‐1. -‐1. -‐1. -‐1. ! metanolo i -‐1. -‐1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. i -‐1. 1. -‐1. -‐1. -‐1. ! propanolo i 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. i -‐1. -‐1. 1. -‐1. -‐1. ! metoxietanolo i 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐ 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. i -‐1. -‐1. -‐1. 1. -‐1. ! etanolo i -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐ 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. -‐1. -‐1. 1. ! butanolo i -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. i 1. -‐1. -‐1. -‐1. -‐1. ! metanolo
182
i 1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. -‐1. i -‐1. 1. -‐1. -‐1. -‐1. ! propanolo i 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. 1. 1. i -‐1. -‐1. 1. -‐1. -‐1. ! metoxietanolo i 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. i -‐1. -‐1. -‐1. 1. -‐1. ! etanolo i -‐1. 1. 1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. -‐1. -‐1. 1. ! butanolo i -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! metanolo i 1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. i -‐1. 1. -‐1. -‐1. -‐1. ! propanolo i 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐ 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. 1. -‐1. -‐1. ! metoxietanolo i -‐1. 1. 1. 1. 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. i -‐1. -‐1. -‐1. 1. -‐1. ! etanolo i -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. -‐ 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. -‐1. -‐1. 1. ! butanolo i -‐1. 1. -‐1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! metanolo
183
i -‐1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. -‐ 1. -‐1. 1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. 1. i -‐1. 1. -‐1. -‐1. -‐1. ! propanolo i 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. i -‐1. -‐1. 1. -‐1. -‐1. ! metoxietanolo i 1. -‐1. 1. 1. 1. 1. 1. 1. 1. 1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. i -‐1. -‐1. -‐1. 1. -‐1. ! etanolo i -‐1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. i -‐1. -‐1. -‐1. -‐1. 1. ! butanolo
184
13.2.2 dati del C. Piaggio utilizzati per Bamtesia Il
File
relativo
rappresentati rete
bamtesia
medesime
in
ai
forma e'
qui
considerazioni
dati
del
binaria
e
sotto fatte
C.
adattati
riportato sopra
a
dei dati Inglesi. !Alcbampf.nni i -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! METANOLO i 1. -‐1. -‐1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. i -‐1. 1. -‐1. -‐1. -‐1. ! PROPANOLO i 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. i -‐1. -‐1. 1. -‐1. -‐1. ! Alcool Amilico i 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. i -‐1. -‐1. -‐1. 1. -‐1. ! ETANOLO i -‐1. -‐1. -‐1. 1. 1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. 1. ! BUTANOLO i 1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! METANOLO i -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. i -‐1. 1. -‐1. -‐1. -‐1. ! PROPANOLO i 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. 1. -‐1. 1. i -‐1. -‐1. 1. -‐1. -‐1. ! Alcool Amilico i 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. i -‐1. -‐1. -‐1. 1. -‐1. ! ETANOLO i 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. i 1. -‐1. -‐1. -‐1. 1. ! BUTANOLO i -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. -‐1. -‐1. 1. 1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! METANOLO i -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. i -‐1. 1. -‐1. -‐1. -‐1. ! PROPANOLO i 1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. 1. i -‐1. -‐1. 1. -‐1. -‐1.
185
Piaggio alla
con
le
proposito
! Alcool Amilico i 1. 1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. i -‐1. -‐1. -‐1. 1. -‐1. ! ETANOLO i -‐1. 1. -‐1. 1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. 1. 1. 1. i -‐1. -‐1. -‐1. -‐1. 1. ! BUTANOLO i 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. 1. 1. 1. 1. -‐1. 1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! METANOLO i 1. -‐1. -‐1. -‐1. 1. 1. -‐1. 1. -‐1. 1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. i 1. 1. -‐1. -‐1. -‐1. ! PROPANOLO i -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. i 1. -‐1. 1. -‐1. -‐1. ! Alcool Amilico i -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. i 1. -‐1. -‐1. 1. -‐1. ! ETANOLO i -‐1. 1. -‐1. 1. 1. 1. -‐1. 1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. 1. ! BUTANOLO i -‐1. -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. 1. i 1. -‐1. -‐1. -‐1. -‐1. ! METANOLO i 1. -‐1. 1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. i -‐1. 1. -‐1. -‐1. -‐1. ! PROPANOLO i -‐1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. 1. 1. 1. 1. -‐1. 1. 1. 1. 1. i 1. -‐1. 1. -‐1. -‐1. ! Alcool Amilico i -‐1. -‐1. -‐1. -‐1. 1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. 1. 1. -‐1. -‐1. -‐1. 1. i -‐1. -‐1. -‐1. 1. -‐1. ! ETANOLO i 1. -‐1. -‐1. -‐1. 1. -‐1. -‐1. 1. -‐1. 1. -‐1. -‐1. 1. -‐1. -‐1. -‐1. 1. 1. 1. 1. i 1. -‐1. -‐1. -‐1. 1. ! BUTANOLO
13.3 Interpretazione delle simulazioni di Bamtesia 13.3.1 Fase di learning sia con i dati Inglesi che del C. Piaggio Poiche' tale tipo di rete apprende in un solo passo, sono state necessarie 25 iterazioni, per far convergere il sistema e questo e' vero
186
sia per i dati Inglesi che per quelli del C. Piaggio. Il tempo necessario per far avvenire la convergenza e' di al massimo 6 secondi. La fig. 54 illustra la situazione all'inizio dell'apprendimento con i dati Inglesi, quando i pesi variabili sono tutti azzerati. Mano a mano che l'apprendimento procede i pesi tra gli strati "BAM I" e "BAM II" si modificano e tale fatto puo' essere seguito osservando lo strumento "bam1-‐2 pesi" nelle figure sottostanti.
187
Fig. 54 Situazione in fase di learning, con i dati Inglesi, al tempo t=0.
Fig 55 Situazione alla presentazione del primo pattern in fase di learning.
188
Fig 56 Situazione dopo la presentazione dei primi 5 pattern dopo la fase di learning.
Fig. 57 Situazione dopo la presentazione di tutti i 25 pattern Inglesi in fase di learning.
189
13.3.2 Fase di recall realizzata con i dati Inglesi. Nelle figure seguenti e' mostrato l'andamento della rete di fronte ad un set di 5 pattern, relativi a 5 alcool. Le corrispondenti uscite sono visualizzate con quadrati verdi (0) e celesti (+1) che rappresentano lo stato dei neuroni e possono essere piu' agevolmente letti, osservando gli strumenti.
13.4 Risultati in presenza di rumore e miglioramenti con i dati Inglesi La rete e' stata realizzata in due versioni. Nella prima versione, i PE dello strato di uscita rispondevano con una uscita diretta, senza l'applicazione di particolari algoritmi competitivi, come indicato nelle BAM standard. In questo caso, la rete, mediamente, commetteva errori nel 50% dei casi. Questo fatto ci ha indotto a sperimentare delle modifiche. In primo luogo si e' applicato un meccanismo di competizione (one highest) ai PE dello strato finale, ottenendo dei miglioramenti considerevoli (corretta categorizzazione nel 72% dei casi con FR = Firing Rate =100). Per ottenere un miglioramento maggiore, sono state effettuate prove con valori variabili del "Firing Rate" e della T (parametro di rumore). I risultati indicano che con un "Firing Rate" del 50% la percentuale di errore si abbassa ossia la rete migliora le sue risposte, portandosi ad una capacita' massima di riconoscimento corretto dell'88% con T=0. Con T=100 ( corrispondente all'aggiunta di rumore uniformemente distribuito, variabile tra +1 e -‐1 pari al 100% del valore massimo degli ingressi ) l'efficienza scende all'80%. Con FR=50% e T= 200 ( corrispondente
190
all'aggiunta di rumore variabile tra +2 e -‐2 pari al 200% del valore massimo in ingresso) l'efficienza precipita al 50%. Seguono le figure illustranti 5 risposte in fase di recall relative ai dati Inglesi.
191
Fig. 58
Risposta relativa al pattern del metanolo.
Fig. 59 Risposta relativa al pattern del propanolo (in questo caso la rete sbaglia).
192
Fig. 60 Risposta relativa ad un pattern del metoxietanolo.
Fig. 61
Risposta relativa ad un pattern dell'etanolo.
193
Fig. 62
Risposta relativa ad un pattern del butanolo.
Fig. 63. Legenda dei colori usati nella rete Bamtesia.
194
Fig. 64 Valori del L/R Schedule impiegati in Bamtesia.
13.5 Minimizzazione La rete Bamtesia, come precedentemente osservato, e' gia' in forma minima.
13.6 Risultati con i dati del C. Piaggio L'uso di questi dati a 20 bit ha mostrato un notevole peggioranento nelle prestazioni, dovuto a due fatti. In primo luogo il limitato numero di ingressi significativi ha ridotto il numero di pattern che la rete puo' apprendere senza errore. Inoltre, in queste reti, occorre una codifica opportuna, tra i dati da associare ( vedi teoria). E' chiaro che scegliendo, in modo diverso, i pattern da associare la situazione puo' essere migliorata. Un possibile miglioramento sarebbe quello di aumentare il numero di PE nello strato di uscita e d'ingresso con conseguente incremento delle possibilita' di rappresentazione. Cio' non e' stato fatto per mantenere una omogeneita' con le reti precedenti che avevano tutte 5 uscite. Sotto sono illustrate le tabelle riassuntive delle prove fatte.
195
Tabella 19 Tabella riassuntiva delle simulazioni effettuate con i dati inglesi rete versione num. num. num. num. con PE in PE BAM patter iter. PE ingre II = num n da per uscita sso= PE uscita appre conver. ONE num nd HIGH. PE o BAM I DIRECT Bamt DIRECT 36 5 5 5 esia Bamt DIRECT 36 5 5 5 esia Bamt DIRECT 36 5 25 25 esia Bamt DIRECT 36 5 25 25 esia Bamt ONE 36 5 25 25 esia HIGHES T Bamt ONE 36 5 25 25 esia HIGHES T Bamt ONE 36 5 25 25 esia HIGHES T Bamt ONE 36 5 25 25 esia HIGHES T Bamt ONE 36 5 25 25 esia HIGHES T Bamt ONE 36 5 25 25 esia HIGHES T
196
temp o per la conve r.
% di ricono s senza errore
2"
100% 100 % 100% 100 % 52% 100 % 52% 100 % 72% 100 %
T=0
6"
72%
100 %
T=10 0
6"
88%
50% T=0
6"
80%
50% T=10 0
6"
52%
50% T=20 0
6"
48%
100 %
2" 5" 5" 6"
firin g rate %
rumo re in recall
T=10 0 T=0 T=10 0 T=0
T=20 0
13.7 Osservazioni conclusive sulle tabelle dei risultati di Bamtesia con i dati Inglesi
Si puo' notare che riducendo il Firing rate ( si ricorda che il firing rate e' la % di neuroni che possono essere attivati ) dal 100% al 50%, a parita' di parametro T, le prestazioni aumentano. Questo e' dovuto al fatto che, riducendo la % dei neuroni che emettono segnali, si ha un effetto di cancellazione degli errori a causa della eliminazione del grande numero di stati spuri causati dalla codifica scelta.
197
Tabella 20 Tabella riassuntiva delle simulazioni effettuate con i dati del C.Piaggio rete version num. num. num. num. tempo e PE in PE pattern iter. per la con ingres BAM II da per conver PE so= = num appren conve . uscita num PE d r. ONE PE uscita HIGH. BAM I o DIREC T Ba DIREC 20 5 5 5 2" mte T sia Ba DIREC 20 5 5 5 2" mte T sia Ba DIREC 20 5 25 25 5" mte T sia Ba DIREC 20 5 25 25 5" mte T sia Ba ONE 20 5 25 25 6" mte HIGHE sia ST Ba ONE 20 5 25 25 6" mte HIGHE sia ST Ba ONE 20 5 25 25 6" mte HIGHE sia ST Ba ONE 20 5 25 25 6" mte HIGHE sia ST Ba ONE 20 5 25 25 6" mte HIGHE sia ST Ba ONE 20 5 25 25 6" mte HIGHE sia ST
198
% di rico nos senz a erro re
firing rumo rate re in % recall
100 %
100 %
T=0
100 %
100 %
T=10 0
38% 100 %
T=0
38% 100 %
T=10 0
44% 100 %
T=0
40% 100 %
T=10 0
68% 50%
T=0
64% 50%
T=10 0
38% 50%
T=20 0
<38 %
T=20 0
100 %
13.8 Osservazioni conclusive sulle tabelle dei risultati di Bamtesia ottenuti con i dati del C. Piaggio.
Si puo' osservare dovuto
alla
un peggioramento complessivo,
riduzione
del
numero
di
ingressi
e
quindi nel numero di possibilita' rappresentative. Per
quanto
concerne
l'ncremento
di
prestazioni
ottenute, variando FR dal 100% al 50 %, valgono le considerazioni
fatte
sopra,
Inglesi.
199
parlando
dei
dati
13.9 Conclusioni e commenti sulle simulazioni svolte finora Le simulazioni svolte ci consentono di fare un paragone tra le reti. La rete ART1, che appare la piu' interessante biologicamente, ha dimostrato di richiedere l'intervento di un operatore esterno che aggiustasse il parametro di vigilanza ed e' quindi, a nostro avviso, poco adatta per divenire una applicazione ingegneristicamente interessante, per realizzare un naso intelligente. La rete Hamming con inibizione laterale opera bene con i dati Inglesi a 36 ingressi, ma commette errori con i dati Italiani a 20 bit, perche' vuole che i dati siano in forma di vettori linearmente indipendenti. Infatti con 20 Ingressi si hanno al massimo 20 vettori linearmente indipendenti, mentre i nostri pattern sono 25 e questo fatto genera un errore minimo pari a 5/25. Si potrebbe pensare di aumentare il numero di ingressi, modificando la codifica ed usando ad esempio 7 bit per codificare ogni valore, con il risultato di avere 7*4=28 vettori linearmente indipendenti. Cio' non e' stato fatto per mantenere una codifica che fosse piu' simile possibile a quella usata con i dati Inglesi con cui si voleva fare un confronto a parita' di condizioni. Le reti che, di gran lunga, mostrano il migliore comportamento in termini di capacita' discriminatoria con un basso numero di ingressi sono i modelli CPN. Infatti questi riescono a riconoscere i pattern nel 100% dei casi anche in presenza di rumore ed indipendentemente dal fatto che il numero di ingressi siano 4 o 9 . A questo punto occorre ricordare il significato del parametro T. Infatti porre in fase di recall un valore di T significa aggiungere alla sommatoria degli ingressi un valore casuale, uniformemente distribuito, compreso nel range +0.01*T , -‐0.01*T. Quindi, se i valori degli ingressi sono piccoli, e' chiaro che una T piccola ha maggior peso, corrispondendo ad una percentuale maggiore di rumore. Facciamo un
200
esempio chiarificatore. Se il valore di un ingresso e' di 0.1, una T=10 corrisponde ad un rumore del 100% mentre se un ingresso assume un valore di 1, come avviene nelle reti binarie, T=10 corrisponde ad un rumore del 10%. Ora si deve osservare che i dati del C. Piaggio, per come sono stati elaborati, hanno dei valori assoluti piu' piccoli rispetto agli analoghi Inglesi, elaborati nella stessa maniera, ed e' per questo motivo che le reti CPN con i dati Inglesi sembrano avere una maggiore immunita' al rumore ; in realta' questo fatto non e' dovuto alla rete, ma ai dati impiegati per eseguire il recall. Altro elemento di disturbo nei dati del C. Piaggio e' la presenza, come gia' osservato, di valori negativi nel 25% dei casi contro meno del 10% nei dati Inglesi. Questo fatto che non ostacola il riconoscimento in assenza di rumore, diviene importante in presenza dello stesso, in quanto disomogeinizza l'effetto del rumore. Infatti un ingresso negativo riduce il valore della sommatoria di un dato PE, quindi la risposta di quel PE e' minore e l'effetto del rumore su di esso e' maggiore. L'uso delle reti a codifica binaria, invece, fa si' che non vi sia grossa differenza tra i risultati con i pattern Inglesi e quelli Italiani, per quanto riguarda gli effetti del rumore. Infatti la codifica binaria usata maschera le differenze tra i numeri positivi e negativi ( il + e il -‐ sono solo un bit 0 o 1) e tra i valori piccoli e grandi. Infatti ingressi che in analogico erano di piccolo valore vengono codificati come ingressi di grande valore . Es. 1.11*100=111 e facendo mod16 diviene 15, invece 0.15*100=15 e facendone mod16 fornisce ancora 15. Poiche' nelle reti binarie i valori degli ingressi sono o 0 o 1, e' chiaro che per avere una perturbazione del 100% si deve porre T=100; questo spiega il perche' nelle tabelle, lo stesso livello di rumore in fase di recall si ottenga nelle reti CPN con T=10 e nelle reti binarie con T=100. Le reti, a codifica binaria, richiedono tutta una serie di trucchi ( infatti la maggior parte di esse impongono dei vincoli
201
di ortogonalita' o di indipendenza lineare ai dati che devono essere applicati ai loro ingressi per essere appresi ) per trovare una codifica ottimale dei dati e poter alla fine ottenere una buona percentuale di riconoscimento corretto, che comunque non raggiunge quasi mai il 100% anche in assenza di rumore. D'altra parte, le reti CPN richiedono un grosso numero di iterazioni per convergere, quindi per realizzare un sistema in tempo reale non sembrano le piu' adatte, anche se l'impiego di elaboratori paralleli tipo transputer potrebbe modificare tale giudizio. Queste considerazioni ci hanno indotto a proporre, tra le reti binarie, il modello BAM come candidato per la realizzazione di un sistema in tempo reale e quindi a condurre nuove prove mediante la realizzazione di un programma in C di questo modello. Infatti, sebbene le reti BAM utilizzate nelle precedenti simulazioni commettano errori, e' sicuramente possibile arrivare ad un capacita' di riconoscimento del 100%, se si utilizza una opportuna scelta dei pattern da associare e si aumenta per esempio il numero di PE in uscita. Per quanto riguarda le reti CPN, abbiamo tentato un nuovo esperimento, consistente nella realizzazione di una rete che fosse simultaneamente capace di riconoscere sia i pattern Inglesi che quelli del C. Piaggio. Abbiamo quindi realizzato 2 nuove reti CPN con 6 classi di alcool e le abbiamo addestrate con un set costituito unendo i dati Inglesi e quelli del C. Piaggio. Infine abbiamo proposto un nuovo modello di rete che abbiamo denominato "rete multistrato a divergenza-‐convergenza progressiva" "RMDCP" o in Inglese "Multi Layer Progressive Divergence-‐Convergence Network" in sigla "MLPDCN" , derivato dalla CPN, che avesse la caratteristica di riprodurre, nel modo migliore possibile a livello architetturale il modello proposto da Schild per il sistema olfattivo (vedasi teoria capitolo 1). Infatti tale modello si caratterizza per la presenza di schemi di convergenze-‐divergenze tra i
202
livelli recettoriale-‐glomerulare e glomerulare-‐mitrale. Oltre a cio' il requisito di base del nostro modello e' quello di essere capace di discriminare, nel 100% dei casi in assenza di rumore, i dati Inglesi e quelli del C. Piaggio simultaneamente applicati. Inoltre mediante l'uso di un particolare meccanismo di pseudo-‐competizione, ispirato alle reti SPR, dovrebbe fornire nuove capacita' interpolative alla rete, mettendola in condizione di discriminare miscele di odori, oltre a mantenere la stessa immunita' al rumore delle reti CPN standard.
13.10 Descrizione dell'esperimento sulla rete CPN modificata e addestrata per discriminare la fusione tra i dati Inglesi e quelli del C.Piaggio. I nuovi esperimenti condotti hanno riguardato una rete CPN "cpnmist1" (senza inibizione laterale) e cpnmist2 (con inibizione laterale) che hanno 6 PE nello strato di uscita, per poter riconoscere simultaneamente le specie alcoliche sia Inglesi, che Italiane (Metanolo, Propanolo, Metoxietanolo, Etanolo, Butanolo, Alcool Amilico). Per il resto la rete cpnmist1 e' identica a tesicpna, mentre cpnmist2 e' identica a cpnsup0a. Quello sotto e' il file di addestramento (fusione tra i dati Inglesi e Italiani): ! dati presi dal Centro Piaggio ! ALCCPF.NNI i 1.20 -‐0.44 1.78 1.95 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.19 -‐0.13 0.45 0.28 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.12 -‐0.06 0.35 0.12 d 0.0 0.0 0.0 0.0 0.0 1.0 ! Alcool amilico i 0.18 -‐0.18 0.80 0.44 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO
203
i 0.19 -‐0.08 0.60 0.35 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 1.40 -‐0.24 1.98 1.85 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.39 -‐0.43 0.65 0.48 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.32 -‐0.16 0.55 0.32 d 0.0 0.0 0.0 0.0 0.0 1.0 ! Alcool amilico i 0.38 -‐0.01 1.00 0.64 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.39 -‐0.38 0.80 0.55 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 1.00 -‐0.20 1.58 1.75 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.01 -‐0.63 0.25 0.03 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.02 -‐0.05 0.25 0.02 d 0.0 0.0 0.0 0.0 0.0 1.0 ! Alcool amilico i 0.1 -‐0.31 0.60 0.24 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.03 -‐0.01 0.40 0.15 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 1.60 -‐0.04 1.98 2.00 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.49 -‐0.53 0.85 0.68 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.52 -‐0.16 0.75 0.52 d 0.0 0.0 0.0 0.0 0.0 1.0 ! Alcool amilico i 0.58 -‐0.28 1.12 0.84 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.59 -‐0.38 1.00 0.75 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 0.80 -‐0.48 1.38 1.55 d 1.0 0.0 0.0 0.0 0.0 0.0
204
! METANOLO i 0.21 -‐0.33 0.65 0.20 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.32 -‐0.03 0.15 0.15 d 0.0 0.0 0.0 0.0 0.0 1.0 ! Alcool amilico i 0.01 -‐0.02 0.40 0.01 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.1 -‐0.01 0.20 0.15 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO ! 29 Giugno 94 (alcool.nni) ! dati inviati dall'Inghilterra ! 5 classi di alcool in output i 0.18 0.80 0.26 0.33 0.28 0.21 0.45 0.36 0.13 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.16 0.56 0.20 0.30 0.18 0.18 0.30 0.21 0.13 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.91 2.90 1.63 2.00 1.61 1.38 1.81 1.86 0.66 d 0.0 0.0 1.0 0.0 0.0 0.0 ! METOXIETANOLO i 0.25 0.93 0.10 0.20 0.21 0.23 0.00 0.23 0.03 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.21 0.30 0.33 0.48 0.43 0.33 -‐0.30 0.73 0.00 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 0.17 0.81 0.25 0.33 0.29 0.22 0.46 0.37 0.14 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.17 0.55 0.19 0.29 0.17 0.17 0.29 0.20 0.12 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.90 2.89 1.62 1.99 1.60 1.37 1.80 1.85 0.65 d 0.0 0.0 1.0 0.0 0.0 0.0 ! METOXIETANOLO i 0.24 0.92 0.09 0.10 0.20 0.22 0.00 0.22 0.02 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.20 0.29 0.32 0.47 0.42 0.32 -‐0.31 0.72 0.00 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 0.19 0.81 0.27 0.34 0.29 0.22 0.46 0.37 0.14 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.15 0.57 0.21 0.31 0.19 0.19 0.31 0.22 0.14
205
d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.92 2.91 1.64 2.01 1.62 1.39 1.82 1.87 0.67 d 0.0 0.0 1.0 0.0 0.0 0.0 ! METOXIETANOLO i 0.26 0.94 0.11 0.21 0.22 0.24 0.01 0.24 0.04 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.22 0.31 0.34 0.49 0.44 0.34 -‐0.29 0.74 0.00 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 0.16 0.78 0.24 0.31 0.26 0.19 0.43 0.34 0.11 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.14 0.54 0.18 0.28 0.16 0.16 0.28 0.19 0.11 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.89 2.88 1.61 1.08 1.59 1.36 1.79 1.84 0.64 d 0.0 0.0 1.0 0.0 0.0 0.0 ! METOXIETANOLO i 0.23 0.91 0.08 0.018 0.19 0.21 0.00 0.21 0.01 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.19 0.28 0.31 0.46 0.41 0.31 -‐0.28 0.71 0.00 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO i 0.20 0.78 0.28 0.35 0.30 0.23 0.47 0.38 0.15 d 1.0 0.0 0.0 0.0 0.0 0.0 ! METANOLO i 0.18 0.58 0.22 0.32 0.20 0.20 0.50 0.23 0.15 d 0.0 1.0 0.0 0.0 0.0 0.0 ! PROPANOLO i 0.93 2.92 1.65 2.02 1.63 1.40 1.83 1.88 0.68 d 0.0 0.0 1.0 0.0 0.0 0.0 ! METOXIETANOLO i 0.27 0.95 0.12 0.22 0.23 0.25 0.02 0.25 0.05 d 0.0 0.0 0.0 1.0 0.0 0.0 ! ETANOLO i 0.23 0.32 0.35 0.5 0.45 0.34 -‐0.28 0.75 0.00 d 0.0 0.0 0.0 0.0 1.0 0.0 ! BUTANOLO
206
Fig. 65 Cpnmist1 al termine della fase di learning.
Fig. 66 Cpnmist2 al termine della fase di Learning.
207
Tabella 20 Segue la tabella che riassume i risultati delle simulazioni usando 50 pattern (misti Italiani piu' Inglesi) confrontati con quelli ricavati con i pattern distinti (o Italiani del C. Piaggio (I) o Inglesi (E) separatamente) num. num. rete num. num. num. tempo % di PE in PE PE in pattern iter. per la riconos rumore ingress nascos Uscita da per conver. senza in o . appren conver. errore recall d tesicpn 9 54 5 5 (E) 3432 6' 100% T=10 a tesicpn a tespcpn p tespcpn p cpnmist 1 cpnsup0 a cpnsup0 a cpnsup0 p cpnsup0 p cpnmist 2
9
54
5
25 (E)
3564
6'20"
100%
T=10
9
54
5
5 (I)
4990
8'
100%
T=0
9
54
5
25 (I)
5016
8'40"
100%
T=0
9
54
6
50 misti 3894
7'12"
100%
T=0
9
54
5
5 (E)
192
25"
100%
T=10
9
54
5
25 (E)
712
1'30"
100%
T=10
9
54
5
5 (I)
192
25"
100%
T=0
9
54
5
25 (I)
712
1'28"
100%
T=0
9
54
6
50 misti 1780
3'42"
100%
T=0
208
13.11 Considerazioni sulle tabelle L'osservazione dei risultati delle tabelle mostra come il metodo di riconoscimento impiegato funzioni meglio con i dati misti che non con quelli Italiani da soli. Si osservi come il numero di iterazioni per raggiungerre la convergenza sia aumentato; lo stesso discorso vale per il tempo di convergenza. L'immunita' al rumore e' cresciuta rispetto a quella con i soli dati del C. Piaggio, perche' il numero di pattern e' raddoppiato, mentre i pattern su cui si verifica l'errore sono gli stessi di prima. Per chiarire diremo che, se prima era evidente un errore con T=10 con i dati italiani nella proporzione di K/25, ora l'errore e' K/50 (ove K e' il numero di errori commessi durnate il recall) , poiche', per esempio, con T=10 con i dati Inglesi il riconoscimento si ha nel 100% dei casi. Si noti che il L/R Schedule non e' stato modificato per nessuna delle reti riportate nella tabella sopra.
209
Capitolo 14 Proposta di un nuovo modello di rete neuronale: RMDCP o (MLPDCN) Rete Multistrato a Divergenza Convergenza Progressiva Â
14.1 Introduzione Quello che intendiamo proporre ora e' un nuovo modello
di
rete
che
abbiamo
denominato
"rete
multistrato a divergenza-convergenza progressiva" "RMDCP"
o
in
Inglese
"Multi
Layer
Progressive
Divergence-Convergence Network" in sigla "MLPDCN". Tale
rete
costruita
e'
derivata
perche'
dalla
avesse
la
CPN
ed
e'
stata
caratteristica
di
riprodurre, nel modo migliore possibile, a livello architetturale, il modello proposto da Schild per il sistema olfattivo (vedasi teoria capitolo 1). In
particolare,
schema
di
si
e'
cercato
di
convergenze-divergenze
replicare
tra
i
lo
livelli
recettoriale-glomerulare e glomerulare-mitrale che costituiscono
una
cascata
di
filtri
di
cui
ipotizziamo che il primo non sia adattivo, ma solo trasmissivo
con
la
caratteristica
di
espandere
pero' lo spazio delle attivita' degli ingressi. Oltre a
cio', il requisito di base del nostro
modello
e'
quello
di
essere
capace
di
discriminare, nel 100% dei casi, i dati Inglesi e del C. Piaggio simultaneamente applicati. Inoltre il
suddetto
particolare Â
modello, meccanismo 210 Â
mediante di
l'uso
competizione,
di
un
senza
apprendimento, garantire rete,
ispirato
nuove
alle
capacita'
mettendola
in
reti
SPR,
dovrebbe
interpolative
condizione
di
alla
discriminare
miscele di odori.
14.2 Descrizione della rete: MLPDCN Da un punto di vista teorico, l'ispirazione per costruire tale rete ci e' venuta direttamente dal modello del sistema olfattivo proposto da Schild e illustrato
all'inizio
della
presente
tesi.
Per
comprendere cio' che segue, si rimanda quindi a tale
parte
osservare
ed la
in fig.6
particolare che
si
consiglia
rappresenta,
in
di
forma
grafica, la struttura a cui ci siamo ispirati. La rete si compone di 6 strati: uno strato in ingresso, costituito da 9 PE, dove 9 e'
il numero
massimo dei segnali dei sensori (L=9 ove L=numero delle classi di cellule recettrici nel modello di Schild)
;
uno
normalizzazione,
strato
composto
da
successivo 10
PE
che
di
pone
i
vettori su di una sfera di raggio fisso =9 (numero di ingressi); il terzo strato e' uno strato che chiameremo "strato di prima divergenza", o degli pseudoglomeruli,
composto
da
20
PE,
che
ha
lo
scopo di rappresentare il primo strato elaborativo ( e' un filtro aggiustabile dall'utente ) e che corrisponde alla manifestazione della "convergenza recettori-glomeruli" (N=20=numero Â
di
del
glomeruli 211 Â
modello nel
di
tentacolo
Schild della
chiocciola). Le connessioni inibitorie, realizzate dalle
cellule
implementate,
periglomerulari, inserendo
sono
delle
state
connessioni
inibitorie tra ogni singolo neurone e tutti gli altri
nel
suo
stesso
strato.
I
valori
di
tali
connessioni sono pari a -0.99/20 = -0.0495 ( il valore -0.99 viene equamente distribuito su tutti i PE dello strato). Ciascun PE poi si autoeccita con
un
valore
di
+1,
per
non
venire
soffocato
dalle connessioni inibitorie afferenti. A livello di questo terzo strato si manifesta una sorta di competizione, apprendere.
per Si
stabilire
osservi
che
chi
nessuna
dovra'
unita'
in
questo strato vince, in quanto il meccanismo di competizione SPR, da noi PE
di
tale
strato,
usato
impone
sulle uscite dei
che
siano
molte
le
unita' ad attivarsi, poiche' ciascuna emette in uscita
il
valore
dato
degli (Xj) dello strato
dalla
sommatoria
pesata
di normalizzazione, dopo
aver applicato una funzione di trasferimento di tipo della
sigmoidale
(
frequenza
tipica
di
della
emissione
rappresentazione degli
spike
nel
sistema biologico). A tale somma si aggiunge poi l'effetto delle connessioni inibitorie intrastrato che, realizzando una sorta di inibizione laterale, tendono a migliorare la discriminazione. Infatti ciascun PE attivato tende a spegnere moderatamente gli altri, quindi quello che si attiva di piu' tende Â
a
ridurre
le 212 Â
attivazioni
degli
altri,
contribuendo
alla
competizione.
Il
risultato
di
questo complesso sistema e' che molti neuroni si attivano, ma nessuno apprende a questo livello un codice stabile. Cio' che quindi si realizza e' una sorta di del
proiezione o rimappatura dallo spazio
primo
Schild)
strato
a
quello
cambiamento
nella
(recettori del
nel
terzo,
modello
ottenendo
dimensione
della
di un base
vettoriale, che dovra' essere usata per codificare gli odori. In sostanza con 9 sensori in ingresso la
dimensione
dello
spazio
dei
sensori
e'
R9,
mentre con questa divergenza ci trasportiamo su di uno spazio di dimensione superiore R20 nel nostro caso.
Questo
fatto
puo'
risolvere
il
problema
della scarsa capacita' di discriminazione ( nel senso di scarsa selettivita') dei sensori tra i vari odori. Si noti che nel modello di Schild non si diceva se fosse L>N o L=N o L<N, cioe' non si diceva
se
convergenza
a o
livello divergenza.
glomerulare Noi
abbiamo
vi
fosse percio'
supposto L<N, ossia divergenza con L=9 e N=20. Lo strato 4 di normalizzazione con 21 PE rappresenta lo
strato
biologico.
plessiforme Lo
strato
5,
esterno in
cui
del si
modello manifesta
l'ultima divergenza, e' quello di Kohonen classico con PE aventi funzione di trasferimento lineare, schema di competizione "one highest" e meccanismo di apprendimento di Kohonen, per i quali vince e apprende il PE con il valore piu' alto in uscita Â
213 Â
dalla funzione di trasferimento. Questi modifica i propri pesi secondo la regola:
wij'=wij+c1*(xij-wij), ove c1 e' un coefficiente di learning, xij e' l'ingresso al PE j-esimo e wij sono
i
pesi
che
connettono
all'unita'
i-esima
dalla j-esima. Tale strato e' lo strato dove si forma realmente il codice olfattivo e corrisponde nel modello di Schild allo strato delle cellule mitrali
che
e'
il
piu'
vasto
(
nel
modello
J=25N=500. Noi abbiamo supposto J=2.7N=54, perche' avevamo 50 pattern con cui addestrare la rete ed ogni
pattern
distinto
viene
codificato
dall'
attivazione di un singolo PE in tale strato.). Infine lo strato 6 composto con 6 PE, tanti quanti sono le classi alcoliche impiegate per le prove, realizza la convergenza finale in forma di strato di
"Grossberg
Outstar",
riproducendo
lo
strato
olfattivo mediale dove si realizza l'uscita nel modello biologico di fig.6. L'azione dello strato dei
granuli
e'
simulato
mediante
connessioni
inibitorie tra i neuroni dello strato di uscita di valore pari a -0.99/6=-0.165
(
equidistribuzione
valore
scelto
dell'azione
per
inibitoria)
avere ed
autoeccitazione con peso +1. Alla rete sono stati poi aggiunti, in corrispondenza dei PE dei vari strati, degli strumenti che ci hanno consentito di esaminare l'andamento delle simulazioni. Partendo dall'alto Â
e
procedendo 214 Â
verso
il
basso
(vedi
fig.68), si puo' osservare lo strumento
"err-rms"
che mostra l'andamento della funzione errore RMS tra uscita reale ed uscita desiderata, stampando un
pixel
ogni
"Kohonen2" grafico
barre,
competizione (
mitrali).
iterazioni.
consente
a
Kohonen
20
a
quali
livello
quello Lo
di
vedere,
strumento
in
forma
neuroni
dell'
vincono
ultimo
corrispondente
strumento
Lo
strato
alle
"pesi
di la di
cellule
kohonen2-Grosb"
consente di esaminare l'istogramma dei pesi tra lo strato di Kohonen2 e quello finale di Grossberg ed e' assai utile in fase di learning, per seguire i momenti
della
decodifica
finale.
Lo
strumento
"Kohonen-spr", osservato congiuntamente a "norm1", ci consente di individuare i gruppi di neuroni che si attivano e di valutare quanto si attivano e poter
cosi'
seguire
dell'informazione
la
ridistruibuzione
che si manifesta tra lo strato
di normalizzazione e quello Kohonen-spr.
14.3 Le equazioni del modello MLPDCN Â Strato1:(In) E' uno strato di Fanin occupa
solo
trasmetterli
di
prelevare
cosi'
come
normalizzazione. Sia
x il
composto di 9 PE. Si gli sono
ingressi allo
e
di
strato
di
vettore corrispondente
al generico ingresso in un determinato istante:
x = (x1 , x2 ,..., xn ) con n = 9 nel nostro caso Â
215 Â
Strato2:(Norm) E' uno strato di normalizzazione composto di 10 PE, che mappa i vettori (tanti
quanti
sono
x sulla sfera di raggio 9
gli
ingressi)
seguendo
la
seguente procedura. Sia
x = (x1 , x2 ,..., xn ) il vettore in ingresso a questo
strato. Chiamiamo x ' = (x0 , x ) = (x0 , x1 , x 2 ,..., x n ) il vettore aumentato. x0 e' tale che la norma di x ' e' pari ad n2=(numero di elementi dello strato precedente di ingresso)2. Nel nostro caso n2=81. in simboli :
x ' = n 2 Vogliamo
x0
scegliere
in
modo
da
soddisfare
la
condizione di sopra. Definiamo la norma di
x come:
x = (x1 • x1 + x2 • x2 + ...xn • xn ) ricaviamo x0 in mdo che sia:
n 2 = x ' = (x0 • x0 + x1 • x1 + x2 • x2 + ...xn • xn )
con semplici passaggi matematici ricaviamo
:
x0 • x0 = n 2 − (x1 • x1 + x2 • x2 + ...xn • xn ) = n 2 − x da cui segue, supponendo che sia : x < n2
x0 = n 2 − x Da
cui
deriva
sicuramente
che
sulla
il
sfera
vettore di
raggio
x'
si
trova
r = n2 =9.
In
questo modo tutti i vettori in ingresso verranno ad avere la medesima lunghezza. Infine si applichera' a tale vettore una funzione di trasferimento lineare ottenendo in uscita il vettore :
y = ( y1 , y 2 ,..., y n −1 , y n ) = x ' = (x0 , x1 , x 2 ,..., x n −1 )
216
che verra' applicato in ingresso
al successivo
strato 3 Strato 3:(Kohonen-SPR) Poiche' la regola di apprendimento e' KohonenN, i vettori dei pesi dopo la randomizzazione vengono normalizzati al valore di Normscale, in modo da farli trovare sulla sfera di raggio Normscale=1 (parametro fissato da noi). Tale strato si compone di N=20 PE. M=10 e' il numero di PE dello strato precedente. La prima operazione che viene effettuata e' il calcolo della sommatoria pesata degli ingressi per ogni PE per i=1...20 e j=1...10: : M N −1 − 0.99 I i = ∑ wij ⋅ y j + ∑ ( ) ⋅ Tk + z i ⋅ 1 N j =1, j ≠i k =1, k ≠ j poi
si
applichera'
una
soglia, per stabilire
funzione
non
lineare
a
quali PE potranno emettere
una risposta diversa da zero: ⎧ I (se I i ≥ c 2 ⋅ N ) Ti ' = ⎨ i altrimenti ⎩0 Ove C2 e' un valore che viene stabilito a livello del L/R Schedule e insieme ad N ci consente di stabilire la soglia di attivazione dei PE. Dopo di cio' ricaviamo
l'uscita, applicando la
funzione sigmoide. Si ricorda che la sigmoide e' una
funzione
continua,
n-derivabile
l'ingresso su di un valore tra 0 e 1: 1 z i = Ti = − I i *Gain 1+ e
(
217
)
che
mappa
sui valori zi applichiamo la competizione
Infine
per stabilire chi apprendera'. Si e' scelta la competizione SPR per avere l'effetto di un filtro spaziale. Normalmente la SPR opera nel seguente modo: il PE, connesso con una uscita avente il valore
desiderato
pari
a
1,
con
il
piu'
alto
valore di
zi dovrebbe vincere e apprendere (ossia
modificare
i
propri
pesi
secondo
una
opportuna
Ora
nel
nostro
caso
non
vi
regola).
sono
collegamenti di questo strato con l'uscita, quindi la
SPR
opera
diversamente
(
sebbene
lo
strato
abbia la capacita' di apprendere secondo la regola di
Kohonen)
e
si
limita
a
far
liberamente
competere i PE tra di loro, senza che si abbia un solo vincitore, cosi' si ottiene sullo strato una uscita
multipla
(molti
PE
emettono
il
proprio
valore, ma nessuno apprende). In conclusione tale strato
si
comporta
come
un
filtro
che
sfrutta
l'inibizione laterale ed i cui coefficienti sono scelti
in
randomizzazione
modo
casuale
iniziale.
all'atto
Poiche'
la
della
regola
di
apprendimento e' KohonenN, i vettori dei pesi dopo la randomizzazione vengono normalizzati in modo da farli
trovare
sulla
sfera
di
raggio
Normscale
(parametro fissato da noi a 1). In questo modo l'effetto
del
filtro
risulta
modificato.
filtro riproietta da R9 a R20. L'uscita dello strato e' quindi il vettore :
z = (z1 , z 2 ,..., z N ) Â Â
218 Â
Tale
Strato 4:(Norm2) Tale strato si compone di 21 PE ed e' un puro strato
di
normalizzazione
che
pero'
pone
i
vettori in uscita dallo strato precedente sulla sfera di raggio unitario, prima di applicarli al successivo
strato,
dove
si
verifica
l'apprendimento con la formazione, a livello dello strato
dei
pesi,
del
codice
olfattivo
vero
e
proprio. Il
procedimento
utilizzato
per
ottenere
la
normalizzazione e' lo stesso gia' descritto per lo strato 2 con la sola differenza che ora il valore della norma e' fissato ad 1. In
conclusione,
in
uscita
da
tale
strato
si
ottiene un vettore di 21 componenti, ma avente modulo unitario:
z ' = (z, z 0 ) = (z 0 , z1 , z 2 ,..., z N ) con la condizione di :
z' = 1
Â
219 Â
Strato 5: (Kohonen2) Lo strato si compone di N=54 PE, M=21. Sia ηi la sommatoria pesata in ingresso ad ogni PE
ηi =
M
∑u
ij
⋅ z 'j
j =1, j ≠ i
A tale sommatoria viene applicata una funzione a soglia, per stabilire se un dato PE puo' emettere una propria uscita:
(se η i ≥ c 2 ⋅ N ) ⎧η Ti '' = ⎨ i altrimenti ⎩ 0
Quindi si applica sull' uscita un meccanismo a competizione del tipo one-highest che serve per far si' che un solo PE emetta uscita a +1 e quindi apprenda modificando i propri pesi:
ξ j = max{Tk'' } k
⎧ 1 (se i = j) ⎩0 altrimenti
ξ i' = ⎨
Una
volta
stabilito
il
vincitore,
si
fa
l'aggiustamento dei suoi pesi, usando la regola di apprendimento KohonenN, la quale prevede in primo luogo, subito dopo la iniziale randomizzazione dei pesi, la normalizzazione dei vettori dei pesi, in modo che si trovino sulla sfera di raggio: +/- n (n=valore di normscale=1). Supponendo che il PE
vincente
sia
l'i-esimo,
la
apprendimento risulta:
(
uij' = uij + c1 ⋅ z 'j − uij
220
)
regola
di
Tale regola fa si che il vettore dei pesi ruoti ( vedi teoria sulle mappe di Kohonen e sulla CPN nella
parte
seconda)
verso
il
vettore
degli
ingressi allo strato.
L'uscita da tale strato e' il vettore :
ξ ' = (ξ1' , ξ 2' ,..., ξ n' )
Strato 6: (Grossberg-Outstar) Lo strato 6 si compone di N=6 PE, M=54 ingressi. Sia µ i la sommatoria pesata in ingresso ad ogni PE:
µi =
−0. 99 ) ⋅ Tk''' + outi ⋅ 1. N j =1, j ≠i k =1, k ≠ j (se µ i ≥ c 2 ⋅ N ) ⎧µ Ti ''' = ⎨ i altrimenti ⎩ 0 M
∑ vij ⋅ ξ 'j +
N −1
∑
(
outi = Ti ''' Per
ogni
PE
viene
poi
eseguito
l'apprendimento
secondo la regola di Widrow-Hoff:
vij' = vij + c1 ⋅ ei ⋅ ξ 'j + c2 ⋅ mij mij = vij' − vij Ove vij sono i pesi relativi verso l'unita' i-esima dalla unita' j-esima dello strato di sotto mentre gli ξ 'j sono gli ingressi allo strato dallo strato precedente.
Gli
mij
rappresentano
il
termine
momento e sono la memoria dell'ultimo cambiamento dei pesi. ei = di − outi
221
e'
l'errore per il generico PE in uscita . Il
termine
outi
e'
l'uscita
effettiva
mentre
di
e'
l'uscita desiderata. In conclusione il vettore di uscita e':
out = (out1 , out 2 ,..., out N ). Con questo si conclude l'analisi delle equazioni usate nella rete. Andremo
adesso ad analizzare i
dati con cui la rete e' stata provata e vedremo i risultati delle simulazioni.
Â
222 Â
14.4 Descrizione dei addestrare la rete. I
dati
utilizzati
dati
per
utilizzati
addestrare
la
per
rete
sono
ricavati unendo i dati del C. Piaggio con i dati Inglesi
e
sono
ALCCPF.NNI
)
gia'
stati
quando
si
riportati sono
(file
descritte
le
simulazioni cpnmist1 e cpnmist2.
14.5 Interpretazione MLPDCN
della
simulazione:
14.5.1 Descrizione della Fase di Learning Per apprendere l'intero set di 50 patterns, sono state necessarie 1780 iterazioni, utilizzando la procedura di seguito descritta. Dapprima i pesi sono
stati
randomizzati
tra
-0.1
e
0.1.
Nelle
prime 1000 iterazioni
e' stato posto c1=0.2
analogamente
(valore
c2=0.2
della
e
soglia
=c2*numero PE dello strato) poi si e' posto c1=0.1 e
si
e'
accelerare quando
ridotto la
Con
ponendo
convergenza
Kohonen2
patterns.
c 2,
aveva
tutti
gli
c2=0.05
nella gia'
fase
per
finale,
riconosciuto
strumenti
attivi
(
i un
totale di 5) sono stati necessari 4'11", mentre con 3 strumenti attivi ( come per le altre reti CPN) sono stati necessari 3'30", per raggiungere la convergenza fissata ad una soglia di errore di Â
223 Â
0.001. Dall'andamento dell'errore si vede come la rete
proceda
convergenza,
abbastanza grazie
anche
rapidamente alla
verso
opportuna
la
scelta
del L/R schedule.
14.5.2 Descrizione della fase di recall  Nelle
figure
69,70,71,72,73,74
e'
mostrata
la
risposta della rete a un set completo realizzato usando dati misti Italiani e Inglesi. I quadrati colorati dimensioni
rappresentano sono
le
risposte
proporzionali
alle
e
le
loro
rispettive
attivita' dei PE. Per il significato dei colori si veda la legenda
Â
sotto riportata (display Style).
224 Â
Fig. 67 Rete MLPDCN cosi' come appare dopo aver disattivato gli strumenti. Si notino le 6 classi alcoliche in uscita per le quali la rete e' stata addestrata
Â
225 Â
Fig. 68 Rete MLPDCN come appare al termine della fase di learning dopo 6560 iterazioni.
Fig. 69 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo al metanolo. Â
226 Â
Fig. 70 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo al propanolo.
Fig. 71 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo all'alcool amilico. Â
227 Â
Fig. 72 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo all'etanolo.
Â
228 Â
Fig. 73 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo al butanolo.
Â
229 Â
Fig. 74 Rete MLPDCN in fase di recall di fronte alla presentazione di un pattern relativo al metoxietanolo.
Â
230 Â
14.6 Illustrazione dei simulazioni con MLPDCN
risultati
delle
Le prestazioni di tale rete sono paragonabili a quelle
delle
rumore
che
reti
per
convergenza.
il
Sotto
CPN
sia
numero
per
di
viene
l'immunita'
iterazioni
riportata
al
per
una
la
tabella
riassuntiva dei risultati ottenuti, pargonandoli con
quelli
MLPDCN1
delle
usano
(descritto
CPN.
lo
sopra
Si
noti
stesso
L/R
a
proposito
che
cpnmist1
schedule di
e
lento
cpnmist1).
Cpnmist2 e MLPDCN2 usano il L/R veloce con c1 che viene
via
questo
via
nuovo
incrementato. schedule
la
Si
noti
come
nuova
rete
sia
con piu'
veloce ( anche se di poco ) con lo stesso numero di iterazioni di cpnmist2. Infine si deve citare una rete
record di velocita', ottenuta con il
nuovo modello, che e' stata capace di convergere in
appena
220
iterazioni
in
un
tempo
di
28".
Questo risultato e' stato ottenuto con un c1 di 0.9.
Si
osservi
che
lo
schedule, applicato alle
stesso
valore
del
L/R
reti CPN vecchie, in
nessun caso ha mai consentito di ottenere un tale risultato con 50 pattern, perche' con un valore di C1=0.9 nessuna rete riusciva a convergere. Questo fatto e' dovuto alla particolare architettura del nuovo modello che consente maggiori variazioni nei pesi, senza originare false convergenze come puo' invece avvenire nelle reti CPN, se si provoca una
Â
231 Â
forte
variazione
dei
pesi,
valore di c1.
Â
232 Â
indotta
da
un
alto
Fig. 75 Rete MLPDCN superveloce dopo la convergenza con i 50 pattern composti dalla fusione di dati Inglesi con quelli del C. Piaggio che si ha dopo appena 220 iterazioni ed un tempo di 28".
Fig. 76 Contatore di learning della rete superveloce al termine della convergenza
Â
233 Â
Fig. 77 L/R Schedule impiegato dalla rete superveloce. Si noti che la velocizzazione e' dell'ordine di 30 volte rispetto alla CPN standard con un set di 50 pattern
Fig. 78 Legenda dei colori impiegati nelle reti mlpdcn.
Â
234 Â
Tabella 21 Tabella riassuntiva, comparativa, dei risultati delle simulazioni tra le varie reti CPN e con il nuovo modello. num. tempo rete num. num. num. num. % di PE patter per la PE in PE in n da iter. riconos rumor nasco conver ingress s. Uscita appren per senza e in . o d conver. errore recall 54 tesicpna 9 5 5 (E) 3432 6' 100% T=10 54 tesicpna 9 5 25 (E) 3564 6'20" 100% T=10 54 tespcpnp 9 5 5 (I) 4990 8' 100% T=0 54 tespcpnp 9 5 25 (I) 5016 8'40" 100% T=0 54 cpnmist1 9 6 50 3894 7'12" 100% T=0 misti 20+54 mlpdcn1 9 6 50 6560 12'55" 100% T=0 misti 54 cpnsup0a 9 5 5 (E) 192 25" 100% T=10 54 cpnsup0a 9 5 25 (E) 712 1'30" 100% T=10 54 cpnsup0p 9 5 5 (I) 192 25" 100% T=0 54 cpnsup0p 9 5 25 (I) 712 1'28" 100% T=0 54 cpnmist2 9 6 50 1780 3'42" 100% T=0 misti 54+20 mlpdcn2 9, 6 50 1780 3'42" 100% T=0 c1=0.1 misti 54+20 mlpdcn2 9, 6 50 670 1'40" 100% T=0 c1=0.3 misti 54+20 mlpdcn2 9, 6 50 560 1'09" 100% T=0 c1=0.4 misti 54+20 mlpdcn2 9, 6 50 320 40" 100% T=0 c1=0.6 misti 54+20 mlpdcn2 9, 6 50 220 28" 100% T=0 c1=0.9 misti
235
Â
14.6.1 Conclusioni e sul modello proposto
osservazioni
finali
 Si
noti
come
con
50
pattern,
incrementando
progressivamente il valore di C1, si migliorano le prestazioni del sistema fino al valore massimo di C1=0.9.
Dopo,
raggiunge
incrementando
delle
false
ancora
C1,
convergenze.
la Il
rete nuovo
modello differisce rispetto a 2 reti CPN, messe in cascata, per l'aggiunta di uno strato Kohonen-SPR. L'aggiunta di tale strato migliora le prestazioni, in quanto subito dopo il primo strato la rete ha gia'
operato
successivo
un
primo
strato
di
filtraggio Kohonen2,
e
che
quindi
si
il
comporta
come un filtro adattivo ( vedi teoria di Schild), puo'
subito
essere
autoadattarsi,
senza
stabilizzazione autoappreso schedule
nella
bisogno
di
condizione attese
di
per
la
e quindi la formazione del codice
e'
dello
intervenire
messo
piu'
rapida.
strato
subito,
di
Quindi
Grossberg
perche'
nel si
L/R puo'
Kohonen2
si
stabilizza, dopo poche passate, mentre nelle CPN standard
occorrono
molte
passate,
per
essere
sicuri della buona stabilizzazione dello strato di Kohonen che era direttamente in contatto con gli ingressi
(
separato
normalizzazione)
e
solo
quindi
era
da
uno
piu'
strato
di
soggetto
ad
eventuali variazioni rumorose. Si noti inoltre che il
filtro
iniziale
(strato
Kohonen-SPR)
puo'
venire aggiustato liberamente dall'utente e questo Â
236 Â
fatto
puo'
rivelarsi
assai
utile
per
fare
dei
confronti con il modello neurofisiologico. Infatti i coefficienti dei pesi di tale strato potrebbero essere scelti in modo da simulare gli effetti, per esempio,
delle
matrici
di
soppressione
(vedi
modello di Schild), oppure si potrebbero scegliere in modo da realizzare dei filtraggi passa basso che
riducano
conclusione, variato
gli il
secondo
effetti
filtro le
del
iniziale
esigenze
ed
i
rumore.
In
puo'
essere
suoi
effetti
potrebbero, in un secondo tempo, venire verificati sulla base di esperimenti neurofisiologici. Â Â
Â
237 Â
Capitolo 15 Realizzazione alternativa di un modello BAM mediante un programma in C:Odorbam 15.1 Descrizione Odorbam.
di
una
esecuzione
di
Oltre alle reti realizzate con l'aiuto del Software della Neural Ware abbiamo scelto di implementare un modello di rete BAM mediante un programma scritto da noi in C e sotto riportato. Tale modello e' stato scelto per la sua capacita' di organizzazione in tempo reale. Lo sviluppo di un programma in C si e' reso necessario perche' esso si presta bene anche per poter realizzare, eventualmente sottoforma di Hardware programmabile, un sistema di riconoscimento automatico, in tempo reale degli odori, per es. mediante sistemi tipo DSP, che realizzino un modello BAM. Il programma associa un odore, rappresentato mediante una immagine bipolare, con una lettera dell'alfabeto che sta ad indicare un' iniziale dell'alcool, a cui il pattern immagine dell'odore si riferisce. I dati per rappresentare gli odori sono i 5 pattern medi relativi ai 5 alcool gia' utilizzati per la rete Bamtesia. In primo luogo il programma chiede le dimensioni delle immagini degli odori e delle lettere in forma di numero di righe e di colonne. Poi la rete viene addestrata, dando il comando "a" e indicando di seguito i nomi dei file rappresentativi degli odori e delle immagini delle lettere con cui gli stessi vengono associati. In questa fase la BAM crea al suo interno una matrice delle associazioni ad energia minima (come descritto nella parte teorica). Terminata questa fase si passa all' esecuzione, consistente nel presentare alla rete l'odore sconosciuto indicandone il nome. Dopo qualche oscillazione che viene visualizzata,
238
la rete converge e viene mostrata la lettera che era stata precedentemente associata con quell'odore o una simile. Dopo aver testato su 5 pattern di prova rappresentanti i 5 alcool primari, viene eseguita una visualizzazione della matrice dei pesi, premendo la "v" ed infine si esce, premendo "f". Il programma prevede anche la possibilita' di salvare la matrice dei pesi, per poterla richiamare in un secondo tempo.
239
15.2 Esecuzione del programma Quante righe nell'odore X ? :9 Quante colonne nell'odore X ? : 4 Quante righe nell'immagine Y ? : 9 Quante colonne nell'immagine Y ? : 4 Apprendi Esegui Visualizza Salva Carica Modifica Fine: a Nome file dell'odore X : m. x . . X. . . . . X. X. . . . X XX. . . X. X XX. X . X. . XX. X Nome file dell'immagine Y : m. y XXXX X. . X X. . X X. . X X. . X X. . X X. . X X. . X
240
Apprendi Esegui Visualizza Salva Carica Modifica Fine:a Nome file dell'odore X : p. x . . . . X. . . . X. . XXX. . . X. . . X. XXX. . X. X XX. X Nome file dell'immagine Y : p. y . . . . XXXX X. . X XXXX X. . . X. . . X. . . X. . . X. . . Apprendi Esegui Visualizza Salva Carica Modifica Fine: a Nome file dell'odore X : t. x X. XX . . X. . . XX X. . . . . . X X. X. . X. X X. X. . . X.
241
Nome file dell'immagine Y : t. y XXXX XXXX XXXX . X. . . X. . . X. . . X. . . X. . . X. . Apprendi Esegui Visualizza Salva Carica Modifica Fine: a Nome file dell'odore X :e. x X. . X XX. X X. X. . X. . . X. X . XXX . . . . . XXX . . XX Nome file dell'immagine Y : e. y XXXX X. . . X. . . XXXX X. . . X. . . X. . . X. . . XXXX
242
Apprendi Esegui Visualizza Salva Carica Modifica Fine: a Nome file dell'odore X : bu. x . X. X XXX. . . . X . . . . X. XX . . . X XX. X X. . X . . . . Nome file dell'immagine Y : bu. y XXXX XXXX X. . X X. . X XXXX X. . X X. . X XXXX XXXX
243
Apprendi Esegui Visualizza Salva Carica Modifica Fine:e Nome file dell'odore X :p. x . . . . X. . . . X. . XXX. . . X. . . X. XXX. . X. X XX. X . . . . XXXX X. . X XXXX X. . . X. . . X. . . X. . . X. . .
244
Apprendi Esegui Visualizza Salva Carica Modifica Fine: e Nome file dell'odore X :m. x . . X. . . . . X. X. . . . X XX. . . X. X XX. X . X. . XX. X XXXX X. . X X. . X X. . X X. . X X. . X X. . X X. . X X. . X XXXX X. . X X. . X X. . X X. . X X. . X X. . X X. . X X. . X
245
Apprendi Esegui Visualizza Salva Carica Modifica Fine: e Nome file dell'odore X : e. x X. . X XX. X X. X. . X. . . X. X . XXX . . . . . XXX . . XX XXXX X. . . X. . . XXXX X. . . X. . . X. . . X. . . XXXX XXXX X. . . X. . . XXXX X. . . X. . . X. . . X. . . XXXX
246
Apprendi Esegui Visualizza Salva Carica Modifica Fine:e Nome file dell'odore X : t. x X. XX . . X. . . XX X. . . . . . X X. X. . X. X X. X. . . X. XXXX XXXX XXXX . X. . . X. . . X. . . X. . . X. . . X. .
247
Apprendi Esegui Visualizza Salva Carica Modifica Fine: e Nome file dell'odore X : bu. x . X. X XXX. . . . X . . . . X. XX . . . X XX. X X. . X . . . . XXXX XXXX X. . X X. . X XXXX X. . X X. . X XXXX XXXX
248
Apprendi Esegui Visualizza Salva Carica Modifica Fine: v unita' di input : -‐1 1-‐1 1 1 1 1-‐1-‐1-‐1-‐1 1-‐1-‐1-‐1-‐1 1-‐1 1 1-‐1-‐1-‐1 1 1 1-‐1 1 1-‐1-‐1 1-‐1-‐1-‐1-‐1 unita' di output : 1 1 1 1 1 1 1 1 1-‐1-‐1 1 1-‐1-‐1 1 1 1 1 1 1-‐1-‐1 1 1-‐1-‐ 1 1 1 1 1 1 1 1 1 1 1Y2Y3Y4Y5Y6Y7Y8Y9Y10Y11Y12Y13Y14Y15Y16Y17Y18Y19Y20 Y21Y22Y23Y24Y25Y26Y27Y28Y29Y30Y31Y32Y33Y34Y35Y36Y 1X 1 1 1 1-‐1-‐1-‐1-‐3-‐1 3 3-‐3-‐3 3 1-‐3-‐3 1-‐1-‐3-‐3 3 1-‐3-‐3 3 1-‐3-‐3 1-‐1-‐3-‐ 3 3 1-‐1 2X-‐1-‐1-‐1-‐1-‐3 1 1-‐1-‐3 1 1-‐1-‐1-‐3-‐1-‐1-‐1 3 5 3-‐1 1 3 3-‐1 1 3 3-‐1 3 5 3-‐ 1 1 3 1 3X 1 1 1 1-‐1-‐1-‐1 1-‐1 3 3 1-‐3-‐1-‐3-‐3-‐3 1-‐1 1-‐3 3 1 1-‐3 3 1 1-‐3 1-‐1 1-‐ 3-‐1-‐3-‐1 4X 3 3 3 3 1 1 1-‐1 1 1 1-‐1-‐1 1-‐1-‐1-‐1 3 1-‐1-‐1 1-‐1-‐1-‐1 1-‐1-‐1-‐1 3 1-‐1-‐ 1 5 3 1 5X-‐1-‐1-‐1-‐1 1 1 1-‐1 1-‐3-‐3-‐1 3 1 3 3 3-‐1 1-‐1 3-‐3-‐1-‐1 3-‐3-‐1-‐1 3-‐1 1-‐1 3 1 3 1 6X 1 1 1 1-‐1-‐1-‐1-‐3-‐1-‐1-‐1-‐3 1-‐1 1 1 1 1 3 1 1-‐1 1 1 1-‐1 1 1 1 1 3 1 1 3 5 3 7X 1 1 1 1-‐1 3 3 1-‐1 3 3 1-‐3-‐1-‐3-‐3-‐3 5 3 1-‐3 3 1 1-‐3 3 1 1-‐3 5 3 1-‐3 3 1-‐1 8X-‐1-‐1-‐1-‐1-‐3-‐3-‐3-‐5-‐3 1 1-‐5-‐1 1 3-‐1-‐1-‐1 1-‐1-‐1 1 3-‐1-‐1 1 3-‐1-‐1-‐1 1-‐ 1-‐1 1 3 1 9X 1 1 1 1-‐1-‐5-‐5-‐3-‐1-‐1-‐1-‐3 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 3 10X-‐5-‐5-‐5-‐5-‐3 1 1-‐1-‐3 1 1-‐1-‐1 1 3-‐1-‐1-‐1 1-‐1-‐1 1 3-‐1-‐1 1 3-‐1-‐1-‐1 1-‐ 1-‐1-‐3-‐1-‐3 11X 3 3 3 3 1-‐3-‐3-‐1 1 1 1-‐1-‐1 1-‐1-‐1-‐1-‐1-‐3-‐1-‐1 1-‐1-‐1-‐1 1-‐1-‐1-‐1-‐1-‐3-‐ 1-‐1 1-‐1 1 12X 1 1 1 1-‐1 3 3 1-‐1 3 3 1-‐3-‐1-‐3-‐3-‐3 5 3 1-‐3 3 1 1-‐3 3 1 1-‐3 5 3 1-‐3 3 1-‐1 13X-‐3-‐3-‐3-‐3-‐1 3 3 1-‐1 3 3 1-‐3 3 1-‐3-‐3 1-‐1-‐3-‐3 3 1-‐3-‐3 3 1-‐3-‐3 1-‐1-‐ 3-‐3-‐1-‐3-‐5 14X-‐3-‐3-‐3-‐3-‐1-‐1-‐1-‐3-‐1-‐1-‐1-‐3 1 3 5 1 1-‐3-‐1-‐3 1-‐1 1-‐3 1-‐1 1-‐3 1-‐3-‐1-‐ 3 1-‐1 1-‐1 15X-‐5-‐5-‐5-‐5-‐3 1 1-‐1-‐3 1 1-‐1-‐1 1 3-‐1-‐1-‐1 1-‐1-‐1 1 3-‐1-‐1 1 3-‐1-‐1-‐1 1-‐ 1-‐1-‐3-‐1-‐3 16X-‐1-‐1-‐1-‐1-‐3-‐3-‐3-‐1-‐3 1 1-‐1-‐1-‐3-‐1-‐1-‐1-‐1 1 3-‐1 1 3 3-‐1 1 3 3-‐1-‐1 1 3-‐1-‐3-‐1 1 17X 1 1 1 1-‐1-‐1-‐1 1-‐1-‐1-‐1 1 1-‐5-‐3 1 1 1 3 5 1-‐1 1 5 1-‐1 1 5 1 1 3 5 1-‐1 1 3 18X 1 1 1 1-‐1-‐5-‐5-‐3-‐1-‐1-‐1-‐3 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 3 19X-‐3-‐3-‐3-‐3-‐1 3 3 1-‐1-‐1-‐1 1 1-‐1 1 1 1 1 3 1 1-‐1 1 1 1-‐1 1 1 1 1 3 1 1-‐1 1-‐1 20X 3 3 3 3 1 1 1-‐1 1 1 1-‐1-‐1 1-‐1-‐1-‐1 3 1-‐1-‐1 1-‐1-‐1-‐1 1-‐1-‐1-‐1 3 1-‐1-‐ 1 5 3 1
249
21X-‐1-‐1-‐1-‐1-‐3 1 1-‐1-‐3 5 5-‐1-‐5 1-‐1-‐5-‐5 3 1-‐1-‐5 5 3-‐1-‐5 5 3-‐1-‐5 3 1-‐ 1-‐5 1-‐1-‐3 22X 1 1 1 1-‐1-‐5-‐5-‐3-‐1-‐1-‐1-‐3 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 3 23X-‐1-‐1-‐1-‐1 1 1 1-‐1 1 1 1-‐1-‐1 5 3-‐1-‐1-‐1-‐3-‐5-‐1 1-‐1-‐5-‐1 1-‐1-‐5-‐1-‐1-‐3-‐ 5-‐1 1-‐1-‐3 24X 3 3 3 3 1-‐3-‐3-‐1 1-‐3-‐3-‐1 3-‐3-‐1 3 3-‐1 1 3 3-‐3-‐1 3 3-‐3-‐1 3 3-‐1 1 3 3 1 3 5 25X-‐1-‐1-‐1-‐1 1 1 1 3 1-‐3-‐3 3 3-‐3-‐1 3 3-‐1 1 3 3-‐3-‐1 3 3-‐3-‐1 3 3-‐1 1 3 3-‐3-‐1 1 26X 1 1 1 1 3 3 3 5 3-‐1-‐1 5 1-‐1-‐3 1 1 1-‐1 1 1-‐1-‐3 1 1-‐1-‐3 1 1 1-‐1 1 1-‐1-‐3-‐1 27X-‐5-‐5-‐5-‐5-‐3 1 1-‐1-‐3 1 1-‐1-‐1 1 3-‐1-‐1-‐1 1-‐1-‐1 1 3-‐1-‐1 1 3-‐1-‐1-‐1 1-‐ 1-‐1-‐3-‐1-‐3 28X 3 3 3 3 1 1 1 3 1 1 1 3-‐1-‐3-‐5-‐1-‐1 3 1 3-‐1 1-‐1 3-‐1 1-‐1 3-‐1 3 1 3-‐1 1-‐1 1 29X 1 1 1 1-‐1 3 3 1-‐1 3 3 1-‐3-‐1-‐3-‐3-‐3 5 3 1-‐3 3 1 1-‐3 3 1 1-‐3 5 3 1-‐3 3 1-‐1 30X-‐1-‐1-‐1-‐1 1-‐3-‐3-‐1 1-‐3-‐3-‐1 3 1 3 3 3-‐5-‐3-‐1 3-‐3-‐1-‐1 3-‐3-‐1-‐1 3-‐5-‐3-‐ 1 3-‐3-‐1 1 31X 1 1 1 1-‐1-‐1-‐1-‐3-‐1 3 3-‐3-‐3 3 1-‐3-‐3 1-‐1-‐3-‐3 3 1-‐3-‐3 3 1-‐3-‐3 1-‐1-‐ 3-‐3 3 1-‐1 32X-‐1-‐1-‐1-‐1 1 1 1-‐1 1-‐3-‐3-‐1 3 1 3 3 3-‐1 1-‐1 3-‐3-‐1-‐1 3-‐3-‐1-‐1 3-‐1 1-‐1 3 1 3 1 33X-‐3-‐3-‐3-‐3-‐1-‐1-‐1 1-‐1-‐1-‐1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐5-‐3-‐1 34X-‐3-‐3-‐3-‐3-‐1-‐1-‐1 1-‐1-‐1-‐1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐1 1 1 1-‐1 1 1 1-‐3-‐1 1 1-‐5-‐3-‐1 35X 1 1 1 1-‐1-‐1-‐1-‐3-‐1 3 3-‐3-‐3 3 1-‐3-‐3 1-‐1-‐3-‐3 3 1-‐3-‐3 3 1-‐3-‐3 1-‐1-‐ 3-‐3 3 1-‐1 36X-‐1-‐1-‐1-‐1 1-‐3-‐3-‐1 1-‐3-‐3-‐1 3 1 3 3 3-‐5-‐3-‐1 3-‐3-‐1-‐1 3-‐3-‐1-‐1 3-‐5-‐3-‐ 1 3-‐3-‐1 1
250
Apprendi Esegui Visualizza Salva Carica Modifica Fine:f Quello che segue e' un elenco dei files utilizzati per addestrare la rete. Gli odori sono *. x, mentre le immagini a cui si associano gli odori sono *. y. m. x 9 4 . . X. . . . . X. X. . . . X XX. . . X. X XX. X . X. . XX. X m. y 9 4 XXXX X. . X X. . X X. . X X. . X X. . X X. . X X. . X X. . X
251
p. x 9 4 . . . . X. . . . X. . XXX. . . X. . . X. XXX. . X. X XX. X p. y 9 4 . . . . XXXX X. . X XXXX X. . . X. . . X. . . X. . . X. . . t. x 9 4 X. XX . . X. . . XX X. . . . . . X X. X. . X. X X. X. . . X.
252
t. y 9 4 XXXX XXXX XXXX . X. . . X. . . X. . . X. . . X. . . X. . e. x 9 4 X. . X XX. X X. X. . X. . . X. X . XXX . . . . . XXX . . XX e. y 9 4 XXXX X. . . X. . . XXXX X. . . X. . . X. . . X. . . XXXX
253
bu. x 9 4 . X. X XXX. . . . X . . . . X. XX . . . X XX. X X. . X . . . . bu. y 9 4 XXXX XXXX X. . X X. . X XXXX X. . X X. . X XXXX XXXX
254
15.3 Descrizione Odorbam.
e
listato
del
programma
Qua sotto viene mostrato il listato del programma odorbam. Il programma consente mediante un semplice menu di effettuare una scelta tra varie opzioni: c)caricare una matrice di pesi gia' addestrata s)salvare una matrice di pesi, v)visualizzare i pesi, m)modificare la matrice dei pesi a)far apprendere un' associazione, r)far recuperare un' associazione a partire da forme corrotte o meno da rumore. I files delle immagini son in formato testo e sono costituiti da simboli ". " e "*" che vengono convertiti rispettivamente in -‐1 e +1 all'interno della mappa in modo da avere una rappresentazione bipolare, come richiesto dall'algoritmo BAM. In fase di apprendimento, la rete legge due files, uno sul primo ingresso ed uno sul secondo e li associa l'uno con l'altro, in modo che quando, durante il recall, verra' ripresentato il primo, da solo, anche corrotto da rumore, immediatamente verra' richiamato il pattern associato. (L'algoritmo seguito e' quello descritto dettagliatamente nella parte teorica). Il listato non necessita altri commenti perche' e' autoesplicativo.
255
odorbam. c #include <stdio. h> #define LMAX 101 int X[LMAX]; /* livello X */ int Y[LMAX]; /* livello Y */ int W[LMAX][LMAX]; /* matrice pesi */ int N,M; /* numero unita' */ char com; /* comandi e modalita' di I/O */ int i,j,rig_x,col_x,rig_y,col_y,r,c; void acquisisci_X() /* legge il file dell'odore rappresentato come immagine e lo immagazzina in X[] */ { char k; FILE *f; char fn[21]; int nn; { printf(" Nome file dell'odore X : "); scanf("%s",fn); f=fopen(fn,"rt+"); fscanf(f,"%d\n",&nn); if (nn==rig_x) { fscanf(f,"%d\n",&nn); if (nn==col_x) { i=1; for (r=1;r<=rig_x;r++) { for(c=1;c<=col_x;c++) { fscanf(f,"%c",&k); printf("%c",k); if ( k=='. ') { X[i]=-‐1; } else X[i]=1; i++; } fscanf(f,"%c"); printf("\n"); } } else printf("errore il file ha %d righe",nn); } else printf("errore il file ha %d colonne",nn); fclose(f); } } void acquisisci_Y() /* legge l'immagine della lettera e la passa allo strato Y[] */ {
256
char k; FILE *f; char fn[21]; int nn; { printf(" Nome file dell'immagine Y : "); scanf("%s",fn); f=fopen(fn,"rt+"); fscanf(f,"%d\n",&nn); if (nn==rig_y) { fscanf(f,"%d\n",&nn); if (nn==col_y) { j=1; for (r=1;r<=rig_y;r++) { for(c=1;c<=col_y;c++) { fscanf(f,"%c",&k); printf("%c",k); if ( k=='. ') { Y[j]=-‐1; } else if (k=='?') Y[j]=0; else Y[j]=1; j++; } fscanf(f,"%c"); printf("\n"); } } else printf("errore il file ha %d righe",nn); } else printf("errore il file ha %d colonne",nn); fclose(f); } } /* apprendi */ void apprendi() /* funzione che modifica la matrice dei pesi, secondo la descrizione teorica,e realizzando la fase di learning */ { acquisisci_X(); acquisisci_Y(); for(j=1;j<=M;j++){ for(i=1;i<=N;i++){ W[i][j] = W[i][j]+(X[i]*Y[j]); } } }
257
int T(int A) /* funzione di trasferimento della BAM */ { if (A>0) return(+1); else return(-‐1); } void emetti_output() /* funzione che visualizza i dati sullo schermo */ { j=1; printf("\n"); for(r=1;r<=rig_y;r++){ for(c=1;c<=col_y;c++){ if (Y[j]>0) printf("%c",'X'); else printf("%c",'. '); j++; } printf("\n"); } } void esegui() /* funzione che esegue la fase di recall */ { int A; int cambiato; acquisisci_X(); for(j=1;j<=M;j++){ Y[j]=0; } do { cambiato = 0; for (j=1;j<=M;j++){ A=0; for(i=1;i<=N;i++){ A=A+(W[i][j]*X[i]); } Y[j]=T(A); } for (i=1;i<=N;i++){ A=0; for(j=1;j<=M;j++){ A=A+(W[i][j]*Y[j]); } if( (T(A)) != X[i] ) cambiato = 1; X[i]=T(A); } emetti_output(); } while (!(cambiato==0));
258
} void modifica() /* funzione che consente di reinizializzare la matrice dei pesi e i vettori delle immagini */ { printf("Quante righe nell'odore X ? : "); scanf("%d",&rig_x); printf("Quante colonne nell'odore X ? : "); scanf("%d",&col_x); printf("\n"); printf("Quante righe nell'immagine Y ? : "); scanf("%d",&rig_y); printf("Quante colonne nell'immagine Y ? : "); scanf("%d",&col_y); N=rig_x*col_x; M=rig_y*col_y; if( (N>100) || (M>100) ) printf(" Troppo grossa . Ripetere. \n"); if ( (N<100) && (M<199) ) { for(i=1;i<=N;i++){ X[i]=0; } for(j=1;j<=M;j++){ Y[j]=0; } for(i=1;i<=N;i++){ for(j=1;j<=M;j++){ W[i][j] = 0; } } } } void visualizza() /* funzione che visualizza la matrice dei pesi */ { printf("\n"); printf("unita' di input : \n"); for(i=1;i<=N;i++){ printf("%2d",X[i]," "); } printf("\n"); printf("unita' di output : \n"); for(j=1;j<=M;j++){ printf("%2d",Y[j]," "); } printf("\n"); printf("\n"); printf(" ");
259
for(j=1;j<=M;j++){ printf("%2dY",j," "); } printf("\n"); printf("\n"); for(i=1;i<=N;i++){ printf("%2dX",i," "); for(j=1;j<=M;j++){ printf("%2d",W[i][j]," "); } printf("\n"); } printf("\n"); } void salva() /* funzione che salva la matrice dei pesi su di un file su disco */ { int i,j; FILE *f; char fn[21]; printf("Nome del file in cui salvare i pesi : "); scanf("%s",fn); f = fopen(fn,"w"); f = fopen(fn,"w+"); fprintf(f,"%d\n",N); fprintf(f,"%d\n",M); for(j=1;j<=M;j++){ for(i=1;i<=N;i++){ fprintf(f,"%d\n",W[i][j]); } } fclose(f); } void carica() /* funzione che carica, da un file su disco, una matrice dei pesi precedentemente salvata */ { FILE *f; char fn[21]; int r; printf("Nome del file da cui caricare i pesi : "); scanf("%s",fn); f = fopen(fn,"r"); f = fopen(fn,"r+"); fscanf(f,"%d",&r); if (r==N) { fscanf(f,"%d",&r); if (r==M) {
260
for(j=1;j<=M;j++){ for(i=1;i<=N;i++){ fscanf(f,"%d\n",&W[i][j]); } } } else printf("errore : M letto da file e' %d",r," anziche' %d",M); } else printf("errore : N letto da file e' %d",r," anziche' %d",N); fclose(f); } main() /* Programma principale : le funzioni sono richiamate da un apposito menu' */ { modifica(); do { printf("\n"); printf("Apprendi Esegui Visualizza Salva Carica Modifica Fine: "); scanf("%c",&com); switch (com) { case 'a':apprendi();break; case 'e':esegui();break; case 'v':visualizza();break; case 's':salva();break; case 'c':carica();break; case 'm':modifica();break; } } while (com!=('f')); }
261
Conclusioni
riassuntive
e
considerazioni
finali
sul
lavoro svolto. Nella presente tesi abbiamo considerato un modello del sistema olfattivo, proposto da Detlev Schild, basato sull'uso degli spazi vettoriali. Â A
partire
da
l'obiettivo
tale di
riconoscimento
modello
ci
realizzare
artificiale,
siamo un
che
poi
posti
sistema
di
corrispondesse
il
piu' possibile al sistema biologico. Abbiamo quindi esaminato abbiamo sia
alcuni
modelli
analizzato
in
termini
le
di
reti
neuronali
caratteristiche
delle
capacita'
di
e
ne
principali
riconoscere
i
pattern, relativi ad odori presentati ad un sistema di
sensori
artificiali
che
in
termini
di
somiglianza con la struttura anatomo-funzionale del sistema biologico. Si e' quindi proceduto ad una prima analisi delle reti neuronali da un punto di vista generale, alla analisi della loro struttura e delle
operazioni
svolgere.
che
Quindi
si
esse e'
sono
in
paragonata
grado
la
di
struttura
delle reti con quella del sistema olfattivo. Si e' dapprima di
esaminata
mappe
di
la
formazione
neuroni,
che
auto-organizzata
sembra
essere
un
meccanismo basilare della organizzazione cerebrale (pag.
36
e
seguenti).
dettagliatamente rappresenta
anche
Tale
descrittto uno
dei
meccanismo (
cap.
possibili
4),
e'
stato
perche'
processi
di
base, capaci di spiegare la formazione del codice Â
262 Â
olfattivo mediante le reti neuronali. Abbiamo poi esaminato
(cap.
5)
le
Kohonen-Grossberg
ed
versione
come
sistema
forward olfattivo
reti
contropropagazione
abbiamo un
scelto
la
possibile
naturale,
per
il
CPN
modello fatto
che
o in
del il
paradigma di Kohonen, presente nel primo strato di questa rete, consente di realizzare una struttura con lo stesso ordinamento spaziale presente nello strato
delle
livello,
cellule
viene
mitrali.
riconosciuta
Infatti,
la
classe
a
questo
dell'odore
mediante una competizione. Nel sistema naturale la competizione
e'
tra
i
neuroni
adiacenti
e
viene
svolta mediante collegamenti in forma di cicli di retroazione dovuti agli interneuroni. Il successivo strato
di
Grossberg
realizza
una
semplice
decodifica di cio' che e' gia' stato riconosciuto a livello dello strato di Kohonen. Un'altra rete che abbiamo scelto, per simulare il sistema olfattivo, e' stata la rete Hamming ( cap. 6) che realizza un classificatore ad errore minimo per vettori binari, in cui vi sono degli esemplari (vettori bipolari costituiti da +/-1) che rappresentano le categorie. Il vettore in ingresso e' assegnato alla categoria, il cui vettore esemplare e' piu' vicino, in termini di
distanza
Tale
schema
implementare
di
Hamming, ci
un
al
vettore
appariva
assai
riconoscitore
di
in
ingresso.
adatto odori
dove
per le
classi dei prototipi sono i pattern degli odori di riferimento ed i vettori in ingresso sono i vettori Â
263 Â
da classificare. Questa rete ha in comune con lo schema
biologico
il
fatto
che
lo
strato
delle
categorie e' uno strato competitivo ad inibizione laterale e tale meccanismo si ritrova a livello del bulbo
olfattivo
l'azione
delle
e
viene
cellule
implementato,
mediante
periglomerulari
e/o
dei
granuli. Si e' poi esaminato il modello ART che rappresenta una teoria che spiega come
i codici di
riconoscimento olfattivo si potrebbero formare cervello
mediante
l'azione
di
meccanismi
feedback
che
assieme
nel
comprendano
a
meccanismi
attenzionali (cap. 7). ART spiega e giustifica la formazione della STM (memoria a breve termine) e come da essa si passi alla LTM (memoria a lungo termine).
ART
rappresenta
il
modello
che
ha
la
maggiore plausibilita' biologica. In questo modello le
risonanze
adattive
sono
le
unita'
funzionali
della codifica cognitiva. I codici degli odori sono immagazzinati
mediante
mantengono
tempo,
nel
oscillazioni se
mentre
le
oscillazioni
l'odore
e'
inaspettato.
dovute vengono Della
ad
che odori
si noti,
soppresse,
rete
ART
se
abbiamo
scelto la versione binaria ART1 come modello per realizzare il riconoscimento artificiale. L'ultimo modello da noi studiato e' stato il modello BAM (cap
8),
simile
a
quello
ART,
ma
privo
del
sottosistema di orientamento della ART. E' stato osservato come, a livello del bulbo olfattivo, sia presente Â
un
meccanismo 264 Â
di
memoria
associativa
avente le caratterisrtiche funzionali della BAM. La BAM
e'
piu'
semplice
della
ART
e
per
le
sue
caratteristiche l'abbiamo proposta come modello per la
realizzazione
di
un
riconoscitore
di
odori
artificiale operante in tempo reale. La codifica degli odori, in questo modello, e' rappresentata dalla matrice dei pesi M (pag. 83) che consente di associare
un
odore
rappresenta, associazione
in (
con
un
modo
parag.
vettore
che
8.4)
che
l'energia
sia
minima.
lo
dell'
Quindi
(
parag. 8.5 ) abbiamo definito l'algoritmo BAM che e' stato usato in seguito. La terza parte della tesi
e'
stata
la
parte
sperimentale
ed
in
essa
abbiamo messo alla prova le reti neuronali, scelte precedentemente sistema
sulla
olfattivo
base
della
biologico.
In
rispondenza questa
al
parte
sperimentale abbiamo simulato le reti scelte (CPN, HAMMING, ART1, BAM) mediante un software di nome NeuralWorks situazione
Professional reale,
per
II, il
applicandole riconoscimento
ad di
una un
gruppo di patterns, ottenuti dalla elaborazione di segnali provenienti da un array di 9 sensori di gas,
che e' stato sviluppato in Inghilterra presso
l'Universita' di Manchester dal prof. Krishna C. Persauds
e
colleghi.
I
risultati
ottenuti
sono
stati confrontati con quelli ricavati utilizzando dati,
elaborati
con
lo
stesso
metodo
di
quelli
Inglesi, provenienti da un sistema sensoriale a 4 sensori sviluppato presso il C. Piaggio da parte di Â
265 Â
una equipe guidata dal Prof. D. De Rossi. E' stato necessario prima
di
compiere poterli
una
preelaborazione
presentare
alle
varie
dei
dati
reti.
Le
simulazioni condotte hanno riguardato i modelli CPN (tesicpna,tespcpnp,cpnsup0a), ART1
(Artesib),
realizzate
sono
BAM stati
Hamming
(Hamtesia),
(Bamtesia). applicati
Alle
dapprima
reti i
dati
Inglesi, opportunamente elaborati, e poi quelli del C.
Piaggio
e
si
e'
sistematicamente
condotto
un
confronto in parallelo, tra le prestazioni delle reti
con
i
due
insiemi
di
dati
sia
in
fase
di
learning che di recall. I risultati conclusivi di ogni simulazione sono tabelle
stati raccolti in apposite
commentate. Di ogni rete si e' cercato
anche di trovare una forma minima.
Le simulazioni
che avevamo svolto ci hanno consentito di trarre alcune conclusioni preliminari. La rete ART1, che e '
la
piu'
biologico,
interessante ha
da
richiesto
un
punto
di
l'intervento
vista di
un
operatore esterno, per aggiustare il paramentro di vigilanza.
Inoltre
e'
abbastanza
sensibile
al
rumore ed e' quindi, a nostro avviso, da scartare nella realizzazione di un sistema di riconoscimento automatico. La rete Hamming con inibizione laterale opera bene con i dati Inglesi a 36 Ingressi (con 4 bit per ogni valore), ma sbaglia con i dati del C. Piaggio a 20 bit (con 5 bit per ogni valore) in quanto vettori Â
richiede
che
linearmente
i
dati
siano
indipendenti; 266 Â
in
forma
infatti
con
di 20
bit
si
hanno
al
massimo
20
vettori
linearmente
indipendenti, mentre i nostri pattern sono 25. Per risolvere questo problema, si potrebbe pensare di usare una codifica a 7 bit per ogni valore che ci darebbe 7*4=28 vettori linearmente indipendenti, ma cio'
non
e'
stato
fatto,
perche'
si
voleva
mantenere la maggiore omogeneita' possibile tra i metodi
usati
concerne
per
elaborare
Bamtesia,
si
puo'
i
dati.
Per
osservare
quanto
come
le
prestazioni siano funzione del FR=firing rate che, abbassato dal 100% al 50%, a parita' di T, provoca un incremento nelle prestazioni e cio' e' dovuto al fatto che, riducendo la percentuale dei neuroni che emettono segnali, si ha un effetto di cancellazione degli errori a causa della eliminazione del gran numero
di
stati
spuri,
causati
dalla
codifica
scelta. Le reti che, di gran lunga, hanno mostrato il migliore comportamento in termini di capacita' discriminatorie, con un basso numero di ingressi ed in presenza di rumore, sono i modelli CPN. Questi riescono infatti a riconoscere i pattern nel 100% dei casi, in presenza di rumore, in quantita' fino al 90% sui valori in ingresso. Si e' poi osservato come i dati del C. Piaggio, a causa del metodo applicato per elaborarli, identico al metodo usato con
i
dati
Inglesi,
abbiano
dei
valori
assoluti
minori di quelli Inglesi e con maggiori differenze tra i valori; per questo motivo le reti CPN con i dati Inglesi sembrano avere maggiore immunita' al Â
267 Â
rumore. Come spiegato, questo fatto non e' dovuto alla rete, ma ai dati usati per l'addestramento ed il recall. Altro elemento che disturba nei dati del C. Piaggio e' la presenza di valori negativi nel 25% dei casi contro meno del 10% nei dati Inglesi. Questo fatto disomogeinizza l'effetto del rumore, poiche' riduce l'input ad un PE e quindi il rumore ha un effetto maggiore su quel PE. La presenza di valori negativi inoltre disturba, perche' impedisce l'uso, certe
senza
operazioni
tecniche
escursioni
di
valore
elaborative,
tra
i
valori.
prestazioni, si suggerisce
assoluto,
di
ridurre
le
atte
a
Per
migliorare
le
di aumentare il numero
dei sensori ma di non sostituire quelli a risposta negativa con altri a risposta positiva. Infatti si potrebbe pensare di utilizzare i valori negativi, dopo opportune preelaborazioni, come utile elemento di
discriminazione
sottoporre
le
qualora
reti
ad
odori
si
decidesse
differenti
di
rispetto
alle classi alcoliche. Infatti il valore negativo potrebbe
consentire,
con
l'uso
di
meccanismi
a
soglia, di stabilire il tipo di odore (es alcool, caffe' , fumo di sigaretta) mentre gli altri valori positivi potrebbero consentire di individuare sottoclassi caffe2
etc.
(es. tipo
metanolo,propanolo
etc.
di
Si
sigaretta
).
le
caffe1, deve
poi
osservare che con un maggior numero di ingressi un sensore malfunzionante o piu' rumoroso degli altri incide percentualmente in misura minore (1/N con N= Â
268 Â
numero
degli
ingressi).
Inoltre,
dopo
aver
reso
positivi i valori negativi, si potrebbe applicare il logaritmo su tutti i valori di Î&#x201D;R/R%, ottenendo una
minore
escursione
tra
i
valori
grandi
e
piccoli. Nelle reti a codifica binaria, l'effetto del
rumore
risulta
in
codifica stessa, che
parte
mascherato
dalla
nasconde le differenze tra
numeri negativi e positivi e tra valori piccoli e grandi (si ricorda di aver usato l'operazione di moduloN
aritmetico).
binarie
e'
che
Il esse
problema
con
richiedono
le
reti
particolari
elaborazioni, per far si' che siano rispettati i vincoli di ortogonalita' o di indipendenza lineare dei dati. E' cioe' necessario scegliere, di volta in volta, la tecnica elaborativa piu' appropriata, senza parte,
poter
usare
poiche'
iterazioni
per
le
un
metodo
reti
generale.
CPN
raggiungere
la
D'altra
richiedono
molte
convergenza,
per
realizzare un sistema di riconoscimento in tempo reale
degli
odori,
abbiamo
proposto
l'uso
del
modello BAM che abbiamo deciso di costruire con un Software, da noi realizzato in C, di nome Odorbam (vedi cap. 15). Lo sviluppo di un Software in C di una rete BAM si e' reso necessario, perche' esso si presta
bene
sottoforma
di
per
implementare,
hardware
eventualmente
programmabile,
un
sistema
per il riconoscimento in tempo reale degli odori, mediante dispositivi tipo DSP, che realizzino una BAM. Il nostro programma C associa un odore, che e' Â
269 Â
stato rappresentato in forma di immagine bipolare, con
una
lettera
dell'alfabeto
che
indica
una
iniziale dell'alcool, a cui l'immagine dell'odore si riferisce. Ritornando alle reti CPN (cap 13), abbiamo realizzato un esperimento consistente nella realizzazione di una rete CPN che fosse capace di riconoscere sia i pattern Inglesi che quelli del C. Piaggio,
riuniti
riusciti
ad
in
un
ottenere
unico
insieme
ottime
e
siamo
percentuali
di
riconoscimento anche in presenza di rumore ( vedi tabella
riassuntiva).
proposto
un
nuovo
Per
modello
concludere, di
rete
abbiamo
neuronale
che
avesse la caratteristica di riprodurre il sistema olfattivo
molto
piu'
dettagliatamente
di
tutti
quelli esistenti. Ne e' nato il modello RMDCP ( vedi
cap.
14)
che
con
i
suoi
6
strati
e'
la
rappresentazione, in forma di rete neuronale, del modello neurofisiologico proposto da Schild. Tale rete e' stata addestrata con i due insiemi di dati a nostra disposizione. Le prove hanno dimostrato che questa rete raggiunge la convergenza in appena 220 iterazioni, contro le 6560 dei vecchi modelli, ed in presenza di rumore
si comporta come le reti
CPN ( da cui deriva). Tale modello ha quindi il merito di essere sia plausibile biologicamente sia assai
efficiente
da
un
punto
di
vista
ingegneristico ed e' quindi, a nostro avviso, uno dei migliori candidati per l'impiego in un sistema di riconoscimento degli odori di tipo neuronale. In Â
270 Â
sostanza,
con
tale
modello
viene
realizzato
l'obiettivo che ci eravamo posti all'inizio della presente tesi.
Â
271 Â
Bibliografia. [1] Murray L. Barr. Piccin 1993. pp. 9-26
Il sistema nervoso umano.
[2] Sir John Eccles 1965. La sinapsi. Le Scienze Marzo 1965. pp 59-68 [3] P. Strata, Fisiologia del neurone E. M. S. I. Roma 1983 pp. 10-20 [4] J. Singh. Linguaggio Mondadori. 1976. pp152-153
e
cibernetica.
[5] Tarun Khanna "fondamenti di Addison Wesley 1991. pp 144c-156
reti
[6] A. R. Luria. L'organizzazione cerebrale. Le Scienze giugno 1970
EST
neurali. funzionale
[7] Luigi Cattaneo. Anatomia del sistema nervoso centrale e periferico dell'uomo. Monduzzi editore 1984. [8] Olton David S. La memoria scienze 110 , ottobre 1977
spaziale
.
Le
[9] Amoore, J. . E. , Johnson, W. , Jr, and Rubin, M. 1964. The stereochemical theory of odor. Sci. Am. 210(2): 42-49 [10] Shepherd, 1972, Synaptic organization of mammalian olfactory bulb. Physiol. Rev. 52-864917 [11] Kandel, E. R. & Schwartz, J. H. (1982) Principles of Neural Science. New York: Elsevier/North Holland Capitolo 32 I sensi chimici: gusto e olfatto. [12] Evor L. Hines, Claire C. Gianna and J. W Gardner. Neural network based electronic nose using constructive algorithms. Techniques and application of neural networks. 1993 Ellis Horwod Workshop. pp. 135-154 [13] S. G. Shirley and Krishna C. Persaud. The biochemistry of vertebrate olfaction and taste. The neurosciences. Vol II 1990: pp 59-68
272
[14] Eleonora P. Giorgi. Il senso dell'olfatto. Le Scienze num. 101. Gennaio 1977 [15] Getchell, T. V. , and Sheperd, G. M. 1978. Responses of olfactory receptor cells to step pulses of odour at different concentrations in the salamander. J. Physiol. (Lond. ) 282: 521-540. [16] Stewart, W. B. , Kauer, J. S. , and Shepherd, G, M 1979 Functional organization of rat olfactory bulb analysed by the 2-deoxyglucose method. J. Comp. Neurol. 185: 715-734 [17] Kandel, E. R. & Schwartz, J. H. (1982) Principles of Neural Science. New York: Elsevier/North Holland Capitolo 32 I sensi chimici: gusto e olfatto. [18] Detlev Schild. 1988. Principles of odor coding and a neural network for odor discrimination . Biophysical Society. Vol 54 DEc 1988 : 1001-1011 [19] Chase, R. 1986. Lessons tentacles. Chem. Sens. 11: 411-426
from
snails
[20] Revial, M. F. G. Sicard, A. Duchamp, and A. Holey. 1982. New Studies on odour discrimination in the frog's olfactory receptor cells. I. Experimental results. Chem. Sens 7: 175-190. [21] Lancet, D. , C. A. Greer, J. S. Kauer, and G. M. Shepherd. 1982 Mapping of odor-related neuronal activity in the olfactory bulb by 2-DOG autoradiography. Proc. Natl. Acad. Sci. USA. 79: 670-166 [22] Schild, DS. 1986. System analysis of the goldfish olfactory bulb: spatio-temporal transfer properties of the mitral cell granule cell complex. Biol. Cybern. 54:9-19. [23] J. Kauer. Contributions of topography parallel processing to odor coding in vertebrate olfactory pathway . Trends neuroscience, Vol 14, No. 2, 1991. pp 79-85
and the in
[24] Kohonen, T. 1987 Self-Ogranization Associative Memory. Springer-Verlag, Berlin.
and
[25] G. M. Sheperd. I microcircuiti del sistema nervoso Le Scienze Aprile 1978 No. 116 pp. 71-78 Â
273 Â
[26] J. W. Gardner & P. N. Bartlett .Pattern Recognition in odour sensing.Academic Press.1992. pp. 161-179 [27] Richard P. Lippmann IEEE ASSP magazine. Vol 4 No. 2 aprile 1987 [28] T. Kohonen . "Self organized formation of topologically correct feature maps" Biological Cybernetics 43: 59-69 1982 Springer-Verlag. [29] James M. Bower. Relations between the dynamical properties of single cells and their networks in piriform (olfactory) cortex [30] E. I. Knudsen, S. du Lac, and S. D. Esterly (1987) "Computational maps in the brain", Annual Review of Neuroscience, 1987 10: 41-65. [31] Yves Burnod. An Adaptive neural network: cerebral cortex 1990, Prentice Hall London
the
[32] Mountcastle, 1957 Modality and topographic properties of single neurons of cat's somatic sensory cortex. J. Neurophys. 20, 408-434; [33] Towe, A. Notes on the Hypothesis of columnar organization in somatosensory cerebral cortex. Brain Behav. Evol. 11, 16-47 , 1975. [34] Hebb, D. : York: Wiley 1949.
Organization of behavior. New
[35] Singer , W. Rauschecker, J. , Werth, R. : The effect of monocular exposure to temporal contrast on ocular dominance in kittens. Brain Res. 134, 568-572 . 1977. [36] R. R Llinas. La corteccia del cervelletto. Le Scienze No. 81 Maggio 1975 [37] Robert Hecht-Nielsen, 1 Dec 1987 /Vol. No. 23 / Applied Optics p. 4979-4984
26,
[38] Carpenter, G.A. e Grossberg, S., Neural dynamics of category learning and recognition:Attention, memory consolidatio, and amnesia. J.Davis, (Eds) AAAS Symposium series, in press, 1987 [39] Robert Hcht-Nielsen Neurocomputer Corporation Dec. Â
274 Â
Hecht. Nielsen 1987 Applications
of Counterpropagation Networks Neural Networks I pp. 131-139, 1988.
Vol
[40] Sklansky ,J., .Pattern recognition: introduction and foundations, Electrical engineering and computer science, Dowden, Hutchinson & Ross, Inc. [41] Gail A. Carpenter and Stephen Grossberg. A massively parallel architecture for a selforganizing neural pattern recognition machine. Computer Vision, Graphics and image processing, 1987,37, 54-115 [42] S. Grossberg. How does a brain build cognitive code? Psychological Review 87: 1-51
a
[43] Freeman W. J. Mass action in the nervous system New York : Academic Press 1975 [44] Grossberg, S. Adaptive Pattern Classification and universal recording II Feedback expectation, olfaction and illusions.Biological Cybernetics 1976, 23,121-134 [45] S.Grossberg Communication, memory, and development .In Rosen & F. Snell, Progress in theretical biology (vol.5).New York:Academic Press, 1978 [46] Stent, G.S., A Physiological mechanism for hebbs postulate of learning, Procedings of the National Academy of Sciences, U.S.A., 70, 997-1001 (1973) [47] Bart Kosko. Contructing an Associative Memory Byte September 1987 pp. 137-144. [48] Grossberg, S The Adaptive Brain, Amsterdam: North-Holland, 1987.
I & II.
[49] Kosko, B. "Bidirectional Associative Memories" IEEE Transactions on System, Man, and Cybernetics, Fall 1987. [50] J. W. Gardner and P.N. Bartlett. A brief history of electronic noses. Sensors and Actuators B, 18-19 (1994) 211-220. [51] Kuniko Fukushima, "A neural network for visual pattern recognition" Computer, March 1988,pp. 65-74 Â
275 Â
[52] Robert Hecht -Nielsen. "Neurocomputing:picking the Human brain", IEEE Spectrum, March 1988, pp. 36-41 [53] R. Walker, F. Favata. "Neuroinformatica", Informatica Oggi, n.45, 1988, pp. 66-83 [54] T. Kohonen , " The neural phonetic typewriter",Computer , March 1988, pp. 11-25. [55] Gail. A. Carpenter and Stephen Grossberg, "The art of adaptive pattern recognition by a selforganizing neural network" Computer March 1988, pp. 77-91 [56] B. Widrow, R. Winter. Neural Network for adaptive filtering and adaptive pattern recognition, Computer March 1988. pp. 25-39 [57] R. Linsker, Self-organization in a perceptual network, Computer, March 1988, pp. 105-117 [58] D. A. Turner. Conductance transient onto dendritic Spines in a segmental cable model of hippocampal neurons, Biophys J. Biophysical society, Vol. 46, July 1984, pp. 85-96 [59] S. T. Welstead "Neural network and Fuzzy logic application in c/c++, Wiley and sons , 1994, pp. 344-391 [60] C. C. Casey Klimasauskas, An introduction to neural computing, Manuale del programma neuralworks professional II, 1988 [61] D. W. Tank, "Circuiti elettronici basati su modelli biologici, Le Scienze n. 234 , Febbraio 1988 [62] D. L. Alkon. " I meccanismi molecolari della memoria", Le scienze n. 253, Settembre 1989 [64] G. E. Hinton, D. C. Plaut e Tim Shallice " La simulazione dei danni cerebrali" Le scienze n. 304, Dicembre 1993 [65] W. S. McCulloch, " Embodiments of MInd" Press,Cambridge Massachusetts, 1965,1989.
MIT
[66] F. Crick " Function of Thalamic reticular comlplex: the serchlight hypothesys", Procedings of national academy of sciences 81:4586-4590. Â
276 Â
[67] A. G. Knapp and James Anderson, "Theory of categorization based on distributed memory storage, " Journal of experimental psychology:learning, memory and cognition, 10:616-637.
Â
277 Â