Neural Net

Una rete neurale artificiale (ANN) è un modello basato su un insieme di unità o nodi connessi chiamati neuroni artificiali, che modellano vagamente i neuroni di un cervello biologico.

Le reti neurali mirano a imitare il modo in cui funzionano i neuroni nel cervello umano. Il principale vantaggio rispetto a un modello lineare è che le reti neurali possono modellare relazioni non lineari più complesse. L'architettura complessiva è costituita da un livello di input, uno o più livelli nascosti e uno strato di output di neuroni. Ogni neurone ha un coefficiente di peso wie un coefficiente di polarizzazione bi, insieme all'input al neurone zi e a una funzione non lineare come la funzione sigmoide

calcola un valore di uscita s (zi)s(zi). Ogni neurone è connesso a tutti i neuroni del livello successivo, il che significa che un neurone con più input avrà una somma di più wizitermini nell'esponente. Il ruolo della funzione sigmoide qui è spesso chiamato funzione di attivazionee altre opzioni oltre al sigmoide sono comunemente usate.

Aggiungendo più livelli nascosti tra l'input e l'output è possibile creare un modello molto flessibile. Una volta definito il modello, i dati vengono passati attraverso di esso e il risultato viene confrontato con il valore effettivo. Calcolando il gradiente della funzione di errore è possibile regolare i pesi e le distorsioni verso una direzione che ridurrà l'errore. Questo processo di ottimizzazione è chiamato discesa del gradiente. L'intero processo di adattamento dei coefficienti ai dati viene spesso chiamato allenamento il modello e i dati utilizzati per farlo sono denominati dati di allenamento.

Con tutta la flessibilità offerta, la sfida più grande è evitare di adattare eccessivamente il modello ai dati, il che significa che il modello diventa estremamente bravo a descrivere i dati di addestramento, ma quando viene presentato con nuove osservazioni avrà difficoltà. Risolvere questo problema è una domanda di ricerca aperta, ma esistono molte tecniche utili.

Un esempio è quello di passare semplicemente un campione casuale dei dati attraverso il modello ad ogni iterazione, ottenendo la tecnica di ottimizzazione denominata discesa stocastica del gradiente. Inoltre, i dati sono spesso suddivisi in due parti, una utilizzata per la formazione e l'altra utilizzata per la convalida. Al modello non è mai consentito utilizzare il set di convalida per l'addestramento, ma dopo un determinato numero di iterazioni, il modello viene valutato rispetto al set di convalida. In questo modo, è possibile interrompere il processo di addestramento non appena l'errore di convalida inizia ad aumentare. Il vantaggio di ciò è che il modello verrà addestrato per essere il più specifico possibile per i dati, pur rimanendo pertinente a dati simili non presenti nel set di addestramento.

Con un modello sufficientemente grande e dati di addestramento sufficienti, è possibile modellare strutture molto complicate. Ne sono un esempio i modelli linguistici di grandi dimensioni che possono imitare il linguaggio umano prevedendo quale parola è più probabile che venga dopo la sequenza corrente che il modello ha ricevuto come input.

Serie temporali e reti neurali

Per modellare una serie temporale Yt utilizzando una rete neurale, pp valori ritardati Yt−1, ... ,Ytpvengono utilizzati come input e la rete neurale viene addestrata a spiegare il valore corrente Yt. È quindi possibile creare una previsione utilizzando Yt, ... ,Ytp+1 come input da prevedere Yt+1. Questo può quindi essere ripetuto in modo ricorsivo utilizzando il valore appena previsto come input, creando una previsione della lunghezza desiderata.

Come si adatta Indicio a un modello neurale?

Un modello di regressione lineare può essere adattato ai dati in modo predittivo, motivo per cui un singolo modello sarà quasi sempre sufficiente. Una rete neurale può avere molti diversi set di coefficienti derivanti, tra l'altro, dalla natura stocastica della SGD. Per ridurre al minimo la varianza nei modelli, Indicio crea una serie di modelli di cui viene poi calcolata la media quando si effettuano le previsioni.

Explore more models

Within this category

More categories