venerdì 2 novembre 2007

Intelligenza artificiale e computazione neurale

Fin dalla nascita del primo calcolatore, l’uomo ha cercato di far sì che il computer riproducesse il comportamento del cervello umano e che compisse delle operazioni che fossero quanto più possibili simili a questo. Si è sempre parlato in questo senso di “intelligenza artificiale” ma gli studi non si sono fermati qui in quanto l’obiettivo finale è sempre stato quello di realizzare un sistema in grado di agire autonomamente.
In effetti il computer compie operazioni logico-aritmetiche seguendo un algoritmo ed esegue quindi le istruzioni secondo una sequenza prestabilita. La sequenza di operazioni che vengono eseguite simula il comportamento umano anche se la velocità di esecuzione è di molto maggiore quando si tratta di un computer. Per comprendere meglio questo concetto facciamo un esempio banale:il gioco degli scacchi o anche un gioco di carte.
Quando giochiamo con una persona il nostro cervello esegue tutta una serie di operazioni logiche atte a far sì che le mosse dell’avversario vengano previste e neutralizzate. La sola differenza, quando giochiamo con un computer, sta nel fatto che il tempo di esecuzione di una mossa da parte della macchina è molto inferiore rispetto a quella umana.
Possiamo quindi notare come il comportamento umano e le operazioni compiute da un calcolatore non siamo molto dissimili salvo che per la precisione e la velocità di quest’ultimo.
Tuttavia, nel caso di computer digitali (quelli di cui in pratica stiamo parlando), la capacità computazionale è centralizzata e affidata a un singolo processore che esegue le operazioni in maniera seriale mentre la mente umana associa concetti o frammenti di informazione di natura diversa, mettendo insieme i quali è in grado di ricostruire altre informazioni. Il cervello di un individuo adulto contiene circa 10 miliardi di cellule: i neuroni. L’informazione che arriva al cervello dai canali sensori viene codificata sotto forma di segnali elettrici e di processi chimici. Tali segnali sono scambiati tra i neuroni che compongono il tessuto cerebrale. Inoltre l’elaborazione avviene in forma parallela perchè gruppi di neuroni elaborano simultaneamente l’informazione. Pertanto il neurone agisce allo stesso tempo da memoria e da elaboratore dei segnali. Ciò significa anche che l’informazione è rappresentata in forma distribuita.
La simulazione della struttura dei sistemi neurali biologici ha portato allo uno sviluppo di sistemi artificiali che conservano le caratteristiche del comportamento intelligente dei sistemi biologici che tengono conto che il cervello umano ha non solo la capacità di eseguire compiti molto complessi ma anche quella di modificare la propria struttura per meglio eseguire tali processi.
Ciò rappresenta un cambiamento di prospettiva piuttosto radicale rispetto alla computazione convenzionale.
Lo scopo è quello ottenere un sistema che abbia queste caratteristiche:
• robustezza e tolleranza agli errori e capacità di generalizzare cioè produrre uscite a partire da dati in ingresso non presenti nell´insieme utilizzato. Le cellule nervose nel cervello muoiono ogni giorno senza avere effetti significativi sulla performance totale del sistema;
• flessibilità. La struttura si può facilmente adeguare a un nuovo ambiente attraverso l’apprendimento (non deve essere scritta con un linguaggio di programmazione);
• Capacità di apprendere ed emettere risposte appropriate avendo a che fare con informazioni confuse, probabilistiche, indefinite o inconsistenti;
• struttura piccola, compatta e che dissipa veramente poca energia (purtroppo però una rete neurale, per funzionare correttamente, ha bisogno o di un calcolatore o di hardware dedicato).
Tutto questo può lasciare perplessi, far nascere dubbi, luoghi comuni in nome, potrebbe dire qualcuno, della fantascienza (non sembra di leggere un romanzo di Asimov? ) ma quanto affermato non deve far pensare che si voglia costruire il cervello artificiale ed è bene sottolineare che la computazione neurale ha a che fare con le macchine e non con il cervello:l’obiettivo è quello di costruire macchine ispirate a sistemi biologici che riproducano comportamenti intelligenti.
Non vorrei scivolare nella retorica ma penso che una macchina non sia altro che questo e che nessuna simulazione possa avvicinarla all’uomo. E’ sempre l’uomo a creare quanto serve alla macchina, l’uomo a gestirla e a programmarla anche nel caso che fosse essa stessa a ripararsi in caso di malfunzionamenti o fosse in grado di riprogrammarsi e sebbene ami tutto quello che riguarda i calcolatori penso che nessuna macchina, per quanto perfetta (o forse proprio per questo?) possa competere con un essere umano.

Fonti:
http://www.emernet.it/TR9601.htm
http://www.dmi.unict.it/~anile/mathapp/retineuro/retineuro.html

link utili:
http://digilander.libero.it/vvillas/reti_neurali/
software_per_reti_neurali.htm
NB Questo ultimo link va copiato e incollato per intero sul browser compresa la parte a capo.

Nessun commento: