L’intelligenza artificiale è una sorta di matrioska: al suo interno si annidano sottoinsiemi di machine learning e deep learning. Quindi, semplificando, l’intelligenza artificiale (AI) include il machine learning (ML) mentre quest’ultimo a sua volta include il deep learning (DL). Il machine learning viene anche definito come apprendimento automatico in quanto si occupa di creare sistemi che apprendono o migliorano le performance di una macchina in base ai dati che utilizzano. Il denominatore comune del possibile scenario sostenuto dall’intelligenza artificiale è di una sempre più forte autonomia funzionale di tutte le componenti abilitanti nuovi processi industriali.
I principali algoritmi di machine learning o di apprendimento automatico si suddividono in due grandi categorie: supervisionati e non supervisionati. La differenza tra queste due tipi viene definita dal modo in cui ciascun algoritmo apprende i dati per fare previsioni. Gli algoritmi di machine learning supervisionato sono i più utilizzati. Con questo modello, un data scientist agisce da guida e insegna all’algoritmo i risultati da generare. Gli algoritmi di regressione lineare e logistica, di classificazione multiclasse e le macchine a vettori di supporto sono alcuni esempi di machine learning supervisionato. Il machine learning non supervisionato utilizza un approccio più indipendente, in cui un computer impara a identificare processi e schemi complessi senza la guida attenta e costante di una persona.
Deep learning o apprendimento approfondito è un caso particolare del machine learning: utilizza reti neurali con l’obiettivo di creare modelli di apprendimento su più livelli per elaborare informazioni non lineari. La rete neurale è infatti di tipo multilivello e composta da unità non lineari a cascata a cui spetta il compito di estrarre le informazioni per costruire il modello di classificazione. Gli algoritmi di deep learning tendono a simulare il funzionamento del cervello umano e l’interpretazione di immagini e linguaggio.
A ciascuno il suo dominio applicativo
Il machine learning viene tipicamente usato in progetti che implicano la previsione di un risultato o l’identificazione di tendenze. In questi casi viene utilizzato un numero limitato di dati per aiutare le macchine ad apprendere schemi che potranno adoperare successivamente per risolvere correttamente i nuovi dati di input.
Il deep learning è invece più complesso e viene generalmente utilizzato per progetti che prevedono la classificazione di immagini, l’identificazione di oggetti in immagini e il miglioramento di immagini e segnali. In questi casi è possibile applicare una rete neurale poiché gli algoritmi di questo tipo di apprendimento sono progettati per estrarre automaticamente le caratteristiche da dati organizzati spazialmente e temporalmente, come immagini e segnali.
Rapidità nel fornire i risultati, velocità di addestramento, necessità di minor potenza computazionale sono i maggiori vantaggi che possono derivare dall’utilizzo di algoritmi di machine learning. Il numero di caratteristiche e di osservazioni sono i fattori chiave che influenzano il tempo di allenamento. Per migliorare l’accuratezza del modello è necessario dedicarsi maggiormente allo sviluppo e alla valutazione delle caratteristiche.
I modelli di deep learning impiegano diverso tempo prima di arrivare a una efficiente condizione di addestramento. Reti predefinite e dataset pubblici possono abbreviare la formazione attraverso l’apprendimento per trasferimento ma talvolta l’implementazione può essere complicata. In generale, gli algoritmi di deep learning – a seconda dell’hardware e della potenza di elaborazione – possono richiedere da un minuto a qualche settimana per acquisire performance ottimali.
Tipologia di dati
Comprendere il dataset disponibile può aiutare a compiere la scelta migliore. Generalmente il machine learning viene utilizzato quando si hanno a disposizione dati più strutturati e limitati. La maggior parte degli algoritmi di machine learning sono progettati per addestrare i modelli su dati tabellari, cioè organizzati in righe e colonne indipendenti. Se i dati non sono tabellari il machine learning può essere comunque applicato ma richiede una qualche manipolazione dei dati stessi.
Il deep learning, in genere, deve invece essere supportato da una grande quantità di dati in modo tale da essere dimensionalmente coerente con la rete sottostante, che può avere decine di milioni di parametri. Le reti neurali sono spesso progettate per operare su dati di immagini, sebbene possano essere utilizzate anche su dati di sensori. Le reti neurali ricorrenti, come le reti LSTM (Long Short-Term Memory), sono progettate invece per funzionare su dati sequenziali come segnali e testo. Il primo requisito per l’addestramento di un modello deep learning è quindi avere a disposizione train-set molto grandi. Questo rende il deep learning molto adatto ad affrontare l’era dei Big Data.
La discriminante hardware
Gli algoritmi di machine learning richiedono meno potenza computazionale. Per il loro addestramento sono sufficienti CPU mainstream. Di contro per i modelli di deep learning sono richiesti hardware specializzati, a causa dei requisiti più elevati di memoria e di elaborazione. In tempi recenti la gestione di queste reti enormi è diventata più semplice grazie all’uso di processori grafici (GPU) che hanno trovato ampio utilizzo nelle server-farm delle maggiori compagnie del mondo e negli istituti di ricerca.
La quantità di investimenti nel settore del deep learning è aumentata in modo esponenziale. Diversi i settori in cui viene applicato. In robotica permette di creare unità più intelligenti, macchine in grado di percepire l’ambiente circostante e di reagire a particolari stimoli. Anche un sito web può utilizzare tecniche di deep learning per capire i gusti degli utenti e inviare annunci pubblicitari ritagliati su una particolare categoria. Un algoritmo di deep learning può quindi aggregare le informazioni di milioni di utenti al fine di individuare diverse categorie.