di Giorgio Luca

Intelligenza Artificiale, origine e definizioni

Sebbene siano molti gli eventi che hanno portato alla nascita dell’intelligenza artificiale, il termine AI è stato usato per la prima volta nel 1956 da John McCarthy durante una conferenza estiva tenutasi al Dartmouth College di Hanover, nel New Hampshire. Tuttavia, prima di continuare la storia dell’AI, vale la pena ricordare alcuni eventi che hanno influenzato l’evoluzione dell’AI prima del 1956. Ad esempio, due articoli scritti da Alan Turing rispettivamente nel 1936 e nel 1950, “On computable numbers with an application to the Entscheidungsproblem” (Turing, 1936) e “Computing machines and intelligence” (Turing, 1950).

Il primo articolo è importante perché dà una risposta all’Entscheidungs problem (“Problema della decisione”), ovvero ad un quesito proposto dal matematico tedesco Hilbert nel 1928, il quale chiedeva di mostrare un algoritmo che, avendo a disposizione tutti gli assiomi matematici e ricevendo come input un enunciato, riuscisse a fornire come output se l’enunciato stesso fosse universalmente corretto, quindi dimostrabile partendo dagli assiomi ed utilizzando regole logiche. Per risolvere questo problema, Turing ipotizzò una macchina, oggi nota come “macchina di Turing”, e sulla base di questa macchina dimostrò che esistono enunciati ai quali nessun “metodo meccanico” può dare una risposta definitiva. Questo lavoro gettò le basi della “teoria della computabilità”, una disciplina comune alla matematica e all’informatica, strettamente legata al concetto di algoritmo e molto importante nel campo dell’intelligenza artificiale, ma allo stesso tempo dimostrò l’esistenza di limiti nel campo dell’intelligenza artificiale.

Il secondo articolo, “Computazione e intelligenza”, ha invece introdotto il “Test di Turing”, un criterio per determinare se un computer mostra un comportamento intelligente, cioè se è in grado di pensare, combinare idee ed esprimerle. Questo criterio è stato a lungo utilizzato per valutare quanto un’AI sia vicina all’uomo, ma negli ultimi anni sono stati sollevati alcuni dubbi sulla sua validità. Ad esempio, un’AI che conosce la risposta all’istante può imparare ad aspettare qualche secondo prima di rispondere per diventare più simile all’uomo. Tuttavia, questo comportamento non rende l’AI più “intelligente”, ma ne limita le prestazioni.

Altri due eventi che precedono la nascita dell’AI sono McCulloch & Pitts (1943) e due studi di Marvin Minsky e Dean Edmonds. Il primo gruppo costruì una rete di neuroni in cui ogni neurone aveva solo due stati (“acceso” o “spento”) e le transizioni da uno stato all’altro erano determinate dalla presenza o dall’assenza di stimoli dai neuroni vicini. Questa rete è riconosciuta come la prima ricerca strettamente legata al campo dell’intelligenza artificiale. McCulloch e Pitts dimostrarono che le funzioni computabili e tutti i connettivi logici (e, o…) possono essere implementati dalle reti neurali artificiali. Un secondo gruppo, composto da Marvin Minsky e Dean Edmonds, creò la prima rete neurale artificiale conosciuta, chiamata SNARC (Stochastic Neural Analogue Reinforcing Computer), una rete connessa in modo casuale con un totale di circa 40 sinapsi.

Nonostante questi primi sporadici esempi di AI e delle sue applicazioni, l’AI ricevette la sua importanza relativa da una conferenza tenutasi al Dartmouth College nel 1956. In questa conferenza fu proposto di “testare l’ipotesi che ogni aspetto dell’apprendimento e tutte le altre proprietà dell’intelligenza possano essere descritte in linea di principio con la stessa precisione con cui una macchina può simulare” (“The Great Science”, The History of Science). Su questa base, McCarthy propose la creazione di un gruppo di dieci accademici che avrebbero avuto il compito di costruire una macchina in grado di imitare l’apprendimento e l’intelligenza umana entro due mesi. Sebbene l’obiettivo non sia stato raggiunto, l’incontro ha dato l’opportunità a diversi informatici di incontrarsi, gettando le basi della prima AI e facilitandone lo sviluppo. Allo stesso modo, fu presentato un programma chiamato “Logic Theorist” (LT), sviluppato da Allen Newell, Herbert Simon e Cliff Shaw. Questo programma, in seguito noto come “il primo programma di intelligenza artificiale”, era in grado di dimostrare teoremi basati su principi matematici.

Negli anni successivi si sono registrati numerosi successi nel campo dell’AI, grazie alla significativa espansione dell’ambiente di calcolo utilizzato: Nel 1958 lo psicologo americano Frank Rosenblatt inventa il percettrone, che ha lo scopo di simulare i neuroni. In effetti, un perceptron è un classificatore binario che prende due o più input e li elabora per fornire un valore in uscita. Dal 1956, la ricerca nel campo dell’AI ha seguito due tendenze fondamentalmente diverse:

  • In primo luogo i ricercatori Newell, Simon e Shaw, guidavano un gruppo con l’obiettivo di sviluppare un elaboratore che simulasse gli aspetti cognitivi e dell’intelligenza umana. Il “General Problem Solver” fu uno dei primi risultati, si trattava di un programma che, a differenza del suo predecessore LT, cercava di riprodurre gli stessi criteri risolutivi usati normalmente dagli esseri umani per risolvere i problemi. Questo primo gruppo si basava quindi sul “paradigma della simulazione”.
  • In secondo luogo vi era, invece, quel gruppo interessato al puro miglioramento delle prestazioni degli elaboratori, senza considerare il processo scelto. Questo gruppo si basava sul “paradigma della prestazione”.

Oltre ai due gruppi sopra citati, nel 1958 McCarthy inventò e sviluppò un linguaggio di programmazione chiamato “Lisp”. Nello stesso anno, McCarthy definì un programma ideale chiamato “Advice Taker”, ma questo programma non fu mai implementato.

Tuttavia, a questi primi anni, pieni di entusiasmo e di primi successi, seguì un graduale rallentamento nel campo dell’intelligenza artificiale per vari motivi. I primi risultati erano promettenti, ma erano ancora limitati alla soluzione di problemi puramente matematici o alla soluzione di problemi molto semplici ma non matematici. Si pensava che la soluzione di problemi più grandi e complessi richiedesse solo un hardware competente e una memoria più potente e capiente, ma non era così. Inoltre, i primi problemi nel campo delle reti neurali artificiali sono sorti quando Minsky e Papert hanno dimostrato nel loro articolo del 1969 “The Perceptron” che un semplice perceptron non poteva implementare la funzione logica XOR. Nello stesso periodo, diversi progetti di traduzione automatica fallirono. La ragione di questi fallimenti era che i primi modelli di traduzione automatica si basavano solo sul livello sintattico, cioè sulla traduzione parola per parola, e non sul livello semantico, cioè sul significato della frase. Questi fallimenti hanno portato a una riduzione degli investimenti nel progetto da parte dei governi degli Stati Uniti e del Regno Unito.

Per superare questo periodo di stagnazione, negli anni successivi si decise di cambiare approccio. In primo luogo, invece di puntare a produrre macchine con un’intelligenza generale in grado di coprire tutti i domini e risolvere tutti i problemi, ci si concentrò sulla produzione di macchine specializzate in aree specifiche. Queste macchine, chiamate “sistemi esperti”, si basano ancora sulla conoscenza teorica dei domini di applicazione, ma questa è integrata da alcune regole empiriche ed euristiche basate sull’esperienza tipica degli esperti umani del settore. Sistematizzando adeguatamente queste regole empiriche e applicandole all’interno di un “sistema esperto”, quest’ultimo sarà in grado di risolvere problemi simili a quelli affrontati dagli esperti umani. Uno dei primi “sistemi esperti” è stato MYCIN, un programma scritto in Lisp in grado di diagnosticare le infezioni del sangue causate da batteri e di consigliare l’uso di antibiotici specifici in dosi basate sul peso del paziente. Per fare ciò, il programma MYCIN utilizzava circa 600 regole e una serie di domande la cui risposta doveva essere un semplice sì/no. Su questa base, il programma ha prodotto un elenco di organismi causali con la causa di ciascuna diagnosi e il trattamento antibiotico corrispondente, ordinati in base alla probabilità di essere la causa effettiva dell’infezione.

Questo coincide con il ritorno alle reti neurali grazie alla riscoperta e all’applicazione di un algoritmo di apprendimento delle reti neurali noto come “backpropagation”. Negli ultimi anni, anche grazie ai progressi tecnologici, l’intelligenza artificiale è letteralmente esplosa in popolarità e ha coperto molti campi. Di seguito sono riportati solo due dei settori applicativi più noti in cui l’intelligenza artificiale ha raggiunto livelli notevoli:

  • Veicoli a guida autonoma: una delle prime applicazioni dell’AI nel settore automobilistico è Alvinn (Autonomous Land Vehicle In a Neural Network), una rete neurale a tre strati progettata per “seguire la strada” utilizzando immagini stradali simulate, addestrata con un algoritmo di back-propagation e poi testata con successo su un veicolo di proprietà della Carnegie Mellon University. Nell’ultimo decennio ci sono stati sviluppi significativi in questo campo grazie all’interesse di molte aziende, di cui Tesla è forse l’esempio più importante.
  • Gioco: già nel 1957 Herbert Simon aveva previsto che le macchine basate sull’intelligenza artificiale sarebbero state in grado di competere con i campioni di scacchi entro dieci anni. Sebbene ciò non sia avvenuto nel decennio originariamente previsto, nel 1996 Deep Blue, una macchina per scacchi personalizzata costruita da IBM a Philadelphia, ha sconfitto l’allora campione mondiale di scacchi Kasparov; nel 2015 il software Alpha Go sviluppato da Google Deepmind ha sconfitto il Go e l’allora campione europeo Fan Hui in tutte e cinque le partite. Questo perché in precedenza si pensava che il Go non fosse alla portata delle tecniche di apprendimento automatico e di deep learning dell’epoca, a causa della sua complessità e dell’enorme numero di mosse possibili.

–segue–