Introduzione allo studio delle reti neurali

di Fabrizio Cracolici

L’attività di ricerca nel settore delle Reti Neurali (Neural Networks) è in una fase di crescente sviluppo e suscita un notevole interesse, sia a livello nazionale che a livello internazionale, coinvolgendo un considerevole numero di laboratori e studiosi. Accanto ad attività volte allo sviluppo di nuovi paradigmi neurali, grande impulso hanno avuto anche gli studi rivolti alle possibili applicazioni in aree diverse dell’Ingegneria. Fra queste, particolare interesse è stato rivolto ai settori dell’Ingegneria Elettrica e dell’Informazione, comprendendo ambiti quali quelli dell’Ingegneria Informatica, Biomedica, Elettronica, Elettromagnetica, dell’Automazione e delle Telecomunicazioni.

[1]Gli elaboratori elettronici esibiscono molte caratteristiche attribuite all’intelligenza umana, in particolare possono ragionare per deduzione. Sono in grado di eseguire calcoli, memorizzare moltissimi dati, imparare nuove soluzioni partendo da vecchi problemi. Ma questa può essere considerata “Intelligenza”? Una delle definizioni di intelligenza è: capacità di apprendere fatti, di metterli in relazione tra loro e di costruirvi un ragionamento. Una definizione questa che non contempla nessun tipo di sentimento, consapevolezza o coscienza. L’“Intelligenza Artificiale” non deve essere considerata, la riproduzione computerizzata della mente umana, ma un modo di utilizzare i calcolatori per migliorare le stesse capacità decisionali umane. Ciò vuol dire sfruttare al meglio le potenzialità elaborative delle macchine per ottenere ragionamenti nuovi o vecchi su fatti conosciuti. I Sistemi Esperti sono un esempio concreto e valido di questo tipo di utilizzo, il problema principale per il loro sviluppo è la necessità di dover formalizzare in qualche modo la conoscenza di un certo dominio per renderla elaborabile da parte di un calcolatore. Le reti neurali artificiali invece possono apprendere in modo automatico, attraverso la costruzione di una loro rappresentazione interna della realtà, basata sull’insieme di informazioni preventivamente fornite.

Il cervello umano è costituito da una rete biologica complessa composta da centinaia di milioni di speciali celle chiamate neuroni. I neuroni si scambiano informazioni attraverso interconnessioni, il risultato ottenuto è un essere intelligente capace di apprendere, analizzare e riconoscere il mondo che lo circonda. La rete neurale artificiale simula l’attività computazionale che avviene nel cervello umano durante l’apprendimento ed il riconoscimento per decidere o giungere a conclusioni, ed è essenzialmente una interconnessione di semplici elementi computazionali basati su funzioni matematiche. Essa utilizza centinaia di migliaia di neuroni simulati, fortemente interconnessi, per processare le informazioni parallelamente. Ci sono differenti modi con cui una rete neurale può apprendere. Il modello più utilizzato è il metodo Feed-Forward con Back-Propagation (metodo basato su esempi e ripetizioni per correggere gli errori fino ad un livello definito accettabile).

Le Reti Neurali nascono dall’idea di poter riprodurre alcune delle funzioni e capacità del cervello umano.

Le reti neurali artificiali, sono state introdotte nel 1943 da W. S. McCulloch e W. Pitts. Il neurone artificiale, pur costituendo un modello matematico elementare del neurone biologico, esibisce alcune interessanti proprietà, come quella di classificazione lineare.

Risalgono alla fine degli anni ’50 le due tipologie di reti neurali artificiali che hanno avuto un grande impatto sugli attuali modelli di reti neurali.

La prima è nota con il nome di Perceptron o Percettrone Semplice [2] (cfr. Rosemblatt, 1958) la quale contiene unità a funzione d’attivazione lineare, ovvero con valori di output 0 o 1. La seconda è nota con il nome di Madaline [3](cfr. Widrow-Hoff, 1960) nella quale il valore in uscita è continuo e senza alcuna soglia di attivazione.

Entrambe le reti utilizzano una regola d’apprendimento nota come di Delta Rule.

Il più grande difetto riscontrato fu la loro restrizione ad un solo strato di connessioni adattive. Minsky e Papert nel libro "Perceptrons"del 1969, mostrarono che tali reti sono in grado di separare linearmente gli input in due sole classi (ovvero riconoscere gli input che stanno sopra o sotto una retta di soglia). Questo significava, ad esempio, che né il Perceptron né il Madaline era in grado di “imparare” la funzione booleana dell’or esclusivo (XOR). Minsky e Papert mostrarono comunque che queste limitazioni potevano essere superate introducendo, nello schema del Percettrone Semplice, uno strato intermedio (hidden) di neuroni. Si ottiene in questo modo una rete neurale multistrato. Purtroppo nessuna regola d’apprendimento sembrava efficiente per le reti neurali con strati intermedi, così la ricerca su questo versante andò progressivamente diminuendo.

A partire dagli anni ’80 sono state dimostrate importanti proprietà per le reti neurali. Hopfield ha proposto reti di neuroni completamente connessi in grado di funzionare come autoassociatori o in grado di affrontare problemi di ottimizzazione combinatoria. Kohonen ha proposto reti in grado di apprendere in modo non supervisionato dati non etichettati e raggrupparli in clusters.

Oja ha proposto reti di neuroni in grado di operare l’analisi delle componenti principali.

Fu nel 1985 che numerosi schemi di apprendimento per le reti neurali multistrato cominciarono ad emergere dagli ambienti di ricerca, riportando in auge le reti neurali. Grande successo ebbe, la regola delta-rule generalizzata, introdotta da [4]Rumelhart nel 1986. L’applicazione di tale regola richiede due fasi specifiche. Nella prima fase, l’input è propagato avanti nella rete verso le unità di output. Nella seconda fase, l’errore è propagato all’indietro attraverso la rete ed è utilizzato per aggiornare i pesi delle connessioni interne. E’ dalla caratteristica di questa seconda fase che tale procedura prende il nome di Backpropagation.

La rete più utilizzata, e forse anche la più interessante, è quella del percettrone multistrato o MLP (Multi-LayerPerceptron) per il quale è stata dimostrata la capacità di approssimazione universale delle funzioni.

Nell’ambito delle reti neurali sono stati proposti altri modelli, come le Reti di Funzioni a Base Radiale, con la proprietà di approssimazione universale delle funzioni. Le reti neurali apprendono a svolgere il loro compito mediante algoritmi (programmi di calcolatore), di apprendimento, che modificano i valori dei loro parametri, utilizzando i dati disponibili. Nel caso del MLP viene utilizzata per lo più la tecnica di discesa a gradiente (regola di Back-Propagation) in modo da minimizzare la funzione errore tra l’uscita effettiva e l’uscita desiderata. Utilizzando il MLP e possibile realizzare stimatori, previsori di serie temporali e classificatori bayesiani (classificatori con errore minimo di classificazione).

Esempio di una semplice rete neurale:

·        INPUT = Temperatura misurata (termocoppia)

·        OUTPUT = Attuatore (valvola di regolazione del vapore)

·        IL REGOLATORE = Elemento che provvede alla regolazione tramite l’adattamento di ingresso e uscita

 


Casella di testo: INPUT

VARIABILE 
PROCESSATA



[1]"Introduction to Neural Networks: Design, Theory and Applications" - Written by Jeannette Lawrence - Edited by Sylvia Luedeking - 1994, California Scientific Software Press.

[2] Rosemblatt, 1958 - The Perceptron: A probabilistic model for information storage and organization in the brain. PsychologicalReview56, 386-408.

[3]Widrow-Hoff, 1960 - Adaptive switching circuits. 1960 IRE WESCON Convention Record, Part 4, 96-104.

[4]Rumelhart, 1986 - D.E. Rumelhart, G.E. Hinton, R.J. Williams - Learinig representations by back-propagating errors, Nature 323, 533-536.



Venerdě, 16 aprile 2004