Apprendimento automatico vs apprendimento profondo


11

Sono un po 'confuso dalla differenza tra i termini "Machine Learning" e "Deep Learning". L'ho cercato su Google e ho letto molti articoli, ma per me non è ancora molto chiaro.

Una definizione nota di Machine Learning di Tom Mitchell è:

Un programma per elaboratore è detto di imparare dall'esperienza E rispetto a qualche classe di compiti T e misura di prestazioni P , se le sue prestazioni in compiti di T , come misurato da P , migliora con esperienza E .

Se prendo un problema di classificazione delle immagini di classificazione di cani e gatti come i miei taks T , da questa definizione capisco che se darei un algoritmo ML a un gruppo di immagini di cani e gatti (esperienza E ), l'algoritmo ML potrebbe imparare come distinguere una nuova immagine come cane o gatto (purché la misura di prestazione P sia ben definita).

Poi arriva il Deep Learning. Comprendo che il Deep Learning fa parte dell'apprendimento automatico e che la definizione sopra riportata vale. Le prestazioni ad attività T migliora con esperienza E . Tutto bene fino ad ora.

Questo blog afferma che esiste una differenza tra Machine Learning e Deep Learning. La differenza secondo Adil è che nel Machine Learning (tradizionale) le funzionalità devono essere realizzate a mano, mentre nel Deep Learning le funzionalità vengono apprese. Le seguenti figure chiariscono la sua affermazione.

inserisci qui la descrizione dell'immagine

Sono confuso dal fatto che in Machine Learning (tradizionale) le funzionalità devono essere realizzate a mano. Dalla definizione di cui sopra da Tom Mitchell, penserei che queste caratteristiche potrebbero essere apprese dall'esperienza E e le prestazioni P . Cosa potrebbe altrimenti essere appreso in Machine Learning?

Nel Deep Learning capisco che dall'esperienza apprendi le funzionalità e il modo in cui si relazionano tra loro per migliorare le prestazioni. Potrei concludere che in Machine Learning le funzionalità devono essere realizzate a mano e ciò che viene appreso è la combinazione di funzionalità? O mi manca qualcos'altro?


2
Questo è trattato molto bene nel libro di Deep Learning di Goodfellow et al. nel primo capitolo (Introduzione).
hbaderts,

Risposte:


4

Oltre a quanto affermato da Himanshu Rai, l'apprendimento profondo è un sottocampo che prevede l'uso di reti neurali, che cercano di apprendere la distribuzione sottostante modificando i pesi tra gli strati. Ora, considera il caso del riconoscimento delle immagini usando il deep learning: un modello di rete neurale è diviso tra i livelli, questi livelli sono collegati da collegamenti chiamati pesi, mentre inizia il processo di allenamento, questi livelli regolano i pesi in modo tale che ogni livello tenti di rilevare alcune funzionalità e aiutare il livello successivo per la sua elaborazione. Il punto chiave da notare è che non diciamo esplicitamente al livello di imparare a rilevare bordi, o occhi, naso o facce. Il modello impara a farlo da solo. A differenza dei classici modelli di apprendimento automatico.


8

Come area di ricerca, il Deep Learning è in realtà solo un sotto-campo del Machine Learning in quanto il Machine Learning è un sotto-campo dell'Intelligenza Artificiale.

1) Apprendimento delle funzioni senza supervisione

Concettualmente, la prima differenza principale tra l' apprendimento automatico " tradizionale " (o " superficiale ") e l'apprendimento profondo è l'apprendimento delle funzioni senza supervisione.

Come già sapete, l'addestramento riuscito di un modello " tradizionale " di Machine Learning (ad es. SVM, XGBoost ...) è possibile solo dopo un'adeguata pre-elaborazione e un'estrazione accurata delle funzionalità per selezionare informazioni significative dai dati. Ossia, i buoni vettori di funzioni contengono caratteristiche distintive tra punti dati con etichette diverse e coerenti tra punti dati con la stessa etichetta. Feature Engineering è quindi il processo di selezione manuale delle funzionalità da parte di esperti. Questo è un tak molto importante ma noioso da eseguire!

L'apprendimento delle funzioni senza supervisione è un processo in cui il modello stesso seleziona le funzionalità automaticamente attraverso la formazione. La topologia di una rete neurale organizzata in strati collegati tra loro ha la bella proprietà di mappare una rappresentazione di basso livello dei dati su una rappresentazione di livello superiore. Attraverso la formazione, la rete può quindi " decidere " quale parte dei dati conta e quale parte dei dati non lo fa. Ciò è particolarmente interessante in Computer Vision o Natural Language Processing dove è abbastanza difficile selezionare manualmente o progettare funzionalità robuste.

Apprendimento non supervisionato di funzioni, crediti: Tony Beltramelli (crediti foto: Tony Beltramelli)

Ad esempio, supponiamo di voler classificare le foto dei gatti. Usando una rete neurale profonda, possiamo inserire i valori dei pixel grezzi che verranno mappati su un insieme di pesi dal primo strato, quindi questi pesi verranno mappati su altri pesi dal secondo strato, fino a quando l'ultimo strato consentirà ad alcuni pesi di essere mappato su numeri che rappresentano il tuo problema. (es: in questo caso la probabilità dell'immagine che contiene un gatto)

Anche se Deep Neural Networks è in grado di eseguire l'apprendimento delle funzioni senza supervisione, ciò non impedisce di eseguire da soli il Feature Engineering per rappresentare meglio il problema. L'apprendimento delle funzionalità senza supervisione, l'estrazione delle funzionalità e l'ingegneria delle funzionalità non si escludono a vicenda!

fonti:

2) Separabilità lineare

Le reti neurali profonde possono risolvere alcuni problemi non linearmente separabili piegando lo spazio delle caratteristiche in modo tale che le funzioni diventino linearmente separabili. Ancora una volta, ciò è possibile grazie alla topologia di rete organizzata in strati che mappano gli input a nuove rappresentazioni dei dati.

Il livello nascosto apprende una rappresentazione in modo che i dati siano linearmente separabili, crediti: Christopher Olah (crediti foto: Christopher Olah)

Fonti: http://colah.github.io/posts/2014-03-NN-Manifolds-Topology/

3) Invarianza statistica

Infine, le reti neurali profonde stanno superando gli algoritmi di apprendimento automatico tradizionale in alcuni domini perché alcune architetture mostrano l'invarianza statistica (ad esempio: invarianza statistica spaziale con reti neurali convoluzionali e invarianza statistica temporale con reti neurali ricorrenti)

Guarda questo video di Udacity per maggiori dettagli: https://www.youtube.com/watch?v=5PH2Vot-tD4


4

Ispirato da Einstein, "" Se non riesci a spiegarlo a un bambino di sei anni, non lo capisci da solo. "

Tutte le risposte di cui sopra sono molto ben spiegate ma se si sta cercando una differenza astratta, facile da ricordare, ecco la migliore che conosco:

La differenza fondamentale è che Machine Learning digerisce solo i dati, mentre Deep Learning può generare e migliorare i dati. Non è solo predittivo ma anche generativo.

Fonte. Naturalmente c'è molto di più, ma per i principianti può diventare troppo confuso.


-3

Va bene, pensaci in questo modo. Negli algoritmi di apprendimento automatico, come la regressione lineare o la foresta casuale, si fornisce agli algoritmi un set di funzionalità e il target e quindi si tenta di ridurre al minimo la funzione di costo, quindi no non apprende alcuna nuova funzionalità, impara solo i pesi. Ora, quando si arriva all'apprendimento profondo, si ha almeno uno, (quasi sempre di più) livelli nascosti con un determinato numero di unità, queste sono le caratteristiche di cui si parla. Quindi un algoritmo di deep learning non impara solo le serie di pesi, in quel processo apprende anche i valori per le unità nascoste che sono caratteristiche complesse di alto livello dei dati banali che hai dato. Quindi, mentre pratichi l'apprendimento automatico alla vaniglia, molta competenza risiede nella tua capacità di progettare funzionalità perché l'algoritmo non sta imparando da solo. Spero di aver risposto alla tua domanda.


Solo un'altra domanda: ad esempio nelle CNN, le caratteristiche (o i filtri) non sono la stessa cosa dei pesi?
user2835098

No, sono i pesi per il livello di convoluzione, ma il prodotto ottenuto dalla convoluzione, ovvero le mappe delle caratteristiche sono le caratteristiche.
Himanshu Rai,

Non sono d'accordo. Le variabili nascoste sono presenti anche negli algoritmi di potenziamento e foresta casuali. E continui a progettare funzionalità nell'apprendimento profondo. Come l'area di ritaglio in uno dei migliori algoritmi di riconoscimento delle immagini nel 2017
keiv.fly,
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.