Apprendimento profondo

menu icon

Apprendimento profondo

Il deep learning, o apprendimento profondo, tenta di imitare il cervello umano, pur non riproducendone le capacità, per consentire ai sistemi di raggruppare i dati ed effettuare predizioni con straordinaria accuratezza.

Cos’è il deep learning?

Il deep learning, o apprendimento profondo, è un sottoinsieme dell’apprendimento automatico (machine learning) che, a sua volta, è essenzialmente una rete neurale a tre o più livelli. Tali reti neurali tentano di simulare il comportamento del cervello umano, pur non riproducendone le capacità, per “imparare” da grandi quantitativi di dati. Mentre una rete neurale a unico livello può già effettuare previsioni approssimate, i livelli nascosti aiutano anche a ottimizzare e affinare l’accuratezza.

L’apprendimento profondo dà vita a numerose applicazioni di intelligenza artificiale (AI) in grado di migliorare l’automazione e svolgere attività analitiche e materiali senza intervento umano. La tecnologia dell’apprendimento profondo è alla base di prodotti e servizi di ogni giorno (come assistenti digitali, telecomandi TV con riconoscimento vocale, sistemi di rilevamento frodi per carte di credito) nonché di alcune tecnologie emergenti (come le auto a guida autonoma).

Apprendimento profondo vs. automatico

Se l’apprendimento profondo è un sottoinsieme dell’apprendimento automatico, qual è la differenza fra i due? L’apprendimento profondo differisce dall’apprendimento automatico classico per il tipo di dati con cui opera e per i metodi attraverso i quali apprende.

Gli algoritmi di apprendimento automatico sfruttano, per effettuare previsioni, dati strutturati ed etichettati, perciò, le funzioni specifiche sono definite dai dati in ingresso per il modello e organizzate in tabelle. Ciò non significa necessariamente che non usino dati non strutturati ma che, se lo fanno, in genere sono sottoposti a una certa dose di preelaborazione, finalizzata a organizzarli in formato strutturato.

L’apprendimento profondo elimina parte della pre-elaborazione dei dati tipicamente prevista dal machine learning. Questi algoritmi possono immettere ed elaborare dati non strutturati, come testo e immagini, e automatizzano l'estrazione delle caratteristiche , eliminando parte della dipendenza dagli esperti umani. Supponiamo, ad esempio, di avere una serie di foto di alcuni animali domestici e di volerli categorizzare in “gatto”, “cane”, “criceto”, eccetera. Gli algoritmi di deep learning sono in grado di determinare quali caratteristiche (ad esempio le orecchie) siano più importanti per riconoscere ciascun animale dall’altro. Nell’apprendimento automatico, tale gerarchia di caratteristiche è definita manualmente da un esperto in carne e ossa.

In seguito, nei processi di discesa del gradiente e propagazione all'indietro, l’algoritmo di apprendimento profondo si regola e adegua per aumentare l’accuratezza, consentendo di effettuare con maggiore precisione le previsioni (seguendo l’esempio su una nuova foto di animale).  

I modelli di apprendimento automatico e apprendimento profondo sono inoltre capaci di diverse tipologie di apprendimento, definite apprendimento controllato, apprendimento senza supervisione e apprendimento a punteggio di prestazioni. L’apprendimento controllato utilizza set di dati etichettati per categorizzare o per effettuare previsioni, il che richiede una parte di intervento umano per la corretta etichettatura dei dati di input. L’apprendimento senza supervisione, invece, non richiede dati di set etichettati, ma rileva i pattern nei dati, raggruppandoli in base a una qualsiasi caratteristica distintiva. L’apprendimento a punteggio di prestazioni è un processo in cui un modello impara a diventare più accurato, per svolgere un’azione in un ambiente basato su feedback, al fine di ottimizzare il risultato.

Per scoprire più in dettaglio le talvolta sottili differenze fra le diverse tecnologie, consulta: “AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?

Per una visione ravvicinata delle differenze specifiche fra apprendimento controllato e senza supervisione, consulta: “Supervised vs. Unsupervised Learning: What’s the Difference?

Come funziona l’apprendimento profondo

Le reti neurali di apprendimento profondo, o reti neurali artificiali, si sforzano di imitare il cervello umano mediante una combinazione di input di dati, pesi e distorsione. Questi elementi operano congiuntamente per riconoscere, classificare e descrivere in modo accurato gli oggetti all’interno dei dati.

Le reti neurali profonde consistono di più livelli di nodi interconnessi, ove ciascuno sfrutta il precedente per affinare e ottimizzare previsioni o categorizzazioni. Questa progressione di calcoli attraverso la rete è denominata propagazione in avanti. I livelli di ingresso e uscita di una rete neurale profonda sono chiamati livelli visibili . Il livello di ingresso è quello in cui il modello di apprendimento profondo immette i dati per l’elaborazione, mentre quello di uscita è il livello in cui è effettuata la previsione o la classificazione finale.

Un altro processo, chiamato propagazione all’indietro, utilizza algoritmi come la discesa del gradiente, per calcolare gli errori nelle previsioni e regolare pesi e distorsione della funzione, spostandosi a ritroso attraverso i livelli, nel tentativo di addestrare il modello. Propagazione in avanti e all’indietro, insieme, consentono a una rete neurale di effettuare previsioni e correggersi di conseguenza, in caso di eventuali errori. Nel corso del tempo, l’algoritmo diventa pertanto gradualmente più accurato.

Quanto finora illustrato descrive la tipologia più semplice di rete neurale profonda, nei termini più facili. Gli algoritmi di apprendimento profondo, però, sono straordinariamente complessi e ci sono diversi tipi di reti neurali per differenti problemi o set di dati. Ad esempio:

  • Le reti neurali convoluzionali (CNN), utilizzate principalmente in applicazioni di visione artificiale e classificazione immagini, sono in grado di rilevare caratteristiche e pattern in un’immagine, consentendo attività come il rilevamento e il riconoscimento di oggetti. Nel 2015, una CNN ha per la prima volta superato un umano in una sfida di riconoscimento di oggetti.
  • Le reti neurali ricorrenti (RNN) sono usate tipicamente in applicazioni di riconoscimento vocale e di linguaggio naturale, poiché sfruttano dati sequenziali o di serie temporali.

Applicazioni dell’apprendimento profondo

Le applicazioni reali del deep learning sono spesso sotto i nostri occhi ma, nella maggioranza dei casi, gli utenti non si accorgono delle complesse elaborazioni dati che hanno luogo, essendo integrate nei prodotti e nei servizi. Alcuni esempi:

Forze dell’ordine

Gli algoritmi di apprendimento profondo sono in grado di analizzare e imparare dai dati transazionali, al fine di identificare pattern pericolosi che indichino potenziali attività fraudolente o criminali. Riconoscimento vocale, computer vision e altre applicazioni di deep learning possono migliorare l’efficienza e l’efficacia dell’analisi investigativa, estraendo pattern e prove da registrazioni audio e video, immagini e documenti, e aiutando così le forze dell’ordine ad analizzare grandi quantità di dati in modo più veloce e accurato.

Servizi finanziari

Le istituzioni finanziarie utilizzano regolarmente l’analytics predittiva per favorire la negoziazione algoritmica di azioni, valutare i rischi di business per approvazioni di prestiti, rilevare frodi e contribuire a gestire portafogli di credito e investimento per i clienti.

Servizio clienti

Molte aziende incorporano la tecnologia di apprendimento profondo nelle proprie procedure di assistenza ai clienti. I chatbot, usati in numerose applicazioni, servizi e portali di servizio clienti, sono una forma di AI. I chatbot tradizionali utilizzano il riconoscimento del linguaggio naturale e visivo, come nei menu dei call center. Le soluzioni chatbot più sofisticate, d’altro canto, tentano di determinare, mediante apprendimento, se vi siano risposte multiple alle domande ambigue. Sulla base delle risposte ricevute, il chatbot tenta quindi di rispondere a tali domande, direttamente o instradando la conversazione verso un utente umano.

Gli assistenti virtuali come Siri di Apple, Alexa di Amazon o Assistente Google estendono l’idea del chatbot, offrendo la funzionalità di riconoscimento vocale. Si crea così un nuovo metodo per interagire con gli utenti in modo personalizzato.

Sanità

Il settore della sanità ha tratto grandi vantaggi dalle funzionalità di apprendimento profondo, sin dalla digitalizzazione di cartelle cliniche e imaging. Le applicazioni di riconoscimento immagini supportano radiologi e altri specialisti di imaging in ambito medico, consentendo analisi e valutazione di più immagini in meno tempo.

Requisiti hardware per l'apprendimento profondo

L’apprendimento profondo richiede un’elevatissima potenza di elaborazione. Le GPU (unità di elaborazione grafica) ad alte prestazioni sono ideali, poiché in grado di gestire un’enorme mole di calcoli in più core, con ampia disponibilità di memoria. Ma la gestione di più GPU on-premise può dar luogo a un’elevata domanda di risorse interne e presentare elevati costi in termini di scalabilità.

L’apprendimento profondo e IBM

Ormai da decenni, IBM è pioniera nello sviluppo di tecnologie AI e di apprendimento profondo, come evidenziato dallo sviluppo di IBM Watson, il chatbot AIdi IBM. Uno dei primi traguardi della tecnologia di deep learning, Watson è oggi una soluzione affidabile per le aziende che desiderano applicare ai propri sistemi l’elaborazione avanzata del linguaggio naturale e le tecniche di apprendimento automatico, mediante un approccio graduale all’adozione e all’implementazione dell’AI.

Watson utilizza il framework Apache Unstructured Information Management Architecture (UIMA) e il software DeepQA di IBM per mettere a disposizione delle applicazioni potenti funzionalità di apprendimento profondo. Mediante strumenti come IBM Watson Studio, l’azienda può sfruttare i big data e portare in produzione progetti di data science, distribuendo ed eseguendo i propri modelli su qualsiasi cloud.

Per maggiori informazioni su come iniziare a utilizzare la tecnologia di apprendimento profondo, esplora IBM Watson Studio.

Registrati per ricevere un identificativo IBM e crea il tuo account IBM Cloud.