RETI NEURALI / CONNESSIONISMO


Uno dei più grossi problemi del modello computazionale matematico introdotto da John von Neumann (Macchina di von Neumann) è la sua rigidità e l'impossibilità di rispondere a stimoli esterni (input) in maniera diversa da ciò che viene inizialmente immesso nell'elaboratore. In parole semplici, un computer, generalmente, può riconoscere e rispondere solo a stimoli che sono stati codificati precedentemente; anche le risposte, inoltre, sono sempre rigidamente decise a priori.
Per tentare di risolvere questo problema, è stato introdotto il concetto di rete neurale (artificiale), preso in prestito dalla biologia, precisamente da ciò che sappiamo sul funzionamento cerebrale.
La rete neurale artificiale (ANN, Artificial Neural Network) è formata da un gran numero di unità indipendenti, connesse le une alle altre mediante dei collegamenti. Questo è simile alla struttura del nostro cervello, in cui le unità sono i neuroni e i collegamenti gli assoni e le sinapsi.
Un impulso (elettrico) viaggia all'interno del cervello seguendo i collegamenti: quando un neurone riceve l'impulso, se questo è abbastanza forte il neurone si "attiva" e a sua volta invia il segnale a tutti i neuroni ad esso collegati, che si comporteranno nella stessa maniera.
Una ANN funziona nello stesso modo: ogni unità è collegata ad altre unità, le quali, in presenza di uno stimolo (input) di sufficiente intensità dalle unità poste "prima" di esse, si attivano e inviano il segnale alle unità collegate. I collegamenti (o gli assoni, nel caso del cervello) hanno la capacità di attenuare il segnale, in modo che questo viaggi secondo percorsi diversi e in alcune "direzioni" si spenga (cioè non sia sufficiente ad attivare alcuni neuroni).
Una rete neurale possiede poi, di solito, un algoritmo che modifica i pesi (le attenuazioni) dei collegamenti, in modo che essa si adatti a fornire un certo output in risposta ad un determinato input.

Esistono vari tipi di reti neurali e dunque vari modi per classificarle. La classificazione più comune è quella che le divide in supervisionate e non supervisionate.

Alle reti della prima categoria viene presentato un input e osservato l'output generato, a questo punto, tenendo conto dell'output che si desiderava, vengono aggiornati i pesi dei collegamenti e presentato alla rete un nuovo input. Questa procedura è detta "addestramento" della rete. La "supervisione" consiste proprio nel conoscere che risposta ci si aspetta da un determinato input.
Una rete neurale è in grado, successivamente, di dare risposte coerenti anche ad input che non erano stati presentati in fase di addestramento.
La più comune rete di questo tipo, che è anche la più famosa, è quella multistrato (in cui, cioè, i nodi vengono posti in strati paralleli, generalmente 2 o 3, al massimo 4) a retropropagazione (che è il nome dell'algoritmo di addestramento), decisamente semplice da costruire anche per un programmatore poco esperto, con al più una decina di righe di codice.
Un esempio classico di una rete simile è quella utilizzata per il riconoscimento di caratteri. Vengono presentati una serie di caratteri (di solito contenuti in una griglia quadrata) e la rete viene addestrata a riconoscere di che carattere si tratti. Successivamente essa sarà in grado, fornito un qualsiasi simbolo, di stabilire a quale carattere esso "somigli" di più.

Le reti non supervisionate vengono generalmente utilizzate per effettuare classificazioni degli input, come le famose Reti di Kohonen (SOM, Self-Organizing Maps), che hanno un'enormità di applicazioni. Queste reti dividono gli input in categorie formate da input "simili" (secondo certi criteri) tra di loro. Una SOM, oltretutto, crea una "mappa" degli input mettendo vicini tra di loro gli input simili. Ad esempio è possibile fornire ad una SOM una serie di colori e fare in modo che essa raggruppi i colori simili.

Le reti neurali, dunque, sono in grado di eseguire un'operazione impossibile a gran parte degli altri metodi dell'Intelligenza Artificiale: rispondere coerentemente a input non codificati in precedenza. Questa caratteristica è fondamentale per tutte quelle applicazioni che hanno a che fare con l'ambiente esterno (è impossibile prevedere in fase di costruzione tutte le possibili situazioni), oppure quelle in cui gli input si presentano "rumorosi" (cioè non precisi), come ad esempio il riconoscimento di forme grafiche (ad esempio, caratteri, figure geometriche, volti umani...), nell'interpretazione di segnali, nel riconoscimento vocale, nel controllo di processi di vario tipo e nei sistemi di supporto alle decisioni.
Il problema principale di una rete neurale, invece, è che essa è una "scatola chiusa", è cioè molto difficile comprenderne il funzionamento e ci si deve spesso limitare a fidarsi dell'addestramento, senza avere la possibilità di controllare cosa effettivamente avviene dentro la rete.

[Scheda di Daniele Calisi - e-mail: madmage@iname.com
Sito di riferimento: Mindreamz]

Dario Floreano - Claudio Mattiussi, Manuale sulle reti neurali, Il Mulino, Bologna, 2002

Tarum Khanna, Fondamenti di reti neurali, Addison Wesley Longman Italia, 1991

A. Mazzetti, Reti neurali artificiali, Apogeo Editore

D. Parisi, Intervista sulle reti neurali, Il Mulino, Bologna, 1989

S. Cammarata, Reti neuronali: l'altra faccia dell'Intelligenza Artificiale, Etas Libri, Milano, 1986

Giovanni Martinelli, Reti neurali e neurofuzzy, Euroma, 2000

Salvatore Ingrassia - Cristina Davino, Reti neuronali e metodi statistici, Franco Angeli, Milano, 2002

Eliano Pessa, Statistica con le reti neurali, Di Renzo Editore, Roma, 2004

G. Spezzano - D. Tallia, Calcolo parallelo, automi cellulari e modelli per sistemi complessi, Franco Angeli, Milano, 1999

Silvio Cammarata, Reti neurali. Dal Perceptron alle reti caotiche e neuro-fuzzy, ETAS, 1997

Giuseppe Carrella, L'officina neurale. Viaggio tra la teoria e la pratica delle reti neurali, Franco Angeli, Milano, 1995

B. Kosko, Il fuzzy pensiero, Baldini & Castoldi, Milano, 1995

B. Tirozzi, Modelli matematici di reti neurali, CEDAM, Padova, 1995

Andy Clark, Microcognizione. Filosofia, scienza cognitiva e reti neurali, Il Mulino, Bologna, 1994

M. Buscema, Squashing Theory: modello a reti neurali per la prevenzione dei sistemi complessi, Armando, Roma, 1994

Philip Quinlan, Connessionismo e psicologia, Il Mulino, Bologna, 1994

M. Buscema - G. Massimi, Il modello MQ: reti neurali e percezione interpersonale, Armando, Roma, 1993

Eliano Pessa - M. P. Penna, Introduzione alla psicologia connessionistica, Di Renzo, Roma, 1993

Eliano Pessa, Reti neurali e processi cognitivi, Di Renzo, Roma, 1993

Vittorio Somenzi, Cibernetica e reti neurali: dall'intelligenza artificiale alla vita artificiale, Il Mulino, Bologna, 1991

Stefano Patarnello, Le reti neuronali. Semplificare la complessità con l'aiuto dell'informatica, Franco Angeli, Milano, 1991

A. Ferrari, Aspetti applicativi delle reti neurali, Franco Angeli, Milano

M. Buscema - G. Didonè - M. Pandin, Reti neurali autoriflessive, Armando, Roma


Siti per approfondimenti

Reti/Masulli
Reti neurali e logica "fuzzy".

Reti/Poisson
Reti neurali: principi ed elementi di calcolo.

Node30/Polito
Reti neurali: principi generali e algoritmi di apprendimento.

Reti neurali/Emernet
Introduzione alle reti neurali.

Retineurali/Itportal
Reti neurali avanzate e algoritmi genetici.

Retineurali/Statsoftinc
Introduzione teorica alle reti neurali.

Retineurali/Unisi
Riconoscimento basato sulle reti neurali ricorsive.

FAQ del Newsgroup comp.ai.neural-nets
Questa è una vera e propria miniera di informazioni per tutti coloro che vogliono sapere a grandi linee tutto ciò che attualmente sono le reti neurali, le FAQ sono divise in capitoli in cui vengono spiegati i concetti più comuni riguardo all'addestramento, la generalizzazione, vengono inoltre indicati libri e siti di interesse, nonché software e altro.

Retineurali-01/Valentiniweb
Articolo di approfondimento sulle reti neurali.

Retineurali-02/Valentiniweb
Articolo on line: "Apprendimento di significato in reti competitive".

Fuzzy/Mindreamz
Reti neurali: approfondimento su perceptron e "delta rule".

Network/MITECS
Pagina della MIT Encyclopedia of the Cognitive Sciences dedicata al connessionismo.

Slide di un corso di reti neurali
Le slide del corso di Genevieve Orr, professore dell'università di Willamette, sono molto utili per fare i primi passi nello studio delle reti neurali. Da questa pagina vi sono anche interessanti link ad altri siti

Estratto dalla tesi di Timo Honkela
Una descrizione delle SOM con un esempio sulla classificazione dei colori, la tesi completa è disponibile cliccando qui e riguarda il processamento del linguaggio naturale (in particolare il data mining) con le SOM di Kohonen.

Esempio in Java delle SOM Bayesiane
In questo esempio viene usata una variante della SOM per stimare la forma di una distribuzione rumorosa.

Esempio di SOM in 3D
Un altro esempio di utilizzo di una SOM, anche questo estratto da una tesi (di diploma, questa volta). Viene risolto il famoso problema del viaggiatore (si hanno un certo numero di "città", il viaggiatore deve visitarle tutte facendo il percorso più breve).
Tale problema, sebbene sembri molto semplice ad una mente umana, usando i metodi convenzionali impone ad un calcolatore di poter lavorare con un massimo di 25 città se si vuole una risposta in un tempo ragionevole. In questo esempio, invece, si possono usare più di 50 città e in tre dimensioni.

Connessionism/Stanford
Pagina della Stanford Encyclopedia of Philosophy dedicata al connessionismo.


Tutti i diritti riservati: nessuna parte dei testi pubblicati
può essere riprodotta senza il consenso scritto dell'autore.