Quando, in un qualsiasi settore, l’innovazione tecnologica si sviluppa in modo rapido e continuo, succede che quella scientifica segni il passo. A pensarci, è naturale: se con i continui miglioramenti ingegneristici e di processo le vecchie e collaudate soluzioni funzionano bene e soprattutto soddisfano gli utenti, non c’è motivo d’investire risorse per cercarne di veramente nuove. Pensiamo alle automobili: hanno ancora i motori concepiti alla fine dell ’800 da Gottlieb Daimler, Nikolaus Otto e Rudolf Diesel. E le lampadine a incandescenza (12% in luce, il resto in calore) pensate da Edison stanno sparendo solo ora e in forza di legge. Ma anche l’It non scherza: nella sua relativamente breve storia, il mainframe disegnato da Ibm compie cinquant’anni ed è più vivo che mai; come vivo e vegeto nelle sue varie vesti è lo Unix, che di anni ne fa 45. L’architettura x86 è dal 1978 un punto di riferimento e il Cobol, nato nel 1961, dopo più di mezzo secolo è ancora sulla breccia.
Naturalmente, non è che nell’It non si faccia ricerca. Al contrario: è un settore dove sia nella ricerca e sviluppo sia nella ricerca pura si spendono miliardi di dollari e le grandi aziende vi investono quote considerevoli dei profitti. Ma spesso, specie quando la ricerca porta a soluzioni di rottura, prevale la logica del business e i risultati restano ‘dormienti’ fino a quando o un manager visionario e coraggioso o una mutata situazione del mercato (più spesso entrambe le cose) non decidono che sia l’ora di innovare davvero. Crediamo sia questo il caso del cognitive computing, un’innovazione che sebbene abbia le sue radici in studi che risalgono a molti anni fa, come la programmazione euristica (cui si ispirò Stanley Kubrik per l’HAL 9000 di 2001 Odissea nello Spazio) e la “fuzzy logic”, che considera valori intermedi tra “vero” e “falso”, definita dal matematico Lotfi Zadeh nei primi anni ’60, sta solo ora affacciandosi alla grande ribalta.
Copiando la natura
L’espressione cognitive computing, che si può italianizzare in ‘elaborazione cognitiva’ o ‘sistema cognitivo’ a seconda dei casi, indica un modello di elaborazione che si ispira alle funzionalità biologiche che presiedono e governano l’attività del cervello dei mammiferi (idealmente, del cervello umano). Entrata nel linguaggio accademico negli anni ’90 ha sostituito la vecchia espressione di ‘intelligenza artificiale’ segnando un cambio d’indirizzo nella ricerca stessa, volta più che a creare un sistema intelligente, a insegnare a un computer per così dire ‘normale’ (anche se molto potente) a comportarsi e agire come un umano.
Anziché operare seguendo un programma rigido e definito con istruzioni dettagliate per ogni passo da compiere per eseguire un dato compito, un sistema cognitivo opera secondo un programma ‘plastico’ (nel senso di modellabile) che abilita un processo di apprendimento simile a quello teorizzato dallo psicologo Donald Hebb studiando il comportamento animale. Sappiamo tutti che quanto più ci si applica a un dato compito tanto più s’impara a eseguirlo presto e bene. Ciò avviene perché le sinapsi che collegano le cellule cerebrali trasmettono tanto più efficacemente i segnali chimici che attivano i neuroni collegati quanto più ‘lavorano’, cioè quanto più sono stimolate in modo ripetuto e persistente. La rete neurale interessata all’esecuzione di un compito reiterato diventa quindi sempre più efficiente specializzandosi non solo nell’eseguire il compito dato (per esempio, suonare il violino) ma anche quelli che generano stimoli analoghi (come suonare viola e violoncello). Un sistema cognitivo, che una volta tanto possiamo davvero chiamare cervello elettronico, funziona più o meno nello stesso modo: come il cervello biologico, non ‘dimentica’ né gli input né le istruzioni avute per svolgere un compito una volta che questo sia svolto, ma usa i primi (equivalenti agli stimoli biologici) per riconoscere eventuali nuovi compiti simili e le seconde (equivalenti alle risposte neurali) per eseguire questi nuovi compiti in modo autonomo, senza dover attendere nuove istruzioni. Così, proprio come l’uomo, la macchina impara un po’ dalla conoscenza (dati e istruzioni avuti come input primario) e molto dall’esperienza. Possiamo chiamarla intelligente.
I sei pilastri della conoscenza
Ma come si può definire l’intelligenza se attribuita a una macchina? Alan Turing, nel 1950, si pose questo problema, che risolse brillantemente con il famoso “Turing Test”, secondo il quale se un uomo non riesce a distinguere tra un interlocutore umano e uno non umano, allora quest’ultimo è intelligente. Partendo dall’idea del geniale matematico inglese, che legò l’intelligenza al linguaggio e al dialogo uomo-macchina, si possono identificare sei ‘capacità’ che un computer deve avere per acquisire e aumentare la sua conoscenza e potersi quindi definire cognitivo. A queste corrispondono altrettante tecnologie che qualora siano raccolte in una piattaforma in grado di integrarne le rispettive funzionalità, formano la linea di sviluppo dei sistemi cognitivi. Queste capacità sono:
– Comprensione del linguaggio naturale. Base della comunicazione uomo-macchina è il punto-chiave dello sviluppo di un sistema cognitivo e quello più suscettibile di avere un immediato impatto sull’impiego pratico di tali sistemi. Vi si sta lavorando da tempo, con ottimi risultati, ma c’è ancora tanta strada da fare stante le infinite sfumature e ambiguità da interpretare e risolvere.
– Gestione del dialogo. Corollario alla comprensione del linguaggio presenta però, come sviluppo software, problemi diversi. Se si danno regole precise (come nel caso dei quiz, dove a ogni domanda si deve dare una risposta) il computer non fa fatica a seguirle, ma la realtà è di rado così semplice e le stesse dinamiche dei dialoghi tra umani sono ancora oggetto di studio.
– Acquisizione della conoscenza. Gli sviluppi della BI sui dati non strutturati hanno dato ai computer una capacità di vedere, leggere e ascoltare abbastanza avanzata per permettere al sistema di estrarre dai diversi input più informazioni e di aggregarle in un bagaglio di conoscenza. Resta da lavorare sul far crescere tale conoscenza automaticamente.
– Rappresentazione della conoscenza. Serve a interpretare informazioni complesse tramite la comprensione delle attività umane e sociali e delle relazioni tra teorie, pratiche, opinioni e congetture. Il lavoro sulla BI (specie applicata alle reti sociali) ha sviluppato tecnologie in grado di fornire buoni risultati anche su basi di conoscenza estese.
– Ragionamento automatico. È la capacità di dare all’interlocutore umano riposte coerenti e di contenuto rilevante nel contesto di un discorso. Questo concetto è molto più ampio dell’accezione attuale del termine, riferita ad ambiti molto ristretti, come la dimostrazione dei teoremi. In un sistema cognitivo, la capacità di ragionare automaticamente così come l’abbiamo definita deriva, in pratica, dall’integrare le soluzioni relative ai punti precedenti in una piattaforma software capace di alimentare un processo euristico in grado di fornire una risposta esatta, se possibile, o più risposte con diversi livelli di approssimazione, ma tutte rilevanti. Non sappiamo a che punto siano i lavori in questo senso, ma il sistema Watson sviluppato da Ibm (il cui nome è stato scelto in onore del primo presidente di Big Blue, Thomas J. Watson) ragiona in questo modo, fornendo a una domanda posta in termini vaghi (tipo: quanto costa frequentare un college?) più risposte adeguate.
– Identità ed emotività nel rapporto uomo-macchina. È la frontiera ultima e più affascinante della ricerca, che innalza il concetto di macchina cognitiva a quello di macchina pensante, che coglie le emozioni dall’interlocutore reagendovi adeguatamente e prende coscienza sia del partner umano sia, al limite, di se stessa, secondo il cartesiano “Cogito, ergo sum”. Non sappiamo che si sta facendo in merito, anche se per la percezione dei sentimenti umani si può supporre che si tratti d’integrare le tecnologie del linguaggio naturale con quelle del riconoscimento e comprensione delle tracce vocali e dei pattern visuali, ma una cosa la sappiamo: non è più fantascienza.
E nel domani…
Parallelamente all’evoluzione del cognitive computing che abbiamo descritto, che avviene esclusivamente via software, è in atto un secondo canale di sviluppo, avviato cinque anni fa e attualmente a uno stato avanzato di realizzazione, che prevede sistemi di nuova architettura e dotati di nuovi processori “neurosinattici”, ispirati alle reti neurali del cervello biologico. Parliamo di SyNapse, un programma promosso e in parte finanziato dal Darpa (l’Agenzia della Difesa Usa per i progetti di ricerca avanzata) che, in vista dei possibili impieghi in campo militare, in quattro anni ha versato ai gruppi di ricerca coinvolti più di 76 milioni di dollari, dei quali 42 sono andati al team Ibm, che a oggi ha prodotto quelli che, evidentemente, il Darpa giudica i più concreti risultati.
Nella visione di Dharmendra Modha, “Principal Investigator” di Ibm Research nonché capo del team SyNapse di Big Blue, l’obiettivo a lungo termine è quello di costruire un sistema basato su processori neurosinattici con miliardi di nodi-neuroni e migliaia di miliardi di connessioni-sinapsi in un volume inferiore ai due decimetri cubici e con un consumo inferiore a un kilowatt. Questo tipo di sistema sarebbe complementare a quelli realizzati sul modello di Watson così come si complementano i due emisferi del cervello umano, con Watson (cervello sinistro – razionale) focalizzato sul linguaggio e sul pensiero analitico e il computer neurale (cervello destro – sensoriale) sulla interpretazione di forme e volumi e su ogni altra attività legata ai sensi. Si verrebbe così ad avere un insieme dall’intelligenza olistica. Vera ‘macchina pensante’ costruita dall’uomo a propria immagine e somiglianza.