Mi dispiace iniziare con questa definizione ma ci tengo a smentire subito un mito sul Deep Learning, ossia quello che si può trovare su altri siti web.
Gli attuali modelli di Deep Learning funzionano come i modelli di apprendimento del cervello
Questa affermazione è totalmente priva di senso e non ha nessun supporto scientifico.
D'altronde se ciò fosse vero saremmo in una situazione apocalittica.
Facciamo un passo indietro.
Dopo aver visto e capito cosa è il Machine Learning e come esso è suddiviso, possiamo andare ancora più affondo e concentrarci su una sotto-branca del ML, il Deep Learning.
Per chi è alle prime armi inizierei con il dire che il deep learning è una famiglia di algoritmi, spesso e volentieri complessi, i quali basandosi sui concetti base delle reti neurali riescono a creare dei modelli matematici per fare previsioni o classificare dei dati nuovi.
Fino a quì sembra molto simile al Machine Learning.
La differenza sottile ma fondamentale tra Machine Learning e Deep Learning sta proprio nel termine Deep.
Il termine "Deep Learning" in italiano viene tradotto come " apprendimento profondo" ma la qualifica "deep/profondo" non fa riferimento ad una comprensione più profonda, anche se ad oggi è la branca più avanzata dell'intelligenza artificiale, ma si riferisce all'idea di aggiungere un numero maggiore di 2/3 Layer (o Livelli di raffinazione dei dati) .
Confuso?
Gli algoritmi di Machine Learning che utilizzano reti neurali solitamente si basano su 3 Layer o Livelli :
input
elaborazione/hidden
output
Negli algoritmi di Deep Learning arriviamo ad avere anche alcune centinaia di Layer o Livelli
Ti propongo una semplice animazione per comprendere meglio i "super-poteri " del deep learning.
Ma proviamo a capire il motivo per il quale gli algoritmi di Deep Learning utilizzano un numero maggiore di Layer e quale sia il vantaggio nell'usare più Livelli se un problema potrebbe essere risolto anche con meno Livelli.
Quando ci troviamo a dover analizzare un problema reale per arrivare alla costruzione di un modello in grado di classificare o stimare il nostro problema, prima del Deep Learning, la prima cosa che avremmo dovuto fare è la Feature Extraction. In altre parole ci saremmo messi noi a capire quali sono le variabili che riteniamo più importanti per stimare o classificare il nostro problema, solo dopo questo passaggio le avremmo passate al nostro algoritmo che costruiva il modello.
Ma qui sorge un problema, se avessimo centinaia di variabili che noi reputiamo importanti ma in realtà ne basterebbero solo dieci per arrivare a classificare o stimare il nostro output oppure se ritenessimo che basterebbero dieci variabili ma ne servirebbero cento ?
Questo è uno dei motivi fondamentali per il quale è nato il Deep Learning.
La potenza del Deep Learning sta nella capacità di individuare in modo autonomo le variabili che influenzano il nostro output finale, eliminando quindi tutta la parte di Feature Extraction.
L'eliminazione di questo passaggio in alcuni campi ha fatto una differenza ENORME.
Pensa un attimo ai problemi della computer-vision ad esempio creare un algoritmo che sia in grado di classificare un immagine in base alla presenza o meno di un animale. Saresti capace di identificare tutte le variabili che potrebbero portare un algoritmo ad essere in grado di fare una tale classificazione? Grazie al Deep Learning ci basterebbe raccogliere un grande insieme di immagini, una buona parte con la presenza di animali e un altra parte senza la presenza di animali. Una volta pre-classificate le immagini e fatto allenare l'algoritmo di DL sulle nostre foto questo avrà creato un modello in grado di distinguere se in una nuova foto è presente o meno un animale.
Grazie mille per la lettura, condividi l'articolo per sostenerci
Comments