apprendimento automatico indice intelligenza artificiale sistemi intelligenti basati su metafora naturale

Le reti neurali


Fig. 1:
Una "fotografia" di un fascio di neuroniDizionario nel cervello.
 

Le reti neurali rappresentano un approccio significativamente diverso da quello simbolico analizzato precedentemente, e rientrano nel filone dell'intelligenza artificiale "strutturale" o "connessionistico". L'idea di base è di riprodurre l'intelligenza e, in particolare, l'apprendimento simulando all'elaboratore la struttura neurale del cervello animale.

L'idea di costruire una macchina intelligente a partire da neuroni artificiali si può fare risalire alla nascita dell'intelligenza artificiale, e già alcuni risultati furono ottenuti da McCulloch e Pitts nel 1943 quando nacque il primo modello neurale. Nel 1962 Rosenblatt propose un nuovo modello di neurone, il «percettroneDizionario», capace di apprendere mediante esempi.

Un percettrone descrive il funzionamento di un neurone eseguendo una somma pesata dei suoi ingressi ed emettendo un'uscita "1" se la somma è maggiore di un certo valore di soglia modificabile, o "0" altrimenti. L'apprendimento, così inteso, è un processo di modifica dei valori dei pesi. Il grande entusiasmo verso questo approccio subì una brusca riduzione pochi anni dopo, quando Minsky e Papert evidenziarono i grandi limiti di apprendimento del percettrone.

Più recentemente sono state proposte nuove architetture di reti neurali non più soggette alle limitazioni teoriche dei percettroni. 



Fig. 2:
Una rete neurale ricorrente, in cui i collegamenti di alcuni neuroni sono in retroazione.

Si possono distinguere varie modalità di apprendimento in dipendenza da come la rete viene "addestrata":

  • Apprendimento con supervisione mediante esempi (Supervised Learning): le risposte desiderate vengono fornite alla rete durante la fase di addestramento;
  • Apprendimento senza supervisione (Unsupervised learning): i neuroni si specializzano mediante una competizione interna;
  • Apprendimento mediante rinforzo (Reinforcement Learning): alla rete viene fornita solo una informazione qualitativa sulla bontà della sua risposta;

Le reti neurali sono più adatte a compiti di classificazione e di percezione concettualmente "di basso livello" anche se tecnicamente ardui, quali il riconoscimento del parlato, il controllo di processi e il riconoscimento di immagini, mentre problemi concettualmente complessi quali progettazione, diagnosi, pianificazione, rimangono dominio della intelligenza artificiale simbolica.

Di seguito è riportato un applet Java che simula un algoritmo di apprendimento, basato su reti neurali, su di una mappa BSOM (Bayesian Self-Organizing Map). Per maggiori informazioni Artificial Neural Network Lab on the Web

L'obiettivo della rete è quello di tracciare una curva (disegnata in blu nell'applet) che approssimi il meglio possibile un insieme di punti. Con i cursori noise level e phase si controlla la disposizione dei punti. Gli altri cursori modificano i parametri della rete (si possono lasciare come nella configurazione iniziale). Per attivare l'applet, selezionare auto e premere sul pulsante init: inizia così l'apprendimento della rete. Dovreste notare come, partendo da una disposizione casuale, la rete disponga la curva in modo da approssimare i punti. Modificando la distribuzione dei punti tramite noise level e phase, vedrete come la rete risponda a cambiamenti e aggiusti la curva.



The Webweavers: Last modified Wed, 09 Mar 2005 11:05:26 GMT