Spesso sentiamo parlare di Deep Neural Networks, ma nel concreto a cosa ci si riferisce quando si parla di Deep Learning? Ormai in voga da alcuni anni, il concetto di Deep Learning ha un fascino quasi esoterico negli ambienti aziendali. Per capire però bene di cosa si tratta, è meglio fissare prima alcuni concetti propedeutici.
Quando si parla di Intelligenza Artificiale, in realtà si sta affrontando un argomento per cui non è richiesto necessariamente l’utilizzo di un computer. Infatti, per IA si intende l’insieme dei modelli matematici che consentono ad un processo automatico di “apprendere” un certo comportamento. Quindi l’IA è essenzialmente matematica. Per processo automatico, si intende veramente di tutto, dal pc più potente del mondo ad un essere umano che, con carta e penna, applica un modello matematico per risolvere un problema.
Per il fatto che i modelli di IA prevedono però praticamente sempre approcci per iterazioni, è naturale pensare di affidare questi calcoli ad un computer. Anche se si parla di apprendimento, in realtà il modello, tramite calcoli, si avvicina a riprodurre un comportamento “reale” senza sapere nulla del problema che sta affrontando. Far eseguire un modello matematico di IA ad un computer, richiede la scrittura di algoritmi abbastanza complessi. Questa traduzione algoritmica dei modelli prende il nome di Machine Learning.
Deep Learning vs Machine Learning
Quando il modello di Intelligenza Artificiale di partenza è particolarmente complesso, anche i relativi algoritmi di ML lo saranno. Un algoritmo di Machine Learning molto complesso viene dunque definito algoritmo di Deep Learning (DL). Il concetto di “molto complesso” è aleatorio e sono state create delle convenzioni per stabilire l’appartenenza di ogni algoritmo ad un insieme piuttosto che all’altro.
Ad esempio, per gli algoritmi noti ai più, le Reti Neurali Artificiali, è stato deciso che il passaggio da Machine Learning a Deep Learning avviene quando nella struttura della rete sono presenti almeno 4 livelli o layer. La Rete Neurale Artificiale diventa a quel punto Rete Neurale Artificiale Deep, o Deep Neural Network (DNN).
Ma perchè proprio 4 livelli? Come anticipato, si tratta di una convenzione, è un po’ come dire che l’età moderna è iniziate nel 1492 con la scoperta dell’America. Ma a cosa servono gli algoritmi di Deep Learning? Se il compito da risolvere è particolarmente complesso (analisi di elementi video, problemi di ottimizzazione con decine di variabili), ecco che il Deep Learning può essere utile. Solitamente si procede per tentativi, non esiste un insieme di regole che guidi la scelta tra un algoritmo deep o non deep. Spesso, durante un’analisi, si arriva ad una soluzione di Deep Learning senza neanche rendersene conto. Quando il Machine Learning non è in grado di fornire una soluzione accurata, è naturale cercare uno strumento più articolato.
Deep Learning, vantaggi e svantaggi
Il Deep Learning quindi presenta sicuramente il vantaggio di proporre soluzioni di buona qualità anche per problemi molto complessi. Quando parlo di buona qualità, mi riferisco al fatto che sia gli algoritmi di ML che di DL non forniscono LA soluzione ma una soluzione probabilistica con un’accuratezza che solitamente, per essere ritenuta accettabile, supera il 95%(ad esempio quel ragazzo nella foto è castano al 96%). Più l’algoritmo è performante, più, ovviamente si reduce il tasso di errore. Ma, come sempre, non esistono solo gli aspetti positive. Il Deep Learning presenta infatti alcuni svantaggi. Usare algoritmi più complessi significa:
- Tempistiche di progettazione considerevoli
- Tempi di calcolo più lunghi
- Utilizzo di server più potenti e quindi più costosi
- Gli algoritmi di Deep Learning sono inoltre algoritmi detti di black-box e non consentono quindi di comprendere e spiegare come si sia arrivati ad una determinate soluzione, non si possono ricostruire a ritroso i passaggi che hanno portato ad un risultato. Certo lo stesso problema è in qualche modo presente anche con il Machine Learning, ma nel caso del Deep Learning è ancor più complesso.
Sull’ultimo svantaggio c’è anche da dire però che molto spesso non ci sono alternative al Deep Learning per determinate analisi, quindi è sempre meglio avere una soluzione da una black-box che non riuscire a individuare la risposta ad un problema aziendale.
Il Deep Learning racchiude una famiglia molto vasta di algoritmi e le logiche per la scelta di quali utilizzare sono simili a quelle del Machine Learning. L’unica vera differenza tra i due approcci sta nella complessità. Si potrebbe dunque dire che il Deep Learning sia un Machine Learning all’ennesima potenza.
Deep Learning, casi d’uso
Per risolvere un problema di rilevazione di indicatori come il Churn Rate, cioè il tasso di abbandono della clientela, o per calcolare il valore nel tempo di un consumatore per l’azienda, ad esempio, in base alla quantità di informazioni in ingresso ed alla loro complessità, bisogna scegliere quale approccio adottare. Oppure, come raccontato in questo articolo, utilizzando le reti neurali per l’individuazione del prezzo in grado di massimizzare gli obiettivi commerciali di un’azienda.
Basandoci sulla qualità dei risultati ottenuti, può essere utile un approccio incrementale in cui si procede con l’adozione di soluzioni via via più complesse, cioè dall’utilizzo di metodi statistici per poi passare al Machine Learning e, in caso, al Deep Learning, fino a trovare una soluzione che risponda alle nostre necessità.
Durante l’AI WEEK 2021 Massimo Dell’Erba ha raccontato il progetto e i risultati raggiunti utilizzando le Reti Neurali per ottimizzare il pricing di un cliente nel mercato della logistica.