Introduzione allo studio delle reti neurali
di Fabrizio Cracolici
Lattività 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 dellIngegneria. Fra queste, particolare interesse è stato rivolto ai settori dellIngegneria Elettrica e dellInformazione, comprendendo ambiti quali quelli dellIngegneria Informatica, Biomedica, Elettronica, Elettromagnetica, dellAutomazione e delle Telecomunicazioni. [1]Gli elaboratori elettronici esibiscono molte caratteristiche attribuite allintelligenza 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 sullinsieme 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 lattività 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 dattivazione 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 dapprendimento 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 dellor 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 dapprendimento 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 lanalisi 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. Lapplicazione di tale regola richiede due fasi specifiche. Nella prima fase, linput è propagato avanti nella rete verso le unità di output. Nella seconda fase, lerrore è propagato allindietro 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 luscita effettiva e luscita 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
[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 |