Introduzione all’intelligenza artificiale
Cosa è l’intelligenza artificiale?
Per poter dare una definizione di “intelligenza artificiale” bisogna prima di tutto definire il concetto di “intelligenza”. La questione non è per nulla banale: a questa domanda hanno cercato di dare risposta filosofi, matematici, psicologi, neurologi e infine per ultimi gli informatici, e ad oggi non esiste una definizione unica generalmente riconosciuta.
Ai fini del nostro discorso possiamo partire dal fatto che in ambito filosofico e in particolare nella teoria della scienza esistono diverse scuole di pensiero, che possiamo (con qualche necessaria semplificazione) raggruppare in due grandi famiglie, quella dei razionalisti e quella degli empiristi.
La famiglia dei razionalisti parte dal presupposto che esista un concetto “ideale” di intelligenza, che si basa su un insieme di regole generali e universali. Il razionalismo è una corrente filosofica che parte dall’assunto che la ragione umana è la fonte di ogni conoscenza. In generale, i razionalisti sostengono che, partendo da un insieme di principi fondamentali (assiomi matematici e fisici) si possa arrivare tramite un processo deduttivo ad un ogni altra forma di conoscenza.
La famiglia dgli empiristi invece parte da un approccio opposto, ovvero che la conoscenza è frutto dell’osservazione e della sperimentazione di esperienze concrete, e partendo da queste è possibile tramite un processo induttivo costruire un insieme di principi generali e quindi una conoscenza del mondo. In generale gli empiristi sostengono quindi che la nostra conoscenza del mondo viene costruita a posteriori, dopo aver acquisito sufficiente esperienza del mondo circostante.
Queste due visioni hanno guidato i processi di ricerca di una intelligenza artificiale, se essa cioè sia frutto di una programmazione preliminare (metodo razionalista) o se essa si costruisce tramite una qualche forma di addestramento (metodo empirista). In realtà ciascuno dei due ambiti di ricerca si suddivide ulteriormente se il focus è sul ragionamento (imitare le “regole” che controllano l’intelligenza) o sul comportamento (simulare il “comportamento” di un sistema intelligente).
- sui processi di ragionamento (cioè quali sono le regole del ragionamento): si intende quindi definire l’intelligenza come frutto di un pensiero (razionale o empirico);
- sui processi comportamento (cioè sul funzionamento effettivo del ragionamento): si intende quindi definire l’intelligenza come una azione intelligente (anche qui frutto della ragione o dell’esperienza).
In sintesi abbiamo quindi 4 tipologie di definizione di intelligenza:
Razionale | Empirico | |
Ragionamento (pensiero) | Pensare razionalmente Lo studio dell’intelligenza come qualcosa che segue leggi del pensiero perfette e irrefutabili, come la logica e da cui deduce ogni altra conoscenza. | Pensare umanamente Lo studio dell’intelligenza come riproduzione del funzionamento del cervello fisico, sia neurologico che psicologico, che non necessariamente si traduce in pura logica, ma tiene conto di altri aspetti (cognitivi, emozionali, contestuali) |
Comportamento (azione) | Agire razionalmente L’intelligenza è espressa tramite una azione basata su regole razionali che consentono di prendere decisioni sulla base delle informazioni a disposizione. | Agire umanamente L’intelligenza è espressa tramite la capacità di simulare il comportamento umano, in modo indistringuibile da un osservatore umano. |
Ma quindi cosa è una “macchina intelligente”? In base al tipo di approccio cambia il tipo di macchina:
Cosa è l’intelligenza? | Cosa è una macchina intelligente |
Pensare razionalmente | Una macchina programmata con un insieme di regole generali ed è in grado autonomamente di comprendere la realtà ed risolvere qualsiasi problema reale usando solo queste regole. |
Agire razionalmente | Una macchina programmata con un insieme di regole all’interno di un sistema che le consente di agire autonomamente usando solo queste regole. |
Pensare umanamente | Una macchina che costruisce la propria capacità di ragionare apprendendo continuamente dal mondo circostante, tramite esempi ed esperienze. |
Agire umanamente | Una macchina che simula il comportamento all’interno di un sistema usando solo l’apprendimento dall’esterno. |
Per macchina intelligente e quindi per “intelligenza artificiale” intendiamo quindi, nell’accezione più generale, qualsiasi sistema automatico che sia in grado di recepire degli input da un sistema esterno, e svolgere autonomamente un compito non solo senza una supervisione umana ma anche senza essere programmata per svolgere un compito specifico.
Come capire se un sistema è intelligente? Il Test di Turing
Si può facilmente immaginare che capire se è un sistema è intelligente o meno, ovvero quanto è in grado di replicare il ragionamento o l’azione umana, è stato ed è tuttora forte oggetto di dibattito.
In questo senso vale la pena di citare il test forse più noto, il cosiddetto “Test di Turing”, proposto dal noto matematico padre dell’informatica.
Questo test consiste nel verificare un sistema intelligente tramite delle domande poste da un osservatore umano, su un qualsiasi argomento, senza essere in contatto fisico con il sistema osservato (per evitare pregiudizi cognitivi) e senza sapere se l’interlocutore è una macchina o un essere umano. Se l’osservatore, dopo un numero significativo di domande, non è in grado di capire se se si tratta di una macchina o di una persona allora si considera il test superato.
Il test di Turing è quindi una definizione operativa di intelligenza in quanto viene definito “intelligente” non basandosi su come è fatto internamente, ma come si comporta, un sistema che la nostra esperienza (con tutti i suoi limiti) ci fa dire che si comporta come intelligente. Questo è anche il motivo per cui il test di Turing è considerato controverso da alcuni, perché dipende dall’esperienza e la capacità dell’osservatore umano di fare le giuste domande.
Il test di Turing in ogni caso resta un approccio interessante, in quanto non si pone quindi il problema di come è fatta internamente la macchina intelligente, e quindi lascia spazio all’utilizzo di uno qualsiasi dei quattro approcci sopra descritti.
Vediamo adesso quali macchine intelligenti sono state realizzate e come gli approcci teorici sopra descritti sono stati effettivamente implementati .
Agenti intelligenti
L”approccio di pensiero razionalista consiste nel costruire una macchina a cui dare un sistema di regole in grado di affrontare qualsiasi tipo di problema. Questo approccio, ovvero quello di costruire il “computer intelligente” in grado di risolvere “tutto” è stato per decenni quello principale ed anche quello che più è rimasto nell’immaginario collettivo (grazie anche al cinema: si pensi ai robot come Terminator o quelli di Matrix) creando anche una idea di intelligenza artificiale che contiene tutte le regole e tramite queste “capisce” e “agisce” nel mondo concreto, una idea che viene spesso applicata anche intelligenze artficiali moderne, anche se funzionano . Purtroppo tutti gli sforzi prodotti in questa direzione ad oggi non hanno portato risultati significativi.
Discorso completamente diverso lo merita invece la realizzazione di agenti razionali in grado di affrontare, sulla base di un insieme di regole, determinati problemi specifici. Parliamo degli agenti intelligenti, applicazioni software che in base agli input provenienti da sensori esterni sono in grado di prendere decisioni sulla base di algoritmi predeterminati. Questo approccio è alla base di molte applicazioni di successo, come i sistemi esperti, i videogiochi o più recentemente prodotti di largo consumo come gli elettrodomestici intelligenti (si pensi alle lavatrici in grado di gestire il lavaggio in base al grado di sporco). In generale gli agenti razionali sono quindi in grado di risolvere problemi in un sistema in cui sono conosciute “a priori” le condizioni di funzionamento e quindi non sono in grado di adattarsi a situazioni impreviste nella programmazione. Questo non li rende meno utili e non vanno considerati come “non intelligenti” in quanto sono in grado in effetti di rispondere alla definzione di intelligenza data sopra.
Machine Learning
L’approccio empirista parte dal presupposto di partire da una macchina senza regole predefinite, ma di insegnarle alla macchina tramite esperienze. Sarà poi la macchina tramite un processo induttivo (trovare correlazioni) a costruire una idea e delle regole della realtà, ed una volta addestrata ad essere quindi autonoma.
Il principio di funzionamento è questo: è prevista una fase di addestramento per esempi (e per ciascun esempio un output corretto) il principio di funzionamento si basa sull’idea che se le si da un numero sufficiente e significativo di esempi, ad un certo punto la macchina costruirà internamente un modello generale, e sarà quindi in grado di gestire nuovi input dando l’output corretto. L’apprendimento automatico è una simulazione dei processi cognitivi: infatti tramite esempi tendiamo a fissare nella nostra mente regole e concetti generali basandoci sull’analogia e quindi sul processo induttivo.
Questo tipo di approccio viene chiamato “machine learning“. Invece di partire da delle regole predefinite e poi usarle sui dati, il machine learning parte dai dati per ricavare un modello della realtà e gestire in autonomia anche situazioni non previste dagli esempi.
Il machine learning si è rivelato, col tempo e con l’aumento della capacità di calcolo dei sistemi informatici, l’idea vincente con cui realizzare sistemi intelligenti.
I modelli di machine learning sono progettati per svolgere due possibili compiti:
– classificazione: il sistema riceve in in input un insieme di dati e in output classifica i dati all’interno di un insieme tramite l’assegnazione di una etichetta.
– regressione: il sistema prevede un valore di output a partire da un insieme di input di dati.
Come si vede il machine learning ha un approccio opposto a quello dell’agente intelligente. Se l’agente intelligente è realizzato per risolvere problemi complessi con un algoritmo sofisticato applicato ai dati, il machine learning crea un modello a partire dai dati stessi, in grado di elaborare nuovi dati. Come detto sopra il machine learning simula il pensiero umano, ovvero la capacità del nostro cervello di costruire un modello della realtà a partire dall’esperienza, e usarlo per interagire in modo efficace con la realtà stessa.
Modelli e tipi di apprendimento
Esistono 3 tipi di apprendimento:
1) supervisionato
il sistema viene addestrato con un insieme di dati di esempio e la relativa classificazione/predizione. Il sistema crea quindi un modello in grado di eseguire autonomamente l’analisi di dati nuovi mai visti.

Un esempio di modello con apprendimento supervisionato è la classificazione delle recensioni di un servizio o un bene o il riconoscimento della scrittura a mano. E’ sicuramente la forma di machine learning più diffusa e nota.
2) non supervisionato
il sistema riceve dati non etichettati e provvede da solo ad individuare le correlazioni tra loro. Le due principali applicazioni consistono nel:
– clustering, ovvero una tecnica statistica che consiste nel raggruppare gli insiemi di dati (rappresentati come vettori) minimizzando la distanza media tra i vettori mediante una funzione di ottimizzazione.
– riduzione di dimensionalità, ovvero una tecnica che riceve in input dati vettoriali grezzi composti da molte dimensioni e provvede a ridurre le similitudini e le analogie tra questi per ottenere dati con dimensionalità inferiore.

L’apprendimento non supervisionato si usa in molti ambiti, in particolare per analizzare grandi quantità di dati con l’obiettivo di semplificare la loro analisi nelle fasi successive.
3) apprendimento con rinforzo
Il sistema riceve dati non etichettati e prova ad indovinare una soluzione in base ad un processo iterativo. In base alla distanza della soluzione ipotizzata rispetto a quella corretta, il sistema riceve in fase di addestramento dei premi (se va nella direzione giusta) o penalità (se va nella direzione sbagliata). In base alla risposta il sistema memorizza in una tabella l’associazione tra azioni e risposte e ottimizza la propria funzione di addestramento in modo tale da minimizzare le penalità e massimizzare i premi.

L’apprendimento con rinforzo ha molte applicazioni civili ed industriali, come la realizzazione di sistemi robotizzati che utilizzando sensori ricevono immediatamente risposte rispetto alle proprie azioni e ottimizzano in tempo reale il proprio comportamento (si pensi ad un sistema di guida autonoma).