Intelligenza artificiale, machine learning e deep learning: cosa sono ed in cosa differiscono?

L’Intelligenza Artificiale è entrata a far parte della nostra vita di tutti i giorni: la sfruttiamo quotidianamente, magari inconsapevolmente, quando usiamo un motore di ricerca, mentre acquistiamo qualcosa in Internet, mentre scattiamo una fotografia con il telefonino, mentre dettiamo con la voce un messaggio testuale, ecc.

Ma cos’è l’Intelligenza Artificiale?

Possiamo definirla come l’abilità di un sistema tecnologico di risolvere problemi o svolgere compiti e attività tipici della mente e dell’abilità umana. Nel settore informatico, si può identificare l’AI (da Artificial Intelligence) come la disciplina che studia i fondamenti teorici, le metodologie e le tecniche che consentono la progettazione di sistemi hw/sw in grado di avere prestazioni e comportamenti simili a quelli dell’uomo.

Le basi dell’AI nascono secoli fa. L’uomo ha da sempre cercato di costruire macchine che emulassero i suoi comportamenti e le sue capacità. Si pensi alla macchina calcolatrice di Blaise Pascal (‘600) o alla macchina analitica di Charles Babbage (‘800). Nel 1943 viene fornita la prima definizione matematica di neurone artificiale (McCulloch e Pitts). Nel 1950 Alan Turing formula l’omonimo test per determinare se una macchina sia in grado di pensare. Da tutte queste teorie ed esperienze, nel 1956 nasce ufficialmente la disciplina dell’AI.

Da allora l’AI attraversa fasi alterne di successi e periodi di abbandono quasi completo:

  • i successi sono dovuti alle progressive scoperte di modelli matematici sempre più sofisticati in grado di “imitare” alcune specifiche funzionalità cerebrali (visione, comprensione del testo, ecc.)
  • i periodi di abbandono sono dovuti ai risultati sotto le aspettative, condizionati pesantemente dai costi hardware troppo alti, dalla potenza di calcolo insufficiente e dalla mancanza di sufficienti informazioni da elaborare.

Negli ultimi anni (indicativamente dal 2011 in poi) si è avuto un vero e proprio boom dell’AI.
I tempi erano finalmente maturi per superare le limitazioni del passato: prendevano piede i BigData (enormi banche dati con informazioni di qualunque tipo) ed inoltre ci si accorse che le potenti GPU disponibili a costi accessibili potevano essere sfruttate non solo per renderizzare scene grafiche di videogiochi e CAD ma anche per risolvere molto più velocemente i complessi calcoli matematici che stanno alla base dell’AI.

Tutto ciò decretò l’attuale successo ed interesse a livello mondiale delle tecniche di AI.

Oltre all’Intelligenza Artificiale, avrete sicuramente sentito parlare sempre più spesso di Machine Learning (ML, traducibile in Apprendimento Automatico) e di Deep Learning (DL, traducibile in Apprendimento Profondo).

In cosa si differenziano dalla Intelligenza Artificiale classica?

Come si vede dalla figura a lato, il ML ed il DL sono due ambiti di studio che rientrano nella più ampia disciplina dell’AI.

Cerchiamo di chiarire meglio le cose.

Sfruttando le teorie e gli strumenti messi a disposizione dalla AI, i programmatori sono in grado di progettare e sviluppare algoritmi che consentono ad esempio di tradurre in digitale un testo scritto manualmente.

Per fare questo, il programmatore procede in modo classico, analizzando il problema, individuando la migliore combinazione di strumenti matematici da utilizzare, sviluppando gli algoritmi necessari, processando i dati in ingresso in modo opportuno (pulendoli dal rumore, normalizzandoli, ecc.), dando in pasto i dati al programma e verificando il risultato che si ottiene confrontandolo con quello desiderato, eventualmente intervenendo sugli algoritmi per minimizzare le differenze tra i due.

Con il ML non sarà più il programmatore a dover analizzare il problema e poi progettare e sviluppare l’algoritmo corretto, ma sarà l’algoritmo stesso ad “imparare” quale comportamento è meglio tenere, valutando i dati in ingresso e applicando progressive correzioni ai propri parametri in base al confronto tra i risultati ottenuti e quelli desiderati.

In questo modo l’uomo deve “solo” preoccuparsi di preparare i dati necessari per l’apprendimento e lasciare che l’algoritmo “impari” in autonomia come avvicinarsi, in modo asintotico, alla soluzione ideale.

Questa modalità di funzionamento consente all’algoritmo di essere maggiormente robusto agli errori ed agli imprevisti, adattandosi all’evolversi della situazione, in modo simile a quanto accade agli esseri umani. Inoltre consente di gestire problemi di una complessità tale per cui una soluzione algoritmica classica sarebbe impossibile da mettere in pratica per tempi e costi di progettazione, sviluppo e manutenzione.

Il ML mette a disposizione numerosi strumenti matematici per affrontare problemi di varia natura.

Lo strumento principale, molto in voga al giorno d’oggi, è sicuramente la rete neurale, cioè un insieme di neuroni artificiali connessi tra loro, che vengono “allenati” per risolvere un particolare problema.
I neuroni sono suddivisi in gruppi chiamati layer (strato, livello) e sono connessi tra loro appunto a formare una rete.

Quando il numero di layer è alto, la rete neurale viene definita profonda, da cui la definizione di Deep Learning che rappresenta un ambito del ML basato su diversi livelli di rappresentazione dell’informazione e che sfrutta in particolare le reti neurali profonde.

L’approccio del DL tenta di modellare matematicamente il modo in cui il cervello umano processa luce e suoni e li interpreta in vista e udito: gli stimoli di occhi ed orecchie, attraversando il cervello umano, vengono inizialmente scomposti in concetti semplici e man mano ricostruiti in concetti sempre più complessi ed astratti. Analogamente in una rete profonda un volto viene scomposto dai primi layer della rete in tratti primitivi (linee, curve, ombre, luci, ecc.). I layer successivi aggregano queste informazioni in concetti più complessi ed astratti (occhi, nasi, zigomi, ecc.). Gli ultimi layer aggregano ulteriormente questi concetti in volti, consentendo di riconoscere che si tratta di un volto umano ed eventualmente di distinguerlo da altri volti.

Non a caso alcune delle applicazioni più affermate del DL sono appunto la computer vision ed il riconoscimento vocale.

Ora, come dicevamo all’inizio dell’articolo, l’Intelligenza Artificiale fa sempre più parte del nostro quotidiano.
Abbiamo visto anche che questi algoritmi si nutrono di dati e si adattano alle situazioni emulando il comportamento del cervello umano.
Quali potrebbero essere le implicazioni dell’uso di queste tecnologie sulla nostra privacy, sulla nostra sicurezza, sulla nostra vita? Lo vedremo nel prossimo articolo.

Link di approfondimento

https://it.wikipedia.org/wiki/Intelligenza_artificiale
https://it.wikipedia.org/wiki/Apprendimento_automatico
https://it.wikipedia.org/wiki/Apprendimento_profondo

Maggioli Developers

Autore

Cristiano Casadei

Ricerca & Sviluppo – Maggioli S.p.A.

Cristiano Casadei

About Cristiano Casadei

Lavoro in Maggioli dal ’96 e ho contribuito a diversi prodotti dell’Azienda: da Concilia a TradeWin, ai prodotti per i Demografici. Dal 2016 entro a far parte a tempo pieno del team dei Progetti Speciali, ora R&D. In questo team ho contribuito allo sviluppo di Revisal, Scacco2 e ora mi occupo di studiare e sperimentare soluzioni con l’aiuto dell’Intelligenza Artificiale. Come si può intuire dalla foto, amo la montagna.

Maggioli Spa - P.Iva 02066400405