mozzicone Che cos'è l'apprendimento profondo? (2024) - Unite.AI
Seguici sui social
Corso di perfezionamento sull'intelligenza artificiale:

AI 101

Cos'è l'apprendimento profondo?

mm
aggiornato on

Il deep learning è uno dei campi più influenti e in più rapida crescita nell’intelligenza artificiale. Tuttavia, ottenere una comprensione intuitiva del deep learning può essere difficile perché il termine deep learning copre una varietà di algoritmi e tecniche diversi. Il deep learning è anche una sottodisciplina del machine learning in generale, quindi è importante capire cos'è il machine learning per comprendere il deep learning.

Cos'è l'apprendimento automatico?

Apprendimento approfondito è un'estensione di alcuni dei concetti originati dall'apprendimento automatico, quindi, per questo motivo, dedichiamo un minuto a spiegare cos'è l'apprendimento automatico.

In parole povere, l'apprendimento automatico è un metodo per consentire ai computer di eseguire attività specifiche senza codificare esplicitamente ogni riga degli algoritmi utilizzati per eseguire tali attività. Esistono molti algoritmi di apprendimento automatico diversi, ma uno degli algoritmi più comunemente utilizzati è a perceptron multistrato. Un percettrone multistrato viene anche chiamato rete neurale ed è composto da una serie di nodi/neuroni collegati tra loro. Ci sono tre livelli diversi in un percettrone multistrato: il livello di input, il livello nascosto e il livello di output.

Il livello di input porta i dati nella rete, dove vengono manipolati dai nodi nel livello intermedio/nascosto. I nodi nel livello nascosto sono funzioni matematiche che possono manipolare i dati provenienti dal livello di input, estraendo modelli rilevanti dai dati di input. È così che la rete neurale “impara”. Le reti neurali prendono il nome dal fatto che si ispirano alla struttura e alla funzione del cervello umano.

Le connessioni tra i nodi della rete hanno valori chiamati pesi. Questi valori sono essenzialmente ipotesi su come i dati in un livello sono correlati ai dati nel livello successivo. Man mano che la rete si allena, i pesi vengono adattati e l'obiettivo è che i pesi/le ipotesi sui dati alla fine convergeranno su valori che rappresentano accuratamente i modelli significativi all'interno dei dati.

Le funzioni di attivazione sono presenti nei nodi della rete e queste funzioni di attivazione trasformano i dati in modo non lineare, consentendo alla rete di apprendere rappresentazioni complesse dei dati. Le funzioni di attivazione moltiplicano i valori di input per i valori di peso e aggiungono un termine di polarizzazione.

Cos'è l'apprendimento profondo?

Deep learning è il termine dato alle architetture di apprendimento automatico che uniscono molti perceptron multistrato insieme, in modo che non ci sia solo uno strato nascosto ma molti strati nascosti. Più "profonda" è la rete neurale profonda, più modelli sofisticati la rete può apprendere.

Le reti di strati profondi composte da neuroni sono talvolta indicate come reti completamente connesse o strati completamente connessi, in riferimento al fatto che un dato neurone mantiene una connessione con tutti i neuroni che lo circondano. Le reti completamente connesse possono essere combinate con altre funzioni di machine learning per creare diverse architetture di deep learning.

Diversi tipi di apprendimento profondo

Esistono diverse architetture di deep learning utilizzate da ricercatori e ingegneri e ciascuna delle diverse architetture ha il proprio caso d'uso specializzato.

Reti neurali involutive

Reti neurali convoluzionali, o CNN, sono l'architettura di rete neurale comunemente utilizzata nella creazione di sistemi di visione artificiale. La struttura delle reti neurali convoluzionali consente loro di interpretare i dati delle immagini, convertendoli in numeri che una rete completamente connessa può interpretare. Una CNN ha quattro componenti principali:

  • Strati convoluzionali
  • Livelli di sottocampionamento/raggruppamento
  • Funzioni di attivazione
  • Strati completamente connessi

Gli strati convoluzionali sono ciò che prende le immagini come input nella rete, analizzando le immagini e ottenendo i valori dei pixel. Il sottocampionamento o raggruppamento è il punto in cui i valori dell'immagine vengono convertiti/ridotti per semplificare la rappresentazione delle immagini e ridurre la sensibilità dei filtri dell'immagine al rumore. Le funzioni di attivazione controllano il modo in cui i dati fluiscono da un livello al livello successivo e i livelli completamente connessi sono ciò che analizza i valori che rappresentano l'immagine e apprende i modelli contenuti in tali valori.

RNN/LSTM

Reti neurali ricorrenti, o RNN, sono popolari per attività in cui l'ordine dei dati è importante e in cui la rete deve apprendere una sequenza di dati. Gli RNN vengono comunemente applicati a problemi come l'elaborazione del linguaggio naturale, poiché l'ordine delle parole è importante quando si decodifica il significato di una frase. La parte “ricorrente” del termine Rete Neurale Ricorrente deriva dal fatto che l'output per un dato elemento in una sequenza dipende dal calcolo precedente e dal calcolo corrente. A differenza di altre forme di reti neurali profonde, le RNN hanno “memorie” e le informazioni calcolate nei diversi passaggi temporali della sequenza vengono utilizzate per calcolare i valori finali.

Esistono diversi tipi di RNN, inclusi RNN bidirezionali, che tengono conto degli elementi futuri nella sequenza, oltre agli elementi precedenti, quando si calcola il valore di un elemento. Un altro tipo di RNN è a Memoria a lungo termine o LSTM, rete. Gli LSTM sono tipi di RNN in grado di gestire lunghe catene di dati. Gli RNN regolari possono cadere vittime di qualcosa chiamato "problema del gradiente esplosivo". Questo problema si verifica quando la catena di dati di input diventa estremamente lunga, ma gli LSTM dispongono di tecniche per combattere questo problema.

Autoencoder

La maggior parte delle architetture di deep learning menzionate finora vengono applicate a problemi di apprendimento supervisionato, piuttosto che a compiti di apprendimento non supervisionato. Gli autocodificatori sono in grado di trasformare i dati non supervisionati in un formato supervisionato, consentendo l'utilizzo delle reti neurali sul problema.

Autoencoder sono spesso utilizzati per rilevare anomalie nei set di dati, un esempio di apprendimento non supervisionato poiché la natura dell'anomalia non è nota. Tali esempi di rilevamento delle anomalie includono il rilevamento delle frodi per gli istituti finanziari. In questo contesto, lo scopo di un codificatore automatico è determinare una linea di base di modelli regolari nei dati e identificare anomalie o valori anomali.

La struttura di un codificatore automatico è spesso simmetrica, con livelli nascosti disposti in modo tale che l'output della rete assomigli all'input. I quattro tipi di codificatori automatici che vedono un uso frequente sono:

  • Codificatori automatici normali/semplici
  • Codificatori multistrato
  • Encoder convoluzionali
  • Encoder regolarizzati

Gli autoencoder regolari/semplici sono solo reti neurali con un singolo livello nascosto, mentre gli autoencoder multistrato sono reti profonde con più di un livello nascosto. I codificatori automatici convoluzionali utilizzano livelli convoluzionali anziché o in aggiunta a livelli completamente connessi. Gli autocodificatori regolarizzati utilizzano un tipo specifico di funzione di perdita che consente alla rete neurale di eseguire funzioni più complesse, funzioni diverse dalla semplice copia degli input negli output.

Reti del contraddittorio generativo

Generative Adversarial Networks (GAN) sono in realtà più reti neurali profonde invece di una sola rete. Due modelli di deep learning vengono addestrati contemporaneamente e i loro output vengono inviati all'altra rete. Le reti sono in competizione l'una con l'altra e poiché hanno accesso ai reciproci dati di output, entrambe apprendono da questi dati e migliorano. Le due reti stanno essenzialmente giocando a un gioco di contraffazione e rilevamento, in cui il modello generativo cerca di creare nuove istanze che inganneranno il modello investigativo/il discriminatore. I GAN sono diventati popolari nel campo della visione artificiale.

Riepilogo dell'apprendimento approfondito

Il deep learning estende i principi delle reti neurali per creare modelli sofisticati in grado di apprendere modelli complessi e generalizzare tali modelli a set di dati futuri. Le reti neurali convoluzionali vengono utilizzate per interpretare le immagini, mentre gli RNN/LSTM vengono utilizzati per interpretare i dati sequenziali. Gli autoencoder possono trasformare attività di apprendimento non supervisionate in attività di apprendimento supervisionate. Infine, i GAN sono più reti messe l'una contro l'altra che sono particolarmente utili per le attività di visione artificiale.

Blogger e programmatore con specialità in machine Learning ed Deep Learning temi. Daniel spera di aiutare gli altri a usare il potere dell'intelligenza artificiale per il bene sociale.