Rete neurale

Che cos’è una rete neurale?

Una rete neurale (detta anche rete neurale artificiale o ANN) è un sistema adattivo che apprende utilizzando nodi interconnessi o neuroni in una struttura a strati simile al cervello umano. Una rete neurale è in grado di apprendere dai dati, per cui può essere addestrata per riconoscere pattern, classificare dati e prevedere eventi futuri. Una rete neurale scompone l’input in layer di astrazione. Può essere addestrata usando molti esempi per riconoscere dei pattern nel parlato o nelle immagini, proprio come fa il cervello umano. Il comportamento di una rete neurale è definito dal modo in cui i singoli elementi sono collegati tra loro e dalla forza, o pesi, di tali collegamenti. Tali pesi vengono automaticamente regolati in fase di addestramento in base a una regola specifica di apprendimento fino a quando la rete neurale artificiale non svolge l’attività desiderata nel modo corretto.

FAQ sulle reti neurali

Una rete neurale è un sistema adattivo che apprende utilizzando neuroni interconnessi organizzati in una struttura a livelli ispirata al cervello umano. Può essere addestrata a riconoscere pattern, classificare dati e prevedere eventi futuri trasformando progressivamente i dati di input attraverso diversi livelli di astrazione.

Le reti neurali vengono utilizzate per attività di riconoscimento di pattern e classificazione nei settori della voce, della visione artificiale e dei sistemi di controllo. Tra le applicazioni più comuni rientrano il riconoscimento facciale, la traduzione di testi, il riconoscimento vocale, la classificazione delle corsie stradali e il riconoscimento della segnaletica stradale.

Le reti neurali apprendono regolando automaticamente i pesi delle connessioni tra i neuroni durante l’addestramento secondo una specifica regola di apprendimento. In genere, i pesi vengono ottimizzati per ridurre al minimo l’errore di previsione fino a quando la rete non esegue correttamente il compito richiesto.

Le reti neurali poco profonde comprendono soltanto due o tre livelli di neuroni collegati, mentre le reti neurali profonde possono contenere molti livelli, talvolta centinaia. Queste ultime vengono utilizzate nelle applicazioni di Deep Learning ed eliminano la necessità dell’estrazione manuale delle caratteristiche.

I tre principali tipi di reti neurali sono le reti feedforward (con livelli di input, livelli nascosti e livello di output), le reti neurali convoluzionali (CNN) per l’elaborazione delle immagini e le reti neurali ricorrenti (RNN) per dati sequenziali come serie temporali e testo.

Una CNN è un’architettura di rete neurale profonda ampiamente utilizzata nell’elaborazione delle immagini. È caratterizzata da livelli convoluzionali che applicano filtri condivisi ai dati di input, trasformando progressivamente le immagini in mappe di caratteristiche.

Una RNN è un’architettura di rete neurale dotata di cicli di retroazione che consentono di modellare le dipendenze sequenziali presenti nelle serie temporali, nei dati dei sensori e nei testi. Le reti LSTM rappresentano il tipo di RNN più diffuso.

È possibile creare reti neurali in MATLAB utilizzando Deep Learning Toolbox e Statistics and Machine Learning Toolbox con poche righe di codice. MATLAB consente inoltre di addestrare modelli in modo interattivo tramite applicazioni come Classification Learner e Time Series Modeler e di distribuirli su diverse piattaforme hardware.