Per anni, il deep learning ha fatto notizia nella tecnologia. Ed è semplice capire perché.
Questo ramo dell'intelligenza artificiale sta trasformando settori che vanno dall'assistenza sanitaria alle banche ai trasporti, consentendo progressi prima impensabili.
Il deep learning si basa su una serie di sofisticati algoritmi che imparano a estrarre e prevedere modelli complicati da enormi volumi di dati.
Esamineremo i migliori 15 algoritmi di deep learning in questo post, dalle reti neurali convoluzionali alle reti generative contraddittorie alle reti di memoria a lungo termine.
Questo post fornirà informazioni essenziali sul fatto che tu sia un principiante o esperto di deep learning.
1. Reti di trasformatori
Le reti di trasformatori si sono trasformate visione computerizzata e applicazioni di elaborazione del linguaggio naturale (NLP). Analizzano i dati in arrivo e impiegano processi di attenzione per acquisire relazioni a lungo raggio. Questo li rende più veloci dei tradizionali modelli sequenza-sequenza.
Le reti di trasformatori sono state descritte per la prima volta nella pubblicazione "Attention Is All You Need" di Vaswani et al.
Sono costituiti da un codificatore e un decodificatore (2017). Il modello del trasformatore ha dimostrato prestazioni in una varietà di applicazioni NLP, tra cui sentiment analysis, categorizzazione del testo e traduzione automatica.
I modelli basati su trasformatore possono essere utilizzati anche nella visione artificiale per le applicazioni. Possono eseguire il riconoscimento degli oggetti e la didascalia delle immagini.
2. Reti di memoria a lungo termine (LSTM)
Le reti di memoria a lungo termine (LSTM) sono una forma di rete neurale costruito appositamente per gestire l'input sequenziale. Sono indicati come "lungo breve termine" perché possono ricordare la conoscenza di molto tempo fa dimenticando anche informazioni non necessarie.
Gli LSTM operano attraverso alcuni "cancelli" che regolano il flusso di informazioni all'interno della rete. A seconda che l'informazione sia giudicata significativa o meno, queste porte possono farla entrare o impedirla.
Questa tecnica consente agli LSTM di richiamare o dimenticare le informazioni dei passaggi temporali passati, il che è fondamentale per attività come il riconoscimento vocale, l'elaborazione del linguaggio naturale e la previsione di serie temporali.
Gli LSTM sono estremamente utili in ogni caso in cui si dispone di dati sequenziali che devono essere valutati o previsti. Sono spesso utilizzati nei software di riconoscimento vocale per convertire le parole pronunciate in testo o in borsa analisi per prevedere i prezzi futuri sulla base di dati precedenti.
3. Mappe auto-organizzanti (SOM)
I SOM sono una sorta di artificiale rete neurale in grado di apprendere e rappresentare dati complicati in un ambiente a bassa dimensione. Il metodo funziona trasformando i dati di input ad alta dimensione in una griglia bidimensionale, con ogni unità o neurone che rappresenta una parte diversa dello spazio di input.
I neuroni sono collegati tra loro e creano una struttura topologica, consentendo loro di apprendere e adattarsi ai dati di input. Quindi, SOM si basa sull'apprendimento senza supervisione.
L'algoritmo non ha bisogno dati etichettati da cui imparare. Invece, utilizza le caratteristiche statistiche dei dati di input per scoprire modelli e correlazioni tra le variabili.
Durante la fase di addestramento, i neuroni competono per essere la migliore indicazione dei dati di input. E si auto-organizzano in una struttura significativa. I SOM hanno una vasta gamma di applicazioni, tra cui riconoscimento di immagini e parlato, data mining e riconoscimento di pattern.
Sono utili per visualizzazione di dati complicati, raggruppamento di punti dati correlati e rilevamento di anomalie o valori anomali.
4. Apprendimento per rinforzo profondo
In profondità Insegnamento rafforzativo è una sorta di apprendimento automatico in cui un agente viene addestrato a prendere decisioni sulla base di un sistema di ricompensa. Funziona consentendo all'agente di interagire con l'ambiente circostante e apprendere attraverso tentativi ed errori.
L'agente viene ricompensato per ogni azione che fa e il suo scopo è imparare come ottimizzare i suoi benefici nel tempo. Questo può essere usato per insegnare agli agenti a giocare, guidare automobili e persino gestire robot.
Il Q-Learning è un noto metodo di Deep Reinforcement Learning. Funziona valutando il valore di compiere una certa azione in un particolare stato e aggiornando quella stima man mano che l'agente interagisce con l'ambiente.
L'agente utilizza quindi queste stime per determinare quale azione è più probabile che si traduca nella ricompensa più grande. Il Q-Learning è stato utilizzato per educare gli agenti a giocare ai giochi Atari, nonché per migliorare l'utilizzo dell'energia nei data center.
Deep Q-Networks è un altro famoso metodo Deep Reinforcement Learning (DQN). I DQN sono simili al Q-Learning in quanto stimano i valori delle azioni utilizzando una rete neurale profonda anziché una tabella.
Ciò consente loro di gestire ambienti enormi e complicati con numerose azioni alternative. I DQN sono stati utilizzati per addestrare agenti a giocare a giochi come Go e Dota 2, nonché per creare robot in grado di imparare a camminare.
5. Reti neurali ricorrenti (RNN)
Gli RNN sono una sorta di rete neurale in grado di elaborare dati sequenziali mantenendo uno stato interno. Consideralo simile a una persona che legge un libro, in cui ogni parola viene digerita in relazione a quelle che l'hanno preceduta.
Gli RNN sono quindi ideali per attività come il riconoscimento vocale, la traduzione linguistica e persino la previsione della parola successiva in una frase.
Gli RNN funzionano utilizzando cicli di feedback per collegare l'uscita di ogni passo temporale all'ingresso del passo temporale successivo. Ciò consente alla rete di utilizzare le informazioni sui passaggi temporali precedenti per informare le sue previsioni per i passaggi temporali futuri. Sfortunatamente, questo significa anche che gli RNN sono vulnerabili al problema del gradiente in via di estinzione, in cui i gradienti utilizzati per l'addestramento diventano molto piccoli e la rete fatica ad apprendere relazioni a lungo termine.
Nonostante questo apparente vincolo, gli RNN hanno trovato impiego in un'ampia gamma di applicazioni. Queste applicazioni includono l'elaborazione del linguaggio naturale, il riconoscimento vocale e persino la produzione musicale.
Google Traduttore, ad esempio, utilizza un sistema basato su RNN per tradurre in più lingue, mentre Siri, l'assistente virtuale, utilizza un sistema basato su RNN per rilevare la voce. Gli RNN sono stati utilizzati anche per prevedere i prezzi delle azioni e creare testo e grafica realistici.
6. Reti di capsule
Capsule Networks è un nuovo tipo di progettazione di reti neurali in grado di identificare modelli e correlazioni nei dati in modo più efficace. Organizzano i neuroni in "capsule" che codificano alcuni aspetti di un input.
In questo modo possono fare previsioni più accurate. Le Capsule Network estraggono proprietà progressivamente complicate dai dati di input impiegando numerosi strati di capsule.
La tecnica di Capsule Networks consente loro di apprendere rappresentazioni gerarchiche dell'input dato. Possono codificare correttamente le connessioni spaziali tra gli elementi all'interno di un'immagine comunicando tra le capsule.
L'identificazione degli oggetti, la segmentazione delle immagini e l'elaborazione del linguaggio naturale sono tutte applicazioni di Capsule Networks.
Le Capsule Network hanno il potenziale per essere impiegate guida autonoma tecnologie. Aiutano il sistema a riconoscere e distinguere tra elementi come automobili, persone e segnali stradali. Questi sistemi possono evitare le collisioni effettuando previsioni più precise sul comportamento degli oggetti nel loro ambiente.
7. Codificatori automatici variazionali (VAE)
I VAE sono una forma di strumento di deep learning che viene utilizzato per l'apprendimento senza supervisione. Codificando i dati in uno spazio dimensionale inferiore e quindi decodificandoli nuovamente nel formato originale, possono imparare a individuare schemi nei dati.
Sono come un mago che può trasformare un coniglio in un cappello e poi di nuovo in un coniglio! I VAE sono utili per la generazione di immagini o musica realistiche. Inoltre, possono essere utilizzati per produrre nuovi dati paragonabili ai dati originali.
I VAE sono simili ai decifratori di codici segreti. Possono scoprire il sottostante struttura dei dati scomponendolo in parti più semplici, proprio come si scompone un puzzle. Possono utilizzare tali informazioni per creare nuovi dati che assomiglino all'originale dopo aver risolto le parti.
Questo può essere utile per comprimere file enormi o produrre nuova grafica o musica in un certo stile. I VAE possono anche produrre nuovi contenuti, come notizie o testi musicali.
8. Generative Adversarial Network (GAN)
I GAN (Generative Adversarial Networks) sono una forma di un sistema di deep learning che genera nuovi dati che assomigliano all'originale. Operano addestrando due reti: una rete generatore e una rete discriminatore.
Il generatore produce nuovi dati paragonabili all'originale.
Inoltre, il discriminatore tenta di distinguere tra i dati originali e quelli creati. Le due reti vengono addestrate in tandem, con il generatore che tenta di ingannare il discriminatore e il discriminatore che tenta di identificare correttamente i dati originali.
Considera i GAN come un incrocio tra un falsario e un detective. Il generatore funziona in modo simile a un falsario, producendo nuove opere d'arte che assomigliano all'originale.
Il discriminatore agisce come un detective, tentando di distinguere tra opere d'arte autentiche e contraffazioni. Le due reti vengono addestrate in tandem, con il generatore che migliora nel creare falsi plausibili e il discriminatore che migliora nel riconoscerli.
I GAN hanno diversi usi, che vanno dalla produzione di immagini realistiche di esseri umani o animali alla creazione di nuova musica o scrittura. Possono anche essere utilizzati per l'aumento dei dati, che comporta la combinazione di dati prodotti con dati reali per creare un set di dati più grande per l'addestramento di modelli di apprendimento automatico.
9. Deep Q-Network (DQN)
I Deep Q-Network (DQN) sono una sorta di algoritmo di apprendimento per rinforzo decisionale. Operano imparando una funzione Q che prevede la ricompensa prevista per aver compiuto una certa azione in una particolare condizione.
La funzione Q viene insegnata per tentativi ed errori, con l'algoritmo che tenta varie azioni e apprende dai risultati.
Consideralo come un videogiochi personaggio che sperimenta varie azioni e scopre quali portano al successo! I DQN addestrano la funzione Q utilizzando una rete neurale profonda, rendendoli strumenti efficaci per compiti decisionali difficili.
Hanno persino sconfitto campioni umani in giochi come Go e scacchi, così come nella robotica e nelle automobili a guida autonoma. Quindi, tutto sommato, i DQN lavorano imparando dall'esperienza per migliorare le loro capacità decisionali nel tempo.
10. Reti di funzioni a base radiale (RBFN)
Le reti di funzioni a base radiale (RBFN) sono una sorta di rete neurale utilizzata per approssimare funzioni ed eseguire attività di classificazione. Operano trasformando i dati di input in uno spazio dimensionale superiore utilizzando una raccolta di funzioni di base radiale.
L'output della rete è una combinazione lineare delle funzioni di base e ciascuna funzione di base radiale rappresenta un punto centrale nello spazio di input.
Gli RBFN sono particolarmente efficaci per situazioni con complicate interazioni input-output e possono essere insegnati utilizzando un'ampia gamma di tecniche, compreso l'apprendimento supervisionato e non supervisionato. Sono stati usati per qualsiasi cosa, dalle previsioni finanziarie al riconoscimento di immagini e parole alla diagnostica medica.
Considera gli RBFN come un sistema GPS che utilizza una serie di punti di ancoraggio per orientarsi su terreni difficili. L'output della rete è una combinazione dei punti di ancoraggio, che rappresentano le funzioni di base radiale.
Possiamo sfogliare informazioni complicate e generare previsioni precise su come andrà a finire uno scenario utilizzando gli RBFN.
11. Perceptron multistrato (MLP)
Una forma tipica di rete neurale chiamata percettrone multistrato (MLP) viene utilizzata per compiti di apprendimento supervisionato come la classificazione e la regressione. Funzionano impilando diversi strati di nodi collegati, o neuroni, con ogni strato che modifica in modo non lineare i dati in arrivo.
In un MLP, ogni neurone riceve input dai neuroni nello strato sottostante e invia un segnale ai neuroni nello strato superiore. L'output di ciascun neurone viene determinato utilizzando una funzione di attivazione, che conferisce alla rete non linearità.
Sono in grado di apprendere rappresentazioni sofisticate dei dati di input poiché possono avere diversi livelli nascosti.
Gli MLP sono stati applicati a una varietà di attività, come l'analisi del sentimento, il rilevamento delle frodi e il riconoscimento di voci e immagini. Gli MLP possono essere paragonati a un gruppo di investigatori che lavorano insieme per risolvere un caso difficile.
Insieme, possono mettere insieme i fatti e risolvere il crimine nonostante ognuno abbia una particolare area di specializzazione.
12. Reti neurali convoluzionali (CNN)
Immagini e video vengono elaborati utilizzando reti neurali convoluzionali (CNN), una forma di rete neurale. Funzionano utilizzando una serie di filtri apprendibili, o kernel, per estrarre caratteristiche significative dai dati di input.
I filtri scorrono sull'immagine di input, eseguendo convoluzioni per costruire una mappa delle caratteristiche che catturi gli aspetti essenziali dell'immagine.
Poiché le CNN sono in grado di apprendere rappresentazioni gerarchiche delle caratteristiche dell'immagine, sono particolarmente utili per situazioni che coinvolgono enormi volumi di dati visivi. Diverse applicazioni ne hanno fatto uso, come il rilevamento di oggetti, la categorizzazione delle immagini e il rilevamento dei volti.
Considera le CNN come un pittore che usa diversi pennelli per creare un capolavoro. Ogni pennello è un nocciolo e l'artista può costruire un'immagine complessa e realistica mescolando molti noccioli. Possiamo estrarre caratteristiche significative dalle foto e utilizzarle per prevedere con precisione il contenuto dell'immagine utilizzando le CNN.
13. Reti di credenze profonde (DBN)
I DBN sono una forma di rete neurale utilizzata per attività di apprendimento senza supervisione come la riduzione della dimensionalità e l'apprendimento delle funzionalità. Funzionano impilando diversi strati di Restricted Boltzmann Machines (RBM), che sono reti neurali a due strati in grado di imparare a ricostituire i dati di input.
I DBN sono molto utili per i problemi di dati ad alta dimensione perché possono apprendere una rappresentazione compatta ed efficiente dell'input. Sono stati utilizzati per qualsiasi cosa, dal riconoscimento vocale alla categorizzazione delle immagini fino alla scoperta di farmaci.
Ad esempio, i ricercatori hanno utilizzato un DBN per stimare l'affinità di legame dei farmaci candidati al recettore degli estrogeni. Il DBN è stato addestrato su una raccolta di caratteristiche chimiche e affinità di legame ed è stato in grado di prevedere con precisione l'affinità di legame di nuovi farmaci candidati.
Ciò evidenzia l'uso dei DBN nello sviluppo di farmaci e in altre applicazioni di dati ad alta dimensione.
14. Codificatori automatici
Gli autoencoder sono reti neurali utilizzate per attività di apprendimento senza supervisione. Hanno lo scopo di ricostruire i dati di input, il che implica che impareranno a codificare le informazioni in una rappresentazione compatta e quindi a decodificarle nuovamente nell'input originale.
Gli autoencoder sono molto efficaci per la compressione dei dati, la rimozione del rumore e il rilevamento delle anomalie. Possono essere utilizzati anche per l'apprendimento delle funzionalità, in cui la rappresentazione compatta dell'autoencoder viene inserita in un compito di apprendimento supervisionato.
Considera gli autoencoder come studenti che prendono appunti in classe. Lo studente ascolta la lezione e annota i punti più rilevanti in modo conciso ed efficace.
Successivamente, lo studente può studiare e ricordare la lezione usando i propri appunti. Un codificatore automatico, d'altra parte, codifica i dati di input in una rappresentazione compatta che può essere successivamente utilizzata per scopi diversi come il rilevamento di anomalie o la compressione dei dati.
15. Macchine Boltzmann limitate (RBM)
Le RBM (Restricted Boltzmann Machines) sono una sorta di rete neurale generativa che viene utilizzata per compiti di apprendimento senza supervisione. Sono costituiti da uno strato visibile e uno nascosto, con neuroni in ogni strato, collegati ma non all'interno dello stesso strato.
Gli RBM vengono addestrati utilizzando una tecnica nota come divergenza contrastiva, che comporta la modifica dei pesi tra gli strati visibili e nascosti al fine di ottimizzare la probabilità dei dati di addestramento. Gli RBM possono creare nuovi dati dopo essere stati addestrati campionando dalla distribuzione appresa.
Il riconoscimento di immagini e parole, il filtraggio collaborativo e il rilevamento di anomalie sono tutte applicazioni che hanno utilizzato gli RBM. Sono stati anche utilizzati nei sistemi di raccomandazione per creare raccomandazioni su misura imparando i modelli dal comportamento degli utenti.
Gli RBM sono stati utilizzati anche nell'apprendimento delle funzionalità per creare una rappresentazione compatta ed efficiente di dati ad alta dimensione.
Riepilogo e sviluppi promettenti all'orizzonte
I metodi di deep learning, come le reti neurali convoluzionali (CNN) e le reti neurali ricorrenti (RNN), sono tra gli approcci di intelligenza artificiale più avanzati. Le CNN hanno trasformato il riconoscimento di immagini e audio, mentre le RNN hanno fatto progressi significativi nell'elaborazione del linguaggio naturale e nell'analisi sequenziale dei dati.
È probabile che il prossimo passo nell'evoluzione di questi approcci si concentri sul miglioramento della loro efficienza e scalabilità, consentendo loro di analizzare set di dati più grandi e più complicati, oltre a migliorare la loro interpretabilità e capacità di apprendere da dati meno etichettati.
Il deep learning ha la possibilità di consentire scoperte in campi come l'assistenza sanitaria, la finanza e i sistemi autonomi man mano che avanza.
Lascia un Commento