Le 10 migliori tecniche di deep learning che dovresti conoscere
Pubblicato: 2020-05-29Sommario
introduzione
L'apprendimento automatico e l'intelligenza artificiale hanno cambiato il mondo intorno a noi negli ultimi anni con la sua innovazione rivoluzionaria. Inoltre, sono le varie tecniche di deep learning che portano il Machine Learning a un livello completamente nuovo in cui le macchine possono imparare a discernere i compiti, ispirandosi alla rete neurale del cervello umano. È il motivo per cui abbiamo il controllo vocale sui nostri smartphone e telecomandi TV.
Esistono diversi tipi di modelli di deep learning che sono sia accurati che affrontano efficacemente problemi troppo complessi per il cervello umano. Ecco come:
Le 10 migliori tecniche di apprendimento profondo
1. Reti neurali classiche
Conosciuto anche come reti neurali completamente connesse, è spesso identificato dai suoi perceptron multistrato, in cui i neuroni sono collegati allo strato continuo. È stato progettato da Fran Rosenblatt, uno psicologo americano, nel 1958. Implica l'adattamento del modello in input di dati binari fondamentali. Ci sono tre funzioni incluse in questo modello: sono:
- Funzione lineare: Detta giustamente, rappresenta una singola riga che moltiplica i suoi input con un moltiplicatore costante.
- Funzione non lineare: è ulteriormente suddivisa in tre sottoinsiemi:
- Curva sigmoidea: è una funzione interpretata come una curva a forma di S con un intervallo da 0 a 1.
- La tangente iperbolica (tanh) si riferisce alla curva a forma di S con un intervallo da -1 a 1.
- Unità lineare rettificata (ReLU): è una funzione a punto singolo che restituisce 0 quando il valore di ingresso è inferiore al valore impostato e restituisce il multiplo lineare se l'ingresso è maggiore del valore impostato.
Funziona meglio in:
- Qualsiasi set di dati di tabella con righe e colonne formattate in CSV
- Problemi di classificazione e regressione con l'immissione di valori reali
- Qualsiasi modello con la massima flessibilità, come quello di ANNS
2. Reti neurali convoluzionali
La CNN è un tipo avanzato e ad alto potenziale del classico modello di rete neurale artificiale. È progettato per affrontare una maggiore complessità, preelaborazione e compilazione dei dati. Prende riferimento dall'ordine di disposizione dei neuroni presenti nella corteccia visiva di un cervello animale.
Le CNN possono essere considerate uno dei modelli più efficienti e flessibili per la specializzazione in dati di immagine e non di immagine. Questi hanno quattro diverse organizzazioni:

- È costituito da un unico livello di input, che generalmente è una disposizione bidimensionale di neuroni per l'analisi dei dati dell'immagine primaria, simile a quella dei pixel delle foto.
- Alcune CNN sono anche costituite da uno strato di output unidimensionale di neuroni che elabora le immagini sui loro input, tramite gli strati convoluzionali collegati sparsi.
- Le CNN hanno anche la presenza di un terzo strato noto come strato di campionamento per limitare il numero di neuroni coinvolti negli strati di rete corrispondenti.
- Nel complesso, le CNN hanno uno o più livelli collegati che collegano il campionamento ai livelli di output.
Questo modello di rete può aiutare a ricavare dati di immagine rilevanti sotto forma di unità o blocchi più piccoli. I neuroni presenti negli strati di convoluzione sono responsabili del cluster di neuroni nello strato precedente.
Una volta che i dati di input sono stati importati nel modello convoluzionale, ci sono quattro fasi coinvolte nella costruzione della CNN:
- Convoluzione: il processo deriva le mappe delle caratteristiche dai dati di input, seguite da una funzione applicata a queste mappe.
- Max-Pooling: aiuta la CNN a rilevare un'immagine in base a determinate modifiche.
- Appiattimento: in questa fase, i dati generati vengono quindi appiattiti per essere analizzati da una CNN.
- Connessione completa: viene spesso descritto come un livello nascosto che compila la funzione di perdita per un modello.
Le CNN sono adeguate per attività, tra cui il riconoscimento delle immagini, l'analisi delle immagini, la segmentazione delle immagini, l'analisi dei video e l'elaborazione del linguaggio naturale. Tuttavia, possono esserci altri scenari in cui le reti CNN possono rivelarsi utili come:
- Set di dati di immagini contenenti analisi di documenti OCR
- Qualsiasi dato di input bidimensionale che può essere ulteriormente trasformato in unidimensionale per un'analisi più rapida
- Il modello deve essere coinvolto nella sua architettura per produrre output.
Per saperne di più: Rete neurale convulazionale
3. Reti neurali ricorrenti (RNN)
Gli RNN sono stati inizialmente progettati per aiutare a prevedere le sequenze, ad esempio, l'algoritmo della memoria a lungo termine (LSTM) è noto per le sue molteplici funzionalità. Tali reti funzionano interamente su sequenze di dati di lunghezza variabile in ingresso.
L'RNN mette la conoscenza acquisita dal suo stato precedente come valore di input per la previsione corrente. Pertanto, può aiutare a raggiungere la memoria a breve termine in una rete, portando alla gestione efficace delle variazioni del prezzo delle azioni o di altri sistemi di dati basati sul tempo.
Come accennato in precedenza, esistono due tipi generali di progetti RNN che aiutano nell'analisi dei problemi. Loro sono:
- LSTM: Utile nella previsione di dati in sequenze temporali, utilizzando la memoria. Ha tre porte: Input, Output e Forget.
- Gated RNN: utili anche nella previsione dei dati di sequenze temporali tramite memoria. Ha due porte: Aggiorna e Ripristina.
Funziona meglio in:
- Uno a uno: un singolo ingresso collegato a un'unica uscita, come la classificazione dell'immagine.
- Uno a molti: un singolo input collegato a sequenze di output, come la didascalia dell'immagine che include più parole da una singola immagine.
- Molti a uno: serie di input che generano un singolo output, come l'analisi del sentimento.
- Molti a molti: serie di ingressi che producono serie di uscite, come la classificazione video.
È anche ampiamente utilizzato nella traduzione linguistica, nella modellazione delle conversazioni e altro ancora.
Ottieni il miglior corso di machine learning online dalle migliori università del mondo. Guadagna master, Executive PGP o programmi di certificazione avanzati per accelerare la tua carriera.
4. Reti generative contraddittorie
È una combinazione di due tecniche di deep learning delle reti neurali: un generatore e un discriminatore. Mentre il Generator Network fornisce dati artificiali, il Discriminator aiuta a discernere tra dati reali e falsi.
Entrambe le reti sono competitive, poiché il generatore continua a produrre dati artificiali identici ai dati reali e il discriminatore rileva continuamente dati reali e irreali. In uno scenario in cui è necessario creare una libreria di immagini, la rete Generator produrrebbe dati simulati per le immagini autentiche. Genererebbe quindi una rete neurale di deconvoluzione.
Sarebbe quindi seguito da una rete di Image Detector per distinguere tra le immagini reali e false. A partire da una probabilità di accuratezza del 50% , il rilevatore deve sviluppare la sua qualità di classificazione poiché il generatore crescerebbe meglio nella sua generazione di immagini artificiali. Tale concorrenza nel complesso contribuirebbe alla rete nella sua efficacia e velocità.
Funziona meglio in:
- Generazione di immagini e testi
- Miglioramento dell'immagine
- Nuovi processi di scoperta di farmaci
5. Mappe auto-organizzate
Le SOM o Self-Organizing Maps operano con l'aiuto di dati non supervisionati che riducono il numero di variabili casuali in un modello. In questo tipo di tecnica di deep learning , la dimensione di output è fissata come un modello bidimensionale, poiché ogni sinapsi si collega ai suoi nodi di input e output.

Poiché ogni punto dati compete per la sua rappresentazione del modello, la SOM aggiorna il peso dei nodi più vicini o delle Best Matching Units (BMU) . In base alla vicinanza di un BMU, il valore dei pesi cambia. Poiché i pesi sono considerati di per sé una caratteristica del nodo, il valore rappresenta la posizione del nodo nella rete.
Funziona meglio in:
- Quando i set di dati non sono dotati di valori dell'asse Y
- Esplorazioni del progetto per l'analisi del framework del set di dati
- Progetti creativi in musica, video e testo con l'aiuto dell'intelligenza artificiale
6. Macchine Boltzmann
Questo modello di rete non ha una direzione predefinita e quindi ha i suoi nodi collegati in una disposizione circolare. A causa di tale unicità, questa tecnica di apprendimento profondo viene utilizzata per produrre parametri del modello.
Diversamente da tutti i precedenti modelli deterministici di rete, il modello di Boltzmann Machines viene definito stocastico.
Funziona meglio in:
- Monitoraggio del sistema
- Creazione di una piattaforma di raccomandazione binaria
- Analisi di set di dati specifici
Leggi: Metodi passo-passo per costruire oggi il tuo sistema di intelligenza artificiale
7. Apprendimento di rinforzo profondo
Prima di comprendere la tecnica del Deep Reinforcement Learning, l'apprendimento per rinforzo si riferisce al processo in cui un agente interagisce con un ambiente per modificarne lo stato. L'agente può osservare e intraprendere azioni di conseguenza, l'agente aiuta una rete a raggiungere il suo obiettivo interagendo con la situazione.
Qui, in questo modello di rete, c'è un livello di input, un livello di output e diversi livelli multipli nascosti, in cui lo stato dell'ambiente è lo stesso livello di input. Il modello lavora sui continui tentativi di prevedere la ricompensa futura di ogni azione intrapresa in un dato stato della situazione.
Funziona meglio in:
- Giochi da tavolo come scacchi, poker
- Auto a guida autonoma
- Robotica
- Gestione delle scorte
- Attività finanziarie come la determinazione del prezzo degli asset
8. Codificatori automatici
Uno dei tipi di tecniche di deep learning più comunemente usati , questo modello opera automaticamente in base ai suoi input, prima di prendere una funzione di attivazione e la decodifica dell'output finale. Tale formazione di colli di bottiglia porta a produrre categorie di dati minori e a sfruttare la maggior parte delle strutture di dati intrinseche.
I tipi di autoencoder sono:
- Sparse : dove i livelli nascosti sono più numerosi del livello di input affinché l'approccio di generalizzazione abbia luogo per ridurre l'overfitting. Limita la funzione di perdita e impedisce all'autoencoder di utilizzare in modo eccessivo tutti i suoi nodi.
- Denoising – Qui, una versione modificata degli input viene trasformata in 0 a caso.
- Contrattiva : aggiunta di un fattore di penalità alla funzione di perdita per limitare l'overfitting e la copia dei dati, in caso di livello nascosto che supera il livello di input.
- Impilato : a un codificatore automatico, una volta aggiunto un altro livello nascosto, porta a due fasi di codifica a quella di una fase di decodifica.
Funziona meglio in:
- Rilevamento delle caratteristiche
- Impostazione di un modello di raccomandazione convincente
- Aggiungi funzionalità a set di dati di grandi dimensioni
Leggi: Regolarizzazione in Deep Learning
9. Backpropagation
Nell'apprendimento profondo , la tecnica di backpropagation o back-prop è indicata come il meccanismo centrale per le reti neurali per conoscere eventuali errori nella previsione dei dati. La propagazione, invece, si riferisce alla trasmissione di dati in una determinata direzione tramite un canale dedicato. L'intero sistema può lavorare in base alla propagazione del segnale in avanti nel momento della decisione, e rinvia i dati relativi a carenze nella rete, al contrario.
- In primo luogo, la rete analizza i parametri e decide i dati
- In secondo luogo, è ponderato con una funzione di perdita
- In terzo luogo, l'errore identificato viene propagato all'indietro per regolare automaticamente eventuali parametri errati
Funziona meglio in:
- Debug dei dati
10. Discesa graduale
Nel contesto matematico, gradiente si riferisce a una pendenza che ha un angolo misurabile e può essere rappresentato in una relazione tra variabili. In questa tecnica di deep learning , la relazione tra l'errore prodotto nella rete neurale e quello dei parametri dei dati può essere rappresentato come "x" e "y". Poiché le variabili sono dinamiche in una rete neurale, quindi l'errore può essere aumentato o diminuito con piccole modifiche.
Molti professionisti visualizzano la tecnica come quella di un percorso fluviale che scende dai pendii della montagna. L'obiettivo di tale metodo è: trovare la soluzione ottimale. Poiché esiste la presenza di diverse soluzioni minime locali in una rete neurale, in cui i dati possono rimanere intrappolati e portare a compilazioni più lente e errate, ci sono modi per astenersi da tali eventi.

Come il terreno della montagna, ci sono particolari funzioni nella rete neurale chiamate Convex Functions, che mantengono il flusso dei dati alle velocità previste e raggiungono il minimo. Possono esserci differenze nei metodi adottati dai dati che inseriscono la destinazione finale a causa della variazione dei valori iniziali della funzione.
Funziona meglio in:
- Aggiornamento dei parametri in un determinato modello
Leggi anche: 15 interessanti idee per progetti di apprendimento automatico per principianti
Avvolgendo
Esistono diverse tecniche di deep learning che vengono fornite con le sue funzionalità e l'approccio pratico. Una volta identificati questi modelli e inseriti negli scenari giusti, è possibile ottenere soluzioni di fascia alta basate sul framework utilizzato dagli sviluppatori. Buona fortuna!
Dai un'occhiata al programma di certificazione avanzato in Machine Learning e cloud con IIT Madras, la migliore scuola di ingegneria del paese per creare un programma che ti insegni non solo l'apprendimento automatico ma anche l'efficace implementazione di esso utilizzando l'infrastruttura cloud. Il nostro obiettivo con questo programma è quello di aprire le porte dell'istituto più selettivo del paese e dare agli studenti l'accesso a facoltà e risorse straordinarie per padroneggiare un'abilità che è in alto e in crescita
Cosa sono le reti contraddittorie generali?
È un ibrido di due tecniche di rete neurale di deep learning: generatori e discriminatori. Mentre il Generator Network genera dati fittizi, il discriminatore aiuta a distinguere tra dati effettivi e fittizi. Poiché il generatore continua a produrre dati falsi identici ai dati autentici – e il discriminatore continua a riconoscere dati reali e irreali – entrambe le reti sono competitive. La rete Generator genererà risultati di simulazione per le fotografie autentiche nel caso in cui sia richiesta una libreria di immagini. Successivamente, creerebbe una rete neurale di deconvoluzione.
A cosa servono le mappe auto-organizzate?
Le SOM, o mappe auto-organizzanti, funzionano riducendo il numero di variabili casuali in un modello utilizzando dati non supervisionati. Poiché ogni neurone si collega ai suoi nodi di ingresso e uscita, la dimensionalità del risultato viene impostata come un modello bidimensionale in questo tipo di tecnica di apprendimento profondo. La SOM regola il valore dei nodi più vicini o delle unità di corrispondenza migliore perché ogni punto dati fa un'offerta per la sua rappresentazione del modello (BMU). Il valore dei pesi varia a seconda di quanto è vicino un BMU. Poiché i pesi sono considerati caratteristiche del nodo in sé e per sé, il valore indica la posizione del nodo nella rete.
Che cos'è la backpropagation?
L'algoritmo di back propagation o l'approccio back-prop è il requisito importante per le reti neurali per conoscere eventuali errori nella previsione dei dati nel deep learning. D'altra parte, la propagazione si riferisce al trasferimento di dati in una direzione specifica attraverso un canale definito. Al momento della scelta, l'intero sistema può funzionare in base alla propagazione del segnale nella direzione in avanti e rimanda indietro tutti i dati relativi ai difetti di rete nella direzione inversa.