Che cos'è il deep learning?
Il deep learning è una branca dell'intelligenza artificiale (AI) che replica le reti neurali del cervello umano per apprendere da enormi quantità di dati, consentendo alle macchine di risolvere problemi complessi.
default
{}
default
{}
primary
default
{}
secondary
Definizione di deep learning
Il deep learning è una forma di machine learning che consente ai computer di elaborare le informazioni in modi simili al cervello umano. È un apprendimento "profondo" perché chiama in causa molteplici strati di reti neurali che aiutano il sistema a comprendere e interpretare i dati. Questa tecnica permette ai computer di riconoscere schemi e gestire compiti complessi, come la traduzione di lingue straniere o la guida autonoma di automobili. Come gli esseri umani, che imparano dall'esperienza, anche questi sistemi affinano nel tempo abilità e precisione attraverso l'analisi di vaste quantità di dati, senza bisogno di aggiornamenti manuali da parte dell'uomo.
Conoscenza delle reti neurali
Dalla teoria al Perceptron
Negli anni Quaranta, il neuroscienziato Warren McCulloch e il matematico Walter Pitts lavorarono insieme all'elaborazione del primo concetto di rete neurale artificiale. Il loro obiettivo era quello di capire come il cervello potesse produrre schemi di pensiero complessi a partire dalle semplici risposte binarie dei neuroni. Introdussero quindi un modello di neurone che credevano potesse replicare la capacità del cervello di eseguire calcoli complessi utilizzando la logica binaria.
Nel modello di rete neurale messo a punto da McCulloch e Pitts gli input agiscono come gli impulsi elettrici che riceve il neurone. Se in vista di un risultato specifico alcuni input sono più importanti di altri, il modello li enfatizza dando loro un peso maggiore. Quando questi input ponderati superano un determinato livello, il neurone si attiva; in caso contrario, rimane spento. Questo meccanismo elementare di accensione e spegnimento ha permesso al loro modello di imitare semplici processi decisionali simili al cervello, ponendo le basi per l'evoluzione del deep learning.
Nel 1957, l'introduzione del Mark I Perceptron, una macchina grande come una stanza costruita dall'informatico e psicologo Frank Rosenblatt, diede prova del primo uso pratico dei neuroni artificiali. Il dispositivo utilizzava fotocellule e reti neurali artificiali per riconoscere e categorizzare le immagini, avvalorando la fondatezza delle idee di McCulloch e Pitts. Oltre a confermare l'effettiva possibilità di funzionamento dell'apprendimento automatico, il Perceptron di Rosenblatt ha anche aperto la strada allo sviluppo delle più sofisticate tecnologie di deep learning di oggi.
Come funziona il deep learning?
Il deep learning opera sfruttando il processo di predizione per determinare quali algoritmi nelle loro reti neurali riescono meglio a produrre output rispondenti alle aspettative umane. Dopodiché, le reti applicano la retropropagazione per affinare questi algoritmi in modo da aumentare il loro tasso di riuscita. Ecco un esempio:
Immagina di insegnare a un computer a riconoscere generi musicali diversi. La rete neurale analizza migliaia di file musicali, imparando gradualmente a rilevare caratteristiche a livello di strumentazione, battute e progressioni armoniche. Una volta formulata una predizione, identificando per esempio un brano come musica rock, la rete riceve una risposta in merito alla sua correttezza o meno, e quindi applica il metodo denominato retropropagazione per affinare il suo algoritmo.
È praticamente così che impariamo dagli errori. Se, per esempio, confonde una sonata per pianoforte classico con una canzone rock, il computer impara da questo errore, affinando la capacità di distinguere tra canzoni classiche e rock nelle predizioni future. Con il passare del tempo, questo processo consente alla rete neurale artificiale di formulare predizioni altamente accurate, trasformandola in un potente strumento per le finalità più diverse, dal suggerimento di film in base alle preferenze di uno spettatore alla possibilità per i veicoli a guida autonoma di interpretare cartelli e segnali stradali.
Un'immersione negli strati più profondi della rete neurale
Questo elenco illustra i componenti essenziali della rete neurale profonda e l'ordine generale in cui entrano in funzione. Va comunque specificato che i neuroni, le funzioni di attivazione e le tecniche di regolarizzazione non sono passaggi isolati, ma piuttosto funzioni che entrano in gioco nell'intera rete e nel suo processo di apprendimento.
- Strato di input
Lo strato di input è il passaggio di ingresso nella rete, dove ogni neurone rappresenta una caratteristica unica dei dati di input. La funzione primaria di questo strato è quella di ricevere i dati grezzi e trasmetterli agli strati successivi per una ulteriore elaborazione.
- Neuroni (nodi)
I neuroni, o nodi, sono le unità fondamentali di elaborazione della rete neurale. Ogni neurone riceve un input, lo elabora (utilizzando una somma ponderata e quindi applicando una funzione di attivazione), e invia l'output allo strato successivo.
- Funzioni di attivazione
Sono i decisori della rete neurale, quelli che stabiliscono cosa assimilare e cosa ignorare. Conferiscono una sorta di flessibilità alla rete, permettendole di catturare e apprendere schemi complessi. Le funzioni di attivazione comunemente utilizzate sono sigmoide, ReLU (unità lineare rettificata) e tanh.
- Pesi e distorsioni
All'interno della rete, i pesi sono parametri che determinano l'influenza dei dati di input sugli output tra i vari strati. Unitamente ai pesi, le distorsioni fanno in modo che le funzioni di attivazione producano output diversi da zero, migliorando la capacità della rete di attivarsi e apprendere in modo efficace.
- Strati nascosti
Collocati tra gli input e gli output, gli strati nascosti eseguono la maggior parte dei calcoli all'interno di una rete neurale. Sono "nascosti" perché, a differenza degli input e output, non interagiscono con l'ambiente esterno. La complessità e la capacità di una rete neurale sono in gran parte determinate dal numero di strati nascosti e dalla loro architettura.
- Strato di output
È lo strato finale della rete neurale. Presenta i risultati, trasformando le informazioni provenienti dai livelli nascosti in un formato che risolve il compito da svolgere, come classificazione, regressione o qualsiasi altro tipo di predizione.
- Funzione di perdita
La funzione di perdita, o funzione di costo, quantifica la differenza tra gli output predetti e quelli effettivi. Scopo dell'addestramento è ridurre al minimo questa funzione, consentendo al modello di effettuare predizioni più accurate.
- Algoritmi di ottimizzazione
Questi algoritmi servono a mettere a punto il modello per migliorarne nel tempo la precisione. Aggiustano pesi e distorsioni per ridurre gli errori durante le previsioni. I metodi più diffusi sono la discesa stocastica del gradiente, Adam e RMSprop.
- Retropropagazione
Questo algoritmo di deep learning è fondamentale perché aiuta il modello a imparare e migliorare dagli errori. Calcola il modo in cui le modifiche ai pesi del modello influiscono sulla sua precisione e quindi adatta queste regolazioni tracciando gli errori a ritroso nel modello per migliorarne la capacità di formulare predizioni.
- Tecniche di regolarizzazione
Spesso accade che i modelli assimilino troppo fedelmente i dati dell'addestramento, non riuscendo poi a funzionare altrettanto bene sui nuovi dati (il cosiddetto overfitting). Per ovviare a questo fenomeno, vengono utilizzate tecniche come la regolarizzazione L1 e L2 e la normalizzazione batch per mettere a punto il dimensionamento dei pesi e velocizzare il processo di addestramento.
- Normalizzazione batch
Questa tecnica normalizza gli input di ogni strato, puntando a migliorare la stabilità, le prestazioni e la velocità della rete neurale. Permette anche di ridurre la sensibilità ai pesi iniziali.
- Dropout
Il dropout è un altro metodo di regolarizzazione che consiste nell'ignorare casualmente un set di neuroni durante l'addestramento. In questo modo riduce l'overfitting impedendo alla rete di diventare troppo legata a singoli neuroni.
Applicazioni comuni del deep learning
Il deep machine learning ha fatto molta strada dai tempi del Perceptron. Anziché installare macchine che occupano intere stanze, ora le organizzazioni possono creare soluzioni di deep learning nel cloud. La capacità delle odierne reti neurali profonde di gestire set di dati complessi le rende strumenti preziosi in diversi settori, aprendo all'innovazione strade completamente nuove, un tempo considerate futuristiche.
Industria automobilistica
Il deep learning consente ai veicoli di interpretare i dati dei sensori ai fini della navigazione. Migliora inoltre i sistemi di assistenza alla guida, con funzioni come il rilevamento dei pericoli e la prevenzione degli urti, e contribuisce a perfezionare la progettazione e la produzione dei veicoli.
Gestione delle attività aziendali
I chatbot dell'AI conversazionale e i copilot, o assistenti virtuali, sono applicazioni ampiamente diffuse di deep learning per il business. Riducono l'errore umano automatizzando i compiti manuali, accelerano l'analisi dei dati e il processo decisionale e semplificano il reperimento delle informazioni archiviate in sistemi diversi.
Finance
Il trading algoritmico potenziato dal deep learning viene utilizzato non solo per analizzare i dati di mercato e ottenere informazioni predittive, ma anche per riconoscere schemi complessi e migliorare il rilevamento delle frodi. Il deep learning interviene anche nella gestione del rischio, valutando i rischi creditizi e le condizioni di mercato per un processo decisionale più informato.
Scopri tutti i dettagli della tecnologia di AI nel finance
Settore sanitario
Gli algoritmi di deep learning possono contribuire a migliorare la precisione diagnostica e a rilevare anomalie come i tumori in fase precoce dalle immagini mediche. Le opportunità si estendono anche nel campo della scoperta di nuovi medicinali, grazie alla previsione del comportamento molecolare, facilitando lo sviluppo di nuove terapie.
Settore manifatturiero
La manutenzione predittiva sfrutta l'Internet of Things e il deep learning per anticipare i guasti dei macchinari, riducendo al minimo i tempi di inattività. I sistemi di ispezione visiva addestrati su voluminosi set di dati di immagini possono migliorare il controllo di qualità attraverso il rilevamento dei difetti.
Scopri tutti i dettagli della tecnologia di AI nel settore manifatturiero
Media e Entertainment
L'industria dell'intrattenimento utilizza applicazioni di deep learning per potenziare i suggerimenti di contenuti sulle piattaforme di streaming e aiutare i creatori a sviluppare effetti CGI realistici e comporre musica utilizzando l'AI generativa. Analizza inoltre le preferenze degli spettatori, aiutando i creatori a proporre contenuti su misura e a prevedere le tendenze future.
Retail
Con i suggerimenti di prodotto personalizzati, il deep learning ha rivoluzionato la customer experience nel retail. Permette inoltre di migliorare la gestione dello stock, utilizzando l'analisi predittiva per prevedere la domanda e ottimizzare i livelli di scorte.
Scopri tutti i dettagli della tecnologia di AI nel retail
Supply chain
Le operazioni logistiche si affidano al deep machine learning per ottimizzare la schedulazione delle consegne individuando in tempo reale i disagi al traffico. Il deep learning rende inoltre più accurate le previsioni della domanda e offerta, consentendo aggiustamenti proattivi delle strategie.
I vantaggi e le sfide del deep learning
I vantaggi del deep learning sono realmente impressionanti, ma la complessità di questa tecnologia comporta alcune sfide. E poiché le soluzioni di deep learning richiedono una pianificazione e risorse considerevoli, prima di progettare e implementare questa tecnologia è fondamentale che le organizzazioni stabiliscano obiettivi chiaramente definiti e pratiche di AI responsabile.
- Elevata precisione in attività come il riconoscimento vocale e delle immagini
- Capacità di elaborare e analizzare grandi quantità di dati
- Migliora nel tempo man mano che viene esposto a nuovi dati
- Automatizza l'estrazione delle caratteristiche riducendo la necessità di un intervento manuale
- Rende possibili esperienze personalizzate nei servizi e prodotti
- Richiede grandi set di dati per l'addestramento
- Utilizzo intensivo di calcoli, con la necessità di una significativa potenza di elaborazione
- Può essere una "scatola nera", tale da rendere difficile la comprensione dei processi decisionali dei modelli
- Soggetto al rischio di perpetuare distorsioni inique se i dati dell'addestramento sono errati
- Necessita di dati e monitoraggio continui per mantenere le performance nel tempo
Deep learning vs. machine learning vs. AI
Tra il machine learning tradizionale e il deep learning vi sono alcune differenze cruciali:
Il machine learning si affida agli operatori umani per individuare e selezionare manualmente le funzionalità o caratteristiche dei dati importanti per un task, come i bordi nelle immagini o parole specifiche in un testo. Questo processo di addestramento richiede un elevato livello di expertise e impegno.
Il deep learning permette invece alle macchine di stabilire automaticamente quali caratteristiche dei dati sono più importanti per l'esecuzione di compiti specifici. Ciò avviene attraverso l'elaborazione dei dati grezzi, per esempio i pixel di una immagine, nei vari strati della rete neurale. Ogni strato trasforma i dati in una forma più astratta, basandosi sull'output dello strato precedente. Man mano che viene esposto a nuovi dati, il modello affina costantemente queste trasformazioni in termini di accuratezza e prestazioni, diventando nel tempo sempre più efficace.
Esempio di confronto tra AI, deep learning e machine learning
Se la distinzione tra AI, machine learning e deep learning non ti è chiara, sei in buona compagnia. Proviamo allora a mettere a confronto intelligenza artificiale, apprendimento profondo e apprendimento automatico con un esempio reale riguardante i veicoli a guida autonoma:
L'AI è la tecnologia generale utilizzata per trasmettere ai veicoli a guida autonoma un'intelligenza e un'autonomia simili a quelle umane. Si suddivide in machine learning e deep learning.
Il machine learning è la branca dell'AI che consente ai sistemi a guida autonoma di apprendere e migliorare dai dati senza essere specificamente programmati per ogni scenario.
Il deep learning è la branca specializzata del machine learning che elabora e interpreta gli input complessi, compresi i dati visivi provenienti dalle telecamere, dando senso all'ambiente in tempo reale.
Deep learning vs. modelli di deep learning
Per quanto utilizzati spesso in modo intercambiabile, i termini "deep learning" e "modelli di deep learning" hanno in realtà significati leggermente diversi:
Il deep learning si riferisce all'intero campo di studio, esteso alle teorie, alle tecniche, agli algoritmi e ai processi utilizzati per addestrare le reti neurali artificiali.
I modelli di deep learning si riferiscono invece alle specifiche reti neurali che vengono progettate e addestrate per risolvere un particolare problema o eseguire un compito specifico. Ogni modello è unico, caratterizzato da specificità proprie in termini di dati, addestramento e compito. Le prestazioni di un modello dipendono da vari fattori:
- Come viene addestrato, ossia la qualità e la quantità dei dati e il relativo tasso di apprendimento.
- La progettazione e la potenza di calcolo dell'infrastruttura informatica su cui viene eseguito.
Cosa sono le reti neurali profonde?
Le reti di deep learning, note anche come reti neurali profonde, apprendono schemi complessi da grandi set di dati aggiustando le connessioni neurali attraverso l'addestramento. Si declinano in varie tipologie principali: reti neurali artificiali, reti neurali convoluzionali, reti neurali ricorrenti, reti neurali generative e autoencoders.
Tipologie di reti neurali profonde
Requisiti dell'infrastruttura di deep learning
Per elaborare modelli complessi ed enormi set di dati, il deep learning richiede un'infrastruttura di calcolo e di rete specializzata. Non essendo concretamente possibile eseguire modelli di deep learning su apparecchiature generiche di rete e hardware, molte organizzazioni adottano piattaforme di enterprise AI per soddisfare i requisiti necessari. Questi i principali aspetti di cui tener conto a livello infrastrutturale:
GPU ad alte prestazioni
La dorsale dell'infrastruttura di deep learning è costituita dalle unità di elaborazione grafica ad alte prestazioni (GPU). Originariamente progettate per il rendering della grafica nei videogiochi, le GPU hanno capacità di elaborazione tali da renderle adatte al deep learning. La loro capacità di eseguire più calcoli contemporaneamente riduce notevolmente i tempi di addestramento dei modelli e le rende insostituibili per la ricerca avanzata e le applicazioni dell'AI.
Soluzioni di storage scalabili
Maggiore è il numero di dati da cui un modello può apprendere, migliori saranno le sue prestazioni. Ne consegue la necessità di soluzioni di storage scalabili e rapide in grado di gestire petabyte di dati senza creare colli di bottiglia nel loro recupero. Per soddisfare queste esigenze vengono comunemente utilizzati file system distribuiti e unità a stato solido, che offrono un accesso ai dati ad alta velocità, al passo con le performance di calcolo delle GPU.
Framework efficienti di elaborazione dei dati
Framework e librerie come TensorFlow, PyTorch e Keras semplificano lo sviluppo di modelli di deep learning offrendo funzioni preconfigurate, che riducono la necessità di programmare da zero. Oltre a velocizzare il processo di sviluppo, questi strumenti ottimizzano l'efficienza computazionale dell'addestramento e dell'inferenza, consentendo un utilizzo efficace dell'hardware sottostante.
Piattaforme di cloud computing
Le piattaforme di cloud computing svolgono un ruolo fondamentale nel rendere diffusamente accessibile il deep learning. Forniscono l'accesso on-demand a risorse di calcolo ad alte prestazioni, eliminando la necessità di pesanti investimenti iniziali in hardware fisico. Queste piattaforme offrono vari servizi, tra cui istanze GPU, storage scalabile e framework di machine learning, rendendo più facile per singoli utenti e organizzazioni creare e distribuire modelli di deep learning.
Infrastruttura di rete
Poiché i modelli di deep learning vengono spesso addestrati su più GPU e persino in diverse ubicazioni geografiche, è fondamentale disporre di una solida infrastruttura di rete. La connettività a elevata ampiezza di banda garantisce che i parametri dei dati e dei modelli possano essere trasferiti in modo efficiente tra i nodi in una configurazione di addestramento distribuita, riducendo al minimo i ritardi e ottimizzando il processo stesso di addestramento.
Esplora l'AI pensata per il business
Scopri come migliorare e collegare meglio le persone, i dati e i processi della tua impresa.
FAQ
- Reti neurali convoluzionali: un esempio noto è la funzione di sblocco con il volto dello smartphone. Le reti neurali convoluzionali analizzano le caratteristiche facciali catturate dalla fotocamera per verificare l'identità dell'utente, consentendo un accesso sicuro e rapido al dispositivo. Questo processo sottende l'apprendimento, da parte della rete, di varie immagini per riconoscere e confermare con precisione il volto dell'utente.
- Reti neurali ricorrenti: ideali per compiti che chiamano in causa sequenze, come la previsione della parola successiva in una frase. Questa prerogativa le rende straordinariamente utili in applicazioni come il testo predittivo dello smartphone, in cui la rete apprende dalla sequenza delle tue digitazioni per suggerire la parola successiva che potresti immettere.
- Autoencoders: un esempio pratico ci è dato dalla compressione delle immagini, in cui gli autoencoders riducono le dimensioni delle immagini ai fini di archiviazione o trasmissione, per poi ripristinarne all'occorrenza la qualità originaria. Questo processo permette di ridurre lo spazio necessario all'archiviazione delle immagini senza alterarne la qualità.
Esplora l'AI pensata per il business
Scopri come migliorare e collegare meglio le persone, i dati e i processi della tua impresa.