Le reti neurali
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 «percettrone», 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":
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. |