velocità della macchina è la necessità di trasferire un dato alla volta dalla memoria al processore, su e giù per il «collo di bottiglia» di van Neumann. Questo disegno mi pareva fondamentalmente sbagliato e non adeguato alle esigenze e agli scopi dell'AI. Infatti, dal momento che le prime applicazioni a cui i computer erano destinati riguardavano problemi di calcolo numerico, il modello di van Neumann risultava particolarmente adatto. Si trattava di eseguire una dopo l'altra una lista di operazioni. Ma per il tipo di problemi che oggi un computer deve risolvere, come l'elaborazione di immagini o del pensiero simbolico, la computazione viene più naturalmente espressa in termini di manipolazione di una grande quantità di dati allo stesso tempo. P erciò nel 198?, quando ero ancora s~udente al Mas~achusetts Instltute of Technology dt Boston; cominciai a pormi la domanda: «Di che tipo di macchina vorremmo disporre, se avessimo la possibilità di costruirne una senza restrizioni di sorta?». Nacque così l'idea della «Connection Machine», ispirata a quel poco che sappiamo di neurofisiologia: numerosi componenti lavorano simultaneamente alla risoluzione di un problema e l'elaborazione dell'informazione avviene grazie alla cooperazione dei singoli componenti, migliaia e, in un futuro, milioni di cellule elementari, ognuna costituita dal processore e dalla memoria, collegate in modo che ciascun elemento possa comunicare con tutti gli altri. Esattamente come accade nel cervello umano. Rendere possibile il reperimento di conoscenze del senso comune in una rete semantica è stata una delle principali motivazioni che mi hanno spinto a ideare la Connection Machine. Condizione indispensabile per portare a termine questo progetto era realizzare un nuovo tipo di computer in cui la quantità di elaborazione crescesse di pari passo con la quantità di dati, che fosse in grado, cioè, di esaminare in una sola volta tutta la conoscenza rilevante per risolvere il problema. Nella Connection Machine ciascun concetto viene rappresentato da un processore. I processori corrispondenti a concetti correlati fra loro devono a loro volta scambiarsi informazioni. In questo caso la topologia dell'hardware dipende dalle informazioni immagazzinate nella rete. Così, ad esempio, se esiste una relazione che stabilisce un legame fra i concetti «mela» e «rosso», dev'essere realizzato un canale di comunicazione tra i processori che li rappresentano, in modo che le deduzioni sul concetto «mela» possano venir collegate alle deduzioni che riguardano il concetto «rosso». Se l'insieme delle connessioni rispecchia fedelmente la struttura dei dati nella rete, il reperimento di informazioni può avvenire velocemente e in parallelo. Grazie ali'eliminazione del «collo di bottiglia» e alla fusione dell'unità di elaborazione nella memoria, la Connection Machine, un cubo di circa un metro e mezzo contenente un reticolo di 64 mila microprocessori, raggiunge una straordinaria capacità di calcolo, effettuando le computazioni alla velocità di circa mille milioni di istruzioni al secondo. P.erfare un confronto, un persona/ computer è in grado di eseguire di solito un milione di istruzioni al secondo, mentre un computer di grandi dimensioni può arrivare a 30 o 40 milioni di istruzioni. Quindi la differenza di velocità tra un potente elaboratore tradizionale e la Connection Machine è la stessa che esiste tra una bicicletta e un jet supersonico. Ciononostante la Connection Machine è estremamente semplice se paragonata a un sistema biologico. Non ha nulla a che vedere con la complessità del cervello umano (1010 neuroni contro i suoi 64 mila processori), ma si avvicina piuttosto alle dimensioni del cervello di una mosca. È, quindi, terribilmente inadeguata a simulare un tipo più sofisticato di apprendimento, come quello che consente a un bambino di capire la differenza tra un cane e un gatto, o persino che esiste una differenza. Tuttavia, disporre di questo nuovo tipo di computer significa modificare in senso qualitativo la nozione di ciò che possiamo aspettarci da una macchina. Sono convinto che la Connection Machine renderà possibile una nuova categoria di computazioni, che ho definito «emergenti», un sistema, cioè, il cui comportamento non sia influenzato da un particolare componente individuale, ma sia una conseguenza delle azioni prodotte da tutti i componenti. Abbiamo motivi per credere che il cervello umano funzioni così e che anche il processo evolutivo lavori in questo modo per creare nuove specie: non è l'azione di un individuo che guida l'evoluzione, ma l'azio-, ne cumulativa di innumerevoli processi accidentali governati da un principio di selezione. È possibile che l'intelligenza funzioni nello stesso modo. Questa è l'area di ricerca che l'esistenza della Connection Machine ha aperto grazie alla possibilità di formulare un nuovo modello di computazione: l'azione individuale determinata da ogni singola istruzione, da ogni porzione di dati, è insignificante rispetto ali'attività dell'intero sistema. Il pr9blema della visione Tomaso Poggio D .iciassetteanni fa, Marvin Minsky, uno dei padri dell'intelligenza artificiale, affidò a uno studente un progetto da portare a termine durante l'estate: collegare una telecamera al computer e risolvere il problema della visione. Il «compito per le vacanze» di quello studente è ancora oggi senza soluzione e rappresenta sicuramente una delle più grandi sfide intellettuali nel campo dell'AI. Il problema della visione può sembrare, infatti, apparentemente semplice dal momento che compiamo questa operazione senza sforzo e rapidamente, quasi senza accorgercene. In genere tendiamo a sottovalutare la complessità di abilità quali la percezione e il controllo motorio, benché siano elementi indispensabili di un comportamento intelligente, proprio perché non siamo coscienti di ciò che avviene nel nostro cervello mentre vediamo o camminiamo. Lo siamo, invece, nel momento in cui addizioniamo due numeri o giochiamo a scacchi, cioè quando siamo impegnati a svolgere funzioni più recenti in termini evolutivi, come il ragionamento logico e il linguaggio. La vista è il nostro senso più imp;rtante. Ci dà informazioni su come evitare gli ostacoli, sulla posizione e l'identità degli oggetti che ci circondano e sulle relazioni tra di essi; ci permette, in definitiva, di interagire intelligentemente con l'ambiente. La prova della sua importanza sta nella quantità di risorse che il cervello mette a disposizione: più del 60 per cento della corteccia cerebrale è esclusivamente dedicato alla visione. Ma vedere non è fondamentale solo per l'uomo. Se vogliamo che i robot del futuro eseguano compiti manipolativi complessi in un ambiente in continuo mutamento, dobbiamo senz'altro dotarli di adeguate capacità visive. Negli ultimi dieci anni i progressi sono stati molti. Da una parte, la teoria della visione ha. suggerito ipotesi su come funziona il nostro sistema visivo e dall'altra ha reso possibile le prime applicazioni pratiche. Ma la difficoltà del problema ci spinge a credere che dovranno passare alcuni decenni prima che sia possibile costruire sistemi visivi artificiali potenti, flessibili ed efficienti quanto quelId umano. D al punto di vista computazionale il problema della visione è in effetti estremamente complesso e richiede livelli di elaborazione di informazione di dimensioni gigantesche. All'inizio del processo della visione, il dato a disposizione della macchina per le successive elaborazioni è costituito da una matrice di numeri che rappreLa Mensile del cibo e delle recniche di viramareriale In questo numero: Prima colazione e breakfast Il Sushi e Dim sum Geografia della Gola: Trento Cacciagione da pelo 40 pagine a colori, Lire 5.000 Abbonamento per un anno (11 numeri) Lire 50.000 Inviare l'importo a Cooperativa Intrapresa Via Caposile 2, 20137 Milano Conto Corrente Postale 15431208 Edizioni Intrapresa sentano l'intensità di luce in ogni punto della superficie di un oggetto tridimensionale. La misurazione viene effettuata dalle innumerevoli fotocellule contenute nella telecamera collegata al computer. Lo stesso compito viene svolto nel- /' occhio umano da circa 120 milioni di fotorecettori posti sulla retina, che traducono l'intensità luminosa in attività elettrica. Il passaggio, tutt'altro che diretto, dall'immagine grezza (la matrice di punti) alla visione vera e propria, ossia al riconoscimento dell'oggetto, avviene in due fasi. Nella prima, detta «early vision», durante la quale il cervello mette in atto simultaneamente una serie di processi o «moduli» per estrarre dall'immagine informazioni sui contorni, sul movimento, sul colore, sulle proprietà fisiche delle superfici, il compito è di ricostruire la forma tridimensionale degli oggetti e la loro distanza nell'ambiente. La seconda fase della visione, che viene chiamata «high leve! vision», si avvale dei risultati .raggiunti nella fase precedente e ha la funzione di analizzare ciò che l'immagine rappresenta e di determinarne il contenuto. La ricerca di algoritmi utili a riprodurre taluni dei moduli che caratterizzano il primo stadio della visione ha assorbito in questi anni le mie energie e quelle dei miei collaboratori all'Artificial Laboratory del Mit (Massachusetts lnstitute of Technology). La difficoltà del compito è risultata subito evidente. Mentre il problema dell'ottica classica (lo stesso che si pone nella «computer graphics») consiste· nel passare dal!'oggetto tridimensionale all'immagine bidimensionale proiettata sulla retina, quello della visione trova soluzione in un procedimento di trasformazione inverso: dalle immagini piatte si arriva agli oggetti dotati di profondità che le hanno generate. Questo, come tutti i processi inversi che si incontrano in fisica e in matematica, è molto più complesso del processo diretto, perché i dati su cui si basa non forniscono informazioni sufficienti. Ed è proprio qui che si nasconde uno dei paradossi della visione. Le immagini contengono una tale quantità di informazioni che per elaborarla il cervello deve compiere decine di miliardi di operazioni elementari al secondo (l'equivalente del lavoro di milioni di persona! computer Ibm); ciononostante nel passaggio dall'oggetto ali'immagine si perde la terza dimensione, ovvero gran parte dell'informazione rilevante sulle proprietà dell'oggetto. L'immagine continua a rimanere fondamentalmente ambigua, eppure il cervello risolve questa ambiguità continuamente e con abilità superlativa sfruttando determinate ipotesi, ritenute normalmente valide, sulle proprietà fisiche del mondo degli oggetti. Per esempio, l'ipotesi che gli oggetti siano rigidi gioca un ruolo chiave nel calcolarne la forma tridimensionale. Ugualmente forte è l'ipotesi che il nostro mondo non sia fatto di piccoli frammenti, ma di superfici generalmente continue e opache, o l'ipotesi che la variazione della luce nello spazio sia abbastanza graduale, mentre la variazione delle superfici nel passaggio da un oggetto all'altro è brusca e repentina. È sufficiente adottare un'ipotesi simile per essere in grado, nella maggior parte dei casi, di estrarre informazioni sul colore delle superfici sotto diverse condizioni di illuminazione. Negli ultimi due anni siamo riusciti a sviluppare una teoria della visione con solide basi fisico-matematiche, che riconosce la necessità di arricchire il sistema visivo artificiale con lo stesso patrimonio di informazioni generiche sulle caratteristiche fisiche degli oggetti e con lo stesso tipo di ipotesi che noi usiamo per orientarci nel mondo. La teoria della visione in nostro possesso è abbastanza generale da abbracciare tutte le soluzioni particolari ottenute negli ultimi dieci anni e da permetterci di affrontare il problema della «early vision» con un insieme di algoritmi che per la prima volta hanno una struttura comune. U n approccio di questo tipo suggerisce di considerare il bagaglio -di assunzioni necessario per risolvere i problemi della visione come una caratteristica comune a qualunque sistema visivo, sia biologico che artificiale. Infatti, nelle situazioni che abbiamo potuto sperimentare, algoritmo e cervello commettono esattamente gli stessi errori. Possiamo, cioè, dire che soffrono delle medesime «illusioni ottiche». Il fenomeno è interessante perché costituisce un indizio che l'ipotesi di fondo su cui l'algoritmo si sviluppa è forse la stessa ipotesi, impressa nel cervello dall'evoluzione, che il nostro sistema visivo applica anche nei rari casi in cui si rivela sbagliata. Ecco dunque un esempio di come l'analisi in termini di procedure effettuate da una macchina entri in contatto con l'aspetto biologico del problema della visione e con i principi su cui essa si basa. Se consideriamo cervello e computer come due sistemi complessi che elaborano informazioni, possiamo osservarne e confrontarne l'organizzazione. Possiamo, cioè, cercare di capire i principi e i metodi che entrambi usano per risolvere i problemi. Su questo piano, ossia il piano degli algoritmi per l'elaborazione dell'informazione, cervello e computer sono molto simili: spesso devono affrontare gli stessi tipi di problemi, spesso si servono degli stessi «trucchi» per risolverli. Ma sul piano della struttura, cioè dell'hardware, le differenze sono profonde. Il computer ha dalla sua parte una maggiore velocità di elaborazione: un'operazione nervosa non può essere più veloce di circa un millisecondo, mentre i circuiti logici in un supercomputer, come il Cray-1, possono cambiare stato in appena IO nanosecondi, 100 mila volte più in fretta. Eppure, per eseguire alcune delle operazioni più semplici del processo della visione i computer di oggi impiegano minuti, a volte ore. Perché allora il nostro cervello è tanto più veloce nel vedere o nel risolvere problemi come il controllo motorio, il ragionamento, la dimostrazione di teoremi? Gran parte della superiorità del cervello è dovuta al fatto che esso «calcola» usando miliardi di neuroni che lavorano simultaneamente in parallelo. In effetti ricercatori in vari laboratori e industrie stanno ora disegnando e costruendo nuovi tipi di computer con una struttura più simile a quella del cervello umano, dotati di migliaia di unità di calcolo che lavorano in parallelo. Un'architettura di questo tipo è radicalmente diversa da quella dei calcolatori tradizionali, basati su un'unità di memoria e un'unità di calcolo separate. La ragione di questo disegno ha le sue origini nei tempi in cui l'unità di calcolo era realizzata con valvole molto costose e la memoria con elementi ferromagnetici relativamente economici. Ma oggi la situazione è totalmente cambiata, le moderne tecnologie dei circuiti integrati permettono di realizzare unità di calcolo nello stesso materiale - di silicio - usato per la memoria e a costi estremamente ridotti. Come si fa allora ad aumentare la velocità di calcolo di un computer? Un metodo è quello di incrementare la velocità delle operazioni elementari nell'unità di calcolo. Ci sono però limiti fisici fondamentali alla velocità massima raggiungibile dai componenti elettronici. Questi limiti oggi sono ormai vicini. Qual è allora la soluzione? Cambiare radicalmente l'architettura del computer e in questa direzione si sta già lavorando. Computer muniti di decine e anche centinaia di unità di calcolo sono già in funzione e rappresentano una delle più promettenti aree di sviluppo della scienza dell'informazione. La Goodyear Aereospace ha progettato e realizzato per la Nasa un computer con 16 mila unità di calcolo. Sistemi del genere sono stati realizzati anche in Inghilterra e in altri paesi. Uno dei progetti più imponenti è la «Connection Machine» ideata da Dennis Hillis, Tom Knight e altri ricercatori nel nostro laboratorio. 'O ....... <::$ ~ -~ c:i... ~ ....... ~ -e:, o :g °' OQ ~ ~ e.i -e $ 1---------------------------------------------------------------------------------'<::$
RkJQdWJsaXNoZXIy MTExMDY2NQ==