Pubblicità
Tech by VICE

Perché il deep learning si chiama così

Dentro la matematica nascosta del machine learning.

di Michael Byrne
09 giugno 2017, 10:05am

AI Glossary è una rubrica che si occupa degli aspetti spesso ignorati del machine learning e dell'intelligenza artificiale spiegando il significato del loro gergo.

Durante l'incontro con la stampa di una recente conferenza a tema IA, un giornalista non riusciva proprio a comprendere una questione in particolare: in cosa differiscono esattamente le reti neurali da quelle del deep learning? Ha chiesto in un tono più interrogativo che curioso il nostro collega. I ricercartori che si trovavano di fronte a lui sembravano non afferrare il senso della domanda. Per un attimo, mi è sembrato di assistere a persone di lingue diverse che cercavano di impegnarsi in una discussione seria, senza però rendersi conto di non riuscirsi a capire.

Suppongo che questa dinamica non sia così rara nel giornalismo scientifico e in questo caso la confusione riguardante la nomenclatura è più che ragionevole. Il deep learning — o apprendimento profondo — in particolare, è un termine vago e non molto tecnico. Proprio l'altro giorno, ho incontrato la stessa confusione di sopra nello spiegare un mio progetto recente. Quindi stai utilizzando dei modelli di apprendimento profondo e neurale? Be' no. Ma anche sì allo stesso tempo.

Approfondiamo la questione.

I ricercatori che tenevano la conferenza stampa hanno spiegato la differenza come se non fosse una vera e propria differenza. Deep learning è un termine ampio che raggruppa molti tipi di reti neurali e altre tecniche di machine learning molto simili. Prevedibilmente, tutte le reti in questione sono caratterizzate dalla profondità.

La profondità a cui si fa riferimento è di tipo matematico. Immaginate una semplice equazione del tipo y = 2 * x. In questa formula, immettiamo in input un numero e ne ricaviamo un altro come output, in questo caso particolare, un numero che è due volte il numero di input. Il deep learning può essere pensato come un'opereazione che parte in maniera simile a questa equazione, ma che non restituisce la risposta giusta.

L'equazione stessa deve imparare a produrre la risposta giusta in base a una serie di input e output corretti, che noi chiamiamo training data. Per consentire alla formula di apprendere la risposta giusta, gli forniamo uno o più spazi vuoti tra il livello di input e il livello di output. Questi vengono chiamati strati nascosti e sono assimilabili a parti nascoste della formula che devono essere riempite. Non sono così nascoste da non consentirci di visualizzarle ma, allo stesso tempo, non sono neanche parte della nostra formula iniziale. Di base, è come se dessimo alla formula gli strumenti per scriversi da sola.

Per un modello di machine learning è sufficiente un solo strato nascosto per essere considerato "profondo". La formula risultante viene chiamata proprio modello. Attraverso il processo di apprendimento, il modello si migliora in modo tale da rappresentare in maniera astratta gli stessi training data. Se il modello è buono, dovremmo essere in grado di fornire nuovi dati, senza sapere nulla su di essi, ottenenedo in cambio una stima. Solitamente, quanti più livelli nascosti forniamo, tanto più il nostro modello sarà preciso. Ma questo si ottiene attraverso dei compromessi sulla complessità e difficoltà di calcolo.

Non tutti i modelli di machine learning sono "profondi". L'alternativa è un modello lineare, senza livelli nascosti. In questo caso, l'algoritmo parte da una formula che si affina scalando ogni variabile in modo che la formula nel suo complesso presenti maggiore potenza predittiva. In molti casi, questo è sufficiente. Ciò avviene quando vi è una chiara divisione lineare nei training data, o qualcosa che ci si avvicina molto. Questo accade spesso, ma non tanto per grandi attività di apprendimento che coinvolgono un gran numero di "feature" dei dati come la classificazione di immagini contenenti migliaia di pixel. I modelli lineari non solo sono molto semplici e facili da capire, ma richiedono anche molto meno lavoro da parte della macchina.

Approfondiremo ulteriormente i modelli che rientrano nell'ampio ombrello del deep learning, ma almeno adesso dovreste avere un certo senso della profondità implicata nel deep learning.

Tagged:
tech
Motherboard
intelligenza artificiale
reti neurali
approfondimenti
cos'è il deep learning
algoritmi di apprendimento
training data