Qual è la differenza tra reti neurali convoluzionali e apprendimento profondo?


25

Voglio usare il deep learning nel mio progetto. Ho esaminato un paio di articoli e mi è venuta una domanda: c'è qualche differenza tra la rete neurale di convoluzione e l'apprendimento profondo? Queste cose sono uguali o presentano differenze sostanziali e quale è meglio?


Dimmi qual è la differenza esatta dall'apprendimento profondo e dalla rete neurale convoluzionale Sono un po 'confuso su questi 2 argomenti
Yamini

Risposte:


33

Il deep learning è il ramo del machine learning basato su reti neurali profonde (DNN), ovvero reti neurali con almeno 3 o 4 livelli (inclusi i livelli di input e output). Ma per alcune persone (specialmente non tecniche), qualsiasi rete neurale si qualifica come Deep Learning, indipendentemente dalla sua profondità. E altri considerano una rete neurale a 10 strati poco profonda.

Le reti neurali convoluzionali (CNN) sono una delle architetture di reti neurali più popolari. Hanno un enorme successo nell'elaborazione delle immagini, ma anche per molte altre attività (come il riconoscimento vocale, l'elaborazione del linguaggio naturale e altro). Le CNN all'avanguardia sono piuttosto profonde (almeno decine di livelli), quindi fanno parte del Deep Learning. Ma puoi creare una CNN superficiale per un compito semplice, nel qual caso non è (davvero) Deep Learning.

Ma le CNN non sono sole, ci sono molte altre architetture di reti neurali là fuori, tra cui le reti neurali ricorrenti (RNN), i codificatori automatici, i trasformatori, le reti di credenze profonde (DBN = una pila di macchine Boltzmann limitate, RBM) e altro ancora. Possono essere superficiali o profonde. Nota: anche le RNN poco profonde possono essere considerate parte del Deep Learning poiché la loro formazione richiede il loro srotolamento nel tempo, risultando in una rete profonda.


@MiniQurak. Per favore, correggimi, mi sbaglio. quello che capisco è che la CNN è solo una delle architetture di reti profonde proprio come Autoencoder, reti di credenze profonde, reti neuronali ricorrenti (RNN) .. è corretto?
Aadnan Farooq,

Sì, è corretto.
MiniQuark,

allora possiamo dire quale architettura è migliore a seconda del set di dati? o quali sono i fattori chiave?
Aadnan Farooq,

1
Le CNN sono ottime per le attività di riconoscimento delle immagini. Brillano anche quando i dati hanno una qualche forma di struttura gerarchica, con schemi locali (ad es. Segmenti di linea) assemblati in schemi di grandi dimensioni (ad es. Quadrati, triangoli), assemblati in schemi più grandi (ad es. Casa, piano). Questo funziona bene per le attività di riconoscimento vocale. Gli RNN sono ottimi per le serie temporali (ad es. Previsione del tempo) e per la gestione di sequenze di dati (ad es. Frasi). Sono molto usati per la PNL (elaborazione del linguaggio naturale). Gli AutoEncoder non sono controllati, apprendono schemi nei dati.
MiniQuark

1
Va bene allora :)
Firebug

21

Nei campi dell'elaborazione adattiva del segnale / machine learning, l'apprendimento profondo (DL) è una metodologia particolare in cui possiamo formare macchine rappresentazioni complesse.

XyWiofio

y=fN(...f2(f1(XTW1)W2)...WN)

Ora all'interno di DL ci sono molte architetture diverse : una di queste architetture è nota come rete neurale convoluzionale (CNN). Un'altra architettura è nota come percettrone multistrato (MLP), ecc. Architetture diverse si prestano a risolvere diversi tipi di problemi.

Un MLP è forse uno dei tipi più tradizionali di architetture DL che si possono trovare, ed è allora che ogni elemento di un livello precedente è collegato a ogni elemento del livello successivo. Sembra così:

inserisci qui la descrizione dell'immagine

WioWR10X20vR10X1uR1X20u=vTWW degli elementi del livello successivo.

Le MLP hanno perso il favore allora, in parte perché erano difficili da addestrare. Mentre ci sono molte ragioni per questa difficoltà, uno di questi è stato anche perché le loro connessioni dense non hanno permesso loro di scalare facilmente per vari problemi di visione del computer. In altre parole, non avevano l'equivalenza della traduzione integrata. Ciò significava che se c'era un segnale in una parte dell'immagine a cui dovevano essere sensibili, avrebbero dovuto imparare di nuovo come essere sensibili ad essa se quel segnale si mosse. Ciò ha sprecato la capacità della rete e quindi l'allenamento è diventato duro.

È qui che sono entrate le CNN! Ecco come si presenta:

inserisci qui la descrizione dell'immagine

Wio

È comune vedere "CNN" riferirsi a reti in cui abbiamo strati convoluzionali su tutta la rete e MLP alla fine, quindi questo è un avvertimento di cui essere consapevoli.


1
+1 Ottima risposta, ho appena imparato a conoscere le politiche di Toeplitz. ;-)
MiniQuark

@MiniQuark Grazie! Sì, puoi scrivere una convoluzione come moltiplicazione per una matrice di toeplitz. :)
Tarin Ziyaee,

@TarinZiyaee e MiniQurak Potete per favore suggerirmi qualche buon libro / articolo di giornale / tutorial per i principianti per conoscere in dettaglio l'apprendimento profondo.
Aadnan Farooq,

Le CNN non sono necessariamente profonde (-1)
Firebug,

7

Apprendimento profondo = reti neurali artificiali profonde + altri tipi di modelli profondi .

Reti neurali artificiali profonde = reti neurali artificiali con più di 1 strato. (vedi il numero minimo di strati in una rete neurale profonda o Wikipedia per ulteriori dibattiti ...)

Convolution Neural Network = Un tipo di reti neurali artificiali


Abbastanza giusto, Deep Learning include anche "macchine kernel a più strati" e le CNN possono essere superficiali. :)
MiniQuark

@MiniQuark yep.
Franck Dernoncourt,

reti neurali artificiali con più di 1 strato ..... Non sono sicuro che una rete con solo 2 strati sia chiamata rete profonda.
SmallChess,

1
@StudentT Forse, non lavoro nel marketing;) en.wikipedia.org/w/…
Franck Dernoncourt

1
Questa dovrebbe essere la risposta migliore, perché le CNN non sono necessariamente profonde e l'apprendimento profondo non riguarda solo le ANN (in senso ordinario).
Firebug,

6

Questa diapositiva di Yann LeCun sottolinea che solo i modelli con una gerarchia di funzionalità (le funzionalità di livello inferiore vengono apprese a un livello di un modello e quindi quelle funzionalità vengono combinate al livello successivo) sono profonde .

Una CNN può essere profonda o superficiale; il caso dipende dal fatto che segua questa costruzione della "gerarchia delle caratteristiche" perché alcune reti neurali, inclusi i modelli a 2 strati , non sono profonde.

La definizione di Yann LeCun


3

Deep learningè un termine generale per trattare con una complicata rete neurale a più livelli. Non esiste una definizione standard di cosa sia esattamente deep. Di solito, puoi pensare che una rete profonda sia qualcosa di troppo grande per il tuo laptop e PC per allenarsi. Il set di dati sarebbe così enorme da non poterlo inserire nella tua memoria. Potresti aver bisogno di GPU per velocizzare il tuo allenamento.

Deep è più simile a un termine di marketing per far sembrare qualcosa di più professionale che altro.

CNNè un tipo di rete neurale profonda e ce ne sono molti altri. Le CNN sono popolari perché hanno applicazioni molto utili per il riconoscimento delle immagini.


Vorrei gentilmente obiettare ad alcune di queste affermazioni: una rete è generalmente considerata profonda quando ha più di un livello nascosto, e la maggior parte delle persone concordano sul fatto che avere più di 10 livelli nascosti è decisamente profondo. È abbastanza possibile allenare reti profonde sul tuo laptop, lo faccio sempre. Il set di dati non deve essere enorme, in particolare se si utilizza l'apprendimento del trasferimento (ad es. Riutilizzo dei livelli da una rete preimpostata) e / o il potenziamento dei dati. C'è sicuramente molto clamore intorno alla parola "profondo", ma ci sono tecniche dedicate per l'apprendimento profondo, quindi non è solo clamore. :)
MiniQuark

@MiniQuark Con l'aumento dei dati, il tuo set di dati sarà ancora grande, solo che inizi con qualcosa di piccolo ...
SmallChess

Buon punto, hai ragione. Quello che intendevo dire è che il set di dati si adatterà alla memoria poiché generereste la maggior parte dei dati al volo.
MiniQuark,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.