Caratteristiche e funzionamento del Deep Learning in informatica

Caratteristiche e funzionamento del Deep Learning in informatica

Deep Learning

Il Deep Learning è un’area del Machine Learning che si basa su un particolare tipo di apprendimento dei dati. Esso è caratterizzato dallo sforzo di creare un modello di apprendimento automatico a più livelli, nel quale i livelli più profondi prendano in input le uscite dei livelli precedenti, trasformandoli e astraendoli sempre di più. Questa intuizione sui livelli di apprendimento dà il nome all’intero ambito (apprendimento in profondità) e si ispira al modo in cui il cervello dei mammiferi processa le informazioni ed impara, rispondendo agli stimoli esterni.

Ogni livello di apprendimento corrisponde, in questo ipotetico parallelo, ad una delle diverse aree che compongono la corteccia cerebrale. Ad esempio, la corteccia visiva, che è preposta al riconoscimento delle immagini, mostra una sequenza di settori, posti in gerarchia. Ciascuno di questi settori riceve una rappresentazione in ingresso, per mezzo dei segnali di flusso che lo collegano agli altri settori. Ogni livello di questa gerarchia rappresenta un diverso livello di astrazione, con le caratteristiche più astratte definite in termini di quelle del livello inferiore. Nel momento in cui il cervello riceve in ingresso delle immagini, le elabora tramite diverse fasi, ad esempio il rilevamento dei bordi, la percezione delle forme (da quelle primitive a quelle gradualmente sempre più complesse). Si parla per questo di rappresentazione gerarchica dell’immagine a livello di astrazione crescente. Così come il cervello apprende per tentativi e attiva nuovi neuroni apprendendo dall’esperienza, anche nelle architetture preposte al Deep Learning, gli stadi di estrazione si modificano in base alle informazioni ricevute in ingresso.

Caratteristiche e funzionamento del Deep Learning in informatica

Lo sviluppo del Deep Learning è avvenuto conseguentemente e parallelamente allo studio delle intelligenze artificiali, ed in particolar modo delle reti neurali. Dopo gli inizi negli anni ’50, è soprattutto negli anni ’80 che questo ambito si sviluppa, per mano di Geoff Hinton e degli specialisti di Machine Learning che collaboravano con lui. In quegli anni la tecnologia informatica non era sufficientemente avanzata per consentire un reale miglioramento in questa direzione, per questo abbiamo dovuto aspettare fino ai nostri giorni per vedere, grazie alla disponibilità di dati ed alla potenza di calcolo, sviluppi ancora più significativi.

Per quanto riguarda gli ambiti di applicazione, il Deep Learning trova ampio spazio nello sviluppo di sistemi di riconoscimento vocale e del parlato, nella ricerca di pattern e soprattutto nel riconoscimento di immagini, grazie alle sue caratteristiche di apprendimento per livelli, che gli consentono di concentrarsi, passo dopo passo, sulle varie aree di un’immagine da processare e classificare.

Reti neurali profonde

Il concetto cardine su cui si basa il deep learning è quello di sottoporre i dati di ingresso a numerosi livelli di elaborazione in cascata il cui risultato finale è l’emergere delle feature.
Nel campo delle reti neurali, il deep learning è stato introdotto attraverso la definizione delle cosiddette reti neurali profonde (deep neural network). Il principio di funzionamento è lo stesso delle reti neurali classiche, con la differenza che risiede nel numero molto elevato di livelli nascosti di neuroni intermedi.

Come le reti neurali classiche, le deep neural network sono in grado di modellare relazioni di tipo complesso tra dati di input e output. Tra le applicazioni di maggior successo troviamo la computer vision, con task che includono la classificazione, la regressione di immagini e l’object detection. Nel caso di esempio di quest’ultimo task, una rete neurale profonda è in grado di generare una rappresentazione stratificata degli oggetti in cui ciascun oggetto è individuato da un insieme di caratteristiche aventi la forma di primitive visive, ovvero particolari bordi, linee orientate, texture e pattern ricorrenti. Questa capacità di modellazione pone le sue fondamenta proprio nell’elevato numero di livelli nascosti di neuroni. Per quanto riguarda l’addestramento, il classico algoritmo di back propagation può ancora essere utilizzato. Come nelle reti neurali classiche, anche nelle deep network si può presentare il problema dell’overfitting. Al fine di contrastarlo vengono solitamente utilizzate delle tecniche, dette di regolarizzazione, che vanno ad influenzare il processo di ottimizzazione durante l’addestramento.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *