Indice degli argomenti
- 1 L’Intelligenza Artificiale: dalle origini ai giorni d’oggi
- 2 Ma cos’è realmente l’Intelligenza Artificiale e come si è sviluppata?
- 3 Come e quando nasce l’Intelligenza Artificiale?
- 4 Intelligenza Artificiale e biologia
- 5 Coscienza, conoscenza e problem solving
- 6 Machine Learning: l’apprendimento automatico
- 7 L’intelligenza artificiale nel quotidiano
- 8 Il futuro dell’Intelligenza Artificiale
L’Intelligenza Artificiale: dalle origini ai giorni d’oggi
Quando si parla di Intelligenza Artificiale, si pensa subito a tecnologie all’avanguardia, a robot in grado di comprendere e decidere le azioni da compiere e di un mondo futuristico in cui macchine e uomini convivono. In realtà, l’Intelligenza Artificiale e il suo utilizzo sono molto più reali di quanto si possa immaginare e vengono oggi utilizzati in diversi settori della vita quotidiana. Si tratta tuttavia di utilizzi meno invasivi di quello che si pensa o di quanto viene mostrato spesso dai film di fantascienza che hanno trovato nel tema dell’Intelligenza Artificiale lo spunto per molte serie più o meno di successo.
Ma cos’è realmente l’Intelligenza Artificiale e come si è sviluppata?
In termini tecnici, l’Intelligenza Artificiale è un ramo dell’informatica che permette la programmazione e progettazione di sistemi sia hardware che software che permettono di dotare le macchine di determinate caratteristiche che vengono considerate tipicamente umane quali, ad esempio, le percezioni visive, spazio-temporali e decisionali. Si tratta cioè, non solo di intelligenza intesa come capacità di calcolo o di conoscenza di dati astratti, ma anche e soprattutto di tutte quelle differenti forme di intelligenza che sono riconosciute dalla teoria di Gardner, e che vanno dall’intelligenza spaziale a quella sociale, da quella cinestetica a quella introspettiva. Un sistema intelligente, infatti, viene realizzato cercando di ricreare una o più di queste differenti forme di intelligenza che, anche se spesso definite come semplicemente umane, in realtà possono essere ricondotte a particolari comportamenti riproducibili da alcune macchine.
Come e quando nasce l’Intelligenza Artificiale?
Per come viene definita oggi, l’Intelligenza Artificiale nasce con l’avvento dei computer e la sua data di nascita viene fissata come il 1956. Proprio in quest’anno, infatti, si parlò per la prima volta di Intelligenza Artificiale durante un convegno che si tenne in America e che vide la partecipazione di alcuni dei più importanti nomi di quella che sarebbe successivamente stata definita Intelligenza Artificiale, ma che allora veniva denominata Sistema Intelligente. Durante questo storico convegno, furono presentati alcuni programmi già capaci di effettuare alcuni ragionamenti logici, in particolar modo legati alla matematica. Il programma Logic Theorist, sviluppato da due ricercatori informatici, Allen Newell e Herbert Simon, era infatti in grado di dimostrare alcuni teoremi di matematica partendo da determinate informazioni.
Come può essere facilmente immaginato, gli anni successivi alla nascita dell’Intelligenza Artificiale furono anni di grande fermento intellettuale e sperimentale: università e aziende informatiche, tra cui in particolare l’IBM, puntarono alla ricerca e allo sviluppo di nuovi programmi e software in grado di pensare e agire come gli esseri umani almeno in determinati campi e settori. Nacquero così programmi in grado di dimostrare teoremi sempre più complessi e, soprattutto, nacque il Lisp, ossia il primo linguaggio di programmazione che per oltre trent’anni fu alla base dei software di Intelligenza Artificiale. La particolarità degli anni Cinquanta-Sessanta fu soprattutto il sentimento di ottimismo che sosteneva tutte le ricerche e le sperimentazioni relative a questo ramo: tuttavia, se da un lato si riuscirono a sviluppare software sempre più sofisticati e in grado di risolvere soprattutto elaborazioni matematiche, dall’altro si iniziarono a vedere le prime limitazioni dell’Intelligenza Artificiale, che non sembrava poter riprodurre le capacità intuitive e di ragionamento tipiche degli esseri umani.
Durante la seconda metà degli anni sessanta, divenne sempre più evidente che quanto realizzato fino ad allora nell’ambito dell’Intelligenza Artificiale non era più sufficiente alle nuove necessità, che erano soprattutto quelle di realizzare macchine e programmi in grado di andare oltre la ‘semplice’ soluzione di teoremi matematici più o meno complessi. La nuova tendenza che si andava creando era quella di ricercare soluzioni a problematiche più vicine alla realtà dell’uomo, come la soluzione di problematiche le cui soluzioni potevano variare a seconda dell’evoluzione dei parametri in corso d’opera. Una delle maggiori sfide dell’epoca divenne quindi quella di cercare di riprodurre software e macchine che potessero ragionare e prendere delle soluzioni in base all’analisi di differenti possibilità. Ma questo tipo di problema prevedeva, prima di poter essere risolto, la soluzione di un altro step, ossia quello di realizzare dei percorsi semantici per le macchine, ossia un linguaggio che permettesse di programmare le diverse possibilità previste da un ragionamento, semplice o complesso che fosse. Come spesso succede per le grandi scoperte e per le ricerche, infatti, il passaggio da uno step a un altro si stava dimostrando tutt’altro che semplice: la ricerca in questo settore subì un brusco rallentamento, soprattutto perché a causa della produzione di risultati, tutti i finanziamenti per questo tipo di ricerca furono drasticamente ridotti.
Intelligenza Artificiale e biologia
Differentemente da quanto la maggior parte delle persone immagina, un nuovo impulso alla ricerca sull’Intelligenza Artificiale non venne dal campo informatico ma da quello biologico. Nel 1969, infatti, alcuni studenti e ricercatori del Carnegie Institute of Technology realizzarono un programma, denominato DENDRAL, che era in grado di ricostruire una molecole semplice a partire dalle informazioni ottenute dallo spettrometro di massa. Tali informazioni erano soprattutto relative alla massa molecolare dell’elemento analizzato e il risultato era basato soprattutto sulla conoscenza profonda, da parte della macchina, di determinati campi di applicazione. La ricerca, per quanto portata avanti da esperti dei linguaggi informatici, trovò la sua prima applicazione in un campo assolutamente innovativo e, soprattutto, permise di trovare una nuova strada e un nuovo impulso verso quella che sarebbe stata la rinascita dell’Intelligenza Artificiale, basata sui così detti sistemi esperti. I sistemi esperti, a differenza di quanto realizzato prima del software del team del Carnegie Institute of Technology, grazie ad una serie di informazioni di base, erano in grado di trovare soluzioni specifiche per determinati scenari. Con un simile punto di partenza, i passi successivi impiegarono poco tempo ad essere effettuati. Agli inizi degli anni ’80 il primo sistema di Intelligenza Artificiale fu utilizzato per scopi commerciali e, soprattutto, la ricerca sull’Intelligenza Artificiale allargò i propri ambiti geografici, interessando non solo gli Stati Uniti, ma anche il Giappone e l’Europa.
La nuova era dell’Intelligenza Artificiale si apre con il nuovo utilizzo di un algoritmo che, già ideato alla fine degli anni Sessanta, non aveva trovato la massima applicazione a causa delle carenze dovute ai sistemi di apprendimento dei primi programmi di Intelligenza Artificiale. Si tratta dell’algoritmo che permetteva l’apprendimento per reti neurali, le cui sperimentazioni coprirono sia campi prettamente informatici sia psicologici. Proprio questa doppia applicazione permise agli sviluppatori di Sistemi Intelligenti di trovare un ampio spettro di applicazioni. In particolare, il primo vero successo dell’Intelligenza Artificiale è stato quello che ha visto il confronto tra Deep Blue, una macchina realizzata dalla IBM e il campione di scacchi allora in carica Garry Kasparov. Anche se i primi incontri furono vinti da Kasparov, i continui miglioramenti apportati al sistema di apprendimento di Deep Blue permisero, in successive partite, di assicurare la vittoria alla macchina. Una vittoria che, come confermò lo stesso campione di scacchi, fu sicuramente data dal fatto che la macchina aveva raggiunto un livello di creatività così elevato che andava oltre le conoscenze del giocatore stesso.
Ulteriori applicazioni dei sistemi di Intelligenza Artificiale molto noti al grande pubblico sono quelli utilizzati su veicoli, in grado di guidare senza che vi sia un conducente umano al volante. Si tratta di veicoli ancora in fase sperimentale, ma che raggiungono gradi di sicurezza sempre più elevati soprattutto grazie all’uso di sensori e telecamere che, proprio come occhi e orecchie umane, sono in grado di percepire tutto quanto avviene durante la guida, prendere decisioni ed effettuare manovre di sicurezza.
Coscienza, conoscenza e problem solving
Alla base delle problematiche legate allo sviluppo di sistemi e programmi di Intelligenza Artificiale vi sono tre parametri che rappresentano i cardini del comportamento umano, ossia una conoscenza non sterile, una coscienza che permetta di prendere decisioni non solo secondo la logica e l’abilità di risolvere problemi in maniera differente anche a seconda dei contesti nei quali ci si trova.
L’uso dei reti neurali e di algoritmi in grado di riprodurre ragionamenti tipici degli esseri umani nelle differenti situazioni, hanno permesso ai sistemi intelligenti di migliorare sempre di più le diverse capacità di comportamento. Per poter realizzare ciò, la ricerca si è concentrata non solo sullo sviluppo di algoritmi sempre nuovi, ma soprattutto su algoritmi sempre più numerosi, che potessero imitare i diversi comportamenti a seconda degli stimoli ambientali. Tali algoritmi complessi, inseriti all’interno di sistemi intelligenti, sono quindi in grado di ‘prendere decisioni’ ossia di effettuare scelte a seconda dei contesti in cui sono inseriti. Nel caso degli algoritmi connessi ai sistemi intelligenti dei veicoli, ad esempio, un’automobile senza conducente può decidere, in caso di pericolo, se sterzare o frenare a seconda della situazione, ossia a seconda che le informazioni inviate dai vari sensori permettano di calcolare una maggiore percentuale di sicurezza per il conducente e i passeggeri con una frenata o con una sterzata.
Le decisioni di ogni tipo, sia quelle prese da un’auto senza pilota che da altri sistemi di Intelligenza Artificiale, sono prese, come già specificato, grazie alla realizzazione di determinati algoritmi, che permettono di definire una conoscenza di base e una conoscenza allargata, ossia creata tramite l’esperienza. Per realizzare algoritmi sempre più precisi e complessi, è sorta un vero e proprio settore specifico, definito rappresentazione della conoscenza, che studia tutte le possibilità di ragionamento dell’uomo e, soprattutto, tutte le possibilità di rendere tale conoscenza comprensibile alle macchine tramite un linguaggio e dei comandi sempre più precisi e dettagliati. Quando si parla di conoscenza dell’uomo e di trasferimento di tale conoscenza alla macchina, infatti, non si parla solo di conoscenza sterile, ossia di nozioni apprese dai libri o da altri strumenti di studio. Si parla piuttosto di esperienza e di possibilità di comprendere nuove informazioni tramite quelle già presenti nel sistema di partenza. Tali informazioni vengono fornite alla macchina tramite diverse modalità, le più importanti delle quali sono quelle che si basano sulla Teoria dei Linguaggi Formali e sulla Teoria delle Decisioni.
Nel primo caso, quando cioè si utilizza la Teoria dei Linguaggi Formali, si sceglie di utilizzare diversi approcci (quelli riconosciuti sono l’approccio generativo, riconoscitivo, denotazionale, algebrico e trasformazionale) che si rifanno alle teorie delle Stringhe e ai loro utilizzi. Le stringhe, infatti, rappresentano dei veri e propri linguaggi formali le cui proprietà variano proprio a seconda dell’approccio utilizzato. Si può quindi decidere di puntare su un approccio o sull’altro a seconda dei risultati che si intende ottenere, ossia a seconda del tipo di risposta che si vuole ottenere dalla macchina nelle differenti situazioni.
La Teoria delle Decisioni, invece, si basa su un albero di decisione, che permette di valutare per ogni azione/decisione le possibili conseguenze prendendo quindi poi la decisione più conveniente. A seconda delle impostazioni e dello scopo del programma, quindi, il sistema potrà prendere la decisione che meglio ottimizza il risultato che si vuole ottenere. Va sottolineato che situazioni simili possono prevedere risultati differenti a seconda del tipo di piano di azioni definito dagli algoritmi della macchina.
L’utilizzo della Teoria delle Decisioni e degli alberi di decisione merita un maggiore approfondimento, perché maggiormente sfruttata soprattutto in tutti quei sistemi intelligenti utilizzati nel quotidiano. Come funzione un albero di decisione? Senza entrare nel dettaglio, basta sapere che un albero di decisione si basa su modelli predittivi a partire da una serie di informazioni iniziali e dati di partenza. Tali dati possono poi essere suddivisi in maniera tale da definire sia la struttura, ossia il tipo di previsioni possibili, sia l’accuratezza delle stesse. Proprio l’accuratezza dei dati permette di ottenere dei sistemi intelligenti che si differenziano tra di loro per le risposte in grado di dare a seconda non tanto del numero di dati sul quale si basano le decisioni, ma a seconda della precisione degli stessi. Va sottolineato, inoltre, che la mole di dati a disposizione per le elaborazioni delle Intelligenze Artificiali può interferire con la precisione del modello utilizzato. Per questo motivo i modelli più accurati presentano un numero di informazioni di partenza spesso inferiore a quello che si può immaginare: la bontà del modello viene comunque assicurata dalla dal tipo di dati di partenza e dall’accuratezza degli stessi.
Machine Learning: l’apprendimento automatico
Uno dei principali passi avanti nella storia dell’Intelligenza Artificiale è stata fatta quando si sono potuti ricreare degli algoritmi specifici, in grado di far migliorare il comportamento della macchina (inteso come capacità di agire e prendere decisioni) che può così imparare tramite l’esperienza, proprio come gli esseri umani. Sviluppare algoritmi in grado di imparare dai propri errori è fondamentale per realizzare sistemi intelligenti che operano in contesti per i quali i programmatori non possono a priori prevedere tutte le possibilità di sviluppo e i contesti in cui il sistema si trova a operare. Tramite l’apprendimento automatico (machine learning), quindi, una macchina è in grado di imparare a svolgere una determinata azione anche se tale azione non è mai stata programmata tra le azioni possibili.
Per i non addetti ai lavori, probabilmente l’apprendimento automatico rappresenta la parte più ‘romantica’ dell’Intelligenza Artificiale, quella su cui diversi registi hanno saputo trarre interessanti spunti per i loro film più o meno noti che vedono macchine e robot migliorarsi nel tempo proprio perché in grado di imparare tramite l’esperienza. Al di là dell’interesse scenico e romanzesco che può avere l’apprendimento automatico, dietro di questo particolare ramo dell’Intelligenza Artificiale vi è stata da sempre (e vi è ancora) una profonda ricerca, sia teorica che pratica, basata, tra le altre cose, sulla teoria computazionale dell’apprendimento e sul riconoscimento dei pattern. La complessità dell’apprendimento automatico ha portato a dover suddividere tre differenti possibilità, a seconda delle richieste di apprendimento che vengono fatte alla macchina. Si parla allora di apprendimento supervisionato, di apprendimento non supervisionato e di apprendimento per rinforzo. La differenza tra le tre modalità sta soprattutto nel differente contesto entro cui si deve muovere la macchina per apprendere le regole generali e particolari che lo portano alla conoscenza. Nell’apprendimento supervisionato, in particolare, alla macchina vengono forniti degli esempi di obiettivi da raggiungere, mostrando le relazioni tra input, output, e risultato. Dall’insieme dei dati mostrati, la macchina deve essere in grado di estrapolare una regola generale, che possa permettere, ogni volta che venga stimolata con un determinato input, di scegliere l’output corretto per il raggiungimento dell’obiettivo.
Nel caso di apprendimento non supervisionato, invece, la macchina dovrà essere in grado di effettuare scelte senza essere stato prima ‘educato’ alle differenti possibilità di output a seconda degli input selezionati. In questo caso, quindi, il computer non ha un maestro che gli permetta un apprendimento ma impara esclusivamente dai propri errori. Infine, le macchine che vengono istruite tramite un apprendimento per rinforzo si trovano ad avere un’interazione con un ambiente nel quale le caratteristiche sono variabili. Si tratta, quindi, di un ambiente dinamico, all’interno del quale la macchina dovrà muoversi per portare a termine un obiettivo non avendo nessun tipo di indicazione se non, alla conclusione della prova, la possibilità di sapere se è riuscita o meno a raggiungere lo scopo iniziale.
L’apprendimento automatico è stato reso possibile dallo sviluppo delle reti neurali artificiali, ossia un particolare modello matematico che, ispirandosi ai neuroni e alle reti neurali umane, punta alla soluzione dei diversi problemi a seconda delle possibilità di conoscere gli input e i risultati ottenuti a seconda delle scelte effettuate. Il nome di rete neurale deriva dal fatto che questo modello matematico è caratterizzato da una serie di interconnessioni tra tutte le diverse informazioni necessarie per i diversi calcoli. Inoltre, proprio come le reti neurali biologiche, anche una rete neurale artificiale ha la caratteristica di essere adattativa, ossia di saper variare la sua struttura adattandola alle specifiche necessità derivanti dalle diverse informazioni ottenute nelle diverse fasi di apprendimento. Dal punto di vista matematico, una rete neurale può essere definita come una funzione composta, ossia dipendente da altre funzioni a loro volta definibili in maniera differente a seconda di ulteriori funzioni dalle quali esse dipendono. Questo significa che nulla, all’interno di una rete neurale, può essere lasciato al caso: ogni azione del sistema intelligente sarà sempre il risultato dell’elaborazione di calcoli volti a verificare i parametri e a definire le incognite che definiscono le funzioni stesse.
L’intelligenza artificiale nel quotidiano
Molte persone credono che l’uso di sistemi intelligenti sia relegato a particolari elite informatiche senza pensare che, invece, l’Intelligenza Artificiale viene abbondantemente utilizzata anche nel quotidiano. Ad esempio, i vari strumenti di riconoscimento vocale che vengono regolarmente utilizzati, dagli smartphone ai sistemi di sicurezza, si basano su algoritmi tipici dell’Intelligenza Artificiale, in particolare quelli relativi all’apprendimento automatico. Molto noto, nel panorama dell’apprendimento automatico e dell’Intelligenza Artificiale, è l’utilizzo che si fa di questo strumento nel settore automobilistico. I veicoli in grado di muoversi nel traffico anche senza pilota sono oggi qualcosa che va oltre la sperimentazione, anche se il loro utilizzo è limitato solo a determinati settori e situazioni. Molto sfruttate, invece, tutte quelle applicazioni che fanno uso della logica Fuzzy, che permettono di realizzare sistemi di cambi di velocità in auto a guida semi-autonoma.
Molti progetti di intelligenza Artificiale sono utilizzati soprattutto nell’ambito della programmazione di giochi, dagli scacchi al backgammon. Proprio questi due particolari giochi hanno anche dato un importante contributo allo sviluppo degli algoritmi di apprendimento.
Ulteriori settori in cui l’Intelligenza Artificiale viene utilizzata in maniera regolare sono il mercato azionario, la medicina e la robotica. Inoltre, i sistemi intelligenti sono utilizzati anche per migliorare ulteriormente molti settori dell’informatica stessa. In ambito medico, infine, l’Intelligenza Artificiale fa soprattutto uso delle reti neurali, soprattutto nelle analisi del battito cardiaco, nelle diagnosi di alcune forme tumorali e nella realizzazione di robot di accompagnamento.
Infine, anche molti moderni smartphone e dispositivi mobili presentano piattaforme basate su sistemi di Intelligenza Artificiale, che permettono una vera e propria interazione tra il telefono e il suo proprietario, fondamentale per diverse funzioni. Alcuni moderni telefoni, ad esempio, presentano dei sensori in grado di rendersi conto se il proprietario del telefono si sta muovendo a piedi o in veicolo: in questo caso automaticamente potrà impostarsi sulla modalità di guida per garantire la massima sicurezza nell’uso. Ancora, alcuni telefoni accenderanno automaticamente la torcia incorporata quando si renderanno conto che il proprietario si sta muovendo al buio. Le funzioni sono differenti e molto varie a seconda dei telefoni, ma tutte volte a migliorare il comfort e la sicurezza di quanti ne fanno uso.
Il futuro dell’Intelligenza Artificiale
Se fino a pochi anni fa il principale problema di tutti gli scienziati coinvolti nella ricerca relativa all’Intelligenza Artificiale era quello di poter dimostrare la realistica possibilità di utilizzare sistemi intelligenti per usi comuni, oggi che questo obiettivo è ampiamente raggiunto ci si chiede spesso quale possa essere il futuro dell’Intelligenza Artificiale. Sicuramente molta strada deve essere ancora fatta, sopratutto in determinati settori, ma la consapevolezza che l’Intelligenza Artificiale oggi rappresenta una realtà e non più un’ipotesi, i dubbi sono soprattutto relativi alle diverse possibilità di utilizzo dei sistemi intelligenti e al loro impatto sul tessuto sociale ed economico. E se da un lato l’entusiasmo per l’evoluzione tecnologica è sicuramente molto evidente in diversi settori, dall’altro la paura che a breve le macchine potrebbero sostituire del tutto l’uomo in molti luoghi di lavoro si è insinuata in maniera sempre più insistente nelle menti di molti. L’evoluzione tecnologica già in passato ha portato a sostituire la mano d’opera umana con macchine e computer che, in maniera più rapida e soprattutto più economica, sono stati utilizzati in diversi settori. Con l’uso massivo dell’Intelligenza Artificiale sarà possibile perdere ulteriori posti di lavoro ma è anche vero che si apriranno sempre più strade per la realizzazione di nuove tipologie di figure professionali. Ma il contrasto tra uomo e macchina è un settore molto più ampio che non è solo relativo all’evoluzione dell’Intelligenza Artificiale e dei sistemi intelligenti, ma anche e soprattutto relativo alla morale e all’etica lavorativa e al corretto utilizzo delle macchine nel rispetto dell’uomo. Probabilmente la direzione che si prenderà non è ancora ben delineata, ma potrà portare a una nuova rivoluzione culturale e industriale.