“La misura dell’intelligenza è la capacità di cambiare.”

(Albert Einstein, fisico)

Nello scorso articolo di questo blog abbiamo parlato della storia dell’Intelligenza Artificiale, introducendo anche due discipline a essa correlate ma distinte: il Machine Learning e il Deep Learning.
Questo post avrà cura di descrivere le differenze e gli elementi in comune tra queste tre discipline, sperando di dipanare la confusione che sembra circondare questi tre termini, spesso usati – erroneamente – in modo intercambiabile.

L’Intelligenza Artificiale: un grande calderone

Il termine Intelligenza Artificiale è un termine-cappello con il quale si vuole raccogliere tutti i modelli matematici progettati per la realizzazione di macchine intelligenti; per questo motivo anche gli approcci di Machine e Deep Learning rientrano all’interno dell’ambito dell’AI, sebbene siano due concetti ben distinti da esso.
Allo stesso tempo, però, con Intelligenza Artificiale ci si riferisce all’insieme dei modelli matematici “classici”, concepiti agli albori della disciplina per emulare il ragionamento umano.

Il Machine Learning: le macchine cominciano ad apprendere

Con Machine Learning (in italiano chiamato “Apprendimento Automatico”) ci si riferisce, invece, a quella branca dell’Intelligenza Artificiale concentrata sull’utilizzo di modelli matematici che, al fine di ottenere il risultato sperato per un determinato compito, vengono sottoposti a un processo di addestramento:
i modelli vengono alimentati con dei dati di input dai quali estrapolare l’output per il compito richiesto.
Se, oltre ai dati di input, alla rete viene fornito un esempio dell’output desiderato allora si parla di apprendimento supervisionato; in caso contrario si ha a che fare con un apprendimento di tipo non supervisionato.

Cerchiamo capire meglio la differenza tra queste due tipologie di apprendimento: poniamo il caso di voler realizzare un modello di Machine Learning capace di distinguere tra cani, gatti e anatre.
Nel caso volessimo addestrare il modello mediante un apprendimento supervisionato dovremmo dargli in input sia le foto degli animali dei quali deve apprendere la differenza sia un’etichetta che lo istruisce su che animale è presente nella foto.
Una volta addestrato, il modello dovrebbe essere capace di distinguere l’animale della foto in input in modo autonomo, senza bisogno di alcuna etichetta.

Nel caso, invece, di un apprendimento non supervisionato al modello verrebbero date in input solamente le foto degli animali, dal quale poi il modello sarebbe capace di individuare gli elementi in comune e le differenze tra gli animali raffigurati.
Il modello così addestrato raggrupperebbe, in base a somiglianze e differenze individuate, le foto usate per l’addestramento per poter stabilire il gruppo appartenenza di ogni foto che gli verrà successivamente fornito in input.

Il Deep Learning: una questione di neuroni

Oltre al Machine Learning esiste un’altra sotto-branca che ha conosciuto una notevole espansione negli ultimi vent’anni e basata su modelli matematici che riprendono l’idea del neurone artificiale introdotta da McCulloch e Pitts nel 1943.
Approfondiamo questo tema: i neuroni artificiali sono vengono disposti in quella che viene definita rete neurale artificiale, ogni neurone viene collocato in un determinato strato e viene poi connesso con uno o più neuroni degli strati immediatamente precedenti o successivi con il quale comunica per mezzo di segnali (rappresentati da operazioni matematiche).
La rete neurale, quindi, apprende tramite la propagazione dei segnali calcolati dai neuroni al suo interno, fino a ottenere il risultato desiderato nel compito per cui la rete è stata addestrata. Ma come viene addestrata una rete neurale fornendole dei dati di input usati per che stimolino stimolarne i neuroni; anche in questo caso, come già descritto per il Machine Learning, viene seguito il paradigma di apprendimento supervisionato o quello di apprendimento non supervisionato (e, per task particolari, un paradigma ibrido semi-supervisionato).
Il Deep Learning (in italiano “Apprendimento Profondo”) è la disciplina nata dalla sotto-branca del Machine Learning dedicata allo studio delle reti neurali artificiali. In questo caso il concetto stesso di rete neurale artificiale viene portato all’estremo: nel Deep Learning vengono applicate delle tipologie di reti neurali artificiali la cui particolarità risiede nell’elevato numero di strati su cui sono disposti i neuroni della rete. La profondità di tale rete le permette di trasformare i dati in input in rappresentazioni via via più astratte e composite, modellando così in maniera sempre più dettagliata il problema che le viene chiesto di risolvere. La rappresentazione così elaborata dal modello sarà quella poi utilizzata per risolvere il problema posto a partire dai dati usati per testare.

 

Conclusioni

In questo articolo abbiamo visto la differenza tra Intelligenza Artificiale, Machine Learning e Deep Learning, sia per fornirvi una chiave di lettura più consapevole su parte delle tematiche toccate da questo blog che per cercare di dipanare un po’ la confusione che avvolge questi termini. Nel prossimo post vedremo come l’Intelligenza Artificiale può essere utilizzata in ambito industriale e alcuni dei possibili sbocchi applicativi futuri di questa disciplina.