Le basi dell’intelligenza artificiale

Lo sviluppo dell’intelligenza artificiale ha avuto una brusca accelerazione con l’avvento dell’internet of things e la disponibilità di enormi quantità di dati, che costituiscono la base per l’apprendimento da parte dei computer. Applicazioni di intelligenza artificiale ci aiutano a “taggare” le persone su facebook, ad organizzare le nostre attività utilizzando assistenti virtuali come Siri o fisici, come i virtual home assistant di Google e Amazon. Il customer service di alcune aziende utilizza robot virtuali per dialogare con gli utenti, le società di investimento utilizzano algoritmi intelligenti per gestire il denaro e così via. È una rivoluzione silenziosa, che avrà conseguenze importanti in molti settori di business. L’intelligenza artificiale è dunque troppo importante per essere lasciata ai tecnici: questo articolo ha l’obiettivo di spiegare ai non specialisti che cos’è e come funzione l’intelligenza artificiale.

All’inizio l’intelligenza artificiale era innanzitutto una speculazione teorica e ruotava intorno alla domanda: “Le macchine possono pensare?”. Nel 1950 Alan Turing nel suo articolo “Computing Machinery and Intelligence” riformulò la domanda modificandola in modo significativo: “Le macchine sono in grado di imitare il comportamento intelligente di un essere umano?” (da qui il cosiddetto test di Turing ed il titolo del film “The imitation Game” del 2014).

Una definizione pragmatica di Intelligenza Artificiale prevede dunque la capacità di un computer di esibire comportamenti tipici della mente umana. In particolare un sistema intelligente deve essere in grado di elaborare conoscenze precedenti estrapolando le linee guida da utilizzare per risolvere con successo problemi che non ha mai affrontato.

Nel libro Artificial Intelligence: a modern approach di S.J. Russell (prima edizione con P. Norvig del 1995, una vera bibbia dell’intelligenza artificiale) viene riportata una schematizzazione delle diverse aree applicative che costituiscono l’intelligenza artificiale. Di seguito viene riportata una semplificazione di queste aree per fornire una prima base per comprendere come funziona l’intelligenza artificiale.

Comunicare con linguaggio naturale

Un sistema intelligente è in grado di comunicare utilizzando un linguaggio naturale, cioè un linguaggio caratterizzato da una intrinseca ambiguità. Questo significa che il significato di ogni parola e frase può essere attribuito soltanto se il sistema è in grado di conoscere ed interpretare il contesto. Oggi tutti i sistemi di dettatura sono in grado di interpretare correttamente frasi quali: “è tutto a punto (virgola) non cambierei una virgola (punto)”. Un agente intelligente in grado di utilizzare un linguaggio naturale può comunicare con le persone, con altri agenti intelligenti e può effettuare ricerche su internet.

Percepire

Un agente intelligente è in grado di rilevare informazioni dall’ambiente circostante tramite sensori di diverso tipo e di utilizzare i nuovi dati per migliorare la propria conoscenza dell’ambiente.

Rappresentare la conoscenza

Un agente intelligente è in grado di rappresentare oggetti, azioni, concetti e le rispettive relazioni. Conosce inoltre le regole per manipolarli, per inferire ragionamenti e per ampliare la propria conoscenza.

Un esempio di rappresentazione della conoscenza ci viene dalle reti semantiche nelle quali i vertici rappresentano oggetti o concetti e sono collegati tra loro da legami semantici. Si possono allora costruire sillogismi ed altri ragionamenti logici semplicemente navigando la rete.

Pianificare i risultati delle azioni

I sistemi intelligenti sono in grado di comprendere i propri obiettivi, di prevedere gli stati futuri del loro universo e di prendere decisioni al fine di raggiungere gli stati futuri maggiormente desiderabili, pianificando dunque le proprie azioni in modo da massimizzarne il “valore”.

Gestire l’incertezza

Gli agenti intelligenti operano spesso in ambienti estremamente complessi e sono in grado di “gestire” la presenza contemporanea di più attori che agiscono in modo indipendente ed imprevedibile. In queste condizioni i sistemi intelligenti devono essere in grado di rappresentare l’incertezza, di prendere decisioni che ne tengano conto e che massimizzino la probabilità di raggiungere l’obiettivo desiderato, evitando allo stesso tempo i comportamenti con rischi troppo elevati.

Imparare (machine learning)

La definizione più pragmatica di machine learning è stata data da Tom M. Mitchell nel libro “Machine Learning” (1997). Semplificando la sua definizione formale si può dire che “un programma apprende se le sue performance migliorano con l’esperienza”.

L’apprendimento automatico si basa sulla costruzione di algoritmi che sappiano:

  1. analizzare una serie di dati riconoscendo degli schemi (ad es. riconoscere un gatto da una scarpa),
  2. valutare il risultato delle decisioni prese e dei corrispondenti comportamenti (accarezzare un gatto va bene, accarezzare una scarpa no).

Tali algoritmi possono quindi costruire in modo induttivo un modello in grado di “riconoscere” nuovi dati e di adeguare in modo coerente il proprio comportamento.

Esistono due metodi fondamentali con i quali le macchine possono imparare:

  • Supervised learning: al sistema intelligente vengono forniti ingressi e corrispondenti uscite (ad esempio una serie di radiografie con le rispettive diagnosi) in modo che l’agente possa costruire euristicamente la funzione che trasforma gli ingressi in uscite. In questo modo al ricevimento di un nuovo ingresso mai ricevuto in precedenza (radiografia), il sistema sarà in grado di determinarne l’uscita (diagnosi),
  • Unsupervised learning: al sistema intelligente vengono forniti soltanto dati di input tra i quali l’agente individua pattern e correlazioni (un esempio è il raggruppamento di diversi input in “gruppi” non definiti a priori dall’utilizzatore).

Per il continuo miglioramento del processo di apprendimento si possono utilizzare tecniche di:

  • Apprendimento per rinforzo: il sistema intelligente produce un output sulla base dell’input ricevuto, vi è poi un algoritmo in grado di misurare la bontà del risultato ottenuto assegnando una ricompensa o una punizione. Il sistema intelligente adatta quindi il proprio comportamento con l’obiettivo di massimizzare le proprie ricompense.
  • Deep learning: diversi meccanismi di apprendimento sono posti uno “sopra” l’altro, in modo che ognuno possa apprendere dai risultati del precedente. In questo modo si possono ottenere livelli di astrazione crescenti e conoscenze sempre più complesse.

Agire

La conoscenza permette di prendere decisioni, che nel caso dei robot diventano azioni. I robot devono infatti sapersi muovere in ambienti complessi, interagire con oggetti diversi (e nuovi) e cercare di raggiungere i propri obiettivi senza danneggiare gli altri e senza correre troppi rischi.

Questa schematizzazione è parziale, sintetica e semplificata, ma vuole essere un primo passo verso la comprensione del funzionamento dell’intelligenza artificiale, allo scopo di individuarne le possibili applicazioni nel mondo del business. Ogni impresa dovrebbe pensare quali applicazioni di intelligenza artificiale sarebbero utili agli utilizzatori dei propri prodotti e servizi. In ogni caso probabilmente c’è già una startup che ci sta pensando…

A cura di: Maurizio Scabbia

Profilo Autore

Ingegnere elettronico, dopo aver lavorato come progettista e poi capoprogetto in un’azienda elettronica, ha collaborato con le principali aziende di consulenza (Ernst&Young Consultants, Cap Gemini, AT Kearney ed EDS). Si è sempre occupato di innovazione, operando sia con imprese multinazionali, che con aziende di medie dimensioni, in diversi settori mercato. Nella sua carriera ha affrontato i diversi aspetti dell’innovazione che vanno dall’ideazione al lancio dei nuovi prodotti. Nel 2008 ha fondato Open Innovation, un’azienda di consulenza dedicata all’innovazione e dal 2014 sta sviluppando il concetto di innovazione liquida applicandolo in diverse aziende manifatturiere italiane. Da alcuni anni tengo corsi sull’innovazione di prodotto e sul project management agli studenti dell’università di Padova, nell’ambito di iniziative di formazione congiunta con le associazioni industriali.

Condividi sui Social Network:

Articoli simili