home - blog - Intelligenza Artificiale, Machine Learning, Deep Learning: facciamo chiarezza!
#intelligenza-artificiale #AI #machine-learning #deep-learning 
by Cesaretti Lorenzo, 09.01.2019

Intelligenza Artificiale, Machine Learning, Deep Learning: facciamo chiarezza!

Utilizzare consapevolmente l'AI

Nell’articolo "Le implicazioni dell’intelligenza artificiale nel mondo dell’educazione" abbiamo riflettuto sulle prospettive future dell’Intelligenza Artificiale (AI) in ambito educativo.
Una delle sfide maggiore nel campo dell’AI sarà educare le persone ad utilizzare consapevolmente sistemi intelligenti.
In Weturtle troverai una serie di tutorial e progetti proprio su questa tematiche, così da permettere a tanti insegnanti di lavorare in classe su questi concetti, divenuti fondamenti per formare il cittadino del futuro. Iscriviti per non perdere nessun contenuto!

È importante iniziare facendo un pò di chiarezza su dei termini che stanno diventando sempre più diffusi: Intelligenza Artificiale, Machine Learning, Deep Learning!

Ecco uno schema che rappresenta questi tre concetti come se fossero degli insiemi:

Cos'è l'intelligenza artificiale?


Nell’articolo citato in precedenza abbiamo definito l’AI come la capacità delle macchine di comportarsi in modo intelligente (nel senso “umano” del termine). Questa definizione è molto vasta: anni fa una calcolatrice poteva essere considerata intelligente, in quanto macchina in grado di compiere calcoli matematici che solo gli esseri umani erano in grado di fare!
Un'altra storia interessante è quella di IBM Deep Blue, la prima macchina al mondo in grado di sconfiggere un campione del mondo di scacchi, Garry Kasparov. Questo computer riuscì nell’intento sfruttando una tecnica denominata ad albero di ricerca (tree search algorithms), ossia calcolando i percorsi all’interno di una struttura di dati caratterizzata da nodi (per approfondimenti vi consigliamo questo articolo)! Il famosissimo informatico Claude E. Shannon (considerato il padre della teoria dell’informazione) affrontò il problema degli scacchi come un problema di programmazione, nel suo articolo Programming a Computer for Playing Chess.

In generale quindi sono state molteplici le tecniche informatiche che hanno permesso ai calcolatori di adottare comportamenti intelligenti, simili a quelli di un essere umano. Essendo un settore in evoluzione sicuramente se ne troveranno sempre di nuovi.

Una sottocategoria dell’intelligenza artificiale è il Machine Learning (spesso abbreviato in ML), ossia un insieme di algoritmi statistici, che è stata così definita dal prof. Tom M. Mitchell della Carnagie Mellon University:

“Il Machine Learning è lo studio di algoritmi informatici che migliorano automaticamente attraverso l’esperienza

Il Machine Learning


Più dati ho a disposizione (l’esperienza) più riesco ad ottenere modelli efficaci con i quali prevedere. 

Esistono 2 categorie di algoritmi nell’ambito del ML:
  • supervisionati (in inglese supervised learning), ossia algoritmi che hanno bisogno di una fase di addestramento (training) nella quale vengono dati in pasto al sistema dati etichettati in modo corretto (presumibilmente da un essere umano): ad esempio nella figura qui sopra è come se dividessi un insieme di immagini tra quelle in cui è presente o non è presente un’anatra, fornendo questa corretta suddivisione all’algoritmo. L’algoritmo quindi cerca delle ricorrenze tra le due categorie di immagini, arrivando ad ottenere un modello matematico predittivo che posso utilizzare per classificare una nuova immagine, ottenendo una percentuale di confidenza che mi dice con quale probabilità questa nuova immagine contiene o meno un’anatra.
  • non supervisionati (in inglese unsupervised learning), ossia algoritmi che mi permettono di classificare automaticamente degli oggetti non etichettati, andando a scovare somiglianze e pattern e ottenendo quindi classi di oggetti.
Fornendo una grande mole di dati ad un algoritmo ML ottengo un modello robusto con il quale prevedere l’appartenenza di un oggetto ad una classe, o classificare più elementi in modo automatico.
Facciamo un altro esempio pratico per capire ancora meglio.
Se dovessi programmare in modo classico un sistema di domotica a riconoscere dei comandi vocali, ad esempio per accendere e spegnere la luce di casa, dovrei inserire il maggior numero di espressioni che mi vengono in mente con il quale confrontare l’input vocale dell’utente:

if input_vocale == “accendi la luce”
    turn on lights;

if input_vocale == “luce accenditi”
   turn on lights;

if input_vocale == “è troppo buio”
   turn on lights;

if input_vocale == “spegni la luce”

   turn off lights;

if input_vocale == “luce spegniti”
   turn off lights;

if input_vocale == “c’è troppa luce”
   turn off lights;

Inserendo questi 6 esempi, il Sistema accenderà o spegnerà la luce se e solo se l’input dell’utente è uguale ad una delle 6 espressioni.

Se invece addestro un sistema ML supervisionato a riconoscere 2 classi di espressioni, otterrò un modello matematico che mi calcolerà con quale livello di confidenza nuove espressioni appartengono all’una o all’altra classe, permettendomi di gestire la variabilità del linguaggio umano!
Ad esempio, passando al modello matematico una nuova espressione come “Bisogna accendere la luce”, il livello di confidenza calcolato per l’appartenenza alla classe Accendi_Luce sicuramente sarà molto alto (e di conseguenza molto basso per Spegni_Luce). In base alla classe di appartenenza posso decidere quale azione compiere!

Il Deep Learning


Concludiamo con un cenno sul Deep Learning (abbreviato in DL): in questa sottocategoria del ML i dati vengono sottoposti a trasformazioni non lineari multiple. Quindi il termine Deep (profondo in inglese) sta per i numerosi step che vengono effettuati dagli algoritmi di questa tipologia.
Il Deep Learning è strettamente collegato alle deep neural networks (reti neurali deep) perché queste sono caratterizzate da più strati di calcolo, che appunto implementano il deep learning.

Un esempio visivo:
Ovviamente non entriamo nei meandri matematici di queste tecniche, ma online si trova molto materiale.

Per studiare in modo veramente approfondito gli algoritmi alla base del Machine Learning, ti consiglio questo corso del prof. Andrew Ng (uno dei guru mondiali su questo argomento) su Coursera: https://www.coursera.org/learn/machine-learning

Specializzazione nel campo del Deep Learning, sempre del prof. Ng: https://www.coursera.org/specializations/deep-learning

FONTI

  1. What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning?
  2. Artificial Intelligence, Machine learning, deep learning and data science! What’s the difference?
  3. Differences Between AI and Machine Learning and Why it Matters
TORNA AGLI ARTICOLI