TECNOLOGIA

Algoritmi per l’intelligenza artificiale: guida sintetica (non solo) per ingegneri

L'introduzione di algoritmi innovativi di intelligenza artificiale sta rivoluzionando il lavoro di fisici, matematici e ingegneri. Con le relative, concretissime implicazioni e ricadute per l'intera società.

pexels-photo
Lo sviluppo di algoritmi innovativi è strettamente legato alle ricerche nell’ambito dell’intelligenza artificiale. Crediti immagine: Public Domain

TECNOLOGIA – Che cosa è, esattamente, un algoritmo? E perché al giorno d’oggi dovrebbe importarci di saperlo? Come ben chiarito nel trattato Introduction to algorithms edito dalla MIT press, l’organo di stampa del Massachussets Institute of Technology, un algoritmo è una procedura di calcolo ben definita che, a partire da determinati valori in ingresso, fornisce determinati valori in uscita. Quindi, null’altro che una sequenza finita di passi che trasforma gli ingressi nelle uscite.

Lo scopo principale dell’uso degli algoritmi è la risoluzione di problemi, dai più semplici, come l’ordinamento di una lista di numeri o nomi, fino a quelli più complessi, come la gestione delle missioni spaziali e la mappatura del genoma umano.

La concezione e lo sviluppo di algoritmi innovativi sono, al giorno d’oggi, legati a doppio filo alle ricerche nel settore dell’intelligenza artificiale. In effetti il tentativo di infondere intelligenza ai sistemi artificiali mediante algoritmica di vario tipo è il connaturato alla disciplina stessa, come spiega Stephen F. DeAngelis in un articolo su wired.com.

E se ormai c’è chi si spinge a provare addirittura a prevedere il futuro tramite l’intelligenza artificiale, esistono ormai decaloghi tecnologici irrinunciabili per ingegneri, fisici, matematici ed addetti ai lavori che si vogliano cimentare nello sviluppo di algoritmica in questo affascinante campo.

Passiamo in rassegna alcuni delle tecniche algoritmiche più rilevanti e utilizzate in ambito machine learning, area fondamentale dell’AI che si occupa dell’apprendimento automatico delle macchine:

  1. Alberi di decisione

Si tratta di una tecnica che fa uso di grafi ad albero (muniti cioè di “foglie”, che descrivono stati o eventi associati a un sistema, e “rami”, che rappresentano le transizioni tra stati e le condizioni necessarie per tali transizioni). Per esempio, quando si gioca a scacchi, uno stato è la disposizione dei pezzi sulla scacchiera, e i rami descrivono tutte le possibili mosse che portano a tutte le possibili configurazioni future.

Esplorando questi percorsi in anticipo, un automa è in grado di perseguire la migliore strategia, selezionando  di volta in volta il percorso più promettente sull’albero.

  1. Classificatori bayesiani

Sono algoritmi che sfruttano il teorema di Bayes, un potente strumento della teoria della probabilità che consente, in termini semplici, di ricavare la probabilità di accadimento di un determinato evento basandosi sull’assunzione che si sia verificato un altro evento, di cui è nota la probabilità.

Per fare un esempio, dovendo classificare una certa email come spam o no, un classificatore esamina il testo dell’email stessa e, basandosi sullo storico delle email già prese in considerazione e classificate come spam, è in grado di stabilire se nel testo sono presenti parole o frasi ricorrenti all’interno di messaggi di spam passati.

  1. Macchine a vettori di supporto

Le macchine a vettori di supporto (SVM, dall’inglese Support Vector Machines), o macchine kernel, sviluppate negli anni Novanta presso i laboratori Bell AT&T, sono dei classificatori di tipo binario. In altri termini, dati dei punti che rappresentano due gruppi di oggetti distinti per una specifica caratteristica, essi sono in grado di determinare una superficie che separa i due gruppi, e che sia quanto più distante possibile dai punti stessi.

Un’applicazione comune è la separazione, all’interno di un’immagine, delle persone di sesso maschile da quelle di sesso femminile.

  1. Metodi di insieme

Gli ensemble method sono algoritmi di apprendimento che costruiscono un insieme di classificatori con metodi differenti (per esempio, bayesiani e macchine a vettori) e combinano i risultati ottenuti da ognuno di essi per ottenere stime più efficaci. L’ispirazione per tali metodi proviene dai sistemi biologici, la cui adattatività e variabilità di comportamento suggerisce la disponibilità di varie strategie che vengono selezionate, o combinate, sulla base dello specifico scenario per ottenere il miglior risultato possibile.

  1. Analisi delle componenti principali

Si tratta di una procedura di tipo statistico la cui finalità è individuare, in un insieme di osservazioni su un certo sistema, un certo numero di variabili non correlate, denominate appunto componenti principali, che consentono di rappresentare il sistema in modo più economico e semplificato, estraendone le caratteristiche principali in una sorta di rappresentazione minima. In questo modo, i calcoli necessari per prevedere il comportamento di un sistema vengono notevolmente semplificati. Anche questa tecnica può dirsi ispirata ai sistemi biologici, che di sicuro hanno la capacità di di ridurre drasticamente la dimensione dei dati osservati al fine di prendere decisioni nel tempo più piccolo possibile.

Questa rapida rassegna evidenzia una caratteristica comune delle tecniche descritte: la capacità di infondere, in un sistema artificiale, la capacità di discernere e infine di decidere un determinato comportamento.

Il fatto che la complessità e l’efficacia degli algoritmi di intelligenza artificiale siano in rapidissima crescita non è un affare che riguardi solo matematici o ingegneri, e le implicazioni etiche non mancano. La tesi di fondo è molto semplice: è pericoloso affidarsi alle classificazioni di un algoritmo, ritenendolo più obiettivo di un essere umano. Gli algoritmi infatti sono creati proprio dagli esseri umani, e proprio per questo possono attuare comportamenti e quindi commettere discriminazioni in modo assai simile a quello che hanno appreso dai loro stessi creatori.

Leggi anche: Le olimpiadi delle macchine intelligenti

Pubblicato con licenza Creative Commons Attribuzione-Non opere derivate 2.5 Italia.   

Condividi su
Gianpiero Negri
Laureato in Ingegneria Elettronica, un master CNR in meccatronica e robotica e uno in sicurezza funzionale di macchine industriali. Si occupa di ricerca, sviluppo e innovazione di funzioni meccatroniche di sicurezza presso una grande multinazionale del settore automotive. Membro di comitati scientifici (SPS Italia) e di commissioni tecniche ISO, è esperto scientifico del MIUR e della European Commission e revisore di riviste scientifiche internazionali (IEEE Computer society). Sta seguendo attualmente un corso dottorato in matematica e fisica applicata. Appassionato di scienza, tecnologia, in particolare meccatronica, robotica, intelligenza artificiale e matematica applicata, letteratura, cinema e divulgazione scientifica, scrive per Oggiscienza dal 2015.